Registers and finite state machines

Size: px
Start display at page:

Download "Registers and finite state machines"

Transcription

1 Registers and finite state machines DAPA E.T.S.I. Informática Universidad de Sevilla /22 Jorge Juan 2, 2, 22 You are free to copy, distribute and communicate this work publicly and make derivative work provided you cite the source and respect the conditions of the Attribution-Share alike license from Creative Commons. You can read the complete license at: Contents Introduction Flip-flops Registers Counters Finite state machines

2 Introduction Design a garage door control system with two push buttons (no switches) separated by a distance: x: open the door y: close the door open (x) close (y) door (z) Asynchronous SR latch R=S= the state is preserved S S R R S=, R= change to (set) S=, R= change to (reset) S S R R

3 SR Latch. Formal description Symbol S State table SR - State diagram SR= SR=x = = SR=x R - Q Verilog SR= S R Excitation table Q SR x x module sra( input s, input r, output reg ); r) case ({s, r}) 2'b: = 'b; 2'b: = 'b; 2'b: = 'bx; endcase endmodule Synchronous latches In real circuits with thousands or million latches, it is very useful to control the state change so that it happens in all devices at the same time. State change is synchronized to a clock signal () Gated latches State change is only allowed when is either high () or low (). Edge-triggered latches (flip-flops) State change is only allowed at the instant changes from to (positive edge) or from to (negative edge) State change is more precisely determined. Make more robust and easy to design circuits

4 Synchronous latches Gated latch Flip-flop module srl( input ck, input s, input r, output reg ); S R ck module srff( input ck, input s, input r, output reg ); S Rck s, r) if (ck == ) case ({s, r}) 2'b: = 'b; 2'b: = 'b; 2'b: = 'bx; endcase endmodule ck) case ({s, r}) 2'b: = 'b; 2'b: = 'b; 2'b: = 'bx; endcase endmodule State change when ck= State changes when ck changes from to Other flip-flops SR JK D T Similar to SR: J~S, K~R Toggle (reverse) function for J=K= A single input eual to the next state Easy to use and implement A single input to toggle the state Very useful in some special applications: counters

5 D flip-flop Synbols State table State diagram D D D= D= D= = = ck Q D= D ck Excitation table Q D Verilog module dff( input ck, input d, output reg ); ck) <= d; endmodule Asynchronous inputs Easy way to force a given state (clear): set to PR (preset): set to Immediate effect after activation: Active low () Active high () Higher priority than synchronous inputs J, K, D, T,... J K ck PR D Solution to the problem of initiating the state in complex digital systems Million of flip-flops Need to start from a known state ck PR T ck

6 Timing Synchronous inputs should not change close to the active edge of the clock signal to avoid an unpredictable state change. Set-up time (ts) Time before the active edge in which inputs should not change. Hold time (th) Time after the active edge in which inputs should not change. Timing t s t h D ck Q= D Q=X Q=X Q=

7 Contents Introduction Flip-flops Registers Counters Finite state machines Registers n-bit storage element (n flip-flops) Content is expressed from the data it represents: number (in hex or decimal), character, etc. Basic operations: Write (load): stored data modification. Read: access to the content of the register.

8 Registers. Classification Parallel input All the bits can be written (loaded) at the same time (with the same clock event). There is one load input signal for each stored bit. Serial input Only one bit can be written at each clock cycle. A single input signal for all the stored bits. Parallel output All the bits can be read at the same time. One output signal for each stored bit. Serial output Only one bit can be read at each clock cycle. A single output signal for all the stored bits. Registers. Classification parallel-in/parallel-out parallel-in/serial-out serial-in/parallel-out serial-in/serial-out

9 Parallel-in/parallel-out register x LD x 3 x 2 x x REG z 3 z 2 z z Verilog code module reg( input ck, input cl, input ld, input [3:] x, output [3:] z ); z Operation table, LD Operation Type x async. x sync. sync. reg [3:] ; ck, negedge cl) if (cl == ) <= ; else if (ld == ) <= x; assign z = ; endmodule Parallel-in/parallel-out register LD x 3 x 2 x x REG z 3 z 2 z z Asynchronous operation table Operation Typ. stage Excit. Q i = i = Q i = i i = Synchronous operation table LD Operation Typ. stage Excit. x Q i = x i D i = x i Q i = i D i = i C.C. i control data state C.C. flip-flop i i x i D i i z i z i LD

10 Parallel-in/parallel-out register x 3 x 2 x x LD REG z 3 z 2 z z x 3 x 2 x x 3 2 D 3 D 2 D D LD z 3 z 2 z z Shift register x L Verilog code EN z L REG module reg_shl( input ck, input cl, input en, input xl, output zl ); reg [3:] ; Operation table, EN Operation Type x async. SHL() sync. sync. ck, negedge cl) if (cl == ) <= ; else if (en == ) <= {[2:], xl}; assign zl = [3]; endmodule

