Circuit minimization

Circuit minimization

In Boolean algebra, circuit minimization is the problem of obtaining the smallest logic circuit (Boolean formula) that represents a given Boolean function or truth table. The general circuit minimization problem is believed to be intractable,[1] but there are effective heuristics such as Karnaugh maps and the Quine–McCluskey algorithm that facilitate the process.

Contents

Purpose

The problem with having a complicated circuit (i.e. one with many elements, such as logical gates) is that each element takes up physical space in its implementation and costs time and money to produce in itself.

Example

While there are many ways to minimize a circuit, this is an example that minimizes (or simplifies) a boolean function. Note that the boolean function carried out by the circuit is directly related to the algebraic expression from which the function is implemented.[2] Consider the circuit used to represent (A \wedge \bar{B}) \vee (\bar{A} \wedge B). It is evident that two negations, two conjunctions, and a disjunction are used in this statement. This means that to build the circuit one would need two inverters, two AND gates, and an OR gate.

We can simplify (minimize) the circuit by applying logical identities or using intuition. Since the example states that A is true when B is false or the other way around, we can conclude that this simply means A \neq B. In terms of logical gates, inequality simply means an XOR gate (exclusive or). Therefore, (A \wedge \bar{B}) \vee (\bar{A} \wedge B) \iff A \neq B. Then the two circuits shown below are equivalent:

Circuit-minimization.svg

You can additionally check the correctness of the result using a truth table.

See also

References

  1. ^ Kabanets, Valentine; Cai, Jin-Yi (2000), "Circuit minimization problem", Proc. 32nd Symposium on Theory of Computing, Portland, Oregon, USA, pp. 73–79, doi:10.1145/335305.335314, ECCC TR99-045 .
  2. ^ M. Mano, C. Kime. "Logic and Computer Design Fundamentals" (Fourth Edition). Pg 54

Further reading

  • De Micheli, Giovanni. Synthesis and Optimization of Digital Circuits. McGraw-Hill, 1994, Part III, Logic-Level Syntesis and Optimization
  • Zvi Kohavi, Niraj K. Jha. Switching and Finite Automata Theory. 3rd ed. Cambridge University Press. 2009. ISBN 9780521857482, chapters 4–6

Wikimedia Foundation. 2010.

Игры ⚽ Поможем написать реферат

Look at other dictionaries:

  • Karnaugh map — For former radio station KMAP (1962 1968) in Dallas Fort Worth, see KRLD FM. An example Karnaugh map The Karnaugh map (K map for short), Maurice Karnaugh s 1953 refinement of Edward Veitch s 1952 Veitch diagram, is a method to simplify Boolean… …   Wikipedia

  • Quine–McCluskey algorithm — The Quine–McCluskey algorithm (or the method of prime implicants) is a method used for minimization of boolean functions which was developed by W.V. Quine and Edward J. McCluskey. It is functionally identical to Karnaugh mapping, but the tabular… …   Wikipedia

  • Polynomial hierarchy — In computational complexity theory, the polynomial hierarchy is a hierarchy of complexity classes that generalize the classes P, NP and co NP to oracle machines.DefinitionsThere are multiple equivalent definitions of the classes of the polynomial …   Wikipedia

  • Alternating Turing machine — In computational complexity theory, an alternating Turing machine (ATM) is a non deterministic Turing machine (NTM) with a rule for accepting computations that generalizes the rules used in the definition of the complexity classes NP and co NP.… …   Wikipedia

  • List of mathematics articles (C) — NOTOC C C closed subgroup C minimal theory C normal subgroup C number C semiring C space C symmetry C* algebra C0 semigroup CA group Cabal (set theory) Cabibbo Kobayashi Maskawa matrix Cabinet projection Cable knot Cabri Geometry Cabtaxi number… …   Wikipedia

  • NP-intermediate — In computational complexity, problems that are in the complexity class NP but are neither in the class P nor NP complete are called NP intermediate, and the class of such problems is called NPI. Ladner s theorem, shown in 1975 by Richard… …   Wikipedia

  • List of pioneers in computer science — This article presents a list of individuals who helped in the creation, development and imagining of what computers and electronics could do. Contents 1 See also 2 External links Person Achievement Ach. Date John Atanasoff Built the first… …   Wikipedia

  • Category:Logic in computer science — Logic in computer science is that branch of mathematical logic which is approximately the intersection between mathematical logic and computer science. It contains: Those investigations into logic that are guided by applications in computer… …   Wikipedia

  • Functional decomposition — refers broadly to the process of resolving a functional relationship into its constituent parts in such a way that the original function can be reconstructed (i.e., recomposed) from those parts by function composition. In general, this process of …   Wikipedia

  • 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,… …   Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”