Problem Set # 6 (Assigned 27 February, Due 9 March)

Size: px
Start display at page:

Download "Problem Set # 6 (Assigned 27 February, Due 9 March)"

Transcription

1 University of California at Berkeley College of Engineering Department of Electrical Engineering and Computer Science EECS 150 Spring 2007 R. H. Katz Problem Set # 6 (Assigned 27 February, Due 9 March) 1. You are to implement a MOORE MACHINE controller that does the following. It interprets a registerregister add instruction as follows. The instruction identifies three registers: Rz, Rx, and Ry, which are found in a register file, and adds them so that Rz is set to the value of Rx + Ry. Note that it is possible that all three registers are the same, e.g., ADD (R3, R3, R3) to add R3 to itself and writing the result back into R3. The register file can read one register or write one register during any clock period, but not both (this is a single port read/single port write register file). The signals RD and WR control reading from and writing to the register file respectively. REG ADDRESS indicates the register number within the register file. The RD signal is asynchronous. Reading begins as soon as the signal is asserted. You may assume that data will be available at Data Out well before the rising edge of the clock after RD is asserted and REG ADDRESS becomes stable (i.e., propagation delay through the register file is short compared with the clock period). The WR signal is synchronous, and writing takes place on the rising edge of the clock whenever WR is true. You may assume that the set-up time for REG Address and Data In is much shorter than the clock period and that the hold time is 0. There are two buffer registers, A and B, with synchronous LD control inputs outside the register file. They provide the A-side and B-side inputs to an arithmetic/logic unit (ALU). The ALU can perform the four operations A PLUS B (OP=100) (sum A and B inputs), A MINUS B (OP=000) (subtract B from A), PASS A (OP=010) (pass through the A input), or PASS B (OP=001) (pass through the B input). You may assume that any of the ALU operations take place with a propagation delay much less than the clock period. The datapath fragment is the following. Thick lines are multi-bit busses; thin lines are single bit: Control FSM RD WR RD WR Data In REG X REG Y 0 1 S M U X REG Address Data Out SEL LDA LDB ADD/SUB PASS A PASS B LD A Q A D A LD B D B Q B A OP[2:0] Arithmetic Logic Unit B

2 (i) Draw a state diagram fragment that implements the ADD Rz, Rx, Ry sequence. Indicate which control signals are asserted in each state (assume a global RESET signal puts the controller into an initial state named S0). (ii) Write a Verilog fragment that implements this state machine behavior. module add(rd, WR, REGX, REGY, SEL, LDA, LDB, ADDSUB, PASSA, PASSB,, Reset); Input, Reset; Output RD, WR, SEL, LDA, LDB, ADDSUB, PASSA, PASSB; Output [withd-1:0] REGX, REGY; Reg [1:0] NS, CS; Localparam S_S0 = 2 b00, S_ReadX = 2 b01, S_ReadY = 2 b10,

3 S_WriteZ = 2 b11; Assign RD = ((CS == S_ReadX) (CS == S_ReadY)); Assign WR = (CS == S_WriteZ); Assign SEL = (CS == S_ReadY); Assign LDA = (CS == S_ReadX); Assign LDB = (CS == S_ReadY); Assign ADDSUB = (CS == S_WriteZ); Assign PASSA = 1 b0; Assign PASSB = 1 b0; (*) begin Case (CS) S_S0: NS = S_ReadX; S_ReadX: NS = S_ReadY; S_ReadY: NS = S_WriteZ; S_WriteZ: NS = S_S0; Default: NS = S_S0; endcase end (posedge ) begin If (Reset) CS <= S_S0; Else CS <= NS; end endmodule

4 (iii) Complete a timing diagram such as the figure below, indicating in detail when control signals are asserted and unasserted with respect to the clock. 2. Assume that the datapath described in Problem 1 was replaced by one with a register file with a dual port read/single port write capability. That is, assume that during any clock cycle that it can read any two registers (including the same one) onto two separate read busses, or alternatively, it can write a single register. You cannot read and write during the same clock cycle. (i) Draw a revised databpath block diagram reflecting this change. What additional control signals need to be added, if any? What are they?

5 No signals were added, but the SEL signal was removed. (ii) Draw just a revised state diagram, explaining how the revised datapath changes the number of states needed to implement the ADD (Rz, Rx, Ry) operation. For the basic sequence, how many fewer states are needed compared with your solution to Problem 1(i). There is now only 3 states, as opposed to 4. 1 less state.

Computer Organization

Computer Organization Computer Organization! Computer design as an application of digital logic design procedures! Computer = processing unit + memory system! Processing unit = control + datapath! Control = finite state machine

More information

MASSACHUSETTS INSTITUTE OF TECHNOLOGY Department of Electrical Engineering and Computer Sciences

MASSACHUSETTS INSTITUTE OF TECHNOLOGY Department of Electrical Engineering and Computer Sciences MASSACHUSETTS INSTITUTE OF TECHNOLOGY Department of Electrical Engineering and Computer Sciences Introductory Digital Systems Lab (6.111) uiz - Spring 2004 Prof. Anantha Chandrakasan Student Name: Problem

More information

EECS 151/251A: SRPING 2017 MIDTERM 1

