Charles Kime & Thomas Kaminski © 2004 Pearson Education, Inc. Terms of Use (Hyperlinks are active in View Show mode) Terms of Use ECE/CS 352: Digital Systems.

Slides:



Advertisements
Similar presentations
Register Transfer Level
Advertisements

1ASM Algorithmic State Machines (ASM) part 1. ASM2 Algorithmic State Machine (ASM) ‏ Our design methodologies do not scale well to real-world problems.
Overview Part 2 – Combinational Logic Functions and functional blocks
Give qualifications of instructors: DAP
Charles Kime & Thomas Kaminski © 2004 Pearson Education, Inc. Terms of Use (Hyperlinks are active in View Show mode) Terms of Use Chapter 7 – Registers.
EKT 221 : Digital 2 ASM.
CS 151 Digital Systems Design Lecture 37 Register Transfer Level
Overview Datapath and Control Algorithmic State Machines (ASM)
Charles Kime & Thomas Kaminski © 2004 Pearson Education, Inc. Terms of Use (Hyperlinks are active in View Show mode) Terms of Use Verilog Part 2 – Chapter.
Chapter 8 Sequencing and Control Henry Hexmoor1. 2 Datapath versus Control unit  Datapath - performs data transfer and processing operations  Control.
Charles Kime © 2008 Pearson Education, Inc. (Hyperlinks are active in View Show mode) Chapter 7 – Registers and Register Transfers Part 3 – Control of.
The Control Unit: Sequencing the Processor Control Unit: –provides control signals that activate the various microoperations in the datapath the select.
1 COMP541 Sequencing and Control Montek Singh Mar 29, 2007.
Overview Part 1 – Datapaths Part 2 – A Simple Computer
Ch 8 - Control Unit and Algorithmic State Machines
Logic and Computer Design Fundamentals Registers and Counters
Charles Kime & Thomas Kaminski © 2004 Pearson Education, Inc. Terms of Use (Hyperlinks are active in View Show mode) Terms of Use Chapter 3 – Combinational.
CPEN Digital System Design Chapter 9 – Computer Design
Chapter 7 - Part 2 1 CPEN Digital System Design Chapter 7 – Registers and Register Transfers Part 2 – Counters, Register Cells, Buses, & Serial Operations.
George Mason University ECE 448 – FPGA and ASIC Design with VHDL Finite State Machines State Diagrams, State Tables, Algorithmic State Machine (ASM) Charts,
EE2174: Digital Logic and Lab Professor Shiyan Hu Department of Electrical and Computer Engineering Michigan Technological University CHAPTER 4 Technology.
1 KU College of Engineering Elec 204: Digital Systems Design Lecture 20 Datapath and Control Datapath - performs data transfer and processing operations.
Charles Kime & Thomas Kaminski © 2004 Pearson Education, Inc. Terms of Use (Hyperlinks are active in View Show mode) Terms of Use Chapter 10 – Computer.
Chapter 6 Memory and Programmable Logic Devices
Charles Kime & Thomas Kaminski © 2004 Pearson Education, Inc. Terms of Use (Hyperlinks are active in View Show mode) Terms of Use Logic and Computer Design.
ENG241 Digital Design Week #10 Sequencing and Control.
Overview Part 1 Part 2 Sequential Circuit Design
CoE3DJ4 Digital Systems Design Register transfers, sequencing and control (from chapters 7 and 8 of Mano and Kime)
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.
Chap 8. Sequencing and Control. 8.1 Introduction Binary information in a digital computer –data manipulated in a datapath with ALUs, registers, multiplexers,
Charles Kime & Thomas Kaminski © 2004 Pearson Education, Inc. Terms of Use (Hyperlinks are active in View Show mode) Terms of Use ECE/CS 352: Digital Systems.
Charles Kime & Thomas Kaminski © 2004 Pearson Education, Inc. Terms of Use (Hyperlinks are active in View Show mode) Terms of Use ECE/CS 352: Digital Systems.
Charles Kime & Thomas Kaminski © 2004 Pearson Education, Inc. Terms of Use (Hyperlinks are active in View Show mode) Terms of Use Logic and Computer Design.
Charles Kime & Thomas Kaminski © 2008 Pearson Education, Inc. (Hyperlinks are active in View Show mode) Chapter 9 – Computer Design Basics Part 2 – A Simple.
Charles Kime & Thomas Kaminski © 2008 Pearson Education, Inc. (Hyperlinks are active in View Show mode) Chapter 5 – Sequential Circuits Part 2 – Sequential.
Charles Kime & Thomas Kaminski © 2004 Pearson Education, Inc. Terms of Use (Hyperlinks are active in View Show mode) Terms of Use ECE/CS 352: Digital Systems.
Charles Kime & Thomas Kaminski © 2004 Pearson Education, Inc. Terms of Use (Hyperlinks are active in View Show mode) Terms of Use Chapter 7 – Registers.
Charles Kime & Thomas Kaminski © 2004 Pearson Education, Inc. Terms of Use (Hyperlinks are active in View Show mode) Terms of Use Chapter 10 – Computer.
Charles Kime & Thomas Kaminski © 2004 Pearson Education, Inc. Terms of Use (Hyperlinks are active in View Show mode) Terms of Use ECE/CS 352: Digital Systems.
Charles Kime & Thomas Kaminski © 2004 Pearson Education, Inc. Terms of Use (Hyperlinks are active in View Show mode) Terms of Use ECE/CS 352: Digital Systems.
Charles Kime & Thomas Kaminski © 2008 Pearson Education, Inc. (Hyperlinks are active in View Show mode) Chapter 7 – Registers and Register Transfers Part.
Charles Kime & Thomas Kaminski © 2004 Pearson Education, Inc. Terms of Use (Hyperlinks are active in View Show mode) Terms of Use Logic and Computer Design.
Charles Kime & Thomas Kaminski © 2004 Pearson Education, Inc. Terms of Use (Hyperlinks are active in View Show mode) Terms of Use Verilog Part 3 – Chapter.
Charles Kime & Thomas Kaminski © 2004 Pearson Education, Inc. Terms of Use (Hyperlinks are active in View Show mode) Terms of Use Logic and Computer Design.
Charles Kime & Thomas Kaminski © 2004 Pearson Education, Inc. Terms of Use (Hyperlinks are active in View Show mode) Terms of Use ECE/CS 352: Digital Systems.
EKT 221/4 DIGITAL ELECTRONICS II Chapter 2 SEQUENCING AND CONTROL.
EKT 221 : Chapter 4 Computer Design Basics
Algorithmic state machines
Datapath - performs data transfer and processing operations The control unit sends: – Control signals – Control outputs The control unit receives: – External.
Charles Kime & Thomas Kaminski © 2008 Pearson Education, Inc. (Hyperlinks are active in View Show mode) Chapter 8 – Memory Basics Logic and Computer Design.
Design at the Register Transfer Level Algorithmic State Machines 07.
 Designing CU – One FF per State Method  5 Transformation Rules  Transformation Process  Microprogrammed Control Unit.
