Datapath - performs data transfer and processing operations The control unit sends: – Control signals – Control outputs The control unit receives: – External.

Slides:



Advertisements
Similar presentations
Algorithmic State Machines SD192 Digital Systems Lecture notes July 16, 2004.
Advertisements

Sequential Circuits Storage elements
Register Transfer Level
1ASM Algorithmic State Machines (ASM) part 1. ASM2 Algorithmic State Machine (ASM) ‏ Our design methodologies do not scale well to real-world problems.
9-6 The Control Word Fig The selection variables for the datapath control the microoperations executed within datapath for any given clock pulse.
Chapter 7 Henry Hexmoor Registers and RTL
Give qualifications of instructors: DAP
EKT 221 : Digital 2 ASM.
Finite State Machine Chapter 10 RTL Hardware Design by P. Chu.
CS 151 Digital Systems Design Lecture 37 Register Transfer Level
Overview Datapath and Control Algorithmic State Machines (ASM)
Chapter 8 Sequencing and Control Henry Hexmoor1. 2 Datapath versus Control unit  Datapath - performs data transfer and processing operations  Control.
3/20/20091 More State Machines. Multiple processes.
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.
Ch 8 - Control Unit and Algorithmic State Machines
FINITE STATE MACHINES (FSMs) Dr. Konstantinos Tatas.
George Mason University ECE 448 – FPGA and ASIC Design with VHDL Finite State Machines State Diagrams, State Tables, Algorithmic State Machine (ASM) Charts,
Algorithmic State Machines
1 KU College of Engineering Elec 204: Digital Systems Design Lecture 20 Datapath and Control Datapath - performs data transfer and processing operations.
Chapter 6 Memory and Programmable Logic Devices
1 Sequential Circuits Registers and Counters. 2 Master Slave Flip Flops.
Lecture 10 Topics: Sequential circuits Basic concepts Clocks
ENG241 Digital Design Week #10 Sequencing and Control.
CoE3DJ4 Digital Systems Design Register transfers, sequencing and control (from chapters 7 and 8 of Mano and Kime)
State Machines.
Algorithmic State Machines.  1) Create an algorithm, using pseudocode, to describe the desired operation of the device. 2) Convert the pseudocode into.
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,
Instructor: Yuzhuang Hu Another Design Example: PIG (Chapter 7-10) PIG is a single dice game. Two players roll the dice in turns. When.
EKT221 ELECTRONICS DIGITAL II CHAPTER 4: Computer Design Basics
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.
Register Transfer Level & Design with ASM
George Mason University Finite State Machines State Diagrams, State Tables, Algorithmic State Machine (ASM) Charts, and VHDL Code ECE 448 Lecture 6.
Digital Logic Design.
ANALYSIS OF SEQUENTIAL CIRCUITS by Dr. Amin Danial Asham.
EKT 221/4 DIGITAL ELECTRONICS II Chapter 2 SEQUENCING AND CONTROL.
EKT 221 : Chapter 4 Computer Design Basics
Algorithmic state machines
1 State Reduction Goal: reduce the number of states while keeping the external input-output requirements unchanged. State reduction example: a: input 0.
Digital System Design using VHDL
1 ECE 545 – Introduction to VHDL Algorithmic State Machines Sorting Example ECE 656 Lecture 8.
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.
Instructor: Alexander Stoytchev CprE 281: Digital Logic.
ECE DIGITAL LOGIC LECTURE 21: FINITE STATE MACHINE Assistant Prof. Fareena Saqib Florida Institute of Technology Fall 2015, 11/24/2015.
ASM Charts. Outline  ASM Charts Components of ASM Charts ASM Charts: An Example  Register Operations  Timing in ASM Charts  ASM Charts => Digital.
ASM block The state box represents the state in the FSM, and the output in the state box describes the desired output values when the FMS enters this state.
 Designing CU – One FF per State Method  5 Transformation Rules  Transformation Process  Microprogrammed Control Unit.
