Knowledge

Logic synthesis

Source đź“ť

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:
Proceedings of the International Conference on ASIC (ASICON)
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:.

Index

Synthetic programming

verification
improve this article
adding citations to reliable sources
"Logic synthesis"
news
newspapers
books
scholar
JSTOR
Learn how and when to remove this message
computer engineering
circuit
register transfer level
logic gates
computer program
hardware description languages
VHDL
Verilog
bitstreams
programmable logic devices
PALs
FPGAs
ASICs
electronic design automation
place and route
verification and validation
George Boole
Boolean algebra

Text is available under the Creative Commons Attribution-ShareAlike License. Additional terms may apply.

↑