Charles Kime & Thomas Kaminski © 2004 Pearson Education, Inc. Terms of Use (Hyperlinks are active in View Show mode) Terms of Use ECE/CS 352: Digital Systems.
Winter 2017 S. Areibi School of Engineering University of Guelph
EKT 221 : DIGITAL 2.
6.
Lecture 3 – Binary Arithmetic
ECE 448 Lecture 6 Finite State Machines State Diagrams vs. Algorithmic State Machine (ASM) Charts.
KU College of Engineering Elec 204: Digital Systems Design
Overview Datapath and Control Algorithmic State Machines (ASM)
Overview Part 1 – Datapaths Part 2 – A Simple Computer Introduction
ENG2410 Digital Design “Sequencing and Control Examples”
EE2174: Digital Logic and Lab
Lecture 26 – Hardwired and Microprogrammed Control
Overview Part 1 - Registers, Microoperations and Implementations
REGISTER TRANSFER LEVEL (RTL) DESIGN Using ASM CHART
KU College of Engineering Elec 204: Digital Systems Design
ASM and Micro-programmed State Machines
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.
Lecture 4 – Binary Logic and Logic Gates
Presentation transcript:

Charles Kime & Thomas Kaminski © 2004 Pearson Education, Inc. Terms of Use (Hyperlinks are active in View Show mode) Terms of Use ECE/CS 352: Digital Systems Fundamentals Lecture 25 – Algorithmic State Machines

Chapter 8 2 Overview  Datapath and Control  Algorithmic State Machines (ASM) ASM chart Timing considerations  ASM chart example Binary multiplier

Chapter 8 3 Datapath and Control  Datapath - performs data transfer and processing operations  Control Unit - Determines the enabling and sequencing of the operations  The control unit receives: External control inputs Status signals  The control unit sends: Control signals Control outputs Control inputs Data inputs Data outputs Datapath Control outputs Control signals Status signals Control unit Describe properties of the state of the datapath

Chapter 8 4 Control Unit Types  Two distinct classes: Programmable Non-programmable (hard-wired)  A programmable control unit has: A program counter (PC) or other sequencing register with contents that points to the next instruction to be executed An external ROM or RAM array for storing instructions and control information Decision logic for determining the sequence of operations and logic to interpret the instructions  A non-programmable control unit does not fetch or sequence instructions from a memory We’ll focus on hard-wired control in this lecture