11 Shift register x L Synchronous operation table EN REG EN Operación Et. típica Et. Ex. típ. Ex. et. SHL() Q i = i- Q = x L D i = i- D = x L Q i = i Q = D i = i D = z L C.C. i control data state C.C. flip-flop i i i- D i i z i EN Shift register x L EN REG z L x L 2 3 D D D 2 D 3 EN z L

12 Contents Introduction Flip-flops Registers Counters Finite state machines Counters Introduction Registers Counters Binary up counter modulus 2n Count limiting Down counter Up/down counter Non-binary counters Design with seuential subsystems

13 Counters Similar to the register: adds count operation Design Modular design principles Easier implementation with T or JK flip-flops (simplified count operation). Typical operations Up counting Down counting Reset (clear) Count state loading Typical output Count state Count end: counter in the last count value. Binary modulus 2 n up counter Modulus Number of counter states Binary Consecutive base-2 numbers Modulus 2n Counts from to 2n- (n bits) Cyclic count First count state follows last count state (overflow)

14 Binary modulus 2 n up counter Verilog code COUNT z 3 z 2 z z module count_mod6( input ck, input cl, output [3:] z ); reg [3:] ; Operation table Operation Type async. + mod 6 sync. ck, posedge cl) if (cl == ) <= ; else <= + ; assign z = ; endmodule Binary modulus 2 n up counter Count operation

15 Binary modulus 2 n up counter with clear and enable inputs Verilog code EN COUNT z 3 z 2 z z module count_mod6( input ck, input cl, input en, output [3:] z ); reg [3:] ; Operation table, EN Operation Type x sync. + mod 6 sync. sync. ck) if (cl == ) <= ; else if (en == ) <= + ; assign z = ; endmodule End-of-count output Verilog code EN COUNT z 3 z 2 z z C module count_mod6( input ck, input cl, input en, output [3:] z, output c ); reg [3:] ; ck) if (cl == ) <= ; else if (en == ) <= + ; assign z = ; assign c = &; endmodule

16 Binary modulus 2 n up counter with load and enable inputs LD EN x 3 x 2 x x COUNT z 3 z 2 z z Verilog code module count_mod6( input ck, input ld, input en, input [3:] x, output [3:] z ); reg [3:] ; Operation table LD, EN Operation Tipo x x sync. + mod 6 sync. sync. ck) if (ld == ) <= x; else if (en == ) <= + ; assign z = ; endmodule Count limiting. BCD counter Verilog code EN BCD COUNT (-9) z 3 z 2 z z module count_mod( input ck, input cl, input en, output [3:] z, ); reg [3:] ; Operation table, EN Operation Type x sync. + mod sync. sync. ck) if (cl == ) <= ; else if (en == ) if ( == 9) <= ; else <= + ; assign z = ; endmodule

17 Modulus 2 n down counter with clear, enable and borrow Verilog code EN COUNT z 3 z 2 z z B module count_mod6( input ck, input cl, input en, output [3:] z, output cb ); reg [3:] ; Operation table, EN Operation Type x sync. - mod 6 sync. sync. ck) if (cl == ) <= ; else if (en == ) <= + - ; assign z = ; assign c b = &; &~; endmodule Up/down counter EN UD COUNT C z 3 z 2 z z Operation table, EN, UD Operation Type xx async. x sync. + mod 6 sync. - mod 6 sync.

18 Up/down counter Verilog code module rev_counter( input ck, input cl, input en, input ud, output [3:] z, output c ); reg [3:] ; ck, posedge cl) begin if (cl == ) <= ; else if (en == ) if (ud == ) <= + ; else <= - ; end assign z = ; assign c = ud? ~( ) : &; endmodule Verilog code module rev_counter2( input ck, input cl, input en, input ud, output [3:] z, output c ); reg [3:] ; reg c; ck, posedge cl) begin if (cl) <= ; else if (en) if (!ud) <= + ; else <= - ; end if (ud) else assign z = ; c = ~( ); c = &; endmodule Ring counter z 3 z 2 z z START... PR 3 2 D 3 D 2 D D z 3 z 2 z z

19 Seuence generator seuence generator with shift register. z START PR PR z D 3 D 3 D 3 D 3 Seuence generator With counter and C.C. Verilog code START COUNT module se_gen( input ck, input start, output z ); reg [:] ; reg z; C.C. z ck) if (start == ) <= ; else <= + ; START COUNT 2 3 z case () 2'h: z = 'b; 2'h: z = 'b; 2'h2: z = 'b; 2'h3: z = 'b; endcase endmodule

20 Example: de-bouncer and edge detector x de-bouncer y edge detector z x y z Example: 7S controller AN A D[3:] D D D2 A B C D seg[:7] F B D3 E F G BCD/7S G E D A B C D E F G AN should be '' for the device to work. C D 3 D 2 D D D seg[:7] ABCDEFG

21 Example: 7S controller 4 X X X2 X3 AN AN AN2 AN3 7S 7 Refresh period AN AN : 5MHz Refresh freuency: Hz - KHz AN2 AN3 Contents Introduction Flip-flops Registers Counters Finite state machines