EECS 151/251A: SRPING 2017 MIDTERM 1 University of California College of Engineering Department of Electrical Engineering and Computer Sciences E. Alon Thursday, Mar 2 nd, 2017 7:00-8:30pm EECS 151/251A: SRPING 2017 MIDTERM 1 NAME Last First

More information

Computer Organization. Structure of a Computer. Registers. Register Transfer. Register Files. Memories

Computer Organization. Structure of a Computer. Registers. Register Transfer. Register Files. Memories Computer Organization Structure of a Computer Computer design as an application of digital logic design procedures Computer = processing unit + memory system Processing unit = control + Control = finite

More information

EECS150 - Digital Design Lecture 20 - Finite State Machines Revisited

EECS150 - Digital Design Lecture 20 - Finite State Machines Revisited EECS150 - Digital Design Lecture 20 - Finite State Machines Revisited April 2, 2009 John Wawrzynek Spring 2009 EECS150 - Lec20-fsm Page 1 Finite State Machines (FSMs) FSM circuits are a type of sequential

More information

problem maximum score 1 8pts 2 6pts 3 10pts 4 15pts 5 12pts 6 10pts 7 24pts 8 16pts 9 19pts Total 120pts

problem maximum score 1 8pts 2 6pts 3 10pts 4 15pts 5 12pts 6 10pts 7 24pts 8 16pts 9 19pts Total 120pts University of California at Berkeley College of Engineering Department of Electrical Engineering and Computer Sciences EECS150 J. Wawrzynek Spring 2010 3/31/09 Name: ID number: Midterm Exam This is a closed-book,

More information

RealDigital. Problem Set #7 S1 S2 S3 Y Z X Y + Y Z X Z

RealDigital. Problem Set #7 S1 S2 S3 Y Z X Y + Y Z X Z Problem Set #7 RealDigital 1. (10 points) Modify the state diagram branching conditions in the diagrams below as needed to ensure the sum and exclusion rules are obeyed in each case. You can add a holding

More information

ECE 2300 Digital Logic & Computer Organization. More Finite State Machines

ECE 2300 Digital Logic & Computer Organization. More Finite State Machines ECE 2300 Digital Logic & Computer Organization Spring 2018 More Finite State Machines Lecture 9: 1 Announcements Prelab 3(B) due tomorrow Lab 4 to be released tonight You re not required to change partner(s)

More information

Block diagram view. Datapath = functional units + registers

Block diagram view. Datapath = functional units + registers Computer design an application of digital logic design procedures Computer = processing unit + memory system Processing unit = control + datapath Control = finite state machine inputs = machine instruction,

More information

University of California at Berkeley College of Engineering Department of Electrical Engineering and Computer Sciences. Spring 2010 May 10, 2010

University of California at Berkeley College of Engineering Department of Electrical Engineering and Computer Sciences. Spring 2010 May 10, 2010 University of California at Berkeley College of Engineering Department of Electrical Engineering and Computer Sciences EECS150 J. Wawrzynek Spring 2010 May 10, 2010 Final Exam Name: ID number: This is

More information

General FSM design procedure

General FSM design procedure Sequential logic examples Basic design approach: a 4-step design process Hardware description languages and finite state machines Implementation examples and case studies finite-string pattern recognizer

More information

General FSM design procedure

General FSM design procedure Sequential logic examples Basic design approach: a 4-step design process Hardware description languages and finite state machines Implementation examples and case studies finite-string pattern recognizer

More information

EECS Components and Design Techniques for Digital Systems. Lec 20 RTL Design Optimization 11/6/2007

EECS Components and Design Techniques for Digital Systems. Lec 20 RTL Design Optimization 11/6/2007 EECS 5 - Components and Design Techniques for Digital Systems Lec 2 RTL Design Optimization /6/27 Shauki Elassaad Electrical Engineering and Computer Sciences University of California, Berkeley Slides

More information

Programmable machines

Programmable machines Page 1 of 9 Programmable machines indicates problems that have been selected for discussion in section, time permitting. Problem 1. Consider the following circuit: The heavy lines represent busses, which

More information

EE178 Lecture Verilog FSM Examples. Eric Crabill SJSU / Xilinx Fall 2007

EE178 Lecture Verilog FSM Examples. Eric Crabill SJSU / Xilinx Fall 2007 EE178 Lecture Verilog FSM Examples Eric Crabill SJSU / Xilinx Fall 2007 In Real-time Object-oriented Modeling, Bran Selic and Garth Gullekson view a state machine as: A set of input events A set of output

More information

ECEN 468 Advanced Logic Design

ECEN 468 Advanced Logic Design ECEN 468 Advanced Logic Design Lecture 28: Synthesis of Language Constructs Synthesis of Nets v An explicitly declared net may be eliminated in synthesis v Primary input and output (ports) are always retained

More information

Verilog Coding Guideline

Verilog Coding Guideline Verilog Coding Guideline Digital Circuit Lab TA: Po-Chen Wu Outline Introduction to Verilog HDL Verilog Syntax Combinational and Sequential Logics Module Hierarchy Write Your Design Finite State Machine

More information

