Digital Design – Optimizations and Tradeoffs

Slides:



Advertisements
Similar presentations
Part 4: combinational devices
Advertisements

1ASM Algorithmic State Machines (ASM) part 1. ASM2 Algorithmic State Machine (ASM) ‏ Our design methodologies do not scale well to real-world problems.
Digital Design - Sequential Logic Design Chapter 3 - Sequential Logic Design.
K-Maps, Timing Sequential Circuits: Latches & Flip-Flops Lecture 4 Digital Design and Computer Architecture Harris & Harris Morgan Kaufmann / Elsevier,
Using Carry-Save Adders For Radix- 4, Can Be Used to Generate 3a – No Booth’s Slight Delay Penalty from CSA – 3 Gates.
1 Combinational Logic Network design Chapter 4 (continued ….)
The Map Method Boolean expressions may be simplified by algebraic means as discussed in Previous lecture However, this procedure of minimization is awkward.
ECE C03 Lecture 21 Lecture 2 Two Level Minimization Hai Zhou ECE 303 Advanced Digital Design Spring 2002.
Contemporary Logic Design Multi-Level Logic © R.H. Katz Transparency No Chapter # 3: Multi-Level Combinational Logic 3.3 and Time Response.
Sequential Logic Design Process A sequential circuit that controls Boolean outputs and a specific time- ordered behavior is called a controller. StepDescription.
Digital Design Copyright © 2006 Frank Vahid 1 a b F InputsOutput a'b'a' b Converting among Representations Can convert from any representation.
1 Optimizations and Tradeoffs We now know how to build digital circuits –How can we build better circuits? Let’s consider two important design criteria.
Dr. Turki F. Al-Somani VHDL synthesis and simulation – Part 3 Microcomputer Systems Design (Embedded Systems)
Logic and Computer Design Fundamentals Registers and Counters
Contemporary Logic Design Arithmetic Circuits © R.H. Katz Lecture #24: Arithmetic Circuits -1 Arithmetic Circuits (Part II) Randy H. Katz University of.
Spring 2002EECS150 - Lec15-seq2 Page 1 EECS150 - Digital Design Lecture 15 - Sequential Circuits II (Finite State Machines revisited) March 14, 2002 John.
Contemporary Logic Design Two-Level Logic © R.H. Katz Transparency No. 4-1 Chapter #2: Two-Level Combinational Logic Section 2.3, Switches and Tools.
Chapter 8 -- Analysis and Synthesis of Synchronous Sequential Circuits.
1 Introduction Chapters 2 & 3: Introduced increasingly complex digital building blocks –Gates, multiplexors, decoders, basic registers, and controllers.
Digital Integrated Circuits© Prentice Hall 1995 Arithmetic Arithmetic Building Blocks.
Chapter 5 Arithmetic Logic Functions. Page 2 This Chapter..  We will be looking at multi-valued arithmetic and logic functions  Bitwise AND, OR, EXOR,
Digital Design – Register-Transfer Level (RTL) Design Chapter 5 - Register-Transfer Level (RTL) Design.
KU College of Engineering Elec 204: Digital Systems Design
Overview Part 2 – Circuit Optimization 2-4 Two-Level Optimization
Sequential Circuits Chapter 4 S. Dandamudi To be used with S. Dandamudi, “Fundamentals of Computer Organization and Design,” Springer,  S.
Chapter 6-2 Multiplier Multiplier Next Lecture Divider
B-1 Appendix B - Reduction of Digital Logic Principles of Computer Architecture by M. Murdocca and V. Heuring © 1999 M. Murdocca and V. Heuring Principles.
Charles Kime & Thomas Kaminski © 2008 Pearson Education, Inc. (Hyperlinks are active in View Show mode) Chapter 2 – Combinational Logic Circuits Part 2.
IKI a-Combinatorial Components Bobby Nazief Semester-I The materials on these slides are adopted from those in CS231’s Lecture Notes.
Arithmetic Building Blocks
1 KU College of Engineering Elec 204: Digital Systems Design Lecture 21 Multiplier Example Example: (101 x 011) Base 2 Note that the partial product summation.
Advanced VLSI Design Unit 05: Datapath Units. Slide 2 Outline  Adders  Comparators  Shifters  Multi-input Adders  Multipliers.
1 © 2015 B. Wilkinson Modification date: January 1, 2015 Designing combinational circuits Logic circuits whose outputs are dependent upon the values placed.
George Mason University ECE 545 – Introduction to VHDL ECE 545 Lecture 5 Finite State Machines.
CprE / ComS 583 Reconfigurable Computing
EKT 221/4 DIGITAL ELECTRONICS II  Registers, Micro-operations and Implementations - Part3.
Chapter 8 -- Analysis and Synthesis of Synchronous Sequential Circuits.
Important Components, Blocks and Methodologies. To remember 1.EXORS 2.Counters and Generalized Counters 3.State Machines (Moore, Mealy, Rabin-Scott) 4.Controllers.
ENG241 Digital Design Week #8 Registers and Counters.
A Reconfigurable Low-power High-Performance Matrix Multiplier Architecture With Borrow Parallel Counters Counters : Rong Lin SUNY at Geneseo
UM EECS 270 Spring 2011 – Taken from Dr.Karem Sakallah Logic Synthesis: From Specs to Circuits Implementation Styles –Random –Regular Optimization Criteria.
EE141 © Digital Integrated Circuits 2nd Arithmetic Circuits 1 Digital Integrated Circuits A Design Perspective Arithmetic Circuits Jan M. Rabaey Anantha.
Cost/Performance Tradeoffs: a case study
Lecture 21: Registers and Counters (1)
Digital Integrated Circuits© Prentice Hall 1995 Arithmetic Arithmetic Building Blocks.
CHAPTER 6 Sequential Circuits’ Analysis CHAPTER 6 Sequential Circuits’ Analysis Sichuan University Software College.
Full Tree Multipliers All k PPs Produced Simultaneously Input to k-input Multioperand Tree Multiples of a (Binary, High-Radix or Recoded) Formed at Top.
Chapter 8 -- Analysis and Synthesis of Synchronous Sequential Circuits.
1 Gate Level Minimization EE 208 – Logic Design Chapter 3 Sohaib Majzoub.
Digital Logic Design Basics Combinational Circuits Sequential Circuits Pu-Jen Cheng Adapted from the slides prepared by S. Dandamudi for the book, Fundamentals.
1 Overview of CS 151 Fall Combinational Logic Design –Simplifying a logic function using algebraic method –Truth table and logic function representation.
EE141 Arithmetic Circuits 1 Chapter 14 Arithmetic Circuits Rev /12/2003 Rev /05/2003.
Topic: N-Bit parallel and Serial adder
Addition and multiplication1 Arithmetic is the most basic thing you can do with a computer, but it’s not as easy as you might expect! These next few lectures.