22 Finite State Machines (FSM) x z x 2 z 2 x 3 x 4 x δ, ω z z 3 z 4 x 5... z 5... Q state S Q = δ(, x) z = ω(, x) S 2 S 3 S 4... Finite State Machine properties Starting at the same state, deterministic FSM's always generate the same output seuence for the same input seuence. Two FSM's are euivalent if they generate the same output seuence for the same input seuence. FSM's can be optimized: an euivalent FSM with a reduced number of states. The state of the machine changes depending on the input seuence so the state represents the whole set of old input symbols (history of the machine) FSM's may not be completely specified: a next state may not be defined for a given current state and input value.

23 Synchronous Seuential Circuits (SSC) FSM's are an excellent tool to model digital circuits with memory. Digital circuits with memory elements (latches) are an excellent technology to implement FSM's: Inputs/outputs: digital signals of one or more bits. State: n-bit word stored in latches Next state function: combinational functions that are applied to the inputs of the latches. Output function: combinational function. Synchronous seuential circuits are digital circuits that implement finite state machines by using combinational circuits and latches. For practical reasons, the state change is controlled by a clock signal: edge-triggered flip-flops are normally used. Synchronous Seuential Circuits (SSC) x δ, ω z x C.C. z Q Q state flip-flops Mealy x δ Q flip-flops ω z

24 Formal representations State diagrams State tables Example : barrier control x=: open y=: close z: door control (: close, : open) Example 2: single-input barrier control x= one cycle: open x= two cycles: close z: door control (: close, : open) State diagram. Mealy Nodes / B / / Arcs Represent states. State names are more or less intuitive. E.g. {A, B, C,...}, {S, S, S2,...}, {wait, start, receiving,...} / A / / D / C / Represent possible state transitions from every state (S). Named as x/z, where: x: input value that triggers the transition from state S. z: output value of the machine when in state S and input is x.

25 State table. Mealy Double input table (rows and columns) with information euivalent to the states diagram. Rows: possible states. Columns: possible input values. In each cell: corresponding next state and output. Each node in the diagram and the arcs starting at that node correspond to a row in the states table. Converting a states diagram to a states table and vice-versa is trivial. State table. Mealy / B / / x S A A, B, B C, A, / A / / C C D D, B, A, B, / D / Q,z

26 State diagram. Moore A/ E/ B/ C/ Nodes Represent states. State names are more or less intuitive. E.g. {A, B, C,...}, {S, S, S2,...}, {wait, start, receiving, } Each node includes the output value corresponding to each state. D/ Arcs Represent possible state transitions from every state (S). Named as x: input value that triggers the transition from state S. State table. Moore Double input table (rows and columns) with information euivalent to the states diagram. Rows: possible states. Columns: possible input values. Output associated to every state in last column. Optionally, output value in each cell like Mealy. Same output for every input value. Each node in the diagram and the arcs starting at that node correspond to a row in the states table. Converting a states diagram to a states table and vice-versa is trivial.

27 State table. Moore x S z B/ A A B B C A A/ E/ C/ C D D A B E D/ E A B Q Applications of the SSC Seuence detectors Output activates only when a given seuence of symbols arrive to the input. Seuence generators The output generates a fixed seuence of symbols, or a variable one depending on the input. Control units The inputs modify the state and the state defines an actuation over an external system: barrier control, temperature control, presence control, liuid level control, etc. Seuential processing The output seuence is the result of applying some operation to the input seuence: parity calculation, seuential arithmetic operations, seuential coding/decoding, etc.

28 FSM design objective Objective Define a FSM that solves a given problem. Implement the FSM using a synchronous seuential circuits. Cost Various cost criteria drive the design process Minimizing the number of memory elements Minimizing the number of devices Operation freuency Energy consumption... Need to compromise different criteria Design processes Hand process Can be done with paper and pencil. Starts with a description of the problem using a state diagram or a state table. The states table is transformed in different steps to lead to a circuit representation. Design process using Computer Aided Design (CAD) tools The problem is translated to a formal description using a hardware description language. Simulation tools are used to check that the operation of the described system is correct. Automatic synthesis tools are used to implement the actual circuit.

29 Design process using CAD tools Word description of the problem Translation State diagram LDH description Translation Test bench Simulation no ok? yes Automatic synthesis Circuit Configuration Verilog FSM descriptions Mealy x δ Q flip-flops Three processes State change: represents the flip-flop block. Next state calculation: excitation euations (δ) Output calculation: output euations (ω). Only the state change process is seuential (includes memory elements) ω z // State change process (seuential) ck, posedge reset) if (reset) state <= A; else state <= next_state; // Next state calculation process // (combinational) begin case (state) A: next_state =...; B: next_state =...;... endcase end // Output calculation process // (combinational) begin z =...; end

30 Verilog FSM. Example x ck reset z See Verilog course / B / / B/ / A / / C A/ E/ C/ / D / D/ Other FSM design styles Mealy x δ Q flip-flops ω z

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

AN INTRODUCTION TO VERILOG HDL

AN INTRODUCTION TO VERILOG HDL AN INTRODUCTION TO VERILOG HDL Departamento de Tecnología Electrónica Universidad de Sevilla Rev.7 (feb 2013) Index Introducction Part I: combinational circuits Part II: sequential circuits 2 Introducción

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

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

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

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