CS 151 Midterm. Instructions: Student ID. (Last Name) (First Name) Signature

CS 151 Midterm. Instructions: Student ID. (Last Name) (First Name) Signature CS 151 Midterm Name Student ID Signature :, (Last Name) (First Name) : : Instructions: 1. Please verify that your paper contains 11 pages including this cover. 2. Write down your Student-Id on the top

More information

Graduate Institute of Electronics Engineering, NTU. Lecturer: Chihhao Chao Date:

Graduate Institute of Electronics Engineering, NTU. Lecturer: Chihhao Chao Date: Design of Datapath Controllers and Sequential Logic Lecturer: Date: 2009.03.18 ACCESS IC LAB Sequential Circuit Model & Timing Parameters ACCESS IC LAB Combinational Logic Review Combinational logic circuits

More information

problem maximum score 1 10pts 2 8pts 3 10pts 4 12pts 5 7pts 6 7pts 7 7pts 8 17pts 9 22pts total 100pts

problem maximum score 1 10pts 2 8pts 3 10pts 4 12pts 5 7pts 6 7pts 7 7pts 8 17pts 9 22pts total 100pts University of California at Berkeley College of Engineering epartment of Electrical Engineering and Computer Sciences EECS150 J. Wawrzynek Spring 2003 2/21/03 Exam I Solutions Name: I number: This is a

More information

Digital design laboratory 5

Digital design laboratory 5 Digital design laboratory 5 Preparations Launch the ISE Design Suite Create new project: File -> New Project Preparations Name: DigLab5 Location: D drive! D:\DigLab5 Working directory: The same as Location

More information

Digital Design (VIMIAA01) Introduction to the Verilog HDL

Digital Design (VIMIAA01) Introduction to the Verilog HDL BUDAPEST UNIVERSITY OF TECHNOLOGY AND ECONOMICS FACULTY OF ELECTRICAL ENGINEERING AND INFORMATICS DEPARTMENT OF MEASUREMENT AND INFORMATION SYSTEMS Digital Design (VIMIAA01) Introduction to the Verilog

More information

Quick Introduction to SystemVerilog: Sequental Logic

Quick Introduction to SystemVerilog: Sequental Logic ! Quick Introduction to SystemVerilog: Sequental Logic Lecture L3 8-545 Advanced Digital Design ECE Department Many elements Don Thomas, 24, used with permission with credit to G. Larson Today Quick synopsis

More information

Two hours - online EXAM PAPER MUST NOT BE REMOVED FROM THE EXAM ROOM UNIVERSITY OF MANCHESTER SCHOOL OF COMPUTER SCIENCE

Two hours - online EXAM PAPER MUST NOT BE REMOVED FROM THE EXAM ROOM UNIVERSITY OF MANCHESTER SCHOOL OF COMPUTER SCIENCE COMP 12111 Two hours - online This paper version is made available as a backup In this event, only MCQ answers written in the boxes on the exam paper will be marked. EXAM PAPER MUST NOT BE REMOVED FROM

More information

ECE 2300 Digital Logic & Computer Organization. More Sequential Logic Verilog

ECE 2300 Digital Logic & Computer Organization. More Sequential Logic Verilog ECE 2300 Digital Logic & Computer Organization Spring 2018 More Sequential Logic Verilog Lecture 7: 1 Announcements HW3 will be posted tonight Prelim 1 Thursday March 1, in class Coverage: Lectures 1~7

More information

Laboratory Exercise 9

Laboratory Exercise 9 Laboratory Exercise 9 Figure 1 shows a digital system that contains a number of -bit registers, a multiplexer, an adder/subtracter unit, a counter, and a control unit. Data is input to this system via

More information

One and a half hours. Section A is COMPULSORY UNIVERSITY OF MANCHESTER SCHOOL OF COMPUTER SCIENCE

One and a half hours. Section A is COMPULSORY UNIVERSITY OF MANCHESTER SCHOOL OF COMPUTER SCIENCE One and a half hours Section A is COMPULSORY UNIVERSITY OF MANCHESTER SCHOOL OF COMPUTER SCIENCE Fundamentals of Computer Engineering Date: Thursday 21st January 2016 Time: 14:00-15:30 Answer BOTH Questions

More information

Chapter 10. case studies in sequential logic design

Chapter 10. case studies in sequential logic design Chapter. case studies in sequential logic design This is the last chapter of this course. So far, we have designed several sequential systems. What is the general procedure? The most difficult part would

More information

CSE 140L Final Exam. Prof. Tajana Simunic Rosing. Spring 2008

CSE 140L Final Exam. Prof. Tajana Simunic Rosing. Spring 2008 CSE 140L Final Exam Prof. Tajana Simunic Rosing Spring 2008 NAME: ID#: Do not start the exam until you are told to. Turn off any cell phones or pagers. Write your name and PID at the top of every page.

More information

Digital Integrated Circuits

Digital Integrated Circuits Digital Integrated Circuits Lecture 3 Jaeyong Chung System-on-Chips (SoC) Laboratory Incheon National University GENERAL MODEL OF MEALY MACHINE Chung EPC6055 2 GENERAL MODEL OF MOORE MACHINE Chung EPC6055