George Mason University Finite State Machines Refresher ECE 545 Lecture 11.
EKT 221 : DIGITAL 2.
Figure 8.1. The general form of a sequential circuit.
FIGURE 5.1 Block diagram of sequential circuit
ECE 448 Lecture 6 Finite State Machines State Diagrams vs. Algorithmic State Machine (ASM) Charts.
An Introduction to Microprocessor Architecture using intel 8085 as a classic processor
KU College of Engineering Elec 204: Digital Systems Design
Overview Datapath and Control Algorithmic State Machines (ASM)
Iterative Versus Sequential Circuits
Appendix D Mapping Control to Hardware
Instructor: Alexander Stoytchev
Instructor: Alexander Stoytchev
REGISTER TRANSFER LEVEL (RTL) DESIGN Using ASM CHART
KU College of Engineering Elec 204: Digital Systems Design
ASM and Micro-programmed State Machines
Digital Logic Department of CNET Chapter-6
Digital Logic Department of CNET Chapter-6
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.
ECE 448 Lecture 6 Finite State Machines State Diagrams vs. Algorithmic State Machine (ASM) Charts.
Presentation transcript:

Datapath - performs data transfer and processing operations The control unit sends: – Control signals – Control outputs The control unit receives: – External control inputs – Status signals Control Unit - Determines the enabling and sequencing of the operations

 2 types:  Programmable  Non-programmable  Programmable System  Input consist of sequence of instructions  Instruction are usually stored in memory (RAM or ROM)  Address comes from PC (Program Counter)  Non-programmable (This chapter FOCUS on this)  Control unit is NOT responsible for getting instructions from memory or sequencing, hence NO PC  Control unit determines the operation based on inputs and status bit from the datapath.

The function of a state machine (or sequential circuit) can be represented by a state table or a state diagram. 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.

 A Flowchart is a convenient way to specify a sequence of procedural steps and decision paths for an algorithm.  ASM chart provides not only sequence of events, but it distinguished by the fact that it describes the timing relationship between states of the CU and the datapath actions in response to clock pulses.

 4 basic elements: ◦ State box ◦ Scalar decision box ◦ Conditional output box ◦ Vector decision box

Consist of 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 Entry Exit

Explanation: The register transfer indicates that the register R is to be reset to 0 on any clock pulse that occurs while the control is in state IDLE. RUN indicates that the ouput signal RUN is to be 1 during the time that the control in state IDLE. Entry Exit

 Consist of a diamond with: ◦ One input path (entry point). ◦ One input condition, placed in the center of the box, that is tested. (in this case START) ◦ A TRUE exit path taken if the condition is true (logic 1). ◦ A FALSE exit path taken if the condition is false (logic 0). Entry Exit 0Exit 1 (Refers to 1 bit condition)

 Consist of 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.

Entry Exit 0 Exit 1 Exit 2 Exit 2 n - 1  Consist of 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 2n output paths. The path taken has a binary vector value that matches the vector input condition

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

 Consist of ONE State box and all of the decision and conditional output box connected between the state box exit and entry paths to the same or other boxes. Figure 8.2 : Morris Mano, pg 367

ANALYSIS:  State IDLE, AVAIL = 1  START = 0, next state is IDLE  START = 1, next state, A is cleared to all 0’s  Depending on value of Q(1:0), next state is MUL0, MUL1, MUL2 or MUL3.  Note : The entry path and the five exit paths for the ASM block is labeled at the boundaries of the ASM block

ANALYSIS: State IDLE, AVAIL = 1 START = 0, next state is to Increase R and next state is IDLE START = 1, next to clear R to all 0’s and next state is… Depending on value of Q0, next state is MUL0 or MUL1. 0 1

 Refer to Figure 8.2  Using PGT, the timing diagram below is obtained. Fig. 8.3 : Morris Mano, pg 368

Fig 8.3 Analysis  Clock cycle 1 ◦ Present state = IDLE ◦ Output AVAIL = 1 ◦ Input START = 0 ◦ NEXT clock cycle (beginning of clock cycle 2 PGT) ◦ Content of Reg A unchanged, AVAIL =1

Fig 8.3 Analysis  Clk cycle 2 (PGT)  Present state = IDLE  START = 1  NEXT clock cycle (beginning of clock cycle 3 PGT)  Reg A = is cleared to 0  Q(1:0) is examined = 01  So path MUL1 is taken

Fig 8.3 Analysis  Clk cycle 3 (PGT)  Present state = MUL1  Reg A = 0

 Outputs appear while in the state (in response to state and input values)  Register transfers occur at the clock while exiting the state – So, new value occur in the next state!