Controllers and Datapaths

Slides:



Advertisements
Similar presentations
CPE 201 Digital Design Lecture 25: Register Transfer Level Design (2)
Advertisements

ECE Synthesis & Verification - Lecture 2 1 ECE 667 Spring 2011 ECE 667 Spring 2011 Synthesis and Verification of Digital Circuits High-Level (Architectural)
Static Single Assignment CS 540. Spring Efficient Representations for Reachability Efficiency is measured in terms of the size of the representation.
Give qualifications of instructors: DAP
Register Cell Design.
Computer ArchitectureFall 2007 © October 1st, 2007 Majd F. Sakr CS-447– Computer Architecture.
Spring 20067W. Rhett Davis with minor modifications by Dean Brock ECE 406 at UNASlide 1 ECE 406 Design of Complex Digital Systems Lecture 10: 9: State.
CS 151 Digital Systems Design Lecture 37 Register Transfer Level
1 ALUs. 2 Topics: ALU Overview - core of the integer datapath - 2 operands, 32-bits wide, plus control signals Exercise: A simple multiplier.
1 COMP541 Datapaths II Montek Singh Mar 22, 2007.
Give qualifications of instructors: DAP
– © Yohai Devir 2007 Technion - IIT Tutorial #6 Controller + DataPath part II.
Computer ArchitectureFall 2008 © September 17th, 2008 Majd F. Sakr CS-447– Computer Architecture.
ECE 565 High-Level Synthesis—An Introduction Shantanu Dutt ECE Dept., UIC.
Advanced Verilog EECS 270 v10/23/06.
Algorithmic State Machines.  1) Create an algorithm, using pseudocode, to describe the desired operation of the device. 2) Convert the pseudocode into.
1 2-Hardware Design Basics of Embedded Processors (cont.)
M. Mateen Yaqoob The University of Lahore Spring 2014.
Computer Organization & Programming Chapter 5 Synchronous Components.
SICP Register Machines what and why datapaths instructions abstract operations.
CS 232: Computer Architecture II Prof. Laxmikant (Sanjay) Kale.
Computer Organization CDA 3103 Dr. Hassan Foroosh Dept. of Computer Science UCF © Copyright Hassan Foroosh 2002.
University of Texas at Austin CS310 - Computer Organization Spring 2009 Don Fussell State Machines.
Register Transfer Languages (RTL)
Spring 20067W. Rhett Davis with minor modification by Dean Brock UNCA ECE 406Slide 1 ECE 406 Design of Complex Digital Systems Lecture 11: Data Converter,
1  1998 Morgan Kaufmann Publishers Simple Implementation Include the functional units we need for each instruction Why do we need this stuff?
1 Chapter 5: Datapath and Control (Part 2) CS 447 Jason Bakos.
ECEN 248: INTRODUCTION TO DIGITAL SYSTEMS DESIGN Dr. Shi Dept. of Electrical and Computer Engineering.
Spring 2009W. Rhett DavisNC State UniversityECE 406Slide 1 ECE 406 – Design of Complex Digital Systems Lecture 10: Data-Converter Example Spring 2009 W.
May 22, 2000Systems Architecture I1 Systems Architecture I (CS ) Lecture 14: A Simple Implementation of MIPS * Jeremy R. Johnson Mon. May 17, 2000.
Digital Design with SM Charts
CSE 140 Lecture 15 System Design II CK Cheng CSE Dept. UC San Diego 1.
Exam-like questions.
SERIAL MULTIPLIER Part 1
CS161 – Design and Architecture of Computer Systems
Lecture 11 Registers and Counters
Flip Flops Lecture 10 CAP
Clocks A clock is a free-running signal with a cycle time.
Discussion 2: More to discuss
Register Transfer Specification And Design
ECE 565 High-Level Synthesis—An Introduction
Introduction Introduction to VHDL Entities Signals Data & Scalar Types
Chap 7. Register Transfers and Datapaths
Dr. Clincy Professor of CS
Sequential logic examples
Processor (I).
CS/COE0447 Computer Organization & Assembly Language
ECE 434 Advanced Digital System L13
Manual Example How to manually convert high-level code into circuit
The Multicycle Implementation
Integer Square Root Lecture L8.0.
Topic 5: Processor Architecture Implementation Methodology
The Multicycle Implementation
CSE 140 Lecture 14 System Design
Topic 5: Processor Architecture
CSC 220: Computer Organization
A register design with parallel load input
Systems Architecture I
Register-Transfer Level Components in Verilog
Digital Signal Processing
Dr. Tassadaq Hussain Introduction to Verilog – Part-3 Expressing Sequential Circuits and FSM.
CS 153 Logic Design Lab Professor Ian G. Harris
Outline Registers Counters 5/11/2019.
Sources of Constraints in Computations
ECE 352 Digital System Fundamentals
ECE 352 Digital System Fundamentals
Tutorials #4-#5 Coltroller + dataPath design
CSE140: System Design Xinyuan Wang 05/31/2019.
CS161 – Design and Architecture of Computer Systems
Presentation transcript:

