Component placement tool for printed circuit board
First Claim
Patent Images
1. A method comprising:
- by one or more computing devices,creating a layout for a Printed Circuit Board (PCB), comprising;
creating n boundary lines at n locations, respectively, on the PCB; and
randomly placing n sets of electronic components on the n boundary lines, respectively; and
iteratively adjusting and evaluating the layout of the PCB until a set of layout requirements for the PCB has been satisfied, andwherein for iteratively evaluating the layout of the PCB, each iteration comprises;
computing a cost of the layout of the PCB based on the set of layout requirements;
generating, by a random value generating function, a random value;
computing a value to evaluate a currently best layout of the PCB, the value computed based on at least a cost of the currently best layout of the PCB and a current temperature controlling the iterative process; and
if the random value is less than the value, then;
setting the currently best layout of the PCB as the layout of the PCB; and
setting the cost of the currently best layout of the PCB as cost of the layout of the PCB.
1 Assignment
0 Petitions
Accused Products
Abstract
In one embodiment, creating a layout for a Printed Circuit Board (PCB) by creating n boundary lines at n locations, respectively, on the PCB and placing n sets of electronic components on the n boundary lines, respectively; and iteratively adjusting and evaluating the layout of the PCB until a set of layout requirements for the PCB has been satisfied.
-
Citations
16 Claims
-
1. A method comprising:
- by one or more computing devices,
creating a layout for a Printed Circuit Board (PCB), comprising; creating n boundary lines at n locations, respectively, on the PCB; and randomly placing n sets of electronic components on the n boundary lines, respectively; and iteratively adjusting and evaluating the layout of the PCB until a set of layout requirements for the PCB has been satisfied, and wherein for iteratively evaluating the layout of the PCB, each iteration comprises; computing a cost of the layout of the PCB based on the set of layout requirements; generating, by a random value generating function, a random value; computing a value to evaluate a currently best layout of the PCB, the value computed based on at least a cost of the currently best layout of the PCB and a current temperature controlling the iterative process; and if the random value is less than the value, then; setting the currently best layout of the PCB as the layout of the PCB; and setting the cost of the currently best layout of the PCB as cost of the layout of the PCB. - View Dependent Claims (2, 3, 4, 5)
- by one or more computing devices,
-
6. A system comprising:
-
a memory comprising instructions executable by one or more processors; and the one or more processors coupled to the memory and operable to execute the instructions, the one or more processors being operable when executing the instructions to; create a layout for a Printed Circuit Board (PCB), comprising; create n boundary lines at n locations, respectively, on the PCB; and randomly place n sets of electronic components on the n boundary lines, respectively; and iteratively adjust and evaluate the layout of the PCB until a set of layout requirements for the PCB has been satisfied, and wherein for iteratively evaluating the layout of the PCB, each iteration comprises; computing a cost of the layout of the PCB based on the set of layout requirements; generating, by a random value generating function, a random value; computing a value to evaluate a currently best layout of the PCB, the value computed based on at least a cost of the currently best layout of the PCB and a current temperature controlling the iterative process; and if the random value is less than the value, then; setting the currently best layout of the PCB as the layout of the PCB; and setting the cost of the currently best layout of the PCB as cost of the layout of the PCB. - View Dependent Claims (7, 8, 9, 10)
-
-
11. One or more computer-readable non-transitory storage media embodying software operable when executed by one or more computer systems to:
-
create a layout for a Printed Circuit Board (PCB), comprising; create n boundary lines at n locations, respectively, on the PCB; and randomly place n sets of electronic components on the n boundary lines, respectively; and iteratively adjust and evaluate the layout of the PCB until a set of layout requirements for the PCB has been satisfied, and wherein for iteratively evaluating the layout of the PCB, each iteration comprises; compute a cost of the layout of the PCB based on the set of layout requirements; generate, by a random value generating function, a random value; compute a value to evaluate a currently best layout of the PCB, the value computed based on at least a cost of the currently best layout of the PCB and a current temperature controlling the iterative process; and if the random value is less than the value, then; set the currently best layout of the PCB as the layout of the PCB; and set the cost of the currently best layout of the PCB as cost of the layout of the PCB. - View Dependent Claims (12, 13, 14, 15)
-
-
16. A system comprising:
-
means for creating a layout for a Printed Circuit Board (PCB), comprising; means for creating n boundary lines at n locations, respectively, on the PCB; and means for randomly placing n sets of electronic components on the n boundary lines, respectively; and means for iteratively adjusting and evaluating the layout of the PCB until a set of layout requirements for the PCB has been satisfied, and wherein, for each iteration, the means for iteratively evaluating the layout of the PCB comprises; means for computing a cost of the layout of the PCB based on the set of layout requirements; means for generating, by a random value generating function, a random value; means for computing a value to evaluate a currently best layout of the PCB, the value computed based on at least a cost of the currently best layout of the PCB and a current temperature controlling the iterative process; and if the random value is less than the value, then; means for setting the currently best layout of the PCB as the layout of the PCB; and means for setting the cost of the currently best layout of the PCB as cost of the layout of the PCB.
-
Specification