Modeling Sequential Circuits in Verilog

Modeling Sequential Circuits in Verilog Modeling Sequential Circuits in Verilog COE 202 Digital Logic Design Dr. Muhamed Mudawar King Fahd University of Petroleum and Minerals Presentation Outline Modeling Latches and Flip-Flops Blocking versus

More information

DIGITAL SYSTEM DESIGN

DIGITAL SYSTEM DESIGN DIGITAL SYSTEM DESIGN Prepared By: Engr. Yousaf Hameed Lab Engineer BASIC ELECTRICAL & DIGITAL SYSTEMS LAB DEPARTMENT OF ELECTRICAL ENGINEERING Digital System Design 1 Name: Registration No: Roll No: Semester:

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

Laboratory Exercise 7

Laboratory Exercise 7 Laboratory Exercise 7 Finite State Machines This is an exercise in using finite state machines. Part I We wish to implement a finite state machine (FSM) that recognizes two specific sequences of applied

More information

Chapter 5 Registers & Counters

Chapter 5 Registers & Counters University of Wisconsin - Madison ECE/Comp Sci 352 Digital Systems Fundamentals Kewal K. Saluja and Yu Hen Hu Spring 2002 Chapter 5 Registers & Counters Originals by: Charles R. Kime Modified for course

More information

Laboratory Exercise 3 Davide Rossi DEI University of Bologna AA

Laboratory Exercise 3 Davide Rossi DEI University of Bologna AA Laboratory Exercise 3 Davide Rossi DEI University of Bologna AA 2017-2018 Objectives Summary of finite state machines (Mealy, Moore) Description of FSMs in System Verilog Design of control blocks based

More information

FSM and Efficient Synthesizable FSM Design using Verilog

FSM and Efficient Synthesizable FSM Design using Verilog FSM and Efficient Synthesizable FSM Design using Verilog Introduction There are many ways to code FSMs including many very poor ways to code FSMs. This lecture offers guidelines for doing efficient coding,

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

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

Federal Urdu University of Arts, Science and Technology, Islamabad VLSI SYSTEM DESIGN. Prepared By: Engr. Yousaf Hameed.

Federal Urdu University of Arts, Science and Technology, Islamabad VLSI SYSTEM DESIGN. Prepared By: Engr. Yousaf Hameed. VLSI SYSTEM DESIGN Prepared By: Engr. Yousaf Hameed Lab Engineer BASIC ELECTRICAL & DIGITAL SYSTEMS LAB DEPARTMENT OF ELECTRICAL ENGINEERING VLSI System Design 1 LAB 01 Schematic Introduction to DSCH and

More information

Lecture 3. Behavioral Modeling Sequential Circuits. Registers Counters Finite State Machines

Lecture 3. Behavioral Modeling Sequential Circuits. Registers Counters Finite State Machines Lecture 3 Behavioral Modeling Sequential Circuits Registers Counters Finite State Machines Behavioral Modeling Behavioral Modeling Behavioral descriptions use the keyword always, followed by optional event

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

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

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

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

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

R07. Code No: V0423. II B. Tech II Semester, Supplementary Examinations, April

R07. Code No: V0423. II B. Tech II Semester, Supplementary Examinations, April SET - 1 II B. Tech II Semester, Supplementary Examinations, April - 2012 SWITCHING THEORY AND LOGIC DESIGN (Electronics and Communications Engineering) Time: 3 hours Max Marks: 80 Answer any FIVE Questions

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

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 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

Lecture 32: SystemVerilog

Lecture 32: SystemVerilog Lecture 32: SystemVerilog Outline SystemVerilog module adder(input logic [31:0] a, input logic [31:0] b, output logic [31:0] y); assign y = a + b; Note that the inputs and outputs are 32-bit busses. 17:

More information

Logic Circuits II ECE 2411 Thursday 4:45pm-7:20pm. Lecture 3

Logic Circuits II ECE 2411 Thursday 4:45pm-7:20pm. Lecture 3 Logic Circuits II ECE 2411 Thursday 4:45pm-7:20pm Lecture 3 Lecture 3 Topics Covered: Chapter 4 Discuss Sequential logic Verilog Coding Introduce Sequential coding Further review of Combinational Verilog

More information

Unit 5. Hardware description languages

Unit 5. Hardware description languages Unit 5. Hardware description languages Digital Electronic Circuits (Circuitos Electrónicos Digitales) E.T.S.I. Informática Universidad de Sevilla October, 2012 Jorge Juan 2010, 2011,

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

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

Sequential Circuit Design: Principle

Sequential Circuit Design: Principle Sequential Circuit Design: Principle Chapter 8 1 Outline 1. Overview on sequential circuits 2. Synchronous circuits 3. Danger of synthesizing asynchronous circuit 4. Inference of basic memory elements

More information

Sequential Logic Blocks

Sequential Logic Blocks Sequential Logic Blocks Output of sequential blocks depends on present state as well as on past state. Sequential circuits work with a reference which is clock. A clock signal can be of any duty cycle,

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

