Registers and finite state machines
|
|
- Oscar Miller
- 5 years ago
- Views:
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 * 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 informationAN 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 informationECE 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 informationEECS150 - 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 informationEE178 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 informationQuick 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 informationModeling 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 informationDIGITAL 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 informationECE 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 informationLaboratory 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 informationChapter 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 informationLaboratory 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 informationFSM 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 informationBlocking(=) vs Nonblocking (<=) Assignment. Lecture 3: Modeling Sequential Logic in Verilog HDL. Procedural assignments
Blocking(=) vs Nonblocking (
More informationSequential 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 informationGraduate 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 informationFederal 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 informationLecture 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 informationEE 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 informationECE 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 informationRTL 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 informationECE 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 informationControl 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 informationR07. 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 informationMealy 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 informationLast 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 informationVerilog 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 informationLecture 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 informationLogic 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 informationUnit 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 informationECE 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 informationDigital 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 informationSequential 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 informationSequential 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 informationEPC6055 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 informationDigital 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 informationWhy 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 informationVerilog 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 informationCourse 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 informationChapter 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 informationHANSABA 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 informationLectures 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 informationCSE140L: 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 informationKINGS 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 informationFinite 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 informationGraduate 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 informationVerilog 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 informationDIGITAL 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 informationGeneral 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 informationRecommended 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 informationVerilog 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 informationEECS150 - 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 informationL5: 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 informationTestbenches 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 informationOutline. 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 informationInjntu.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 informationChapter 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 informationECE 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 informationDigital 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:
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 informationL5: 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 informationTechniques 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 informationB.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 informationFinite 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 informationSequential 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 informationSUBJECT 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 informationLaboratory 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 informationDigital 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 informationEECS150 - 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 informationThe 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 informationChapter 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 informationChapter 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 informationSynthesizable 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 informationGeneral 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 informationVERILOG: 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 informationECE 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 informationUniversity 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 informationINSTITUTE 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 informationRegister 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 informationELCT 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 informationChapter 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 informationMLR 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 informationDigital 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 informationCHAPTER - 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 informationDigital 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 informationECE 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 informationR 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 informationVALLIAMMAI 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 informationSt.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 informationSpeaker: 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 informationRipple 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 informationMCMASTER 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 informationDIGITAL 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 informationDate 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 informationVALLIAMMAI 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 informationFPGA 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 informationCSCB58 - 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 informationDigital 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 informationAbstraction 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 informationL5: 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