Chapter 8 5 Algorithmic State Machines  A flowchart is a way of showing actions and control flow in an algorithm.  An Algorithmic State Machine (ASM) is simply a flowchart-like way to specify state diagrams for sequential logic and, optionally, actions performed in a datapath.  While flowcharts typically do not specify “time”, an ASM explicitly specifies a sequence of actions and their timing relationships. IDLE AVAIL START R← R + 1 R ← 0 Q0 0 1 MUL0 MUL1 ASM BLOCK Entry Exit

Chapter 8 6  A rectangle with: The symbolic name for the state marked outside the upper left top Containing register transfer operations and outputs activated within or while leaving the state An optional state code, if assigned, outside the upper right top (Symbolic Name) IDLE (Register transfers or outputs) R ← 0 RUN (Optional state co de) 0000 State Box

Chapter 8 7  A diamond with: One input path (entry point). One input condition, placed in the center of the box, that is tested. A TRUE exit path taken if the condition is true (logic 1). A FALSE exit path taken if the condition is false (logic 0). (Input) START (True Condition) (False Condition) 0 1 Scalar Decision Box

Chapter 8 8 Vector Decision Box  A hexagon with: One Input Path (entry point). A vector of input conditions, placed in the center of the box, that is tested. Up to 2 n output paths. The path taken has a binary vector value that matches the vector input condition (Vector of Input Conditions) (Binary Vector Values) (Binary Vector Values) 10 Z, Q0

Chapter 8 9 Conditional Output Box  An oval with: One input path from a decision box or decision boxes. One output path Register transfers or outputs that occur only if the conditional path to the box is taken.  Transfers and outputs in a state box are Moore type - dependent only on state  Transfers and outputs in a conditional output box are Mealy type - dependent on both state and inputs (Register transfers or outputs) R ← 0 RUN From Decision Box(es)

Chapter 8 10  By connecting boxes together, we begin to see the power of expression.  What are the: Inputs? Outputs? Conditional Outputs? Transfers? Conditional Transfers? Connecting Boxes Together IDLE R← 0 START 01 PC ← 0 A VAIL INIT

Chapter 8 11 ASM Blocks  One state box along with all decision and conditional output boxes connected to it is called an ASM Block.  The ASM Block includes all items on the path from the current state to the same or other states. IDLE AVAIL START R← R + 1 R ← 0 Q0 0 1 MUL0 MUL1 ASM BLOCK Entry Exit

Chapter 8 12 ASM Timing  Outputs appear while in the state  Register transfers occur at the clock while exiting the state - New values occur in the next state! Clock cycle 1Clock cycle 2Clock cycle 3 Clock START Q 1 AVAIL IDLE MUL State A Q 0

Chapter 8 13 Multiplier Example  Example: (101 x 011) Base 2  Note that the partial product summation for n digits, base 2 numbers requires adding up to n digits (with carries) in a column.  Note also n x m digit multiply generates up to an m + n digit result (same as decimal).  Partial products are: 101 x 0, 101 x 1, and 101 x 1

Chapter 8 14 Example (1 0 1) x (0 1 1) Again  Reorganizing example to follow hardware algorithm: 101 x Clear C || A Multipler 0 = 1 => Add B Addition Shift Right (Zero-fill C) Multipler 1 = 1 => Add B Addition Shift Right Multipler 2 = 0 => No Add, Shift Right

Chapter 8 15 Multiplier Example: Block Diagram C out n n n 2 1 Counter P Zero detect Control unit G (Go) log 2 n Q o Z Parallel adder Multiplicand Register B Shift register A 0 CShift register Q Multiplier Product OUT IN Control signals n nn 4

Chapter 8 16 Multiplier Example: Operation 1.The multiplicand (top operand) is loaded into register B. 2.The multiplier (bottom operand) is loaded into register Q. 3.Register C||A is initialized to 0 when G becomes 1. 4.The partial products are summed iteratively in register C||A||Q. 5.Each multiplier bit, beginning with the LSB, is processed (if bit is 1, use adder to add B to partial product; if bit is 0, do nothing) 6.C||A||Q is shifted right using the shift register Partial product bits fill vacant locations in Q as multiplier is shifted out If overflow during addition, the outgoing carry is recovered from C during the right shift 7.Steps 5 and 6 are repeated until Counter P = 0 as detected by Zero detect. Counter P is initialized in step 4 to n – 1, n = number of bits in multiplier

