388:
high-level languages, like ANSI C/C++ or SystemC, to a register transfer level (RTL) specification, which can be used as input to a gate-level logic synthesis flow. Using high-level synthesis, also known as ESL synthesis, the allocation of work to clock cycles and across structural components, such as floating-point ALUs, is done by the compiler using an optimisation procedure, whereas with RTL logic synthesis (even from behavioural
Verilog or VHDL, where a thread of execution can make multiple reads and writes to a variable within a clock cycle) those allocation decisions have already been made.
282:(VLSI) design; most designs use multiple levels of logic. Almost any circuit representation in RTL or Behavioural Description is a multi-level representation. An early system that was used to design multilevel circuits was LSS from IBM. It used local transformations to simplify logic. Work on LSS and the Yorktown Silicon Compiler spurred rapid research progress in logic synthesis in the 1980s. Several universities contributed by making their research available to the public, most notably SIS from
32:
740:
365:
422:
Finally, technology-dependent optimization transforms the technology-independent circuit into a network of gates in a given technology. The simple cost estimates are replaced by more concrete, implementation-driven estimates during and after technology mapping. Mapping is constrained by factors such
387:
With a goal of increasing designer productivity, research efforts on the synthesis of circuits specified at the behavioral level have led to the emergence of commercial solutions in 2004, which are used for complex ASIC and FPGA design. These tools automatically synthesize circuits specified using
372:
Logic operations usually consist of
Boolean AND, OR, XOR and NAND operations, and are the most basic forms of operations in an electronic circuit. Arithmetic operations are usually implemented with the use of logic operators.
236:. The Karnaugh map-based minimization of logic is guided by a set of rules on how entries in the maps can be combined. A human designer can typically only work with Karnaugh maps containing up to four to six variables.
414:
Next, this network is optimized using several technology-independent techniques before technology-dependent optimizations are performed. The typical cost function during technology-independent optimizations is total
406:
Typical practical implementations of a logic function utilize a multi-level network of logic elements. Starting from an RTL description of a design, the synthesis tool constructs a corresponding multilevel
485:
247:
that could be implemented on a computer. This exact minimization technique presented the notion of prime implicants and minimum cost covers that would become the cornerstone of
579:
Jiang, Jie-Hong "Roland"; Devadas, Srinivas (2009). "Chapter 6: Logic synthesis in a nutshell". In Wang, Laung-Terng; Chang, Yao-Wen; Cheng, Kwang-Ting (eds.).
663:
275:(PLAs) hastened the need for efficient two-level minimization, since minimizing terms in a two-level representation reduces the area in a PLA.
772:
713:
1004:
294:. Within a decade, the technology migrated to commercial logic synthesis products offered by electronic design automation companies.
259:(FSMs), a task that was the bane of designers. The applications for logic synthesis lay primarily in digital computer design. Hence,
1042:
696:. Tampere International Center for Signal Processing (TICSP) Series. Tampere University of Technology / TTKK, Monistamo, Finland.
570:
Burgun, Luc; Greiner, Alain; Prado Lopes Eudes (October 1994). "A Consistent
Approach in Logic Synthesis for FPGA Architectures".
944:
652:. Version IV. Functional Decomposition Group, Department of Electrical Engineering, Portland University, Portland, Oregon, USA.
1047:
96:
1232:
633:
588:
511:
287:
68:
879:
603:
255:
has become the standard tool for this operation. Another area of early research was in state minimization and encoding of
416:
992:
891:
283:
252:
75:
926:
765:
611:
548:
115:
530:
49:
423:
as the available gates (logic functions) in the technology library, the drive sizes for each gate, and the delay,
1217:
938:
874:
643:
Perkowski, Marek A.; Grygiel, Stanislaw (1995-11-20). "6. Historical
Overview of the Research on Decomposition".
291:
82:
53:
1212:
1064:
932:
744:
460:
451:
244:
181:
157:
419:
count of the factored representation of the logic function (which correlates quite well with circuit area).
64:
1227:
758:
552:
456:
354:
279:
189:
314:. Their synthesis tools are Synopsys Design Compiler, Cadence First Encounter and Siemens Precision RTL.
1181:
1076:
197:
1222:
1096:
1054:
644:
682:
997:
982:
908:
868:
173:
1009:
914:
902:
658:
272:
177:
1059:
837:
832:
446:
441:
334:
213:
141:
42:
1153:
950:
686:
653:
307:
248:
1207:
1165:
1119:
987:
885:
822:
690:
338:
217:
137:
89:
20:
1091:
1086:
1069:
789:
401:
382:
358:
256:
129:
8:
1138:
1081:
920:
842:
817:
781:
1158:
1143:
1024:
862:
827:
705:
397:
330:
240:
1114:
697:
629:
607:
584:
544:
507:
326:
267:
played a pivotal role in the early automation of logic synthesis. The evolution from
709:
847:
436:
149:
16:
Process by which desired circuit behavior is turned into a schematic of logic gates
1037:
1014:
972:
897:
857:
408:
346:
221:
193:
967:
424:
350:
268:
302:
The leading developers and providers of logic synthesis software packages are
1201:
1148:
1131:
1126:
701:
691:"Publications in the First Twenty Years of Switching Theory and Logic Design"
555:. The above summary was derived, with permission, from Volume 2, Chapter 2,
156:. Common examples of this process include synthesis of designs specified in
621:
342:
233:
209:
229:
145:
208:
The roots of logic synthesis can be traced to the treatment of logic by
1186:
852:
797:
750:
224:
can describe the operation of switching circuits. In the early days,
812:
264:
169:
31:
807:
802:
464:
303:
311:
165:
739:
581:
Electronic design automation: synthesis, verification, and test
569:
541:
Electronic Design
Automation For Integrated Circuits Handbook
572:
185:
161:
136:
is a process by which an abstract specification of desired
361:
tools based on the behavioral description of the circuit.
144:(RTL), is turned into a design implementation in terms of
260:
364:
278:
Two-level logic circuits are of limited importance in a
506:(3rd ed.). Kluwer Academic Publishers. p. 4.
188:. Logic synthesis is one step in circuit design in the
681:
333:
is converted into the representation which captures
325:
is a step in the standard design cycle in which the
357:parts of the logical design may be automated using
56:. Unsourced material may be challenged and removed.
501:
391:
1199:
646:A Survey of Literature on Function Decomposition
642:
597:
525:
523:
504:Algorithms for VLSI physical design automation
766:
368:Various representations of Boolean operations
620:
578:
495:
600:Logic Synthesis and Verification Algorithms
520:
478:
376:
349:. Logic design is commonly followed by the
773:
759:
598:Hachtel, Gary D.; Somenzi, Fabio (2006) .
657:
427:, and area characteristics of each gate.
116:Learn how and when to remove this message
531:High-level synthesis rollouts enable ESL
363:
945:Application-specific integrated circuit
780:
345:, etc. A common output of this step is
1200:
212:(1815 to 1864), in what is now termed
184:, while others target the creation of
754:
604:Springer Science & Business Media
288:University of California, Los Angeles
880:Three-dimensional integrated circuit
559:by Sunil Khatri and Narendra Shenoy.
543:, by Lavagno, Martin, and Scheffer,
251:. Nowadays, the much more efficient
239:The first step toward automation of
54:adding citations to reliable sources
25:
297:
13:
892:Erasable programmable logic device
563:
284:University of California, Berkeley
253:Espresso heuristic logic minimizer
14:
1244:
927:Complex programmable logic device
732:
317:
738:
626:Logic synthesis and verification
168:. Some synthesis tools generate
30:
939:Field-programmable object array
875:Mixed-signal integrated circuit
719:from the original on 2017-08-09
669:from the original on 2021-03-28
624:; Sasao, Tsutomu, eds. (2002).
292:University of Colorado, Boulder
245:Quine–McCluskey algorithm
41:needs additional citations for
463:, a 1980s tool used to design
392:Multi-level logic minimization
158:hardware description languages
1:
1065:Hardware description language
933:Field-programmable gate array
471:
467:mainframe CPUs and others ICs
452:Boolean differential calculus
1233:Electronic design automation
553:Electronic design automation
486:"Synthesis:Verilog to Gates"
457:Synthesis of Integral Design
355:electronic design automation
280:very-large-scale integration
243:was the introduction of the
190:electronic design automation
7:
1077:Formal equivalence checking
502:Naveed A. Sherwani (1999).
430:
220:showed that the two-valued
198:verification and validation
10:
1249:
1097:Hierarchical state machine
1055:Transaction-level modeling
395:
380:
228:involved manipulating the
203:
174:programmable logic devices
18:
1174:
1107:
1023:
998:Digital signal processing
983:Logic in computer science
960:
909:Programmable logic device
869:Hybrid integrated circuit
788:
551:A survey of the field of
273:programmable logic arrays
1010:Switching circuit theory
915:Programmable Array Logic
903:Programmable logic array
377:High-level or behavioral
19:Not to be confused with
1060:Register-transfer level
447:Functional verification
442:Binary decision diagram
142:register transfer level
140:behavior, typically at
1218:Electronic engineering
951:Tensor Processing Unit
369:
249:two-level minimization
1166:Electronic literature
1120:Hardware acceleration
988:Computer architecture
886:Emitter-coupled logic
823:Printed circuit board
683:Stanković, Radomir S.
367:
339:arithmetic operations
257:finite-state machines
21:Synthetic programming
1213:Computer engineering
1092:Finite-state machine
1070:High-level synthesis
1005:Circuit minimization
747:at Wikimedia Commons
687:Astola, Jaakko Tapio
402:Circuit minimization
383:High-level synthesis
359:high-level synthesis
130:computer engineering
50:improve this article
1228:Digital electronics
1139:Digital photography
921:Generic Array Logic
843:Combinational logic
818:Printed electronics
782:Digital electronics
583:. Morgan Kaufmann.
232:representations as
1087:Asynchronous logic
863:Integrated circuit
828:Electronic circuit
685:; Sasao, Tsutomu;
398:Logic optimization
370:
331:electronic circuit
241:logic minimization
1223:Electronic design
1195:
1194:
1144:Digital telephone
1115:Computer hardware
1082:Synchronous logic
743:Media related to
635:978-0-7923-7606-4
590:978-0-12-374364-0
574:. Pekin: 104–107.
513:978-0-7923-8393-2
327:functional design
192:, the others are
148:, typically by a
126:
125:
118:
100:
65:"Logic synthesis"
1240:
848:Sequential logic
775:
768:
761:
752:
751:
742:
727:
725:
724:
718:
695:
677:
675:
674:
668:
661:
651:
639:
617:
594:
575:
533:
527:
518:
517:
499:
493:
492:
490:
482:
437:Silicon compiler
353:step. In modern
335:logic operations
298:Commercial tools
150:computer program
121:
114:
110:
107:
101:
99:
58:
34:
26:
1248:
1247:
1243:
1242:
1241:
1239:
1238:
1237:
1198:
1197:
1196:
1191:
1170:
1103:
1038:Place and route
1033:Logic synthesis
1019:
1015:Gate equivalent
978:Logic synthesis
973:Boolean algebra
956:
898:Macrocell array
858:Boolean circuit
784:
779:
735:
722:
720:
716:
693:
689:(August 2001).
672:
670:
666:
649:
636:
614:
591:
566:
564:Further reading
557:Logic Synthesis
537:
536:
528:
521:
514:
500:
496:
488:
484:
483:
479:
474:
433:
409:Boolean network
404:
394:
385:
379:
347:RTL description
320:
300:
222:Boolean algebra
214:Boolean algebra
206:
194:place and route
134:logic synthesis
122:
111:
105:
102:
59:
57:
47:
35:
24:
17:
12:
11:
5:
1246:
1236:
1235:
1230:
1225:
1220:
1215:
1210:
1193:
1192:
1190:
1189:
1184:
1178:
1176:
1172:
1171:
1169:
1168:
1163:
1162:
1161:
1156:
1154:cinematography
1146:
1141:
1136:
1135:
1134:
1124:
1123:
1122:
1111:
1109:
1105:
1104:
1102:
1101:
1100:
1099:
1089:
1084:
1079:
1074:
1073:
1072:
1067:
1057:
1052:
1051:
1050:
1045:
1035:
1029:
1027:
1021:
1020:
1018:
1017:
1012:
1007:
1002:
1001:
1000:
993:Digital signal
990:
985:
980:
975:
970:
968:Digital signal
964:
962:
958:
957:
955:
954:
948:
942:
936:
930:
924:
918:
912:
906:
900:
895:
889:
883:
877:
872:
866:
860:
855:
850:
845:
840:
835:
830:
825:
820:
815:
810:
805:
800:
794:
792:
786:
785:
778:
777:
770:
763:
755:
749:
748:
734:
733:External links
731:
730:
729:
679:
659:10.1.1.64.1129
640:
634:
618:
612:
595:
589:
576:
565:
562:
561:
560:
535:
534:
519:
512:
494:
476:
475:
473:
470:
469:
468:
454:
449:
444:
439:
432:
429:
393:
390:
381:Main article:
378:
375:
351:circuit design
319:
318:Logic elements
316:
299:
296:
290:and BOLD from
271:components to
269:discrete logic
218:Claude Shannon
205:
202:
154:synthesis tool
124:
123:
38:
36:
29:
15:
9:
6:
4:
3:
2:
1245:
1234:
1231:
1229:
1226:
1224:
1221:
1219:
1216:
1214:
1211:
1209:
1206:
1205:
1203:
1188:
1185:
1183:
1182:Metastability
1180:
1179:
1177:
1175:Design issues
1173:
1167:
1164:
1160:
1157:
1155:
1152:
1151:
1150:
1149:Digital video
1147:
1145:
1142:
1140:
1137:
1133:
1130:
1129:
1128:
1127:Digital audio
1125:
1121:
1118:
1117:
1116:
1113:
1112:
1110:
1106:
1098:
1095:
1094:
1093:
1090:
1088:
1085:
1083:
1080:
1078:
1075:
1071:
1068:
1066:
1063:
1062:
1061:
1058:
1056:
1053:
1049:
1046:
1044:
1041:
1040:
1039:
1036:
1034:
1031:
1030:
1028:
1026:
1022:
1016:
1013:
1011:
1008:
1006:
1003:
999:
996:
995:
994:
991:
989:
986:
984:
981:
979:
976:
974:
971:
969:
966:
965:
963:
959:
952:
949:
946:
943:
940:
937:
934:
931:
928:
925:
922:
919:
916:
913:
910:
907:
904:
901:
899:
896:
893:
890:
887:
884:
881:
878:
876:
873:
870:
867:
864:
861:
859:
856:
854:
851:
849:
846:
844:
841:
839:
836:
834:
831:
829:
826:
824:
821:
819:
816:
814:
811:
809:
806:
804:
801:
799:
796:
795:
793:
791:
787:
783:
776:
771:
769:
764:
762:
757:
756:
753:
746:
741:
737:
736:
715:
711:
707:
703:
699:
692:
688:
684:
680:
665:
660:
655:
648:
647:
641:
637:
631:
627:
623:
622:Hassoun, Soha
619:
615:
613:0-7923-9746-0
609:
605:
601:
596:
592:
586:
582:
577:
573:
568:
567:
558:
554:
550:
549:0-8493-3096-3
546:
542:
539:
538:
532:
526:
524:
515:
509:
505:
498:
487:
481:
477:
466:
462:
458:
455:
453:
450:
448:
445:
443:
440:
438:
435:
434:
428:
426:
420:
418:
412:
410:
403:
399:
389:
384:
374:
366:
362:
360:
356:
352:
348:
344:
340:
336:
332:
328:
324:
315:
313:
309:
305:
295:
293:
289:
285:
281:
276:
274:
270:
266:
262:
258:
254:
250:
246:
242:
237:
235:
234:Karnaugh maps
231:
227:
223:
219:
215:
211:
201:
199:
195:
191:
187:
183:
179:
175:
171:
167:
163:
159:
155:
151:
147:
143:
139:
135:
131:
120:
117:
109:
98:
95:
91:
88:
84:
81:
77:
74:
70:
67: –
66:
62:
61:Find sources:
55:
51:
45:
44:
39:This article
37:
33:
28:
27:
22:
1208:Logic design
1108:Applications
1032:
977:
745:Logic design
728:(4+60 pages)
721:. Retrieved
671:. Retrieved
645:
625:
599:
580:
571:
556:
540:
503:
497:
480:
421:
413:
405:
386:
371:
343:control flow
323:Logic design
322:
321:
301:
286:, RASP from
277:
238:
226:logic design
225:
210:George Boole
207:
160:, including
153:
133:
127:
112:
106:January 2013
103:
93:
86:
79:
72:
60:
48:Please help
43:verification
40:
838:Memory cell
678:(188 pages)
230:truth table
216:. In 1938,
146:logic gates
1202:Categories
1187:Runt pulse
1159:television
853:Logic gate
798:Transistor
790:Components
723:2021-03-28
673:2021-03-28
628:. Kluwer.
472:References
396:See also:
170:bitstreams
76:newspapers
1043:Placement
833:Flip-flop
813:Capacitor
702:1456-2774
654:CiteSeerX
529:EETimes:
265:Bell Labs
152:called a
808:Inductor
803:Resistor
714:Archived
710:62319288
664:Archived
465:VAX 9000
431:See also
304:Synopsys
176:such as
1048:Routing
882:(3D IC)
712:. #14.
417:literal
312:Siemens
308:Cadence
204:History
166:Verilog
138:circuit
90:scholar
1025:Design
961:Theory
947:(ASIC)
941:(FPOA)
935:(FPGA)
929:(CPLD)
894:(EPLD)
708:
700:
656:
632:
610:
587:
547:
510:
329:of an
310:, and
92:
85:
78:
71:
63:
1132:radio
953:(TPU)
923:(GAL)
917:(PAL)
911:(PLD)
905:(PLA)
888:(ECL)
871:(HIC)
717:(PDF)
706:S2CID
694:(PDF)
667:(PDF)
650:(PDF)
489:(PDF)
425:power
186:ASICs
182:FPGAs
97:JSTOR
83:books
865:(IC)
698:ISSN
630:ISBN
608:ISBN
585:ISBN
545:ISBN
508:ISBN
400:and
263:and
196:and
178:PALs
172:for
164:and
162:VHDL
69:news
461:DEC
459:by
261:IBM
180:or
128:In
52:by
1204::
704:.
662:.
606:.
602:.
522:^
411:.
341:,
337:,
306:,
200:.
132:,
774:e
767:t
760:v
726:.
676:.
638:.
616:.
593:.
516:.
491:.
119:)
113:(
108:)
104:(
94:·
87:·
80:·
73:·
46:.
23:.
Text is available under the Creative Commons Attribution-ShareAlike License. Additional terms may apply.