in menu move to sidebar hide Navigation Main page Contents Current events Random article About Wikipedia Contact us Contribute Help Learn to edit Community portal Recent changes Upload file Special pages Print/export Download as PDF Printable version In other projects Wikimedia Commons Wikidata item Search Search Appearance Donate Create account Log in Personal tools Donate Create account Log in Contents move to sidebar hide (Top) 1 History 2 Commercial tools 3 Logic elements 4 High-level or behavioral 5 Multi-level logic minimization 6 See also 7 References 8 Further reading 9 External links Toggle the table of contents Logic synthesis 17 languages العربية বাংলা Català Deutsch Ελληνικά فارسی Suomi Français 日本語 한국어 Polski Português Русский Српски / srpski Українська 吴语 中文 Edit links Article Talk English Read Edit View history Tools Tools move to sidebar hide Actions Read Edit View history General What links here Related changes Upload file Permanent link Page information Cite this page Get shortened URL Print/export Download as PDF Printable version In other projects Wikimedia Commons Wikidata item Appearance move to sidebar hide From Wikipedia, the free encyclopedia Process by which desired circuit behavior is turned into a schematic of logic gates Not to be confused with Synthetic programming . This article needs additional citations for verification . Please help improve this article by adding citations to reliable sources . Unsourced material may be challenged and removed. Find sources:   "Logic synthesis"  –  news   · newspapers   · books   · scholar   · JSTOR ( January 2013 ) ( Learn how and when to remove this message ) In computer engineering , logic synthesis is a process by which an abstract specification of desired circuit behavior, typically at register transfer level (RTL), is turned into a design implementation in terms of logic gates , typically by a computer program called a synthesis tool . Common examples of this process include synthesis of designs specified in hardware description languages , including VHDL and Verilog . [ 1 ] Some synthesis tools generate bitstreams for programmable logic devices such as PALs or FPGAs , while others target the creation of ASICs . Logic synthesis is one step in circuit design in the electronic design automation , the others are place and route and verification and validation . History [ edit ] The roots of logic synthesis can be traced to the treatment of logic by George Boole (1815 to 1864), in what is now termed Boolean algebra . In 1938, Claude Shannon showed that the two-valued Boolean algebra can describe the operation of switching circuits. In the early days, logic design involved manipulating the truth table representations as Karnaugh maps . 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. The first step toward automation of logic minimization was the introduction of the Quine–McCluskey algorithm 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 two-level minimization . Nowadays, the much more efficient Espresso heuristic logic minimizer has become the standard tool for this operation. [ needs update ] Another area of early research was in state minimization and encoding of finite-state machines (FSMs), a task that was the bane of designers. The applications for logic synthesis lay primarily in digital computer design. Hence, IBM and Bell Labs played a pivotal role in the early automation of logic synthesis. The evolution from discrete logic components to programmable logic arrays (PLAs) hastened the need for efficient two-level minimization, since minimizing terms in a two-level representation reduces the area in a PLA. Two-level logic circuits are of limited importance in a very-large-scale integration (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 University of California, Berkeley , RASP from University of California, Los Angeles and BOLD from University of Colorado, Boulder . Within a decade, the technology migrated to commercial logic synthesis products offered by electronic design automation companies. Commercial tools [ edit ] The leading developers and providers of logic synthesis software packages are Synopsys , Cadence , and Siemens . Their synthesis tools are Synopsys Design Compiler, Cadence First Encounter and Siemens Precision RTL. Logic elements [ edit ] Logic design is a step in the standard design cycle in which the functional design of an electronic circuit is converted into the representation which captures logic operations , arithmetic operations , control flow , etc. A common output of this step is RTL description . Logic design is commonly followed by the circuit design step. In modern electronic design automation parts of the logical design may be automated using high-level synthesis tools based on the behavioral description of the circuit. [ 2 ] Various representations of Boolean operations 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. High-level or behavioral [ edit ] Main article: High-level synthesis 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, [ 3 ] which are used for complex ASIC and FPGA design. These tools automatically synthesize circuits specified using 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. [ 3 ] 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. Multi-level logic minimization [ edit ] See also: Logic optimization and Circuit minimization 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 Boolean network . 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 literal count of the factored representation of the logic function (which correlates quite well with circuit area). 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 as the available gates (logic functions) in the technology library, the drive sizes for each gate, and the delay, power , and area characteristics of each gate. See also [ edit ] Silicon compiler Binary decision diagram Functional verification Boolean differential calculus Synthesis of Integral Design by DEC , a 1980s tool used to design VAX 9000 mainframe CPUs and others ICs References [ edit ] ^ "Synthesis:Verilog to Gates" (PDF) . ^ Naveed A. Sherwani (1999). Algorithms for VLSI physical design automation (3rd ed.). Kluwer Academic Publishers. p. 4. ISBN   978-0-7923-8393-2 . ^ a b EETimes: High-level synthesis rollouts enable ESL [ permanent dead link ] Electronic Design Automation For Integrated Circuits Handbook , by Lavagno, Martin, and Scheffer, ISBN   0-8493-3096-3 A survey of the field of Electronic design automation . The above summary was derived, with permission, from Volume 2, Chapter 2, Logic Synthesis by Sunil Khatri and Narendra Shenoy. Further reading [ edit ] Burgun, Luc; Greiner, Alain; Prado Lopes Eudes (October 1994). "A Consistent Approach in Logic Synthesis for FPGA Architectures". Proceedings of the International Conference on ASIC . Pekin: 104– 107. 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.). Electronic design automation: synthesis, verification, and test . Morgan Kaufmann. ISBN   978-0-12-374364-0 . Hachtel, Gary D.; Somenzi, Fabio (2006) [1996]. Logic Synthesis and Verification Algorithms . Springer Science & Business Media . ISBN   0-7923-9746-0 . Hassoun, Soha ; Sasao, Tsutomu, eds. (2002). Logic synthesis and verification . Kluwer. ISBN   978-0-7923-7606-4 . Perkowski, Marek A.; Grygiel, Stanislaw (1995-11-20). "6. Historical Overview of the Research on Decomposition". A Survey of Literature on Function Decomposition (PDF) . Version IV. Functional Decomposition Group, Department of Electrical Engineering, Portland University, Portland, Oregon, USA. CiteSeerX   10.1.1.64.1129 . Archived (PDF) from the original on 2021-03-28 . Retrieved 2021-03-28 . (188 pages) Stanković, Radomir S. [in German] ; Sasao, Tsutomu; Astola, Jaakko Tapio [in Finnish] (August 2001). "Publications in the First Twenty Years of Switching Theory and Logic Design" (PDF) . Tampere International Center for Signal Processing (TICSP) Series. Tampere University of Technology / TTKK, Monistamo, Finland. ISSN   1456-2774 . S2CID   62319288 . #14. Archived (PDF) from the original on 2017-08-09 . Retrieved 2021-03-28 . (4+60 pages) External links [ edit ] Media related to Logic design at Wikimedia Commons v t e Digital electronics Components Transistor Resistor Inductor Capacitor Printed electronics Printed circuit board Electronic circuit Flip-flop Memory cell Combinational logic Sequential logic Logic gate Boolean circuit Integrated circuit (IC) Hybrid integrated circuit (HIC) Mixed-signal integrated circuit Three-dimensional integrated circuit (3D IC) Emitter-coupled logic (ECL) Erasable programmable logic device (EPLD) Macrocell array Programmable logic array (PLA) Programmable logic device (PLD) Programmable Array Logic (PAL) Generic Array Logic (GAL) Complex programmable logic device (CPLD) Field-programmable gate array (FPGA) Field-programmable object array (FPOA) Application-specific integrated circuit (ASIC) Tensor Processing Unit (TPU) Theory Digital signal Boolean algebra Logic synthesis Logic in computer science Computer architecture Digital signal Digital signal processing Circuit minimization Switching circuit theory Gate equivalent Design Logic synthesis Place and route Placement Routing Transaction-level modeling Register-transfer level Hardware description language High-level synthesis Formal equivalence checking Synchronous logic Asynchronous logic Finite-state machine Hierarchical state machine Applications Computer hardware Hardware acceleration Digital audio radio Digital photography Digital telephone Digital video cinematography television Electronic literature Design issues Metastability Runt pulse Retrieved from " https://en.wikipedia.org/w/index.php?title=Logic_synthesis&oldid=1300477405 " Categories : Logic design Computer engineering Electronic engineering Electronic design Digital electronics Electronic design automation Hidden categories: All articles with dead external links Articles with dead external links from May 2017 Articles with permanently dead external links Articles with short description Short description is different from Wikidata Articles needing additional references from January 2013 All articles needing additional references Use dmy dates from March 2021 Wikipedia articles in need of updating from May 2017 All Wikipedia articles in need of updating CS1 interwiki-linked names Commons category link is on Wikidata This page was last edited on 14 July 2025, at 15:21  (UTC) . Text is available under the Creative Commons Attribution-ShareAlike 4.0 License ; additional terms may apply. By using this site, you agree to the Terms of Use and Privacy Policy . Wikipedia® is a registered trademark of the Wikimedia Foundation, Inc. , a non-profit organization. Privacy policy About Wikipedia Disclaimers Contact Wikipedia Legal & safety contacts Code of Conduct Developers Statistics Cookie statement Mobile view Search Search Toggle the table of contents Logic synthesis 17 languages Add topic