Testbenches for Sequential Circuits... also, Components
|
|
- Dinah Sims
- 6 years ago
- Views:
Transcription
1 ! Testbenches for Sequential Circuits... also, Components Lecture L Advanced Digital Design ECE Department Many elements Don Thomas, 2014, used with permission with credit to G. Larson
2 State Transition Diagram: Revisited Today's example FSM Specification Four States: JAN, FEB, MAR, APR Three Outputs: A, B, C One Input: G Reset Notation: outputs B and C are asserted JAN A G' G FEB AB G Don t care G or G' APR MAR BC G' ABC 2
3 state assignment from previous example SystemVerilog explicit FSM style module todaysfsm (input logic g, clock, reset_n, output logic a, b, c); enum logic [1:0] {JAN = 2'b00, FEB = 2'b01, MAR = 2'b10, APR = 2'b11} state, nextstate; clock, negedge reset_n) if (~reset_n) state <= JAN; else state <= nextstate; always_comb // next state generator unique case (state) JAN: nextstate = FEB; FEB: nextstate = MAR; MAR: nextstate = (g)? FEB : APR; APR: nextstate = (g)? FEB : JAN; case continued module: todaysfsm declares enumerated variables with constant values (similar to software) the state register, which follows the rules! 3
4 SystemVerilog explicit FSM style module todaysfsm (input logic g, clock, reset_n, output logic a, b, c);... stuff... Reset JAN A FEB AB always_comb // next state generator unique case (state) JAN: nextstate = FEB; FEB: nextstate = MAR; MAR: nextstate = (g)? FEB : APR; APR: nextstate = (g)? FEB : JAN; case continued G' G G module: todaysfsm APR MAR BC G' ABC 4
5 SystemVerilog explicit FSM style module todaysfsm (input logic g, clock, reset_n, output logic a, b, c);.. stuff.. Reset JAN A G' APR BC G G' FEB AB G MAR ABC always_comb begin // output logic a = 0; b = 0; c = 0; unique case (state) JAN: a = 1; FEB: {a, b} = 2'b11; MAR: begin a = 1; b = 1; c = 1; APR: begin b = 1; c = 1; case module: todaysfsm
6 The testbench How are you going to test the FSM? - S a sequence of inputs and clocks to the circuit - How do you create a sequence of inputs and clocks? An implicit FSM - looks like a program but - next state via procedural flow can use for, if, case, - output logic interspersed here, g <= 1 (or 0) output update done via <= module tb; logic clock, g; initial begin g <= 0; // initial (posedge clock); // goes to (posedge clock); // goes to (posedge clock); // goes to APR g <= (posedge clock); // goes to (posedge clock); // goes to (posedge clock); // goes to (posedge clock); // goes to MAR g <= (posedge clock); // goes to (posedge clock); // goes to (posedge clock); $finish; module: tb 6
7 Reset An implicit FSM How to read the testbench g=0 g=0 g=0 g=1 module tb; logic clock, g; initial begin g <= 0; // initial (posedge clock); // goes to (posedge clock); // goes to (posedge clock); // goes to APR g <= (posedge clock); // goes to (posedge clock); // goes to (posedge clock); // goes to (posedge clock); // goes to MAR g <= (posedge clock); // goes to (posedge clock); // goes to (posedge clock); $finish; module: clk) corresponds to a transition in the diagram at left This implicit FSM creates the sequence of clocks and inputs to define a path through every state and on every transition condition Reset Hmm, did we take every transition with every input value? JAN G' A APR BC G G' FEB G AB MAR ABC
8 Viewing the FSM Reset Testbench must still provide all FSM inputs (clock, reset) Generate clock and reset normally New Magic: use.name to get enumerated value as a string module tb; logic clock, reset_n, a, b, c, g; fsmfullyencoded dut(.*); // normal clock/reset block initial begin clock = 0; reset_n = 0; reset_n <= #1 1; forever #5 clock = ~clock; // Monitor initial begin $monitor("state=%s, in(%b), out(%b%b%b)", dut.state.name, g, a, b, c); enum logic [1:0] {JAN = 2'b00, FEB = 2'b01, MAR = 2'b10, APR = 2'b11} state, nextstate; // Generate transitions initial begin period means g <= 0; // initial value "inside" (posedge clock); // goes to FEB dut.state is (posedge clock); // goes to MAR state signal (posedge clock); // goes to APR the dut module g <= (posedge clock); // goes to (posedge clock); // goes to MAR JAN G' A APR BC G G' FEB G AB MAR ABC
9 q0 A q1 Another FSM clk rstn d1 d0 D Clk D Clk q1 q0 F module fsm (input logic A, clock, reset_n, output logic F); logic q0, q1; clock, negedge reset_n) begin if (~reset_n) {q1, q0} <= 2'b0; else begin // next state q1 <= q0 & A; q0 <= q1 A; assign F = ~(A & q1); // output logic module: fsm Slightly different description style - Combined NS logic with FSM update in always_ff - Output logic still in separate assign (or always_comb) Nothing wrong with this - Note that output logic must be separate if it s a Mealy machine 9
10 Notice the next state update q0 A q1 d1 d0 D Clk D Clk q1 q0 F 1 else begin // next state update 2 q1 <= q0 & x; 3 q0 <= q1 x; clk rstn Isn t q1 on line 3 the same value as q1 on line 2? - Can t I just write q0 <= (q0 & x) x; - no -- remember <= is a concurrent assignment - q0, q1 change simultaneously Does the update match the diagram - yes SystemVerilog will generate the logic shown 10
11 Concurrent assignment! q0 A q1 d1 d0 D Clk D Clk q1 q0 F 1 else begin // next state 2 q1 <= q0 & x; 3 q0 <= q1 x; clk rstn The point is - Both assignments are made to appear as if they happen at the same instantaneous time (the clock edge) - cause that s how they happen in real hardware - They re concurrent - Interesting I could have written lines 2 and 3 in either order 11
12 Try writing this in software To create the same behavior - need an extra temp register/variable! - Why? clk) begin q1 <= q0 & x; q0 <= q1 x; How might you write this in C? q0 A d1 D Clk q1 F for (a bunch of times) begin q1 = q0 & x; q0 = q1 x; No! printf (...stuff); q1 clk rstn d0 D Clk q0 for (a bunch of times) begin q1_temp = q0 & x; q0 = q1 x; q1 = q1_temp; printf (...stuff); 12
13 Sequential Components
14 Sequential Components Registers: Store multi-bit values Counters: Change multi-bit output value in up/down fashion Shift Registers: Change multi-bit output values in left/right fashion 14
15 Component: Register We ll use a symbol similar to this: ld_l cl_l action 0 0 N/A 0 1 load D 1 0 clear 1 1 hold Register inputs/outputs - ld_l: load enable. Only load on clock edge when asserted - cl_l: synchronously set to zero (different from reset, how?) - clock with edge specifier - D input(s) and output(s) name reset is asynchronous - Assume that only one of the control inputs can be asserted. If none are asserted, then the register holds its value - Note, we might not always show all the control inputs, or there might be added ones not shown here - there are many varieties of registers with different functions ld_l cl_l reset_l clock D 6 6 bitwidth L14 15
16 Register: SystemVerilog Let's build a register A single bit flip flop module dff (input logic d, clk, reset_l, output logic q); clk, negedge reset_l) if (~reset_l) q <= 0; else q <= d; module: dff A poor A better attempt attempt building at a 6-bit a 6-bit register register - works, - procedural but ugly style Use - But, structural the what "parameter" if style I want a keyword 20-bit register? module register module register #(parameter (input logic WIDTH [5:0] = D, 6) (input input logic logic [WIDTH-1:0] clk, reset_l, D, input output logic [5:0] ); clk, reset_l, output logic [WIDTH-1:0] ); dff always_ff clk, reset_l, clk, [0]); always_ff dff negedge clk, reset_l, reset_l) clk, [1]); dff b2(d[2], if (~reset_l) negedge clk, reset_l, reset_l) [2]); dff b3(d[3], if (~reset_l) <= 0; clk, reset_l, [3]); dff b4(d[4], else <= <= 0; clk, D; reset_l, [4]); dff b5(d[5], else <= clk, D; reset_l, [5]); module: register module: register L14 16
17 Component: Shift Register Mission: Store a multi-bit value like a register, but allow for the value to be shifted by a single position - Some Shift Registers are left-shift, others are right-shift - Some Shift Registers can shift either direction Useful for serial communication, power-of-two math Left Shift Right Shift Bits get loaded either in parallel or serial (deping on how the register was constructed) - And can be read in either form as well - PISO = Parallel In, Serial Out (PIPO, SIPO, SISO also exist) L15 17
18 Shift Register: SystemVerilog module ShiftReg_PISO_Right #(parameter w = 8) (output logic lowbit, input logic [w-1:0] d, input logic clock, ld_l, sh_l); load q q d logic [w-1:0] q; assign lowbit = q[0]; clock) if (~ld_l) q <= d; else if (~sh_l) q <= q >> 1; // SV shift operator fills // with zeros module: ShiftReg_PISO_Right shift q right 0 q Another good alternative: q <= {1'b0, q[w-1:1]}; lowbit lowbit L15 18
19 Component: Counter Mission: Increment or decrement a multi-bit value, which is stored like a register - N-bit counter: counts from zero to 2 N -1 - Counts mod 2 N : zero 2 N -1 zero Technically, an N-bit FSM with a looped state transition diagram Easier to think about as register and adder components Variations - Count down, count up/down - BCD counter: Cascadable, with a count-enable 000 clock /clear Adder D L15 19
20 SystemVerilog: Counter Features of this counter - Synchronous clear - Enable: Lets us control when it counts - Parameterizable for width defaults to four bits - Must be enabled to clear Facilitates cascading this could have been written the other way - What if nothing is enabled? Is this the only counter there is on the whole planet? - Nope, we could have one with async reset, decrement, - BCD counter is fairly common module counter #(parameter w = 4) (input logic clock, input logic clear_l, input logic enable_l, output logic [w-1:0] q); clock) if (~clear_l && ~enable_l) q <= 0; else if (~enable_l) q <= q + 1; module: counter L15 20
21 Summary Testing FSMs - Implicit FSM in the testbench <= is very, very!= to = - Non blocking vs blocking is essential to do FSMs right! Components - Register - Shift Register - Counter 21
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 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 informationLast Lecture: Divide by 3 FSM
Last Lecture: Divide by 3 FSM Output should be 1 every 3 clock cycles S2 S0 S1 The double circle indicates the reset state Slide derived from slides by Harris & Harris from their book 1 Finite State Machines
More informationCSE 502: Computer Architecture
CSE 502: Computer Architecture SystemVerilog More Resources Cannot cover everything in one day You will likely need to look up reference material: SystemVerilog for VHDL Users: http://www.systemverilog.org/techpapers/date04_systemverilog.pdf
More informationBuilding Bigger Systems: Hardware Threads
! uilding igger Systems: Hardware Threads Lecture L06 18-4 dvanced igital esign ECE epartment Many elements on Thomas, 2014, used with permission with credit to G. Larson Today We build on our knowledge
More informationECE 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 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 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 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 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 informationBuilding Bigger Systems: Interfacing
! Building Bigger Systems: Interfacing Lecture L07 18-545 Advanced Digital Design ECE Department Many elements Don Thomas, 2014, used with permission with credit to G. Larson Basic Principles Reading:
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 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 informationWriting Circuit Descriptions 8
8 Writing Circuit Descriptions 8 You can write many logically equivalent descriptions in Verilog to describe a circuit design. However, some descriptions are more efficient than others in terms of the
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 information271/469 Verilog Tutorial
271/469 Verilog Tutorial Prof. Scott Hauck, last revised 8/14/17 Introduction The following tutorial is inted to get you going quickly in circuit design in Verilog. It isn t a comprehensive guide to System
More informationCS/EE Homework 7 Solutions
CS/EE 260 - Homework 7 Solutions 4/2/2001 1. (20 points) A 4 bit twisted ring counter is a sequential circuit which produces the following sequence of output values: 0000, 1000, 1100, 1110, 1111, 0111,
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 informationHDLs and SystemVerilog. Digital Computer Design
HDLs and SystemVerilog Digital Computer Design Logic Arrays Gates can be organized into regular arrays. If the connections are made programmable, these logic arrays can be configured to perform any function
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 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 informationBlocking(=) vs Nonblocking (<=) Assignment. Lecture 3: Modeling Sequential Logic in Verilog HDL. Procedural assignments
Blocking(=) vs Nonblocking (
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 informationModeling Synchronous Logic Circuits. Debdeep Mukhopadhyay IIT Madras
Modeling Synchronous Logic Circuits Debdeep Mukhopadhyay IIT Madras Basic Sequential Circuits A combinational circuit produces output solely depending on the current input. But a sequential circuit remembers
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 informationVeriolog Overview. CS/EE 3710 Fall 2010
Veriolog Overview CS/EE 3710 Fall 2010 Hardware Description Languages HDL Designed to be an alternative to schematics for describing hardware systems Two main survivors VHDL Commissioned by DOD Based on
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 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 informationA short introduction to SystemVerilog. For those who know VHDL We aim for synthesis
A short introduction to SystemVerilog For those who know VHDL We aim for synthesis 1 Verilog & SystemVerilog 1984 Verilog invented, C-like syntax First standard Verilog 95 Extra features Verilog 2001 A
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 informationTSEA44: Computer hardware a system on a chip
TSEA44: Computer hardware a system on a chip Lecture 2: A short introduction to SystemVerilog (System)Verilog 2016-11-02 2 Assume background knowledge of VHDL and logic design Focus on coding for synthesis
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 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 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 informationSystemVerilog HDL - a programming language
SystemVerilog HDL - a programming language module hdl1; integer A, B, C; initial begin A = 3; B = 10; $display( A, B, C ); C = A+B; $display( A, B, C ); for ( A = 3 ; A > 0 ; A = A-1 ) begin C = C*B; $display(
More information!== vs.!= and === vs. ==
!== vs.!= and === vs. == In SystemVerilog, logic is a 4-state signal type with values 0, 1, X, Z. If a signal is never assigned to, ModelSim will assume that has an xxx xxx value. This means if you do
More informationIn the previous lecture, we examined how to analyse a FSM using state table, state diagram and waveforms. In this lecture we will learn how to design
1 In the previous lecture, we examined how to analyse a FSM using state table, state diagram and waveforms. In this lecture we will learn how to design a fininte state machine in order to produce the desired
More informationIn the previous lecture, we examined how to analyse a FSM using state table, state diagram and waveforms. In this lecture we will learn how to design
In the previous lecture, we examined how to analyse a FSM using state table, state diagram and waveforms. In this lecture we will learn how to design a fininte state machine in order to produce the desired
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 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 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 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 informationECE 353 Lab 4. Verilog Review. Professor Daniel Holcomb UMass Amherst Fall 2017
ECE 353 Lab 4 Verilog Review Professor Daniel Holcomb UMass Amherst Fall 2017 What You Will Do In Lab 4 Design and implement a serial MIDI receiver Hardware in an Altera Complex Programmable Logic Device
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 informationRegisters and finite state machines
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
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 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 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 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 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 informationDigital Design with SystemVerilog
Digital Design with SystemVerilog Prof. Stephen A. Edwards Columbia University Spring 24 Synchronous Digital Design Combinational Logic Sequential Logic Summary of Modeling Styles Example: Bresenham s
More information271/471 Verilog Tutorial
271/471 Verilog Tutorial Prof. Scott Hauck, last revised 9/15/14 Introduction The following tutorial is inted to get you going quickly in circuit design in Verilog. It isn t a comprehensive guide to System
More informationFinite-State Machine (FSM) Design
1 Finite-State Machine (FSM) Design FSMs, an important category of sequential circuits, are used frequently in designing digital systems. From the daily used electronic machines to the complex digital
More informationA short introduction to SystemVerilog. For those who know VHDL We aim for synthesis
A short introduction to SystemVerilog For those who know VHDL We aim for synthesis 1 Verilog & SystemVerilog 1984 Verilog invented, C-like syntax First standard Verilog 95 Extra features Verilog 2001 A
More informationLecture 4: Modeling in VHDL (Continued ) EE 3610 Digital Systems
EE 3610: Digital Systems 1 Lecture 4: Modeling in VHDL (Continued ) Sequential Statements Use Process process (sensitivity list) variable/constant declarations Sequential Statements end process; 2 Sequential
More informationVerilog Behavioral Modeling
Verilog Behavioral Modeling Lan-Da Van ( 范倫達 ), Ph. D. Department of Computer Science National Chiao Tung University Taiwan, R.O.C. Spring, 2017 ldvan@cs.nctu.edu.tw http://www.cs.nctu.edu.tw/~ldvan/ Source:
More informationCS6710 Tool Suite. Verilog is the Key Tool
CS6710 Tool Suite Verilog-XL Behavioral Verilog Your Library Cadence SOC Encounter Synopsys Synthesis Structural Verilog Circuit Layout CSI Verilog-XL AutoRouter Cadence Virtuoso Layout LVS Layout-XL Cadence
More informationHardware Description Languages. Veriolog Overview. CS/EE 3710 Fall Verilog. Verilog Origins. Quick Review (2001 syntax) Quick Review HDL
Veriolog Overview CS/EE 3710 Fall 2010 Hardware Description Languages HDL Designed to be an alternative to schematics for describing hardware systems Two main survivors VHDL Commissioned by DOD ased on
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 informationSequential Logic - Module 5
Sequential Logic Module 5 Jim Duckworth, WPI 1 Latches and Flip-Flops Implemented by using signals in IF statements that are not completely specified Necessary latches or registers are inferred by the
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 informationIn this lecture, we will go beyond the basic Verilog syntax and examine how flipflops and other clocked circuits are specified.
1 In this lecture, we will go beyond the basic Verilog syntax and examine how flipflops and other clocked circuits are specified. I will also introduce the idea of a testbench as part of a design specification.
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 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 informationVHDL. VHDL History. Why VHDL? Introduction to Structured VLSI Design. Very High Speed Integrated Circuit (VHSIC) Hardware Description Language
VHDL Introduction to Structured VLSI Design VHDL I Very High Speed Integrated Circuit (VHSIC) Hardware Description Language Joachim Rodrigues A Technology Independent, Standard Hardware description Language
More informationStandard Gotchas Subtleties in the Verilog and SystemVerilog Standards That Every Engineer Should Know
Standard Gotchas Subtleties in the Verilog and SystemVerilog Standards That Every Engineer Should Know Stuart Sutherland Sutherland HDL, Inc. stuart@sutherland-hdl.com Don Mills Microchip Technology don.mills@microchip.com
More informationBulletproofing FSM Verification Automated Approach to Detect Corner Case Issues in an FSM Design
Bulletproofing FSM Verification Automated Approach to Detect Corner Case Issues in an FSM Design Lisa Piper Technical Marketing Real Intent Inc., Sunnyvale, CA Comprehensive verification of Finite State
More informationECE Digital Design Laboratory. Lecture 3 Finite State Machines!
ECE 4401 - Digital Design Laboratory Lecture 3 Finite State Machines! 1!!!! Synchronous Sequential Circuits!!! Synchronous sequential logic circuits are realized using combinational logic and storage elements
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 informationSummary of FPGA & VHDL
FYS4220/9220 Summary of FPGA & VHDL Lecture #6 Jan Kenneth Bekkeng, University of Oslo - Department of Physics 16.11.2011 Curriculum (VHDL & FPGA part) Curriculum (Syllabus) defined by: Lectures Lecture6:
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 informationVerilog Overview. The Verilog Hardware Description Language. Simulation of Digital Systems. Simulation of Digital Systems. Don Thomas, 1998, Page 1
The Verilog Hardware Description Language These slides were created by Prof. Don Thomas at Carnegie Mellon University, and are adapted here with permission. The Verilog Hardware Description Language, Fifth
More informationEECS 470 Lab 3. SystemVerilog Style Guide. Department of Electrical Engineering and Computer Science College of Engineering University of Michigan
EECS 470 Lab 3 SystemVerilog Style Guide Department of Electrical Engineering and Computer Science College of Engineering University of Michigan Thursday, 18 th January 2018 (University of Michigan) Lab
More informationMicrocomputers. Outline. Number Systems and Digital Logic Review
Microcomputers Number Systems and Digital Logic Review Lecture 1-1 Outline Number systems and formats Common number systems Base Conversion Integer representation Signed integer representation Binary coded
More informationTwo HDLs used today VHDL. Why VHDL? Introduction to Structured VLSI Design
Two HDLs used today Introduction to Structured VLSI Design VHDL I VHDL and Verilog Syntax and ``appearance'' of the two languages are very different Capabilities and scopes are quite similar Both are industrial
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 informationLab 1.5 (Warmup): Synthesis Workflow and SystemVerilog Register File Not Due
CMU 18-447: Introduction to Computer Architecture Lab 1.5 (Warmup): Synthesis Workflow and SystemVerilog Register File Not Due In this tutorial, you will take a quick tour of the tools we will use in this
More informationExample Best and Median Results
Example Best and Median Results Targeting Delay Only: effectively create 16 SHA256 units to work in parallel Targeting Area*Delay: effectively use one SHA256 unit to enumerate 16 nonces Best Delay Only
More informationParallel versus serial execution
Parallel versus serial execution F assign statements are implicitly parallel Ì = means continuous assignment Ì Example assign E = A & D; assign A = B & C; Ì A and E change if B changes F always blocks
More 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 information(System)Verilog Tutorial Aleksandar Milenković
(System)Verilog Tutorial Aleksandar Milenković The LaCASA Laboratory Electrical and Computer Engineering Department The University of Alabama in Huntsville Email: milenka@ece.uah.edu Web: http://www.ece.uah.edu/~milenka
More informationHDL Design Cube. Synthesis and VHDL
HDL Design Cube time causality (algorithmic level) timing clock related (register-transfer level) propagation delay (gate level) structure dataflow behavior bit values view composite bit values values
More informationThe UNIVERSITY of NORTH CAROLINA at CHAPEL HILL
The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL Comp 541 Digital Logic and Computer Design Prof. Montek Singh Fall 2017 Lab #3A: Sequential Design: Counters Issued Wed 9/6/17; Due Wed 9/13/17 (11:59pm)
More informationCS6710 Tool Suite. Verilog is the Key Tool. Verilog as HDL (AHT) Verilog has a Split Personality. Quick Review. Synthesis
CS6710 Tool Suite Verilog is the Key Tool Verilog-XL Behavioral Verilog Your Library AutoRouter Cadence SOC Encounter Cadence Virtuoso Layout Synopsys Synthesis Circuit Layout CSI LVS Layout-XL Structural
More informationA Brief Introduction to Verilog Hardware Definition Language (HDL)
www.realdigital.org A Brief Introduction to Verilog Hardware Definition Language (HDL) Forward Verilog is a Hardware Description language (HDL) that is used to define the structure and/or behavior of digital
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 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 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 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 informationSequential Logic. Reminder: Lab #2 due Thursday Fall 2016 Lecture 4
Sequential Logic Digital state: the D-Register Timing constraints for D-Registers Specifying registers in Verilog Blocking and nonblocking assignments Examples Reminder: Lab #2 due Thursday 1 Use Explicit
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 informationMASSACHUSETTS INSTITUTE OF TECHNOLOGY Department of Electrical Engineering and Computer Sciences
MASSACHUSETTS INSTITUTE OF TECHNOLOGY Department of Electrical Engineering and Computer Sciences Introductory Digital Systems Lab (6.111) uiz - Spring 2004 Prof. Anantha Chandrakasan Student Name: Problem
More informationTopics. Midterm Finish Chapter 7
Lecture 9 Topics Midterm Finish Chapter 7 ROM (review) Memory device in which permanent binary information is stored. Example: 32 x 8 ROM Five input lines (2 5 = 32) 32 outputs, each representing a memory
More informationVerilog Overview. The Verilog Hardware Description Language. Simulation of Digital Systems. Simulation of Digital Systems. Don Thomas, 1998, Page 1
The Verilog Hardware Description Language These slides were created by Prof. Don Thomas at Carnegie Mellon University, and are adapted here with permission. The Verilog Hardware Description Language, Fifth
More informationVerilog HDL. Testing & Verification Dept. of Computer Science & Engg,, IIT Kharagpur
Verilog HDL Testing & Verification Dept. of Computer Science & Engg,, IIT Kharagpur Pallab Dasgupta Professor, Dept. of Computer Science & Engg., Professor-in in-charge, AVLSI Design Lab, Indian Institute
More informationWhat, If Anything, In SystemVerilog Will Help Me With FPGA-based Design. Stuart Sutherland, Consultant and Trainer, Sutherland HDL, Inc.
What, If Anything, In SystemVerilog Will Help Me With FPGA-based Design Stuart Sutherland, Consultant and Trainer, Sutherland HDL, Inc. About the Presenter... Stuart Sutherland, SystemVerilog wizard Independent
More informationOverview. Ram vs Register. Register File. Introduction to Structured VLSI Design. Recap Operator Sharing FSMD Counters.
Overview Introduction to Structured VLSI Design VHDL V Recap Operator Sharing FSMD Counters Joachim Rodrigues Ram vs Register Register File RAM characteristics RAM cell designed at transistor level Cell
More informationDiscussion Session 6. CS/ECE 552 Ramkumar Ravi 05 Mar 2012
Discussion Session 6 CS/ECE 552 Ramkumar Ravi 05 Mar 2012 CS/ECE 552, Spring 2012 Introduction Rules for HW are up-> Please follow instructions HW3 is due on 03/07 EXPLORING FIFO MIDTERM REVIEW 03/06,
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 information