1 EE121 John Wakerly Lecture #4 Combinational-Circuit Synthesis ABEL.

Slides:



Advertisements
Similar presentations
Techniques for Combinational Logic Optimization
Advertisements

Switching circuits Composed of switching elements called “gates” that implement logical blocks or switching expressions Positive logic convention (active.
ECE 3110: Introduction to Digital Systems
Boolean Algebra and Reduction Techniques
Adv. Digital Circuit Design
ECE 3110: Introduction to Digital Systems Simplifying Sum of Products using Karnaugh Maps.
Gate-Level Minimization
1 EE 365 Combinational-Circuit Synthesis. 2 Combinational-Circuit Analysis Combinational circuits -- outputs depend only on current inputs (not on history).
Chapter 3 Simplification of Switching Functions
Logic Synthesis Outline –Logic Synthesis Problem –Logic Specification –Two-Level Logic Optimization Goal –Understand logic synthesis problem –Understand.
Gate Logic: Two Level Canonical Forms
 We can use an algebraic description of the circuit ’ s functional behavior in the analysis of a larger system that includes the circuit.  We can determine.
Example: Given a 4-bit input combination N=N 3 N 2 N 1 N 0, this function produces a 1 output for N=1,2,3,5,7,11,13, and 0 otherwise.  According to the.
Computer Engineering (Logic Circuits) (Karnaugh Map)
1 EECC341 - Shaaban #1 Lec # 6 Winter Combinational Circuit Analysis Example Given this logic circuit we can : Find corresponding logic.
Logic gate level Part 3: minimizing circuits. Improving circuit efficiency Efficiency of combinatorial circuit depends on number & arrangement of its.
EECC341 - Shaaban #1 Lec # 7 Winter Combinational Circuit Minimization Canonical sum and product logic expressions do not provide a circuit.
Chapter 5 Boolean Algebra and Reduction Techniques William Kleitz Digital Electronics with VHDL, Quartus® II Version Copyright ©2006 by Pearson Education,
Overview Part 2 – Circuit Optimization 2-4 Two-Level Optimization
11.1 Boolean Functions. Boolean Algebra An algebra is a set with one or more operations defined on it. A boolean algebra has three main operations, and,
KU College of Engineering Elec 204: Digital Systems Design
Digital Logic Chapter 4 Presented by Prof Tim Johnson
Chapter 3 Simplification of Switching Functions. Simplification Goals Goal -- minimize the cost of realizing a switching function Cost measures and other.
Department of Computer Engineering
1 Digital Logic Design Week 5 Simplifying logic expressions.
Gate-Level Minimization Chapter 3. Digital Circuits The Map Method The complexity of the digital logic gates the complexity of the algebraic expression.
1 © 2015 B. Wilkinson Modification date: January 1, 2015 Designing combinational circuits Logic circuits whose outputs are dependent upon the values placed.
Optimization Algorithm
Charles Kime & Thomas Kaminski © 2008 Pearson Education, Inc. Circuit Optimization Logic and Computer Design Fundamentals.
Two-Level Simplification Approaches Algebraic Simplification: - algorithm/systematic procedure is not always possible - No method for knowing when the.
October 29, 2015 EASTERN MEDITERRANEAN UNIVERSITY1 Digital Logic Design I Gate-Level Minimization Mustafa Kemal Uyguroğlu.
ECE 2110: Introduction to Digital Systems PoS minimization Don’t care conditions.
1 ENGR 254 Lecture DeMorgan Symbol Equivalence.
Boolean Algebra Combinational-Circuit Analysis We analyze a combinational logic circuit by obtaining a formal description of its logic function. Once.
Chapter 4 Combinational Logic Design Principles. Overview Objectives -Define combinational logic circuit -Analysis of logic circuits (to describe what.
Elements of discrete devices synthesis (module T170M012) 2012 Kaunas university of technology Electronic and measurement systems dep. Doc. dr. Žilvinas.
Karnaugh map minimization Basic Terms (1) minterm maxterm - a single 1 - a single 0 1. implicant
ECE 3110: Introduction to Digital Systems Symplifying Products of sums using Karnaugh Maps.
UM EECS 270 Spring 2011 – Taken from Dr.Karem Sakallah Logic Synthesis: From Specs to Circuits Implementation Styles –Random –Regular Optimization Criteria.
Circuit Minimization. It is often uneconomical to realize a logic directly from the first logic expression that pops into your head. Canonical sum and.
07 KM Page 1 ECEn/CS 224 Karnaugh Maps. 07 KM Page 2 ECEn/CS 224 What are Karnaugh Maps? A simpler way to handle most (but not all) jobs of manipulating.
CHAPTER 3: PRINCIPLES OF COMBINATIONAL LOGIC
Logic Functions: XOR, XNOR
ECE 3110: Introduction to Digital Systems Combinational-Circuit Synthesis.
ECE 3110: Introduction to Digital Systems
Boolean Algebra and Reduction Techniques
ECE 3110: Introduction to Digital Systems Chapter #4 Review.
Digital Design: Principles and Practices Chapter 4 Combinational Logic Design Principles.
Karnaugh Maps (K-Maps)
Logic Simplification-Using K-Maps
1 Gate Level Minimization EE 208 – Logic Design Chapter 3 Sohaib Majzoub.
Circuit Minimization.
BOOLEAN ALGEBRA LOGIC GATES. Introduction British mathematician George Boole( ) was successful in finding the link between logic and mathematics.
ECE 2110: Introduction to Digital Systems
Chapter 3 Simplification of Switching Functions. Simplification Goals Goal -- minimize the cost of realizing a switching function Cost measures and other.
Boolean or, Switching Algebra. Switching Algebra The two-valued Boolean algebra is also called “Switching algebra” by engineers and computer scientists.
Digital Systems Design 1 Signal Expressions Multiply out: F = ((X + Y)  Z) + (X  Y  Z) = (X  Z) + (Y  Z) + (X  Y  Z)
Digital Logic.
ECE 2110: Introduction to Digital Systems
ECE 2110: Introduction to Digital Systems
CSC205 Jeffrey N. Denenberg Lecture #5
ECE 2110: Introduction to Digital Systems
ECE 3110: Introduction to Digital Systems
CSNB163 Digital Logic Design
ECE 2110: Introduction to Digital Systems
Programmable Logic Devices
Optimization Algorithm
Introduction to Digital Systems
Overview Part 2 – Circuit Optimization
Chapter 4 Combinational Logic Design Principles. Overview Objectives -Define combinational logic circuit -Analysis of logic circuits (to describe what.
Presentation transcript:

1 EE121 John Wakerly Lecture #4 Combinational-Circuit Synthesis ABEL

2 Combinational-Circuit Analysis Combinational circuits -- outputs depend only on current inputs (not on history). Kinds of combinational analysis: –exhaustive (truth table) –algebraic (expressions) –simulation / test bench (example in lab #2) Write functional description in HDL Define test conditions / test vecors, including corner cases Compare circuit output with functional description (or known-good realization) Repeat for “random” test vectors

3 Combinational-Circuit Design Sometimes you can write an equation or equations directly using “logic” (the kind in your brain). Example (alarm circuit): Corresponding circuit:

4 Alarm-circuit transformation Sum-of-products form –Useful for programmable logic devices (next lec.) “Multiply out”:

5 Sum-of-products form AND-OR NAND-NAND

6 Product-of-sums form OR-AND NOR-NOR P-of-S preferred in CMOS, TTL (NAND-NAND)

7 Brute-force design Truth table --> canonical sum (sum of minterms) Example: prime-number detector –4-bit input, N 3 N 2 N 1 N 0 row N 3 N 2 N 1 N 0 F F =   (1,2,3,5,7,11,13)

8 Minterm list --> canonical sum

9 Algebraic simplification Theorem T8, Reduce number of gates and gate inputs

10 Resulting circuit

11 Visualizing T10 -- Karnaugh maps

12 3-variable Karnaugh map

13 Example: F =  (1,2,5,7)

14 Karnaugh-map usage Plot 1s corresponding to minterms of function. Circle largest possible rectangular sets of 1s. –# of 1s in set must be power of 2 –OK to cross edges Read off product terms, one per circled set. –Variable is 1 ==> include variable –Variable is 0 ==> include complement of variable –Variable is both 0 and 1 ==> variable not included Circled sets and corresponding product terms are called “prime implicants” Minimum number of gates and gate inputs

15 Prime-number detector (again)

16 When we solved algebraically, we missed one simplification -- the circuit below has three less gate inputs.

17 Another example

18 Yet another example Distinguished 1 cells Essential prime implicants

19 Quine-McCluskey algorithm This process can be made into a program, using appropriate algorithms and data structures. –Guaranteed to find “minimal” solution Required computation has exponential complexity (run time and storage)-- works well for functions with up to 8-12 variables, but quickly blows up for larger problems. Heuristic programs (e.g., Espresso) used for larger problems, usually give minimal results.

20 Lots of possibilities Can follow a “dual” procedure to find minimal products of sums (OR-AND realization) Can modify procedure to handle don’t-care input combinations. Can draw Karnaugh maps with up to six variables.

21 Real-World Logic Design Lots more than 6 inputs -- can’t use Karnaugh maps Design correctness more important than gate minimization –Use “higher-level language” to specify logic operations Use programs to manipulate logic expressions and minimize logic. PALASM, ABEL, CUPL -- developed for PLDs VHDL, Verilog -- developed for ASICs

22 ABEL Advanced Boolean Equation Language –Developed for use with programmable logic devices, which have a programmable AND-OR structure. Combinational logic functions –Operators: –Sets: –Relations: –Intermediate variables AND, OR, NOT, XOR, XNOR & # ! $ !$ XBUS = [X3,X2,X1,X0]; XBUS = [1,1,0,1]; XBUS = 13; (XBUS == YBUS) (XBUS > [1,1,0,1])

23 ABEL Program Structure

24 ABEL Example

25 ABEL Example (continued)

26 ABEL language processor (compiler) Checks syntax Checks device-pin capabilities Expands language statements and equations Reduces equations into sum-of-products form form for programmable logic device (PLD) Checks test vectors against equations Checks equation requirements (# of inputs, product terms) against PLD resources Determines “fuse map” to program the PLD

27 ABEL equations (.eq3) file

28 ABEL equations file (continued)

29 ABEL WHEN Statements

30 Nested WHEN statements Note: different variables can be used in different THEN and ELSE clauses

31 Next time PLDs (target of ABEL programs) Documentation standards