EE141 Arithmetic Circuits 1 Chapter 14 Arithmetic Circuits Rev /12/2003.
Registers and Counters
Introduction Introduction to VHDL Entities Signals Data & Scalar Types
Lecture 27 Logistics Last lecture Today: HW8 due Friday
Reading: Hambley Chapters
Instructor: Alexander Stoytchev
Basics Combinational Circuits Sequential Circuits Ahmad Jawdat
Lecture 27 Logistics Last lecture Today: HW8 due Friday
Instructor: Alexander Stoytchev
Unsigned Multiplication
Digital Logic & Design Dr. Waseem Ikram Lecture 13.
Instructor: Alexander Stoytchev
ARM implementation the design is divided into a data path section that is described in register transfer level (RTL) notation control section that is viewed.
ECE 352 Digital System Fundamentals
Arithmetic Building Blocks
Presentation transcript:

Digital Design – Optimizations and Tradeoffs Chapter 6 - Optimizations and Tradeoffs

Digital Design Optimizations and Tradeoffs Figure 6.1 A circuit transformation that improves both size and delay, i.e., an optimization.

Digital Design Optimizations and Tradeoffs Figure 6.2 A circuit transformation that improves size but worsens delay, i.e., a tradeoff.

Digital Design Optimizations and Tradeoffs Figure 6.3 Optimizations (left) versus tradeoffs (right).

Digital Design Optimizations and Tradeoffs Figure 6.4 Three-variable K-map.

Digital Design Optimizations and Tradeoffs Figure 6.5 Minimizing a three-variable function using a K-map.

Digital Design Optimizations and Tradeoffs Figure 6.6 Four adjacent 1s. Figure 6.7 Non-optimal circles.

Digital Design Optimizations and Tradeoffs Figure 6.8 Four adjacent 1s. Figure 6.9 Circling a 1 twice.

Digital Design Optimizations and Tradeoffs Figure 6.10 An unnecessary term. Figure 6.11 Sides are adjacent.

