Modern VLSI Design 4e: Chapter 8 Copyright  2008 Wayne Wolf Topics Basics of register-transfer design: –data paths and controllers; –ASM charts. Pipelining.

Slides:



Advertisements
Similar presentations
Chapter #8: Finite State Machine Design 8
Advertisements

Control path Recall that the control path is the physical entity in a processor which: fetches instructions, fetches operands, decodes instructions, schedules.
Give qualifications of instructors: DAP
Modern VLSI Design 4e: Chapter 5 Copyright  2008 Wayne Wolf Topics n Performance analysis of sequential machines.
Modern VLSI Design 2e: Chapter 8 Copyright  1998 Prentice Hall PTR Topics n High-level synthesis. n Architectures for low power. n Testability and architecture.
Modern VLSI Design 4e: Chapter 8 Copyright  2008 Wayne Wolf Topics High-level synthesis. Architectures for low power. GALS design.
FPGA-Based System Design: Chapter 6 Copyright  2004 Prentice Hall PTR Register-transfer Design n Basics of register-transfer design: –data paths and controllers.
Modern VLSI Design 3e: Chapter 10 Copyright  2002 Prentice Hall Adapted by Yunsi Fei ECE 300 Advanced VLSI Design Fall 2006 Lecture 24: CAD Systems &
Finite State Machine Chapter 10 RTL Hardware Design by P. Chu.
CS 151 Digital Systems Design Lecture 37 Register Transfer Level
3/20/20091 More State Machines. Multiple processes.
1 COMP541 Sequencing and Control Montek Singh Mar 29, 2007.
10/20/20081 Lab 6 – More State Machines. Multiple processes.
Dr. Turki F. Al-Somani VHDL synthesis and simulation – Part 3 Microcomputer Systems Design (Embedded Systems)
1 COMP541 Sequencing – III (Sequencing a Computer) Montek Singh April 9, 2007.
VHDL Coding Exercise 4: FIR Filter. Where to start? AlgorithmArchitecture RTL- Block diagram VHDL-Code Designspace Exploration Feedback Optimization.
10/13/ Lab 6 - Algorithmic State Machines ECE238L 10/13/2009.
Chapter 16 Control Unit Implemntation. A Basic Computer Model.
Contemporary Logic Design Finite State Machine Design © R.H. Katz Transparency No Chapter #8: Finite State Machine Design Finite State.
1 COMP541 State Machines Montek Singh Feb 6, 2007.
4/10/20081 Lab 9 RT methodology introduction Register operations Data Path Control Path ASM Example TA: Jorge Crichigno.
Logic and Computer Design Fundamentals Registers and Counters
George Mason University ECE 448 – FPGA and ASIC Design with VHDL Finite State Machines State Diagrams, State Tables, Algorithmic State Machine (ASM) Charts,
Lecture 10 Topics: Sequential circuits Basic concepts Clocks
Overview Logistics Last lecture Today HW5 due today
FPGA-Based System Design: Chapter 5 Copyright  2004 Prentice Hall PTR Topics n Basics of sequential machines. n Sequential machine specification. n Sequential.
1 COMP541 State Machines Montek Singh Feb 8, 2012.
Registers CPE 49 RMUTI KOTAT.
EE434 ASIC & Digital Systems
Sub-expression elimination Logic expressions: –Performed by logic optimization. –Kernel-based methods. Arithmetic expressions: –Search isomorphic patterns.
Modern VLSI Design 4e: Chapter 8 Copyright  2008 Wayne Wolf Topics Testability and architecture. Design methodologies. Multiprocessor system-on-chip.
Chap 8. Sequencing and Control. 8.1 Introduction Binary information in a digital computer –data manipulated in a datapath with ALUs, registers, multiplexers,
Chap 4. Sequential Circuits
George Mason University ECE 545 – Introduction to VHDL ECE 545 Lecture 5 Finite State Machines.
Modern VLSI Design 4e: Chapter 6 Copyright  2008 Wayne Wolf Topics n Shifters. n Adders and ALUs.
Register Transfer Level & Design with ASM
CSE 340 Computer Architecture Summer 2014 Basic MIPS Pipelining Review.
George Mason University Finite State Machines State Diagrams, State Tables, Algorithmic State Machine (ASM) Charts, and VHDL Code ECE 448 Lecture 6.
Modern VLSI Design 4e: Chapter 8 Copyright  2008 Wayne Wolf Topics VHDL register-transfer modeling: –basics using traffic light controller; –synthesis.
Modern VLSI Design 4e: Chapter 8 Copyright  2008 Wayne Wolf Topics Modeling with hardware description languages (HDLs).
Modern VLSI Design 3e: Chapter 8 Copyright  1998, 2002 Prentice Hall PTR Topics n Modeling with hardware description languages (HDLs).
1 Copyright  2001 Pao-Ann Hsiung SW HW Module Outline l Introduction l Unified HW/SW Representations l HW/SW Partitioning Techniques l Integrated HW/SW.
Lecture 11: FPGA-Based System Design October 18, 2004 ECE 697F Reconfigurable Computing Lecture 11 FPGA-Based System Design.
Algorithmic state machines
Introduction to ASIC flow and Verilog HDL
Digital System Design using VHDL
Modern VLSI Design 3e: Chapter 8 Copyright  1998, 2002 Prentice Hall PTR Topics n Basics of register-transfer design: –data paths and controllers; –ASM.
FPGA-Based System Design: Chapter 6 Copyright  2004 Prentice Hall PTR Topics n Low power design. n Pipelining.
1 COMP541 Finite State Machines - 1 Montek Singh Sep 22, 2014.
Sept. 2005EE37E Adv. Digital Electronics Lesson 4 Synchronous Design Architectures: Control Unit Design (part three)
Chapter 11: System Design Methodology Digital System Designs and Practices Using Verilog HDL and 2008, John Wiley11-1 Chapter 11: System Design.
ECE 448 Lecture 6 Finite State Machines State Diagrams vs. Algorithmic State Machine (ASM) Charts.
1 COMP541 Sequential Logic – 2: Finite State Machines Montek Singh Feb 29, 2016.
George Mason University Finite State Machines Refresher ECE 545 Lecture 11.
Figure 8.1. The general form of a sequential circuit.
ECE 448 Lecture 6 Finite State Machines State Diagrams, State Tables, Algorithmic State Machine (ASM) Charts, and VHDL Code.
© Copyright 2004, Gaetano Borriello and Randy H. Katz
Register Transfer Specification And Design
Introduction Introduction to VHDL Entities Signals Data & Scalar Types
CS Spring 2008 – Lec #17 – Retiming - 1
ECE 448 Lecture 6 Finite State Machines State Diagrams vs. Algorithmic State Machine (ASM) Charts.
CS/COE0447 Computer Organization & Assembly Language
Lesson 4 Synchronous Design Architectures: Data Path and High-level Synthesis (part two) Sept EE37E Adv. Digital Electronics.
332:437 Lecture 8 Verilog and Finite State Machines
KU College of Engineering Elec 204: Digital Systems Design
ECE 448 Lecture 6 Finite State Machines State Diagrams, State Tables, Algorithmic State Machine (ASM) Charts, and VHDL Code.
ECE 448 Lecture 6 Finite State Machines State Diagrams, State Tables, Algorithmic State Machine (ASM) Charts, and VHDL code ECE 448 – FPGA and ASIC Design.
332:437 Lecture 8 Verilog and Finite State Machines
ECE 448 Lecture 6 Finite State Machines State Diagrams vs. Algorithmic State Machine (ASM) Charts.
Presentation transcript:

Modern VLSI Design 4e: Chapter 8 Copyright  2008 Wayne Wolf Topics Basics of register-transfer design: –data paths and controllers; –ASM charts. Pipelining.

Modern VLSI Design 4e: Chapter 8 Copyright  2008 Wayne Wolf Register-transfer design A register-transfer system is a sequential machine. Register-transfer design is structural— complex combinations of state machines may not be easily described solely by a large state transition graph. Register-transfer design concentrates on functionality, not details of logic design.

Modern VLSI Design 4e: Chapter 8 Copyright  2008 Wayne Wolf Register-transfer system example A register-transfer machine has combinational logic connecting registers: DQ combinational logic DQDQ combinational logic combinational logic

Modern VLSI Design 4e: Chapter 8 Copyright  2008 Wayne Wolf Block diagrams Block diagrams specify structure: wire bundle of width 5

Modern VLSI Design 4e: Chapter 8 Copyright  2008 Wayne Wolf Register-transfer simulation Simulates to clock-cycle accuracy. Doesn’t guarantee timing. Important to get proper function of machine before jumping into detailed logic design. (But be sure to take into account critical delays when choosing register- transfer organization.)

Modern VLSI Design 4e: Chapter 8 Copyright  2008 Wayne Wolf Simulation coding Hardware description languages are typically supported by a simulation system: VHDL, Verilog, etc. –Simulation engine takes care of scheduling events during simulation. Can hand-code a simulation in a programming language. –Must be sure that register-transfer events happen in proper order.