Digital Integrated Circuits

Digital Integrated Circuits Digital Integrated Circuits Lecture 4 Jaeyong Chung System-on-Chips (SoC) Laboratory Incheon National University BCD TO EXCESS-3 CODE CONVERTER 0100 0101 +0011 +0011 0111 1000 LSB received first Chung

More information

Why Should I Learn This Language? VLSI HDL. Verilog-2

Why Should I Learn This Language? VLSI HDL. Verilog-2 Verilog Why Should I Learn This Language? VLSI HDL Verilog-2 Different Levels of Abstraction Algorithmic the function of the system RTL the data flow the control signals the storage element and clock Gate

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

Course Topics - Outline

Course Topics - Outline Course Topics - Outline Lecture 1 - Introduction Lecture 2 - Lexical conventions Lecture 3 - Data types Lecture 4 - Operators Lecture 5 - Behavioral modeling A Lecture 6 Behavioral modeling B Lecture 7

More information

Chapter 9: Sequential Logic Modules

Chapter 9: Sequential Logic Modules Chapter 9: Sequential Logic Modules Prof. Soo-Ik Chae Digital System Designs and Practices Using Verilog HDL and FPGAs @ 2008, John Wiley 9-1 Objectives After completing this chapter, you will be able

More information

HANSABA COLLEGE OF ENGINEERING & TECHNOLOGY (098) SUBJECT: DIGITAL ELECTRONICS ( ) Assignment

HANSABA COLLEGE OF ENGINEERING & TECHNOLOGY (098) SUBJECT: DIGITAL ELECTRONICS ( ) Assignment Assignment 1. What is multiplexer? With logic circuit and function table explain the working of 4 to 1 line multiplexer. 2. Implement following Boolean function using 8: 1 multiplexer. F(A,B,C,D) = (2,3,5,7,8,9,12,13,14,15)

More information

Lectures 11 & 12: Synchronous Sequential Circuits Minimization

Lectures 11 & 12: Synchronous Sequential Circuits Minimization Lectures & 2: Synchronous Sequential Circuits Minimization. This week I noted that our seven-state edge detector machine on the left side below could be simplified to a five-state machine on the right.

More information

CSE140L: Components and Design Techniques for Digital Systems Lab. FSMs. Instructor: Mohsen Imani. Slides from Tajana Simunic Rosing

CSE140L: Components and Design Techniques for Digital Systems Lab. FSMs. Instructor: Mohsen Imani. Slides from Tajana Simunic Rosing CSE4L: Components and Design Techniques for Digital Systems La FSMs Instructor: Mohsen Imani Slides from Tajana Simunic Rosing Source: Vahid, Katz Flip-flops Hardware Description Languages and Sequential

More information

KINGS COLLEGE OF ENGINEERING DEPARTMENT OF ELECTRICAL AND ELECTRONICS ENGINEERING QUESTION BANK NAME OF THE SUBJECT: EE 2255 DIGITAL LOGIC CIRCUITS

KINGS COLLEGE OF ENGINEERING DEPARTMENT OF ELECTRICAL AND ELECTRONICS ENGINEERING QUESTION BANK NAME OF THE SUBJECT: EE 2255 DIGITAL LOGIC CIRCUITS KINGS COLLEGE OF ENGINEERING DEPARTMENT OF ELECTRICAL AND ELECTRONICS ENGINEERING QUESTION BANK NAME OF THE SUBJECT: EE 2255 DIGITAL LOGIC CIRCUITS YEAR / SEM: II / IV UNIT I BOOLEAN ALGEBRA AND COMBINATIONAL

More information

Finite State Machines

Finite State Machines Lab Workbook Introduction (FSM) are sequential circuit used in many digital systems to control the behavior of systems and dataflow paths. Examples of FSM include control units and sequencers. This lab

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

Verilog Sequential Logic. Verilog for Synthesis Rev C (module 3 and 4)

Verilog Sequential Logic. Verilog for Synthesis Rev C (module 3 and 4) Verilog Sequential Logic Verilog for Synthesis Rev C (module 3 and 4) Jim Duckworth, WPI 1 Sequential Logic Module 3 Latches and Flip-Flops Implemented by using signals in always statements with edge-triggered

More information

DIGITAL LOGIC WITH VHDL (Fall 2013) Unit 6

DIGITAL LOGIC WITH VHDL (Fall 2013) Unit 6 DIGITAL LOGIC WITH VHDL (Fall 2013) Unit 6 FINITE STATE MACHINES (FSMs) Moore Machines Mealy Machines FINITE STATE MACHINES (FSMs) Classification: Moore Machine: Outputs depend only on the current state

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

Recommended Design Techniques for ECE241 Project Franjo Plavec Department of Electrical and Computer Engineering University of Toronto

Recommended Design Techniques for ECE241 Project Franjo Plavec Department of Electrical and Computer Engineering University of Toronto Recommed Design Techniques for ECE241 Project Franjo Plavec Department of Electrical and Computer Engineering University of Toronto DISCLAIMER: The information contained in this document does NOT contain

More information

