Logic optimization

From Infogalactic: the planetary knowledge core
(Redirected from Logic Optimization)
Jump to: navigation, search

Lua error in package.lua at line 80: module 'strict' not found. Logic optimization, a part of logic synthesis in electronics, 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.

Introduction

With the advent of logic synthesis, one of the biggest challenges faced by the Electronic design automation(EDA) industry was to find the best netlist representation of the given design description. While two-level logic optimization had long existed in the form of the Quine–McCluskey algorithm, later followed by the Espresso heuristic logic minimizer, the rapidly improving chip densities, and the wide adoption of HDLs for circuit description, formalized the logic optimization domain as it exists today.

Today, logic optimization is divided into various categories based on two criteria:

Based on circuit representation

  • Two-level logic optimization
  • Multi-level logic optimization

Based on circuit characteristics

  • Sequential logic optimization
  • Combinational logic optimization

While a two-level circuit representation of circuits strictly refers to the flattened view of the circuit in terms of SOPs (sum-of-products) — which is more applicable to a PLA implementation of the design[clarification needed] — a multi-level representation is a more generic view of the circuit in terms of arbitrarily connected SOPs, POSs (product-of-sums), factored form etc. Logic optimization algorithms generally work either on the structural (SOPs, factored form) or functional (BDDs, ADDs) representation of the circuit.[clarification needed]

Two-level versus multi-level representations

If we have two functions F1 and F2:

F_1 = AB + AC + AD,\,
F_2 = A'B + A'C + A'E.\,

The above 2-level representation takes six product terms and 24 transistors in CMOS Rep.[why?]

A functionally equivalent representation in multilevel can be:

P = B + C.
F1 = AP + AD.
F2 = A'P + A'E.

While the number of levels here is 3, the total number of product terms and literals reduce[quantify] because of the sharing of the term B + C.

Similarly, we distinguish between sequential and combinational circuits, whose behavior can be described in terms of finite-state machine state tables/diagrams or by Boolean functions and relations respectively.[clarification needed]

See also

References and further reading

  • Lua error in package.lua at line 80: module 'strict' not found. Chapters 7-9 cover combinatorial two-level, combinatorial multi-level, and respectively sequential circuit optimization.
  • Lua error in package.lua at line 80: module 'strict' not found.