More information

A Verilog Primer. An Overview of Verilog for Digital Design and Simulation

A Verilog Primer. An Overview of Verilog for Digital Design and Simulation A Verilog Primer An Overview of Verilog for Digital Design and Simulation John Wright Vighnesh Iyer Department of Electrical Engineering and Computer Sciences College of Engineering, University of California,

More information

b) Register renaming c) CDB, register file, and ROB d) 0,1,X (output of a gate is never Z)

b) Register renaming c) CDB, register file, and ROB d) 0,1,X (output of a gate is never Z) 1) a) Issuing stores to memory and (maybe) writing results back to register file (depends if we have a distinct physical register file). Instruction dispatch is usually done in program order, but can be

More information

Chapter 15: Design Examples. CPU Design Example. Prof. Soo-Ik Chae 15-1

Chapter 15: Design Examples. CPU Design Example. Prof. Soo-Ik Chae 15-1 CPU Design Example Prof. Soo-Ik Chae 5- Partitioned Sequential Machine Datapaths Datapath Unit External Control Inputs Control Unit Finite State Machine Control signals Datapath Logic Clock Datapath Registers

More information

Hardware Description Language (HDL)

Hardware Description Language (HDL) Hardware Description Language (HDL) What is the need for Hardware Description Language? Model, Represent, And Simulate Digital Hardware Hardware Concurrency Parallel Activity Flow Semantics for Signal

More information

Sequential Logic Design

Sequential Logic Design Sequential Logic Design Design of Digital Circuits 2017 Srdjan Capkun Onur Mutlu (Guest starring: Frank K. Gürkaynak and Aanjhan Ranganathan) http://www.syssec.ethz.ch/education/digitaltechnik_17 Adapted

More information

Parallel versus serial execution

Parallel versus serial execution Parallel versus serial execution F assign statements are implicitly parallel Ì = means continuous assignment Ì Example assign E = A & D; assign A = B & C; Ì A and E change if B changes F always blocks

More information

Digital Circuit Design and Language. Datapath Design. Chang, Ik Joon Kyunghee University

Digital Circuit Design and Language. Datapath Design. Chang, Ik Joon Kyunghee University Digital Circuit Design and Language Datapath Design Chang, Ik Joon Kyunghee University Typical Synchronous Design + Control Section : Finite State Machine + Data Section: Adder, Multiplier, Shift Register

More information

Digital Design with SystemVerilog

Digital Design with SystemVerilog Digital Design with SystemVerilog Prof. Stephen A. Edwards Columbia University Spring 25 Synchronous Digital Design Combinational Logic Sequential Logic Summary of Modeling Styles Testbenches Why HDLs?

More information

Outline. EECS Components and Design Techniques for Digital Systems. Lec 11 Putting it all together Where are we now?

Outline. EECS Components and Design Techniques for Digital Systems. Lec 11 Putting it all together Where are we now? Outline EECS 5 - Components and Design Techniques for Digital Systems Lec Putting it all together -5-4 David Culler Electrical Engineering and Computer Sciences University of California Berkeley Top-to-bottom

More information

MICROPROCESSOR B.Tech. th ECE

MICROPROCESSOR B.Tech. th ECE MICROPROCESSOR B.Tech. th ECE Submitted by: Er. Amita Sharma Dept. of ECE 11/24/2014 2 Microprocessor Architecture The microprocessor can be programmed to perform functions on given data by writing specific

More information

One and a half hours. Section A is COMPULSORY UNIVERSITY OF MANCHESTER SCHOOL OF COMPUTER SCIENCE

One and a half hours. Section A is COMPULSORY UNIVERSITY OF MANCHESTER SCHOOL OF COMPUTER SCIENCE COMP 12111 One and a half hours Section A is COMPULSORY UNIVERSITY OF MANCHESTER SCHOOL OF COMPUTER SCIENCE Fundamentals of Computer Engineering Date: Monday 23rd January 2017 Time: 09:45-11:15 Answer

More information

ECE 2300 Digital Logic & Computer Organization. More Verilog Finite State Machines

ECE 2300 Digital Logic & Computer Organization. More Verilog Finite State Machines ECE 2300 Digital Logic & Computer Organization Spring 2017 More Verilog Finite State Machines Lecture 8: 1 Announcements 1 st batch of (raw) quiz scores released on CMS Solutions to HW 1-3 released on

More information

HDL Design Cube. Synthesis and VHDL

HDL Design Cube. Synthesis and VHDL HDL Design Cube time causality (algorithmic level) timing clock related (register-transfer level) propagation delay (gate level) structure dataflow behavior bit values view composite bit values values

More information

CSE140L: Components and Design Techniques for Digital Systems Lab

CSE140L: Components and Design Techniques for Digital Systems Lab CSE140L: Components and Design Techniques for Digital Systems Lab Tajana Simunic Rosing Source: Vahid, Katz, Culler 1 Announcements & Outline Lab 4 due; demo signup times listed on the cse140l site Check

More information

Finite State Machines

Finite State Machines Finite State Machines Design methodology for sequential logic -- identify distinct states -- create state transition diagram -- choose state encoding -- write combinational Verilog for next-state logic

