153:
system of the manufacturer. In contrast to an IC layout, where the entire finished layout is stored in one graphics file, different files and formats are needed for PCB manufacture. The fabrication data consists of a set of Gerber files, a drill file, and a pick-and-place file containing the location
162:
The process of placing and routing for an FPGA is generally not performed by a person, but uses a tool provided by the FPGA Vendor or another software manufacturer. The need for software tools is because of the complexity of the circuitry within the FPGA and the function the designer wishes to
56:
elements in a generally limited amount of space. This is followed by routing, which decides the exact design of all the wires needed to connect the placed components. This step must implement all the desired connections while following the rules and limitations of the manufacturing process.
133:
the connections between the components. The placement of components is not absolute during the routing phase, as it may still be changed by moving and rotating, especially with designs using more complex components such as FPGAs or microprocessors. Their large number of
102:
In all these contexts, the final result when placing and routing is finished is the "layout", a geometric description of the location and rotation of each part, and the exact path of each wire connecting them.
230:
automated more and more of the place-and-route work. At first, it merely sped up the process of making many small edits without spending a lot of time peeling up and sticking down the tape. Later
237:
Some people hope that further improvements in autoplacers and autorouters will eventually produce good layouts without any human manual intervention. Further automation leads to the idea of a
122:. The generated netlist is then read into a layout tool and associated with the footprints of the devices from a library. Placing and routing the devices can now start.
95:
These processes are similar at a high level, but the actual details are very different. With the large sizes of modern designs, this operation is usually performed by
179:. These will then be put through an automated place-and-route procedure to generate a pinout, which will be used to interface with the parts outside of the FPGA.
369:
601:
639:
200:
541:
644:
41:
804:
339:
279:
476:
326:
A. Kahng, J. Lienig, I. Markov, J. Hu: "VLSI Physical Design: From Graph
Partitioning to Timing Closure", Springer (2022),
234:
sped up the process of checking for the most common sorts of errors. Later auto routers speed up the process of routing.
589:
488:
523:
362:
535:
471:
135:
661:
529:
168:
84:
33:
355:
227:
150:
96:
778:
673:
693:
651:
154:
and alignment of the devices generated for automated placement of the devices in the assembly process.
594:
579:
505:
465:
220:
78:
187:
The IC place-and-route stage typically starts with one or more schematics, HDL files, or pre-routed
606:
511:
499:
81:
of a larger block of the circuit or the whole circuit is created from layouts of smaller sub-blocks
191:, or some combination of all three. It produces an IC layout that is automatically converted to a
656:
434:
429:
750:
547:
762:
716:
584:
482:
419:
64:
45:
25:
688:
683:
666:
386:
261:
231:
196:
68:
8:
735:
678:
517:
439:
414:
378:
260:
J. Lienig, J. Scheible (2020). "Chap. 1.3.3: Physical Design of
Printed Circuit Boards".
29:
755:
740:
621:
459:
424:
285:
74:
711:
335:
289:
275:
444:
327:
267:
238:
139:
629:
611:
574:
569:
494:
454:
126:
115:
37:
564:
306:
331:
271:
798:
745:
728:
723:
164:
146:
130:
106:
Occasionally some people call the entire place-and-route process "layout".
783:
449:
394:
347:
409:
192:
163:
perform. FPGA designs are described using logic diagrams containing
49:
114:
The design of a printed circuit board comes after the creation of a
71:
are graphically placed on the board and the wires drawn between them
404:
399:
216:
212:
44:. The first step, placement, involves deciding where to place all
188:
176:
119:
91:
elements are placed and interconnected on the grid of the FPGA
88:
53:
172:
24:(also called PnR or P&R) is a stage in the design of
211:
The final layout of early ICs and PCBs was stored as a
36:. As implied by the name, it is composed of two steps,
259:
263:
Fundamentals of Layout Design for
Electronic Circuits
125:
Placing and routing is generally done in two steps.
307:"FPGA/PCB Co-Design Increases Fabrication Yields"
142:needs may require optimization of the placement.
796:
157:
145:The resulting design is then output in RS-274X
363:
255:
253:
60:Place and route is used in several contexts:
370:
356:
250:
301:
299:
309:. Printed Circuit Design and Fabrication
109:
542:Application-specific integrated circuit
377:
797:
296:
182:
351:
477:Three-dimensional integrated circuit
13:
489:Erasable programmable logic device
151:computer-aided manufacturing (CAM)
16:Stage of electronic circuit design
14:
816:
524:Complex programmable logic device
129:the components comes first, then
536:Field-programmable object array
472:Mixed-signal integrated circuit
320:
169:hardware description languages
34:field-programmable gate arrays
1:
662:Hardware description language
530:Field-programmable gate array
244:
158:Field-programmable gate array
805:Electronic design automation
228:electronic design automation
97:electronic design automation
7:
674:Formal equivalence checking
266:. Springer. p. 26-27.
10:
821:
694:Hierarchical state machine
652:Transaction-level modeling
206:
771:
704:
620:
595:Digital signal processing
580:Logic in computer science
557:
506:Programmable logic device
466:Hybrid integrated circuit
385:
332:10.1007/978-3-030-96415-3
272:10.1007/978-3-030-39284-0
607:Switching circuit theory
512:Programmable Array Logic
500:Programmable logic array
657:Register-transfer level
548:Tensor Processing Unit
65:Printed circuit boards
26:printed circuit boards
763:Electronic literature
717:Hardware acceleration
585:Computer architecture
483:Emitter-coupled logic
420:Printed circuit board
110:Printed circuit board
46:electronic components
689:Finite-state machine
667:High-level synthesis
602:Circuit minimization
232:design rule checking
118:and generation of a
736:Digital photography
518:Generic Array Logic
440:Combinational logic
415:Printed electronics
379:Digital electronics
183:Integrated circuits
75:Integrated circuits
30:integrated circuits
684:Asynchronous logic
460:Integrated circuit
425:Electronic circuit
792:
791:
741:Digital telephone
712:Computer hardware
679:Synchronous logic
340:978-3-030-96414-6
281:978-3-030-39284-0
77:, during which a
812:
445:Sequential logic
372:
365:
358:
349:
348:
343:
324:
318:
317:
315:
314:
303:
294:
293:
257:
239:silicon compiler
221:transparent film
195:in the standard
140:signal integrity
820:
819:
815:
814:
813:
811:
810:
809:
795:
794:
793:
788:
767:
700:
635:Place and route
630:Logic synthesis
616:
612:Gate equivalent
575:Logic synthesis
570:Boolean algebra
553:
495:Macrocell array
455:Boolean circuit
381:
376:
346:
325:
321:
312:
310:
305:
304:
297:
282:
258:
251:
247:
209:
185:
160:
149:to load in the
112:
87:, during which
67:, during which
22:Place and route
17:
12:
11:
5:
818:
808:
807:
790:
789:
787:
786:
781:
775:
773:
769:
768:
766:
765:
760:
759:
758:
753:
751:cinematography
743:
738:
733:
732:
731:
721:
720:
719:
708:
706:
702:
701:
699:
698:
697:
696:
686:
681:
676:
671:
670:
669:
664:
654:
649:
648:
647:
642:
632:
626:
624:
618:
617:
615:
614:
609:
604:
599:
598:
597:
590:Digital signal
587:
582:
577:
572:
567:
565:Digital signal
561:
559:
555:
554:
552:
551:
545:
539:
533:
527:
521:
515:
509:
503:
497:
492:
486:
480:
474:
469:
463:
457:
452:
447:
442:
437:
432:
427:
422:
417:
412:
407:
402:
397:
391:
389:
383:
382:
375:
374:
367:
360:
352:
345:
344:
319:
295:
280:
248:
246:
243:
208:
205:
184:
181:
159:
156:
111:
108:
93:
92:
82:
72:
15:
9:
6:
4:
3:
2:
817:
806:
803:
802:
800:
785:
782:
780:
779:Metastability
777:
776:
774:
772:Design issues
770:
764:
761:
757:
754:
752:
749:
748:
747:
746:Digital video
744:
742:
739:
737:
734:
730:
727:
726:
725:
724:Digital audio
722:
718:
715:
714:
713:
710:
709:
707:
703:
695:
692:
691:
690:
687:
685:
682:
680:
677:
675:
672:
668:
665:
663:
660:
659:
658:
655:
653:
650:
646:
643:
641:
638:
637:
636:
633:
631:
628:
627:
625:
623:
619:
613:
610:
608:
605:
603:
600:
596:
593:
592:
591:
588:
586:
583:
581:
578:
576:
573:
571:
568:
566:
563:
562:
560:
556:
549:
546:
543:
540:
537:
534:
531:
528:
525:
522:
519:
516:
513:
510:
507:
504:
501:
498:
496:
493:
490:
487:
484:
481:
478:
475:
473:
470:
467:
464:
461:
458:
456:
453:
451:
448:
446:
443:
441:
438:
436:
433:
431:
428:
426:
423:
421:
418:
416:
413:
411:
408:
406:
403:
401:
398:
396:
393:
392:
390:
388:
384:
380:
373:
368:
366:
361:
359:
354:
353:
350:
341:
337:
333:
329:
323:
308:
302:
300:
291:
287:
283:
277:
273:
269:
265:
264:
256:
254:
249:
242:
240:
235:
233:
229:
224:
222:
218:
214:
204:
202:
198:
194:
190:
180:
178:
174:
170:
166:
165:digital logic
155:
152:
148:
147:Gerber format
143:
141:
137:
132:
128:
123:
121:
117:
107:
104:
100:
99:(EDA) tools.
98:
90:
86:
83:
80:
76:
73:
70:
66:
63:
62:
61:
58:
55:
51:
47:
43:
39:
35:
31:
27:
23:
19:
705:Applications
634:
322:
311:. Retrieved
262:
236:
225:
210:
186:
161:
144:
138:, and their
124:
113:
105:
101:
94:
59:
21:
20:
18:
435:Memory cell
342:, pp. 5-10.
226:Gradually,
784:Runt pulse
756:television
450:Logic gate
395:Transistor
387:Components
313:2008-07-24
245:References
69:components
640:Placement
430:Flip-flop
410:Capacitor
290:215840278
193:mask work
116:schematic
50:circuitry
38:placement
799:Category
405:Inductor
400:Resistor
217:Rubylith
213:tape-out
203:format.
189:IP cores
171:such as
645:Routing
479:(3D IC)
207:History
199:or the
177:Verilog
136:signals
131:routing
127:Placing
120:netlist
42:routing
622:Design
558:Theory
544:(ASIC)
538:(FPOA)
532:(FPGA)
526:(CPLD)
491:(EPLD)
338:
288:
278:
197:GDS II
79:layout
52:, and
32:, and
729:radio
550:(TPU)
520:(GAL)
514:(PAL)
508:(PLD)
502:(PLA)
485:(ECL)
468:(HIC)
286:S2CID
201:OASIS
89:logic
85:FPGAs
54:logic
462:(IC)
336:ISBN
276:ISBN
175:and
173:VHDL
167:and
40:and
328:doi
268:doi
219:on
215:of
801::
334:,
298:^
284:.
274:.
252:^
241:.
223:.
48:,
28:,
371:e
364:t
357:v
330::
316:.
292:.
270::
Text is available under the Creative Commons Attribution-ShareAlike License. Additional terms may apply.