Verilog for Synthesis Ing. Pullini Antonio

Verilog for Synthesis Ing. Pullini Antonio Verilog for Synthesis Ing. Pullini Antonio antonio.pullini@epfl.ch Outline Introduction to Verilog HDL Describing combinational logic Inference of basic combinational blocks Describing sequential circuits

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

L5: Simple Sequential Circuits and Verilog

L5: Simple Sequential Circuits and Verilog L5: Simple Sequential Circuits and Verilog Courtesy of Rex Min. Used with permission. 1 Key Points from L4 (Sequential Blocks) Classification: Latch: level sensitive (positive latch passes input to output

More information

Testbenches for Sequential Circuits... also, Components

Testbenches for Sequential Circuits... also, Components ! Testbenches for Sequential Circuits... also, Components Lecture L04 18-545 Advanced Digital Design ECE Department Many elements Don Thomas, 2014, used with permission with credit to G. Larson State Transition

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

Injntu.com Injntu.com Injntu.com R16

Injntu.com Injntu.com Injntu.com R16 1. a) What are the three methods of obtaining the 2 s complement of a given binary (3M) number? b) What do you mean by K-map? Name it advantages and disadvantages. (3M) c) Distinguish between a half-adder

More information

Chapter 9: Sequential Logic Modules

Chapter 9: Sequential Logic Modules Chapter 9: Sequential Logic Modules Prof. Ming-Bo Lin Department of Electronic Engineering National Taiwan University of Science and Technology Digital System Designs and Practices Using Verilog HDL and

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

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

(ii) Simplify and implement the following SOP function using NOR gates:

(ii) Simplify and implement the following SOP function using NOR gates: DHANALAKSHMI COLLEGE OF ENGINEERING DEPARTMENT OF ELECTRONICS AND COMMUNICATION ENGINEERING EE6301 DIGITAL LOGIC CIRCUITS UNIT I NUMBER SYSTEMS AND DIGITAL LOGIC FAMILIES PART A 1. How can an OR gate be

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

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

B.10 Finite State Machines B.10

B.10 Finite State Machines B.10 B.10 Finite State Machines B-67 128-bit word needs 8. This type of code is called a Hamming code, after R. Hamming, who described a method for creating such codes. B.10 Finite State Machines B.10 As we

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

Sequential Circuit Design: Principle

Sequential Circuit Design: Principle Sequential Circuit Design: Principle Chapter 8 1 Outline 1. Overview on sequential circuits 2. Synchronous circuits 3. Danger of synthesizing async circuit 4. Inference of basic memory elements 5. Simple

More information

SUBJECT CODE: IT T35 DIGITAL SYSTEM DESIGN YEAR / SEM : 2 / 3

SUBJECT CODE: IT T35 DIGITAL SYSTEM DESIGN YEAR / SEM : 2 / 3 UNIT - I PART A (2 Marks) 1. Using Demorgan s theorem convert the following Boolean expression to an equivalent expression that has only OR and complement operations. Show the function can be implemented

More information

Laboratory Exercise 3

Laboratory Exercise 3 Laboratory Exercise 3 Latches, Flip-flops, and egisters The purpose of this exercise is to investigate latches, flip-flops, and registers. Part I Altera FPGAs include flip-flops that are available for

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

EECS150 - Digital Design Lecture 4 - Verilog Introduction. Outline

EECS150 - Digital Design Lecture 4 - Verilog Introduction. Outline EECS150 - Digital Design Lecture 4 - Verilog Introduction Feb 3, 2009 John Wawrzynek Spring 2009 EECS150 - Lec05-Verilog Page 1 Outline Background and History of Hardware Description Brief Introduction

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

Chapter 4. Digital Design and Computer Architecture, 2 nd Edition. David Money Harris and Sarah L. Harris. Chapter 4 <1>

Chapter 4. Digital Design and Computer Architecture, 2 nd Edition. David Money Harris and Sarah L. Harris. Chapter 4 <1> Chapter 4 Digital Design and Computer Architecture, 2 nd Edition David Money Harris and Sarah L. Harris Chapter 4 Chapter 4 :: Topics Introduction Combinational Logic Structural Modeling Sequential

More information

Chapter 4. Digital Design and Computer Architecture, 2 nd Edition. David Money Harris and Sarah L. Harris. Chapter 4 <1>

Chapter 4. Digital Design and Computer Architecture, 2 nd Edition. David Money Harris and Sarah L. Harris. Chapter 4 <1> Chapter 4 Digital Design and Computer Architecture, 2 nd Edition David Money Harris and Sarah L. Harris Chapter 4 Chapter 4 :: Topics Introduction Combinational Logic Structural Modeling Sequential

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

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

VERILOG: FLIP-FLOPS AND REGISTERS

VERILOG: FLIP-FLOPS AND REGISTERS VERILOG: FLIP-FLOPS AND REGISTERS Semiconductor Memories Single-bit or Memory (Foreground) Individual memory circuits that store a single bit of information and have at least a 1) data input, 2) data output,

More information

ECE 551 Digital System Design and Synthesis. Instructor: Kewal K. Saluja. Midterm Exam