More information

Finite-State Machine (FSM) Design

Finite-State Machine (FSM) Design 1 Finite-State Machine (FSM) Design FSMs, an important category of sequential circuits, are used frequently in designing digital systems. From the daily used electronic machines to the complex digital

More information

Mealy and Moore examples

Mealy and Moore examples CSE 37 Spring 26 Introduction to igital esign ecture 2: uential ogic Technologies ast ecture Moore and Mealy Machines Today uential logic technologies Ving machine: Moore to synch. Mealy OPEN = creates

More information

CSE140L: Components and Design

CSE140L: Components and Design CSE140L: Components and Design Techniques for Digital Systems Lab Tajana Simunic Rosing Source: Vahid, Katz, Culler 1 Grade distribution: 70% Labs 35% Lab 4 30% Lab 3 20% Lab 2 15% Lab 1 30% Final exam

More information

UNIVERSITY OF TORONTO FACULTY OF APPLIED SCIENCE AN:p ENGINEERING. ECE241F - Digital Syst~ms Final Examination

UNIVERSITY OF TORONTO FACULTY OF APPLIED SCIENCE AN:p ENGINEERING. ECE241F - Digital Syst~ms Final Examination ~.. UNIVERSITY OF TORONTO FACULTY OF APPLIED SCIENCE AN:p ENGINEERING ECE241F - Digital Syst~ms Final Examination December 19, 2017, 2:00pm-4:30pm Duration: 2.5 hours Examiners: P. Anderson, P. Chow and

More information

Computer Architecture (TT 2012)

Computer Architecture (TT 2012) Computer Architecture (TT 2012) The Register Transfer Level Daniel Kroening Oxford University, Computer Science Department Version 1.0, 2011 Outline Reminders Gates Implementations of Gates Latches, Flip-flops

More information

EE 2700 Project 2 Microprocessor Design

EE 2700 Project 2 Microprocessor Design EE 2700 Project 2 Microprocessor Design This project may be done individually or in teams of two. You may consult others for general questions but not for specific issues. Cheating will not be tolerated

More information

Synthesizable Verilog

Synthesizable Verilog Synthesizable Verilog Courtesy of Dr. Edwards@Columbia, and Dr. Franzon@NCSU http://csce.uark.edu +1 (479) 575-6043 yrpeng@uark.edu Design Methodology Structure and Function (Behavior) of a Design HDL

More information

C A R L E T O N U N I V E R S I T Y. FINAL EXAMINATION April Duration: 3 Hours No. of Students: 108

C A R L E T O N U N I V E R S I T Y. FINAL EXAMINATION April Duration: 3 Hours No. of Students: 108 C A R L E T O N U N I V E R S I T Y FINAL EXAMINATION April 2011 Duration: 3 Hours No. of Students: 108 Department Name & Course Number: ELEC 3500 Digital Electronics Course Instructor(s): Ralph Mason

More information

The Verilog Language COMS W Prof. Stephen A. Edwards Fall 2002 Columbia University Department of Computer Science

The Verilog Language COMS W Prof. Stephen A. Edwards Fall 2002 Columbia University Department of Computer Science The Verilog Language COMS W4995-02 Prof. Stephen A. Edwards Fall 2002 Columbia University Department of Computer Science The Verilog Language Originally a modeling language for a very efficient event-driven

More information

Memory Interface. More Realistic Block Diagram: Issue memory request. Is it a read or a write? Memory asks CPU to wait

Memory Interface. More Realistic Block Diagram: Issue memory request. Is it a read or a write? Memory asks CPU to wait CPU Design Memory Interface More ealistic Block Diagram: Issue memory request Is it a read or a write? PC I equest ead/write Wait M Memory Memory asks CPU to wait LD/ST Data Instructions M B Memory Buffer

More information

Verilog introduction. Embedded and Ambient Systems Lab

Verilog introduction. Embedded and Ambient Systems Lab Verilog introduction Embedded and Ambient Systems Lab Purpose of HDL languages Modeling hardware behavior Large part of these languages can only be used for simulation, not for hardware generation (synthesis)

More information

University of Toronto Faculty of Applied Science and Engineering Edward S. Rogers Sr. Department of Electrical and Computer Engineering

University of Toronto Faculty of Applied Science and Engineering Edward S. Rogers Sr. Department of Electrical and Computer Engineering University of Toronto Faculty of Applied Science and Engineering Edward S. Rogers Sr. Department of Electrical and Computer Engineering Final Examination ECE 241F - Digital Systems Examiners: S. Brown,

More information

CS429: Computer Organization and Architecture

CS429: Computer Organization and Architecture CS429: Computer Organization and Architecture Dr. Bill Young Department of Computer Sciences University of Texas at Austin Last updated: January 2, 2018 at 11:23 CS429 Slideset 5: 1 Topics of this Slideset

More information

Last Lecture. Talked about combinational logic always statements. e.g., module ex2(input logic a, b, c, output logic f); logic t; // internal signal

Last Lecture. Talked about combinational logic always statements. e.g., module ex2(input logic a, b, c, output logic f); logic t; // internal signal Last Lecture Talked about combinational logic always statements. e.g., module ex2(input logic a, b, c, output logic f); logic t; // internal signal always_comb t = a & b; f = t c; should use = (called

