Logic synthesis

Logic synthesis

Logic synthesis is a process by which an abstract form of desired circuit behavior (typically register transfer level (RTL) or behavioral) is turned into a design implementation in terms of logic gates. Common examples of this process include synthesis of HDLs, including VHDL and Verilog. Some tools can generate bitstreams for programmable logic devices such as PALs or FPGAs, while others target the creation of ASICs. Logic synthesis is one aspect of electronic design automation.

History of logic synthesis

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. 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.

However, two-level logic circuits are of limited importance in a very-large-scale integration (VLSI) design; most designs use multiple levels of logic; As a matter of fact, 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 universitiescontributed 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.

Behavioral synthesis

With the goal of increasing designer productivity, there has been a significant amount of research on synthesis of circuits specified at the behavioral level using a hardware description language (HDL). The goal of behavioral synthesis is to transform abehavioral HDL specification into a register transfer level (RTL) specification, which can be used as input to a gate-level logic synthesis flow. Behavioral optimization decisions are guided by cost functions that are based on the number of hardware resources and states required. These cost functions provide a coarse estimate of the combinational and sequential circuitry required to implement the design. Today , behavioral logic description and Synthesis essentially refer to Circuit Synthesis from high level Languages like SystemC etc., whereas Logic Synthesis is being restricted for Synthesis from Structural or Functional Description in RTL.

The tasks of scheduling, resource allocation, andsharing generate the FSM and the datapath of the RTL description of the design.Scheduling assigns operations to points in time, while allocation assigns each operation or variable to a hardware resource. Given a schedule, the allocation operation optimizes the amount of hardware required to implement the design.

Multi-level logic minimization

Typical practical implementations of a logic function utilize a multilevel network of logic elements. Starting from an RTL description of a design, the synthesis tool constructs a corresponding multilevel Boolean network.

Next, thisnetwork is optimized using several technology-independent techniques before technology-dependent optimizationsare performed. The typical cost function during technology-independent optimizations is total literalcount of the factored representation of the logic function (which correlates quite well with circuit area).

Finally, technology-dependent optimization transforms thetechnology-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.

Commercial tool for logic synthesis

Software tools for logic synthesis targeting ASICs

* " [http://www.synopsys.com/products/logic/design_compiler.html Design Compiler] " by Synopsys
* " [http://www.cadence.com/products/digital_ic/rtl_compiler/index.aspx Encounter RTL Compiler] " by Cadence Design Systems
** "BuildGates" an older product by Cadence Design Systems - humorously named after Bill Gates
*" [http://www.magma-da.com/Pages/BlastCreate.html BlastCreate] " by Magma Design Automation
*" [http://domino.research.ibm.com/tchjr/journalindex.nsf/0b9bc46ed06cbac1852565e6006fe1a0/5588d005a20caff385256bfa0067f992?OpenDocument BooleDozer:] " Logic synthesis tool by IBM (internal IBM EDA tool)

Software tools for logic synthesis targeting FPGAs

* "Encounter RTL Compiler" by Cadence Design Systems
* " [http://www.mentor.com/products/fpga_pld/synthesis/ LeonardoSpectrum and Precision (RTL / Physical)] " by Mentor Graphics
* " [http://www.synplicity.com/products/synplifypremier/index.html Synplify (PRO / Premier)] " by Synplicity
* " [http://www.magma-da.com/Pages/BlastFPGA.html BlastFPGA] " by Magma Design Automation
* "Quartus II integrated Synthesis by Altera
* "XST (delivered within ISE) by Xilinx
* "DesignCompiler Ultra" and "IC Compiler" by Synopsys
* "IspLever" by Lattice Semiconductor
* [http://www.gepsoft.com/ GeneXproTools - Software for Logic Synthesis]

See also

*Logic optimization


*"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.

*"A Consistent Approach in Logic Synthesis for FPGA Architectures", by Burgun Luc, Greiner Alain, and Prado Lopes Eudes, Proceedings of the international Conference on Asic (ASICON), Pekin, October 1994, pp.104-107.

Wikimedia Foundation. 2010.

Look at other dictionaries:

  • Logic optimization — a part of logic synthesis, is the process of finding an equivalent representation of the specified logic circuit under one or more specified constraints. Generally the circuit is constrained to minimum chip area meeting a prespecified delay.… …   Wikipedia

  • Logic design — In electronic design, 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… …   Wikipedia

  • Synthesis — The term synthesis (from the ancient Greek Polytonic|σύνθεσις σύν with and θέσις placing ) is used in many fields, usually to mean a process which combines together two or more pre existing elements resulting in the formation of something new.… …   Wikipedia

  • Logic Pro — Logic 8 Developer(s) Apple Inc. Stable release 9.1.5 / 2011 08 08 Operating system …   Wikipedia

  • Logic simulation — is the use of a computer program to simulate the operation of a digital circuit. Logic simulation is the primary tool used for verifying the logical correctness of a hardware design. In many cases logic simulation is the first activity performed… …   Wikipedia

  • Synthesis — Syn the*sis, n.; pl. {Syntheses}. [L., a mixture, properly, a putting together, Gr. ?, fr. ? to place or put together; sy n with + ? to place. See {Thesis}.] 1. Composition, or the putting of two or more things together, as in compounding… …   The Collaborative International Dictionary of English

  • logic — [n] science of reasoning antithesis and synthesis, argumentation, coherence, connection, course of thought, deduction, dialectic, good sense, induction, inference, linkage, philosophy, ratiocination, rationale, relationship, sanity, sense, sound… …   New thesaurus

  • logic — n 1. science of reasoning, dialectics, symbolic logic, logistic; polemics, art of disputation ot controversy. 2. reasoning, argumentation, ratiocination, process of reasoning; Logic. inference, Logic. deduction, Logic. induction, syllogization,… …   A Note on the Style of the synonym finder

  • logic — I (Roget s IV) n. Syn. reasoning, dialectic, deduction, syllogism, induction, inference, course of argument, course of thought; thesis, antithesis and synthesis, chain of reasoning; see also philosophy 1 , thought 1 . Branches of logic include:… …   English dictionary for students

  • synthesis — The combination of two (or more) contradictory phenomena to produce something qualitatively new. The term is usually associated with the dialectical logic employed by some Marxists: for example, the economic contradictions of capitalism and the… …   Dictionary of sociology