ECE 551 Digital System Design and Synthesis. Instructor: Kewal K. Saluja. Midterm Exam Last (family) name: First (given) name: Student I.D. #: Department of Electrical and Computer Engineering University of Wisconsin - Madison ECE 551 Digital System Design and Synthesis Instructor: Kewal

More information

University of Technology

University of Technology University of Technology Lecturer: Dr. Sinan Majid Course Title: microprocessors 4 th year Lecture 13 Counters Overview Counters are important components in computers The increment or decrement by one

More information

INSTITUTE OF AERONAUTICAL ENGINEERING Dundigal, Hyderabad ELECTRONICS AND COMMUNICATIONS ENGINEERING

INSTITUTE OF AERONAUTICAL ENGINEERING Dundigal, Hyderabad ELECTRONICS AND COMMUNICATIONS ENGINEERING INSTITUTE OF AERONAUTICAL ENGINEERING Dundigal, Hyderabad - 00 0 ELECTRONICS AND COMMUNICATIONS ENGINEERING QUESTION BANK Course Name : DIGITAL DESIGN USING VERILOG HDL Course Code : A00 Class : II - B.

More information

Register Transfer Level in Verilog: Part I

Register Transfer Level in Verilog: Part I Source: M. Morris Mano and Michael D. Ciletti, Digital Design, 4rd Edition, 2007, Prentice Hall. Register Transfer Level in Verilog: Part I Lan-Da Van ( 范倫達 ), Ph. D. Department of Computer Science National

More information

ELCT 501: Digital System Design

ELCT 501: Digital System Design ELCT 501: Digital System Lecture 4: CAD tools (Continued) Dr. Mohamed Abd El Ghany, Basic VHDL Concept Via an Example Problem: write VHDL code for 1-bit adder 4-bit adder 2 1-bit adder Inputs: A (1 bit)

More information

Chapter 4 :: Topics. Introduction. SystemVerilog. Hardware description language (HDL): allows designer to specify logic function only.

Chapter 4 :: Topics. Introduction. SystemVerilog. Hardware description language (HDL): allows designer to specify logic function only. Chapter 4 :: Hardware Description Languages Digital Design and Computer Architecture David Money Harris and Sarah L. Harris Chapter 4 :: Topics Introduction Combinational Logic Structural Modeling Sequential

More information

MLR Institute of Technology

MLR Institute of Technology MLR Institute of Technology Laxma Reddy Avenue, Dundigal, Quthbullapur (M), Hyderabad 500 043 Course Name Course Code Class Branch ELECTRONICS AND COMMUNICATIONS ENGINEERING QUESTION BANK : DIGITAL DESIGN

More information

Digital Design Using Digilent FPGA Boards -- Verilog / Active-HDL Edition

Digital Design Using Digilent FPGA Boards -- Verilog / Active-HDL Edition Digital Design Using Digilent FPGA Boards -- Verilog / Active-HDL Edition Table of Contents 1. Introduction to Digital Logic 1 1.1 Background 1 1.2 Digital Logic 5 1.3 Verilog 8 2. Basic Logic Gates 9

More information

CHAPTER - 2 : DESIGN OF ARITHMETIC CIRCUITS

CHAPTER - 2 : DESIGN OF ARITHMETIC CIRCUITS Contents i SYLLABUS osmania university UNIT - I CHAPTER - 1 : BASIC VERILOG HDL Introduction to HDLs, Overview of Digital Design With Verilog HDL, Basic Concepts, Data Types, System Tasks and Compiler

More information

Digital Design with FPGAs. By Neeraj Kulkarni

Digital Design with FPGAs. By Neeraj Kulkarni Digital Design with FPGAs By Neeraj Kulkarni Some Basic Electronics Basic Elements: Gates: And, Or, Nor, Nand, Xor.. Memory elements: Flip Flops, Registers.. Techniques to design a circuit using basic

More information

ECE 341 Midterm Exam

ECE 341 Midterm Exam ECE 341 Midterm Exam Time allowed: 90 minutes Total Points: 75 Points Scored: Name: Problem No. 1 (10 points) For each of the following statements, indicate whether the statement is TRUE or FALSE: (a)

More information

R a) Simplify the logic functions from binary to seven segment display code converter (8M) b) Simplify the following using Tabular method

R a) Simplify the logic functions from binary to seven segment display code converter (8M) b) Simplify the following using Tabular method SET - 1 1. a) Convert the decimal number 250.5 to base 3, base 4 b) Write and prove de-morgan laws c) Implement two input EX-OR gate from 2 to 1 multiplexer (3M) d) Write the demerits of PROM (3M) e) What

More information

VALLIAMMAI ENGINEERING COLLEGE. SRM Nagar, Kattankulathur DEPARTMENT OF ELECTRONICS AND COMMUNICATION ENGINEERING EC6302 DIGITAL ELECTRONICS