More information

Verilog Synthesis and FSMs. UCB EECS150 Fall 2010 Lab Lecture #3

Verilog Synthesis and FSMs. UCB EECS150 Fall 2010 Lab Lecture #3 Verilog Synthesis and FSMs UCB EECS150 Fall 2010 Lab Lecture #3 Agenda Logic Synthesis Behavioral Verilog HDL Blocking vs. Non-Blocking Administrative Info Lab #3: The Combo Lock FSMs in Verilog HDL 2

More information

ENSC E-123: HW D3: Counter Applications; Counter in Verilog

ENSC E-123: HW D3: Counter Applications; Counter in Verilog HW D3; Counter Applications 1 ENSC E-123: HW D3: Counter Applications; Counter in Verilog REV 0 1 ; February 12, 2015 Contents 1 Counter Applications: Sync vs Async Function (5 points) 2 1.1 Crummy: asyncclear(2points).................

More information

Techniques for Digital Systems Lab. Verilog HDL. Tajana Simunic Rosing. Source: Eric Crabill, Xilinx

Techniques for Digital Systems Lab. Verilog HDL. Tajana Simunic Rosing. Source: Eric Crabill, Xilinx CSE140L: Components and Design Techniques for Digital Systems Lab Verilog HDL Tajana Simunic Rosing Source: Eric Crabill, Xilinx 1 More complex behavioral model module life (n0, n1, n2, n3, n4, n5, n6,

More information

R-type Instructions. Experiment Introduction. 4.2 Instruction Set Architecture Types of Instructions

R-type Instructions. Experiment Introduction. 4.2 Instruction Set Architecture Types of Instructions Experiment 4 R-type Instructions 4.1 Introduction This part is dedicated to the design of a processor based on a simplified version of the DLX architecture. The DLX is a RISC processor architecture designed

More information

Programmable Control Logic

Programmable Control Logic Programmable Control Logic Microsequencers Example: building the micro8 Hardware/Software tradeoff Lab #5 due Thursday, project abstract next Monday 1 Digital Systems = FSMs + Datapath FSM control Datapath:

More information

Chap 6 Introduction to HDL (d)

Chap 6 Introduction to HDL (d) Design with Verilog Chap 6 Introduction to HDL (d) Credit to: MD Rizal Othman Faculty of Electrical & Electronics Engineering Universiti Malaysia Pahang Ext: 6036 VERILOG HDL Basic Unit A module Module

More information

CS Multi-Cycle (CDB-Based) Implementation

CS Multi-Cycle (CDB-Based) Implementation CS 3220 Multi-Cycle (CDB-Based) Implementation LdPC PC LdA A B LdB LdMAR MAR IMem 2048x 32 bits Dout IR Addr LdIR func ALU WrREG regno Din Regs 32x 32 bits Dout WrMEM Addr Din DMem 2048x 32 bits Dout sign

More information

Inf2C - Computer Systems Lecture Processor Design Single Cycle

Inf2C - Computer Systems Lecture Processor Design Single Cycle Inf2C - Computer Systems Lecture 10-11 Processor Design Single Cycle Boris Grot School of Informatics University of Edinburgh Previous lectures Combinational circuits Combinations of gates (INV, AND, OR,

More information

ECE 551: Digital System *

ECE 551: Digital System * ECE 551: Digital System * Design & Synthesis Lecture Set 5 5.1: Verilog Behavioral Model for Finite State Machines (FSMs) 5.2: Verilog Simulation I/O and 2001 Standard (In Separate File) 3/4/2003 1 Explicit

More information

Brief Introduction to Verilog HDL (Part 1)

Brief Introduction to Verilog HDL (Part 1) BUDAPEST UNIVERSITY OF TECHNOLOGY AND ECONOMICS FACULTY OF ELECTRICAL ENGINEERING AND INFORMATICS DEPARTMENT OF MEASUREMENT AND INFORMATION SYSTEMS Brief Introduction to Verilog HDL (Part 1) Tamás Raikovich

More information

EPC6055 Digital Integrated Circuits EXAM 1 Fall Semester 2013

EPC6055 Digital Integrated Circuits EXAM 1 Fall Semester 2013 EPC6055 Digital Integrated Circuits EXAM 1 Fall Semester 2013 Print Here Student ID Signature This is a closed book exam. The exam is to be completed in one-hundred ten (110) minutes. Don t use scratch

More information

ECE 4514 Digital Design II. Spring Lecture 15: FSM-based Control

ECE 4514 Digital Design II. Spring Lecture 15: FSM-based Control ECE 4514 Digital Design II Lecture 15: FSM-based Control A Design Lecture Overview Finite State Machines Verilog Mapping: one, two, three always blocks State Encoding User-defined or tool-defined State

More information

CSE 140L Final Exam. Prof. Tajana Simunic Rosing. Spring 2008

CSE 140L Final Exam. Prof. Tajana Simunic Rosing. Spring 2008 CSE 140L Final Exam Prof. Tajana Simunic Rosing Spring 2008 Do not start the exam until you are told to. Turn off any cell phones or pagers. Write your name and PID at the top of every page. Do not separate

More information

L5: Simple Sequential Circuits and Verilog

L5: Simple Sequential Circuits and Verilog L5: Simple Sequential Circuits and Verilog Acknowledgements: Nathan Ickes and Rex Min Lecture notes prepared by Professor Anantha Chandrakasan L5: 6.111 Spring 29 Introductory Digital Systems Laboratory

More information

CS 2200 Spring 2008 Test 1

CS 2200 Spring 2008 Test 1 Please indicate your GT number in the grid below so we have some chance of being able to read it. G t 0 1 2 3 4 5 6 7 8 9 0 e g 0 1 2 3 4 5 6 7 8 9 0 0 1 2 3 4 5 6 7 8 9 0 0 1 2 3 4 5 6 7 8 9 0 a B c d

More information

RTL Design (Using ASM/SM Chart)

RTL Design (Using ASM/SM Chart) Digital Circuit Design and Language RTL Design (Using ASM/SM Chart) Chang, Ik Joon Kyunghee University Process of Logic Simulation and Synthesis Design Entry HDL Description Logic Simulation Functional

More information

Graduate Institute of Electronics Engineering, NTU Design of Datapath Controllers

Graduate Institute of Electronics Engineering, NTU Design of Datapath Controllers Design of Datapath Controllers Lecturer: Wein-Tsung Shen Date: 2005.04.01 ACCESS IC LAB Outline Sequential Circuit Model Finite State Machines Useful Modeling Techniques pp. 2 Model of Sequential Circuits

More information

Debouncing a Switch. A Design Example. Page 1

Debouncing a Switch. A Design Example. Page 1 Debouncing a Switch A Design Example Page 1 Background and Motivation Page 2 When you throw a switch (button or two-pole switch) It often bounces Page 3 Another switch switch after inversion Page 4 Yet

More information

Control in Digital Systems

Control in Digital Systems CONTROL CIRCUITS Control in Digital Systems Three primary components of digital systems Datapath (does the work) Control (manager, controller) Memory (storage) B. Baas 256 Control in Digital Systems Control

More information

General FSM design procedure

General FSM design procedure Sequential logic examples Basic design approach: a 4-step design process Hardware description languages and finite state machines Implementation examples and case studies finite-string pattern recognizer

More information

EECS150 - Digital Design Lecture 5 - Verilog Logic Synthesis

EECS150 - Digital Design Lecture 5 - Verilog Logic Synthesis EECS150 - Digital Design Lecture 5 - Verilog Logic Synthesis Jan 31, 2012 John Wawrzynek Spring 2012 EECS150 - Lec05-verilog_synth Page 1 Outline Quick review of essentials of state elements Finite State

More information

ECE 574: Modeling and Synthesis of Digital Systems using Verilog and VHDL. Fall 2017 Final Exam (6.00 to 8.30pm) Verilog SOLUTIONS

ECE 574: Modeling and Synthesis of Digital Systems using Verilog and VHDL. Fall 2017 Final Exam (6.00 to 8.30pm) Verilog SOLUTIONS ECE 574: Modeling and Synthesis of Digital Systems using Verilog and VHDL Fall 2017 Final Exam (6.00 to 8.30pm) Verilog SOLUTIONS Note: Closed book no notes or other material allowed apart from the one

More information

CMPE 415 Verilog Case-Statement Based State Machines II

CMPE 415 Verilog Case-Statement Based State Machines II Department of Computer Science and Electrical Engineering CMPE 415 Verilog Case-Statement Based State Machines II Prof. Ryan Robucci Finite State Machine with Datapath A very common framework being described

More information

ECE 485/585 Microprocessor System Design

ECE 485/585 Microprocessor System Design Microprocessor System Design Lecture 4: Memory Hierarchy Memory Taxonomy SRAM Basics Memory Organization DRAM Basics Zeshan Chishti Electrical and Computer Engineering Dept Maseeh College of Engineering

More information

CMPE 415 Verilog Case-Statement Based State Machines II

CMPE 415 Verilog Case-Statement Based State Machines II Department of Computer Science and Electrical Engineering CMPE 415 Verilog Case-Statement Based State Machines II Prof. Ryan Robucci Finite State Machine (FSM) Characterized by A set of states A set of

More information

Building Bigger Systems: Hardware Threads

Building Bigger Systems: Hardware Threads ! uilding igger Systems: Hardware Threads Lecture L06 18-4 dvanced igital esign ECE epartment Many elements on Thomas, 2014, used with permission with credit to G. Larson Today We build on our knowledge

More information

EECS150, Fall 2004, Midterm 1, Prof. Culler. Problem 1 (15 points) 1.a. Circle the gate-level circuits that DO NOT implement a Boolean AND function.

EECS150, Fall 2004, Midterm 1, Prof. Culler. Problem 1 (15 points) 1.a. Circle the gate-level circuits that DO NOT implement a Boolean AND function. Problem 1 (15 points) 1.a. Circle the gate-level circuits that DO NOT implement a Boolean AND function. 1.b. Show that a 2-to-1 MUX is universal (i.e. that any Boolean expression can be implemented with

More information

Prerequisite Quiz January 23, 2007 CS252 Computer Architecture and Engineering

Prerequisite Quiz January 23, 2007 CS252 Computer Architecture and Engineering University of California, Berkeley College of Engineering Computer Science Division EECS Spring 2007 John Kubiatowicz Prerequisite Quiz January 23, 2007 CS252 Computer Architecture and Engineering This

More information

EE 231 Fall EE 231 Homework 8 Due October 20, 2010

EE 231 Fall EE 231 Homework 8 Due October 20, 2010 EE 231 Homework 8 Due October 20, 20 1. Consider the circuit below. It has three inputs (x and clock), and one output (z). At reset, the circuit starts with the outputs of all flip-flops at 0. x z J Q

More information

EECS150 - Digital Design Lecture 23 - High-Level Design (Part 1)

EECS150 - Digital Design Lecture 23 - High-Level Design (Part 1) EECS150 - Digital Design Lecture 23 - High-Level Design (Part 1) April 21, 2009 John Wawrzynek Spring 2009 EECS150 - Lec24-hdl1 Page 1 Introduction High-level Design Specifies: How data is moved around

More information

ECE 2300 Digital Logic & Computer Organization. More Verilog Finite State Machines

ECE 2300 Digital Logic & Computer Organization. More Verilog Finite State Machines ECE 2300 Digital Logic & Computer Organization Spring 2018 More Verilog Finite Machines Lecture 8: 1 Prelim 1, Thursday 3/1, 1:25pm, 75 mins Arrive early by 1:20pm Review sessions Announcements Monday

More information

ECE 30, Lab #8 Spring 2014

ECE 30, Lab #8 Spring 2014 ECE 30, Lab #8 Spring 20 Shown above is a multi-cycle CPU. There are six special registers in this datapath: PC, IR, MDR, A, B, and ALUOut. Of these, PC and IR are enabled to change when PCWr and IRWr

More information

Lab 1: Mod Three Counter

Lab 1: Mod Three Counter Lab 1: Mod Three Counter Avinash Misra April 8, 2013 1 Introduction The objective of lab one is to design a counter that will count from 0-2, and reset itself back to 0 after it hits 2. The easiest way

More information

Lab 3: Standard Combinational Components

Lab 3: Standard Combinational Components Lab 3: Standard Combinational Components Purpose In this lab you will implement several combinational circuits on the DE1 development board to test and verify their operations. Introduction Using a high-level

More information

Lecture #8: Lab 3 EE183 Pipelined Processor

Lecture #8: Lab 3 EE183 Pipelined Processor Lecture #8: Lab 3 EE183 Pipelined Processor Kunle Stanford EE183 February 3, 2003 Lab Stuff Lab #2 due Friday at 6pm I ll be in the lab at 5pm or so for demos. Any questions? 1 System-on-Chip (SoC) Design

More information

Reconfigurable Computing Systems ( L) Fall 2012 Microarchitecture: Single Cycle Implementation of TRM

Reconfigurable Computing Systems ( L) Fall 2012 Microarchitecture: Single Cycle Implementation of TRM Reconfigurable Computing Systems (252-2210-00L) Fall 2012 Microarchitecture: Single Cycle Implementation of TRM L. Liu Department of Computer Science, ETH Zürich Fall semester, 2012 1 Introduction Microarchitecture:

More information

EECS Components and Design Techniques for Digital Systems. Lec 07 PLAs and FSMs 9/ Big Idea: boolean functions <> gates.

EECS Components and Design Techniques for Digital Systems. Lec 07 PLAs and FSMs 9/ Big Idea: boolean functions <> gates. Review: minimum sum-of-products expression from a Karnaugh map EECS 5 - Components and Design Techniques for Digital Systems Lec 7 PLAs and FSMs 9/2- David Culler Electrical Engineering and Computer Sciences

More information

Lab 2 Designing with Verilog

Lab 2 Designing with Verilog UNIVERSITY OF CALIFORNIA AT BERKELEY COLLEGE OF ENGINEERING DEPARTMENT OF ELECTRICAL ENGINEERING AND COMPUTER SCIENCE Lab 2 Designing with Verilog 1.0 Motivation In this lab you will learn how to express

More information

The Processor: Datapath & Control

The Processor: Datapath & Control Chapter Five 1 The Processor: Datapath & Control We're ready to look at an implementation of the MIPS Simplified to contain only: memory-reference instructions: lw, sw arithmetic-logical instructions:

More information

ECE 545 Lecture 12. Datapath vs. Controller. Structure of a Typical Digital System Data Inputs. Required reading. Design of Controllers

ECE 545 Lecture 12. Datapath vs. Controller. Structure of a Typical Digital System Data Inputs. Required reading. Design of Controllers ECE 545 Lecture 12 Design of Controllers Finite State Machines and Algorithmic State Machine (ASM) Charts Required reading P. Chu, using VHDL Chapter 1, Finite State Machine: Principle & Practice Chapter

More information

Major CPU Design Steps

Major CPU Design Steps Datapath Major CPU Design Steps. Analyze instruction set operations using independent RTN ISA => RTN => datapath requirements. This provides the the required datapath components and how they are connected

More information