Controllers and Datapaths CS 153, Spring 2007 Ian G. Harris Department of Computer Science University of California Irvine

Implementing Complex Behaviors A Datapath is needed to perform arithmetic/boolean operations on data +, -, *, /, mod, AND, OR, <<, <, >>, >, etc. A Controller is needed to tell datapath components what to do and when to do it Status information from the datapath may be needed A controller drives the control inputs of the datapath components load, reset, shiftleft, ALUOp, etc. Datapath Controller Control bits Status bits Register load reset

Simple Controller/Datapath Reg A load D Q Reg B + Reg C Reg E Reg D in1 in2 ldA ldC ldB ldD ldE in3 ldA=1 ldB=1 ldC=1 ldD=1 ldE=1 A = in1; B = in2; D = in3; C = A + B; E = C + D; Behavior Controller Datapath One-to-one mapping from behavior to datapath components var-reg, op-op

Alternate Controller, Same Datapath ldA=1 ldB=1 ldC=1 ldD=1 ldE=1 A = in1; B = in2; D = in3; C = A + B; E = C + D; ldE=1 ldA=1 ldB=1 ldD=1 ldC=1 Behavior Controller Optimized Controller Optimize performance by merging many operations into one state Merging continues until a data dependency (or conditional) is reached

Algorithm to Make Datapath and Controller Determine all datapath components needed by looking at each step of the behavior Assume no hardware sharing 5 Registers - one for each variable 2 adders - one for each addition A = in1; B = in2; D = in3; C = A + B; E = C + D; ld Reg A ld Reg B ld Reg C + ld Reg E ld Reg D +

Datapath/Controller Algorithm Continued 2. Connect datapath components by identifying connections needed for each step in the behavior. Be sure to label control inputs, status outputs in1 in2 in3 ld Reg A Reg B Reg C Reg D Reg E + ldA ldB ldC ldD ldE A = in1; B = in2; D = in3; C = A + B; E = C + D;

Datapath/Controller Algorithm Controller Definition 3. Group steps of the behavior into states Pack as many steps as possible into a state No data dependency can exist in a state No conditional can exist in a state - all ops in state MUST occur together A = B + C; If (A > 2) then X = Y + Z; Else P = Q + R; Result = X + P; A = in1; B = in2; D = in3; C = A + B; E = C + D; st1 st2 st3 No conditional With Conditional

Controller Definition Continued 4. Draw FSM edges based on control flow A = B + C; If (A > 2) then X = Y + Z; Else P = Q + R; Result = X + P; A = in1; B = in2; D = in3; C = A + B; E = C + D; A>2 !A>2 No conditional With Conditional

Controller Definition Continued 5. Label controller states with outputs ldA=1 ldB=1 ldD=1 A = in1; B = in2; D = in3; C = A + B; E = C + D; ldC=1 ldE=1