Modern VLSI Design 4e: Chapter 8 Copyright  2008 Wayne Wolf Sample VHDL code sync: process begin wait until CLOCK’event and CLOCK=‘1’; state <= state_next; end process sync; combin: process begin case state is when S0 => out1 <= a + c; state_next <= S1;... end process combin; sync process models registers combin process models combinational logic

Modern VLSI Design 4e: Chapter 8 Copyright  2008 Wayne Wolf Sample C simulator while (TRUE) { switch (state) { case S0: x = a + b; state = S1; next; case S1:... } loop executed once per clock cycle each case corresponds to a state; sets outputs, next state

Modern VLSI Design 4e: Chapter 8 Copyright  2008 Wayne Wolf Data path-controller systems One good way to structure a system is as a data path and a controller: –data path executes regular operations (arithmetic, etc.), holds registers with data- oriented state; –controller evaluates irregular functions, sets control signals for data path.

Modern VLSI Design 4e: Chapter 8 Copyright  2008 Wayne Wolf Data and control are equivalent We can rewrite control into data and visa versa: –control: if i1 = ‘0’ then o1 <= a; else o1 <= b; end if; –data: o1 <= ((i1 = ‘0’) and a) or ((i1 = ‘1’) and b); Data/control distinction is useful but not fundamental.

Modern VLSI Design 4e: Chapter 8 Copyright  2008 Wayne Wolf Data operators Arithmetic operations are easy to spot in hardware description languages: –x <= a + b ; Multiplexers are implied by conditionals. Must evaluate entire program to determine which sources of data for registers. Multiplexers also come from sharing adders, etc.

Modern VLSI Design 4e: Chapter 8 Copyright  2008 Wayne Wolf Conditionals and multiplexers if x = ‘0’ then reg1 <= a; else reg1 <= b; end if; code register-transfer

Modern VLSI Design 4e: Chapter 8 Copyright  2008 Wayne Wolf Alternate data path-controller systems controller data path one controller, one data path controller data path controller data path two communicating data path-controller systems

Modern VLSI Design 4e: Chapter 8 Copyright  2008 Wayne Wolf ASM charts An ASM chart is a register-transfer description. ASM charts let us describe function without choosing a partitioning between control and data. Once we have specified the function, we can refine it into a block diagram which partitions data and control.

Modern VLSI Design 4e: Chapter 8 Copyright  2008 Wayne Wolf Sample ASM chart

Modern VLSI Design 4e: Chapter 8 Copyright  2008 Wayne Wolf ASM state An ASM state specifies a machine state and a set of actions in that state. All actions occur in parallel. s1 x = a + b y = c - d + e o1 = 1 name of state (notation only)

Modern VLSI Design 4e: Chapter 8 Copyright  2008 Wayne Wolf Actions in state Actions in a state are unconditionally executed. A state can execute as many actions as you want, but you must eventually supply hardware for all those actions. A register may be assigned to only once in a state (single-assignment rule).

Modern VLSI Design 4e: Chapter 8 Copyright  2008 Wayne Wolf Implementing operations in an ASM state state with one addition two additions requires two adders

Modern VLSI Design 4e: Chapter 8 Copyright  2008 Wayne Wolf Sequences of states States are linked by transitions. States are executed sequentially. Each state may take independent actions (including assigning to a variable assigned to in a previous state). s1 x = a + b s2 x = c + d y = a + d

Modern VLSI Design 4e: Chapter 8 Copyright  2008 Wayne Wolf Data paths from states Maximum amount of hardware in data path is determined by state which executes the most functionality. Function units implementing data operations may be reused across states, but multiplexers will be required to route values to the shared function units.

Modern VLSI Design 4e: Chapter 8 Copyright  2008 Wayne Wolf Function unit sharing example mux allows + to compute a+b, a+c

Modern VLSI Design 4e: Chapter 8 Copyright  2008 Wayne Wolf Conditionals Conditional chooses which state to execute next based on primary input or present state value. Can be drawn in either of two ways: a = b x T F

Modern VLSI Design 4e: Chapter 8 Copyright  2008 Wayne Wolf Execution of conditionals An ASM chart describes a Moore sequential machine. If the logic associated with an ASM chart fragment doesn’t correspond to a legal sequential machine, then it isn’t a legal ASM chart. Conditional can evaluate only present state or primary input value on present cycle.

Modern VLSI Design 4e: Chapter 8 Copyright  2008 Wayne Wolf Implementing an ASM branch in a Moore machine ASM chart state transition graph of controller

Modern VLSI Design 4e: Chapter 8 Copyright  2008 Wayne Wolf Mealy machines and ASM Mealy machine requires a conditional output. ASM notation for conditional output: i1 0 y = c + d

Modern VLSI Design 4e: Chapter 8 Copyright  2008 Wayne Wolf Extracting data path and controller ASM chart notation helps identify data, control. Once you choose what values and operations go into the data path, you can determine by elimination what goes into the controller. Structure of the ASM chart gives structure of controller state transition graph.

Modern VLSI Design 4e: Chapter 8 Copyright  2008 Wayne Wolf Data path-controller extraction

Modern VLSI Design 4e: Chapter 8 Copyright  2008 Wayne Wolf Pipelines Provide higher utilization of logic: Combinational logic

Modern VLSI Design 4e: Chapter 8 Copyright  2008 Wayne Wolf Pipeline metrics Throughput: rate at which new values enter the system. –Initiation interval: time between successive inputs. Latency: delay from input to output. Delay through logic is D, n blocks. L = D. T = n/D. P = D/n.

Modern VLSI Design 4e: Chapter 8 Copyright  2008 Wayne Wolf Clock period and throughput vs. pipeline depth

Modern VLSI Design 4e: Chapter 8 Copyright  2008 Wayne Wolf Simple pipelines Pure pipelines have no control. Choose latency, throughput. Choose register locations with retiming. Overhead: –Setup, hold times. –Power.

Modern VLSI Design 4e: Chapter 8 Copyright  2008 Wayne Wolf Pipelining registers

Modern VLSI Design 4e: Chapter 8 Copyright  2008 Wayne Wolf Bad cutset for pipelining

Modern VLSI Design 4e: Chapter 8 Copyright  2008 Wayne Wolf Utilization Must fill, drain pipe at start and end of computation. Given D cycles of data, n-stage pipe: –U = D/(D+n)

Modern VLSI Design 4e: Chapter 8 Copyright  2008 Wayne Wolf Complex pipelines Actions in pipeline depend on data or external events. Data dependencies may be forward or backward. Actions on pipe: –Stall values. –Abort operation. –Bypass values.

Modern VLSI Design 4e: Chapter 8 Copyright  2008 Wayne Wolf Pipeline with feedforward constraint

Modern VLSI Design 4e: Chapter 8 Copyright  2008 Wayne Wolf Pipeline with feedback constraint

Modern VLSI Design 4e: Chapter 8 Copyright  2008 Wayne Wolf Pipeline with shared hardware

Modern VLSI Design 4e: Chapter 8 Copyright  2008 Wayne Wolf Pipeline control Controllers are necessary when pipe stages take conditions. Unconditional pipe stage controller has one state, one transition.

Modern VLSI Design 4e: Chapter 8 Copyright  2008 Wayne Wolf Pipeline with distributed control

Modern VLSI Design 4e: Chapter 8 Copyright  2008 Wayne Wolf Pipeline controller with condition

Modern VLSI Design 4e: Chapter 8 Copyright  2008 Wayne Wolf Distributed control for pipeline flush

Modern VLSI Design 4e: Chapter 8 Copyright  2008 Wayne Wolf Control for hardware sharing

Modern VLSI Design 4e: Chapter 8 Copyright  2008 Wayne Wolf Product machine for distributed control Distributed control is hard to verify because state is not centralized. Product machine form identifies global control actions. Can verify using symbolic simulation, model checking.