VALLIAMMAI ENGINEERING COLLEGE. SRM Nagar, Kattankulathur DEPARTMENT OF ELECTRONICS AND COMMUNICATION ENGINEERING EC6302 DIGITAL ELECTRONICS VALLIAMMAI ENGINEERING COLLEGE SRM Nagar, Kattankulathur-603 203 DEPARTMENT OF ELECTRONICS AND COMMUNICATION ENGINEERING EC6302 DIGITAL ELECTRONICS YEAR / SEMESTER: II / III ACADEMIC YEAR: 2015-2016 (ODD

More information

St.MARTIN S ENGINEERING COLLEGE Dhulapally, Secunderabad

St.MARTIN S ENGINEERING COLLEGE Dhulapally, Secunderabad St.MARTIN S ENGINEERING COLLEGE Dhulapally, Secunderabad-500 014 Subject: Digital Design Using Verilog Hdl Class : ECE-II Group A (Short Answer Questions) UNIT-I 1 Define verilog HDL? 2 List levels of

More information

Speaker: Kayting Adviser: Prof. An-Yeu Wu Date: 2009/11/23

Speaker: Kayting Adviser: Prof. An-Yeu Wu Date: 2009/11/23 98-1 Under-Graduate Project Synthesis of Combinational Logic Speaker: Kayting Adviser: Prof. An-Yeu Wu Date: 2009/11/23 What is synthesis? Outline Behavior Description for Synthesis Write Efficient HDL

More information

Ripple Counters. Lecture 30 1

Ripple Counters. Lecture 30 1 Ripple Counters A register that goes through a prescribed sequence of states upon the application of input pulses is called a counter. The input pulses may be clock pulses, or they may originate from some

More information

MCMASTER UNIVERSITY EMBEDDED SYSTEMS

MCMASTER UNIVERSITY EMBEDDED SYSTEMS MCMASTER UNIVERSITY EMBEDDED SYSTEMS Computer Engineering 4DS4 Lecture Revision of Digital Systems Amin Vali January 26 Course material belongs to DrNNicolici Field programmable gate arrays (FPGAs) x x

More information

DIGITAL LOGIC DESIGN VHDL Coding for FPGAs Unit 6

DIGITAL LOGIC DESIGN VHDL Coding for FPGAs Unit 6 DIGITAL LOGIC DESIGN VHDL Coding for FPGAs Unit 6 FINITE STATE MACHINES (FSMs) Moore Machines Mealy Machines Algorithmic State Machine (ASM) charts FINITE STATE MACHINES (FSMs) Classification: Moore Machine:

More information

Date Performed: Marks Obtained: /10. Group Members (ID):. Experiment # 11. Introduction to Verilog II Sequential Circuits

Date Performed: Marks Obtained: /10. Group Members (ID):. Experiment # 11. Introduction to Verilog II Sequential Circuits Name: Instructor: Engr. Date Performed: Marks Obtained: /10 Group Members (ID):. Checked By: Date: Experiment # 11 Introduction to Verilog II Sequential Circuits OBJECTIVES: To understand the concepts

More information

VALLIAMMAI ENGINEERING COLLEGE

VALLIAMMAI ENGINEERING COLLEGE VALLIAMMAI ENGINEERING COLLEGE SRM Nagar, Kattankulathur 603 203 DEPARTMENT OF INFORMATION TECHNOLOGY & COMPUTER SCIENCE AND ENGINEERING QUESTION BANK II SEMESTER CS6201- DIGITAL PRINCIPLE AND SYSTEM DESIGN

More information

FPGA Design Challenge :Techkriti 14 Digital Design using Verilog Part 1

FPGA Design Challenge :Techkriti 14 Digital Design using Verilog Part 1 FPGA Design Challenge :Techkriti 14 Digital Design using Verilog Part 1 Anurag Dwivedi Digital Design : Bottom Up Approach Basic Block - Gates Digital Design : Bottom Up Approach Gates -> Flip Flops Digital

More information

CSCB58 - Lab 3. Prelab /3 Part I (in-lab) /2 Part II (in-lab) /2 TOTAL /8

CSCB58 - Lab 3. Prelab /3 Part I (in-lab) /2 Part II (in-lab) /2 TOTAL /8 CSCB58 - Lab 3 Latches, Flip-flops, and Registers Learning Objectives The purpose of this exercise is to investigate the fundamental synchronous logic elements: latches, flip-flops, and registers. Prelab

More information

Digital Design: An Embedded Systems Approach Using Verilog

Digital Design: An Embedded Systems Approach Using Verilog Digital Design: An Embedded Systems Approach Using Verilog Chapter 4 Sequential Basics Portions of this work are from the book, Digital Design: An Embedded Systems Approach Using Verilog, by Peter J. Ashenden,

More information

Abstraction of State Elements. Sequential Logic Implementation. Forms of Sequential Logic. Finite State Machine Representations

Abstraction of State Elements. Sequential Logic Implementation. Forms of Sequential Logic. Finite State Machine Representations Sequential ogic Implementation! Models for representing sequential circuits " Finite-state machines (Moore and Mealy) " epresentation of memory (states) " hanges in state (transitions)! Design procedure

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 Key Points from L4 (Sequential Blocks) Classification: Latch: level sensitive (positive latch passes input to output

More information