Digital Design Optimizations and Tradeoffs Figure 6.12 Invalid circle. Figure 6.13 Four adjacent 1s.

Digital Design Optimizations and Tradeoffs Figure 6.14 Four-variable K-map.

Digital Design Optimizations and Tradeoffs Figure 6.15 Eight adjacent cells.

Digital Design Optimizations and Tradeoffs Figure 6.16 w’xz and yz terms.

Digital Design Optimizations and Tradeoffs Figure 6.17 Terms on the K-map. Figure 6.18 A cover.

Digital Design Optimizations and Tradeoffs Figure 6.19 K-map example.

Digital Design Optimizations and Tradeoffs Figure 6.20 Map with don’t cares. Figure 6.21 Wasteful use of X’s.

Digital Design Optimizations and Tradeoffs Figure 6.22 Sliding switch example. Figure 6.23 Without don’t cares. Figure 6.24 With don’t cares.

Digital Design Optimizations and Tradeoffs Figure 6.25 A cover is not necessarily optimal -- the top cover uses more terms.

Digital Design Optimizations and Tradeoffs Figure 6.26 Implicants. Figure 6.27 Essential prime-implicants.

Digital Design Optimizations and Tradeoffs Table 6.1 Heuristic for two-level logic size optimization starting with a K-map.

Digital Design Optimizations and Tradeoffs Figure 6.28 All prime implicants (top); including essential prime implicants in the cover (middle); covering remaining 1s (bottom).

Digital Design Optimizations and Tradeoffs Figure 6.30 Multi-level logic to tradeoff performance and size: (a) two-level circuit, (b) multi-level circuit with fewer transistors, (c) illustration of the size versus delay tradeoff. Numbers inside gates represent transistor counts.

Digital Design Optimizations and Tradeoffs Figure 6.31 Multi-level logic to tradeoff performance and size: (a) two-level circuit, (b) multi-level circuit with fewer transistors, (c) tradeoff of size vs. delay. Numbers inside gates represent transistor counts.

Digital Design Optimizations and Tradeoffs Figure 6.32 Multi-level optimization that reduces size without increasing delay, by altering a non-critical path: (a) original circuit, (b) new circuit with fewer transistors but same delay, (c) illustration of the size optimization with no tradeoff with delay.

Digital Design Optimizations and Tradeoffs Figure 6.33 Eliminating redundant states.

Digital Design Optimizations and Tradeoffs Figure 6.34 Laser timer state diagram with alternative binary state encoding.

Digital Design Optimizations and Tradeoffs Table 6.2 State table for laser timer controller with alternative encoding.

Digital Design Optimizations and Tradeoffs Figure 6.35 FSM for given sequence.

Digital Design Optimizations and Tradeoffs Table 6.3 State table using binary encoding. Table 6.4 State table using one-hot encoding.

Digital Design Optimizations and Tradeoffs Figure 6.36 One-hot encoding can reduce delay: (a) minimum binary encoding, (b) one-hot encoding, (c) though total sizes may be roughly equal (one-hot encoding uses fewer gates but more flip-flops), one-hot yields a shorter critical path.

Digital Design Optimizations and Tradeoffs Figure 6.37 One-hot encoding of laser timer.

Digital Design Optimizations and Tradeoffs Table 6.5 State table for laser timer controller with one-hot encoding.

Digital Design Optimizations and Tradeoffs Figure 6.38 FSM for given sequence.

Digital Design Optimizations and Tradeoffs Figure 6.39 Sequence generator FSM.

Digital Design Optimizations and Tradeoffs Table 6.6 Partial state table for sequence generator controller using output encoding.

Digital Design Optimizations and Tradeoffs Figure 6.40 Sequence generator controller with output encoding.

Digital Design Optimizations and Tradeoffs Figure 6.41 Standard controller architecture -- general view.

Digital Design Optimizations and Tradeoffs Figure 6.42 Moore (a) versus Mealy (b) FSM controller architectures.

Digital Design Optimizations and Tradeoffs Figure 6.43 A Mealy FSM associates outputs with transistions, not states.

Digital Design Optimizations and Tradeoffs Figure 6.44 Capturing desired behavior using a: (a) Moore FSM, (b) Mealy FSM.

Digital Design Optimizations and Tradeoffs Figure 6.45 4-bit carry-ripple adder, with the longest path (the critical path) shown.