Chapter 8 17 Multiplier Example: ASM Chart 01 G IDLE MUL0 01 Z MUL1 01 0C ←0, A ← P ←P ← n –1 A ←A +B, C ←C out P ←P ←P – 1 C ← 0, C || A || Q ← sr C || A || Q, Q 0

Chapter 8 18 Multiplier Example: ASM Chart (continued)  Three states are employed using a combined Mealy - Moore output model: IDLE - state in which:  input G is used as the condition for starting the multiplication, and  C, A, and P are initialized MUL0 - state in which conditional addition is performed based on the value of Q 0. MUL1 - state in which:  right shift is performed to capture the partial product and position the next bit of the multiplier in Q 0  the terminal count of 0 for down counter P is used to sense completion or continuation of the multiply.

Chapter 8 19 Multiplier Example: Control Signal Table Control Signals for BinaryMultiplier Block Diagram ModuleMicrooperation Control Signal Name Control Expression RegisterA:A ← 0InitializeG A ← A + BLoad MUL0 · Q C ||A Q srC ||A QShift_decMUL1 RegisterB:B ←INLoad_BLOADB Flip-FlopC: C ← 0Clear_CIDLE · G +MUL1 C ←C out Load— RegisterQ: Q ←INLoad_QLOADQ C ||A Q ← srC ||A QShift_dec— CounterP:P ←n – 1Initialize— P ← P – 1Shift_dec— IDLE · ←

Chapter 8 20  Signals are defined on a register basis  LOADQ and LOADB are external signals controlled from the system using the multiplier and will not be considered a part of this design  Note that many of the control signals are “reused” for different registers.  These control signals are the “outputs” of the control unit  With the outputs represented by the table, they can be removed from the ASM giving an ASM that represents only the sequencing (next state) behavior Multiplier Example: Control Table (continued)

Chapter 8 21 Multiplier Example - Sequencing Part of ASM 0 1 IDLE MUL MUL G Z

Chapter 8 22  This method uses one flip-flop per state and a simple set of transformation rules to implement the circuit.  The design starts with the ASM chart, and replaces 1.State Boxes with flip-flops, 2.Scalar Decision Boxes with a demultiplexer with 2 outputs, 3.Vector Decision Boxes with a (partial) demultiplexer 4.Junctions with an OR gate, and 5.Conditional Outputs with AND gates.  Each is discussed detail below. Figure 8-11 is the end result. One Flip-Flop per State

Chapter 8 23 State Box Transformation Rules  Each state box transforms to a D Flip-Flop  Entry point is connected to the input.  Exit point is connected to the Q output.

Chapter 8 24 Scalar Decision Box Transformation Rules  Each Decision box transforms to a Demultiplexer  Entry points are "Enable" inputs.  The Condition is the "Select" input.  Decoded Outputs are the Exit points.

Chapter 8 25 Vector Decision Box Transformation Rules  Each Decision box transforms to a Demultiplexer  Entry point is Enable inputs.  The Conditions are the Select inputs.  Demultiplexer Outputs are the Exit points. (Vector of Input Conditions) (Binary Vector Values) (Binary Vector Values) 10 X 1, X 0 X1X1 Entry Exit 0 Exit 1 X0X0 DEMUX EN A1A1 A0A0 D0D0 D2D2 D1D1 D3D3 Exit2 Exit 3

Chapter 8 26 Junction Transformation Rules  Where two or more entry points join, connect the entry variables to an OR gate  The Exit is the output of the OR gate

Chapter 8 27 Conditional Output Box Rules  Entry point is Enable input.  The Condition is the "Select" input.  Demultiplexer Outputs are the Exit points.  The Control OUTPUT is the same signal as the exit value.

Chapter 8 28 Multiplier Example: Flip-flop per State Design Logic Diagram D C IDLE D C MUL0 D C MUL1 Initialize Clear _C Load Shift_dec Clock Z Q G DEMUX D 0 D 1 A 0 EN 2 DEMUX D 1 D 0 A 0 EN START

Chapter 8 29 Summary  Datapath and Control  Algorithmic State Machines (ASM) ASM chart Timing considerations  ASM chart examples Binary multiplier

Chapter 8 30 Terms of Use  © 2004 by Pearson Education,Inc. All rights reserved.  The following terms of use apply in addition to the standard Pearson Education Legal Notice.Legal Notice  Permission is given to incorporate these materials into classroom presentations and handouts only to instructors adopting Logic and Computer Design Fundamentals as the course text.  Permission is granted to the instructors adopting the book to post these materials on a protected website or protected ftp site in original or modified form. All other website or ftp postings, including those offering the materials for a fee, are prohibited.  You may not remove or in any way alter this Terms of Use notice or any trademark, copyright, or other proprietary notice, including the copyright watermark on each slide.  Return to Title Page Return to Title Page