Digital Design Optimizations and Tradeoffs Figure 6.46 8-bit adder built from two 4-bit adders.

Digital Design Optimizations and Tradeoffs Figure 6.47 Adding two binary numbers by a naive inefficient carry lookahead scheme -- each stage looks at all earlier bits and computes whether the carry-in bit to that stage would be a 1.

Digital Design Optimizations and Tradeoffs Figure 6.48 Adding two binary numbers using a fast carry-lookahead scheme.

Digital Design Optimizations and Tradeoffs Figure 6.48 Adding two binary numbers using a fast carry-lookahead scheme. (cont.)

Digital Design Optimizations and Tradeoffs Figure 6.49 High-level view of a 4-bit carry-lookahead adder.

Digital Design Optimizations and Tradeoffs Figure 6.50 Gate size problem.

Digital Design Optimizations and Tradeoffs Figure 6.51 16-bit adder implemented using four 4-bit adders connected in a carry-ripple manner.

Digital Design Optimizations and Tradeoffs Figure 6.52 16-bit adder implemented using four CLA 4-bit adders and a second level of lookahead.

Digital Design Optimizations and Tradeoffs Figure 6.53 Simplified view of multi-level carry-lookahead, showing tree structure, which enables fast addition with reasonable numbers and sizes of gates. Each level adds only two gate-delays.

Digital Design Optimizations and Tradeoffs Figure 6.54 8-bit adder block diagram (top left); carry-ripple implementation using two 4-bit adders (top right); carry-select implementation using three 4-bit adders (bottom).

Digital Design Optimizations and Tradeoffs Figure 6.55 Adder tradeoffs.

Digital Design Optimizations and Tradeoffs Figure 6.56 Multiplication done by generating a partial product for each bit in the multiplier (the number on the bottom), accumulating the partial products in a running sum.

Digital Design Optimizations and Tradeoffs Figure 6.57 Internal design of a 4-bit by 4-bit multiplier.

Digital Design Optimizations and Tradeoffs Figure 6.58 FSM describing the controller for the 4-bit multiplier.

Digital Design Optimizations and Tradeoffs Figure 6.59 Non-pipelined versus pipelined datapaths.

Digital Design Optimizations and Tradeoffs Figure 6.60 Pipelined FIR filter.

Digital Design Optimizations and Tradeoffs Figure 6.61 SAD datapath using concurrency for speed, along with the controller FSM.

Digital Design Optimizations and Tradeoffs Figure 6.62 Two different component allocations: (a) two multipliers, (b) one multiplier, (c) the one multiplier allocation represents a tradeoff of smaller size for slightly more delay.

Digital Design Optimizations and Tradeoffs Figure 6.63 Two different operator bindings: (a) binding 1 uses two muxes, (b) binding 2 uses only one mux, (c) binding 2 represents an optimization compared to binding 1.

Digital Design Optimizations and Tradeoffs Figure 6.64 Scheduling: (a) initial 3-state schedule requires two multipliers, (b) new 4-state schedule requires only one multiplier, (c) new schedule trades off size for delay (extra state).

Digital Design Optimizations and Tradeoffs Figure 6.65 Re-scheduling the FIR filter to reduce the circuit’s size.

Digital Design Optimizations and Tradeoffs Figure 6.66 High-level state machine for serial 3-tap FIR filter. We ignore the writing of the constant registers (c0, c1, c2) for simplicity in the example.

Digital Design Optimizations and Tradeoffs Figure 6.67 Serial FIR filter datapath.

Digital Design Optimizations and Tradeoffs Figure 6.68 Adder tradeoffs.

Digital Design Optimizations and Tradeoffs Figure 6.69 Searching a sorted memory for the key 0x00000F0A -- linear search requires 97 reads/compares, binary search only 3.

Digital Design Optimizations and Tradeoffs Figure 6.70 Clock gating: the clock signal switches every cycle on all the heavily-bolded wires, but the xt registers are only loaded in state S1, and the yreg in state S5 -- so most of the clock switching is wasted.

Digital Design Optimizations and Tradeoffs Figure 6.70 Clock gating: gating the clock reduces the switching on the clock wires.

Digital Design Optimizations and Tradeoffs Figure 6.71 Using low power gates.

Digital Design Optimizations and Tradeoffs Figure 6.72 Using low-power gates on non-critical paths. Numbers inside a gate represent the gate’s delay in nanoseconds, and the gate’s power consumption in nanowatts.