Problem Set 3 Solutions

Size: px
Start display at page:

Download "Problem Set 3 Solutions"

Transcription

1 Problem Set 3 Solutions ECE 551: Digital System Design and Synthesis Fall 2001 Final Version 1) For each of the following always behaviors: a) Does the given always behavior need a default statement as a part of the case? Explain your answer. All of the LHS variables have been declared as reg type. The first always block does not need a default entry in the case statement because the two assignments to z1 and z2 effectively act as a default entry. However, the second always block needs a default entry for the case statement because if y = 2 b11, then the previous value of z1 and z2 are latched. This leads to inferred latches in a design when it is synthesized. Actually, z1 and z2 have inferred latches due to the incomplete specification for the two branches of the if, but that was not the point of this problem. b) What is the result of the execution of the always for y = 10 and x = 0 assuming that if a default is needed it is z1 = z2 = 2 b00? 1) always@(y or x) z1 = 2 b0; z2 = 2 b1; case(y) 2 b00: z1 = 2 b01; 2 b01: z2 = 2 b00; 2 b10: if (x) z1 = 2 b11; z2 = 2 b10; case z1 = 2 b00; z2 = 2 b10; 2) always@(y or x) case(y) 2 b00: z1 = 2 b01; 2 b01: z2 = 2 b00; 2 b10: if (x) z1 = 2 b11; z2 = 2 b10; case 1 of 15

2 z1 = 2 bxx; z2 = 2 b10; Note that the value for z1 is unknown since z1 is stored in latches and its prior value has not been specified. 2) Write a Verilog task that uses a for loop to describe an iterative combinational circuit that compares two 8-bit operands A and B for equality E, and greater than G. Instantiate the task in a testbench and simulate it for operands such that every bit of A and B take on value 1 and 0 sometime during the test and the outputs E and G take on all four (actually three) possible combinations. Submission: Verilog code, testbench code and simulation results. Verilog Code module FOR (A, B, E, G); input [8:1] A, B; output E, G; reg E, G; always@(a or B) COMPARE(A, B, E, G); task COMPARE; input [8:1] A, B; output E, G; reg E, G; integer i; task module E = 1'b1; G = 1'b0; for(i=8; i; i=i-1) if ((A[i] > B[i]) && (E == 1'b1)) G = 1'b1; if (A[i]!= B[i]) E = 1'b0; //G = 1'b0; Testbench module tfor; 2 of 15

3 reg [8:1] A, B; wire E, G; initial A <= 8'b0000_0000; B <= 8'b0000_0000; #10 B <= 8'b0000_0001; #10 B <= 8'b0000_0011; #10 B <= 8'b0000_0111; #10 B <= 8'b0000_1111; #10 B <= 8'b0001_1111; #10 B <= 8'b0011_1111; #10 B <= 8'b0111_1111; #10 B <= 8'b1111_1111; #10 A <= 8'b0000_0001; #10 A <= 8'b0000_0011; #10 A <= 8'b0000_0111; #10 A <= 8'b0000_1111; #10 A <= 8'b0001_1111; #10 A <= 8'b0011_1111; #10 A <= 8'b0111_1111; #10 A <= 8'b1111_1111; #10 B <= 8'b1111_1110; #10 B <= 8'b1111_1100; #10 B <= 8'b1111_1000; #10 B <= 8'b1111_0000; #10 B <= 8'b1110_0000; #10 B <= 8'b1100_0000; #10 B <= 8'b1000_0000; #10 B <= 8'b0000_0000; #10 A <= 8'b1111_1110; #10 A <= 8'b1111_1100; #10 A <= 8'b1111_1000; #10 A <= 8'b1111_0000; #10 A <= 8'b1110_0000; #10 A <= 8'b1100_0000; #10 A <= 8'b1000_0000; #10 A <= 8'b0000_0000; #10 $stop; FOR inst(a, B, E, G); module List File ns A B E G St1 St St0 St St0 St St0 St St0 St St0 St St0 St St0 St St0 St0 3 of 15

4 St0 St St0 St St0 St St0 St St0 St St0 St St0 St St1 St St0 St St0 St St0 St St0 St St0 St St0 St St0 St St0 St St0 St St0 St St0 St St0 St St0 St St0 St St0 St St1 St0 3) Write a Verilog function odd(f1,f2,f3,f4) for the following Boolean function where the operands and result are a single bit, instantiate it in a test bench, and simulate it for all possible 16 input combinations using a sequential circuit that counts up from 0 to 15 as the stimulus. Submission: Verilog code, testbench code and simulation results. ( F1 F2) F3 F4 Verilog/Testbench Code module todd; reg Y; reg F1, F2, F3, F4; reg clk; initial F1 <= 1'b0; F2 <= 1'b0; F3 <= 1'b0; F4 <= 1'b0; clk <= 1'b0; #310 $stop; always 4 of 15

5 #10 clk = ~clk; always@(posedge clk) {F4,F3,F2,F1} = {F4,F3,F2,F1} + 1'b1; always@(f1 or F2 or F3 or F4) Y = ODD(F1,F2,F3,F4); function ODD; input f1, f2, f3, f4; ODD = (f1^f2)^f3~^f4; function module List File ns Y F2 F4 F1 F3 clk of 15

6 4) The state diagram for an FSM is given below. The clock is clk and the output Y is two bits and output Z is one bit. a) Write three explicit FSM descriptions for this state diagram in Verilog: a) one with separate always behaviors for (1) the state register and (2) the combined next state logic and output logic; //Design #1 Code module FSM2 (clk, control, run, Reset, Y, Z); input clk, control, run, Reset; output [2:0] Y; output Z; reg [2:0] Y; reg Z; reg [3:0] state, next_state; parameter ST0 = 4'b0001, ST1 = 4'b0010, ST2 = 4'b0100, ST3 = 4'b1000; always@(posedge clk or posedge Reset) if(reset) Z <= 1'b0; Y <= 3'b100; state <= ST0; state <= next_state; or control or run) case(state) ST0: Z = 1'b0; Y = 3'b100; if(run) next_state = ST3; next_state = ST0; ST1: Z = 1'b0; Y = 3'b011; next_state = ST0; ST2: Z = 1'b0; Y = 3'b010; next_state = ST1; ST3: Y = 3'b001; if(control) next_state = ST2; Z = 1'b0; 6 of 15

7 next_state = ST1; Z = 1'b1; default: next_state = ST0; Y = 3'b100; Z = 1'b0; case module b) one with separate always behaviors for (1) the state register, (2) the next state logic, and (3) the output logic with registered outputs; and // Design #2 Code module FSM3 (clk, control, run, Reset, Y, Z); input clk, control, run, Reset; output [2:0] Y; output Z; reg [2:0] Y; reg Z; reg [3:0] state, next_state; parameter ST0 = 4'b0001, ST1 = 4'b0010, ST2 = 4'b0100, ST3 = 4'b1000; always@(posedge clk or posedge Reset) if(reset) Z <= 1'b0; Y <= 3'b100; state <= ST0; state <= next_state; always@(state or run or control) case(state) ST0: if(run) next_state = ST3; next_state = ST0; ST1: next_state = ST0; ST2: next_state = ST1; ST3: if(control) next_state = ST2; 7 of 15

8 next_state = ST1; default: next_state = ST0; case clk or posedge Reset) case(state) ST0: if(run) Y <= 3'b001; Y <= 33'b100; ST1: Y <= 3'b100; Z <= 1'b0; ST2: Y <= 3'b011; ST3: if(control) Y <= 3'b010; Y <= 3'b011; Z <= 1'b1; default: Y <= 3'b100; Z <= 1'b0; case module c) one with a single combined always for the state register, next state logic, output logic, and registered outputs. The registered outputs are permitted to provide an output for Z that is delayed by a clock cycle, but the output for Y must not be delayed. Use a case statement for determining the effect of state on the behavior. The state codes are: ST0 = 0001, ST1 = 0010, ST2 = 0100, and ST3 = // Design #3 Code module FSM1 (clk, control, run, Reset, Y, Z); input clk, control, run, Reset; output [2:0] Y; output Z; reg [2:0] Y; reg Z; reg [3:0] state, next_state; parameter ST0 = 4'b0001, ST1 = 4'b0010, ST2 = 4'b0100, 8 of 15

9 ST3 = 4'b1000; always@(posedge clk or posedge Reset) if(reset) state <= ST0; Y <= 3'b100; Z <= 1'b0; case(state) ST0: if(run) state <= ST3; Y <= 3'b001; ST1: state <= ST0; Y <= 3'b100; Z <= 1'b0; ST2: state <= ST1; Y <= 3'b011; ST3: if(control) state <= ST2; Y <= 3'b010; state <= ST1; Y <= 3'b011; Z <= 1'b1; default: state <= ST0; Y <= 3'b100; Z <= 1'b0; case module c) Write a testbench that can be used to simulate all of your circuits. The testbench should provide an input sequence and clk so that every transition in the state diagram is exercised. Perform the simulation and annotate results to show that the functions of each of the three designs match the state diagram. Submission: Verilog code for each design, testbench code and annotated simulation results. 9 of 15

10 //Testbench Code module tfsm; wire [2:0] Y1, Y2, Y3; wire Z1, Z2, Z3; reg clk, control, run, Reset; wire unequal; reg error, Z1d; assign unequal = (Y1!== Y2) (Y2!== Y3) (Y3!== Y1) (Z1d!== Z2) (Z2!== Z3) (Z3!== Z1d); always@(posedge clk) error = error unequal; initial clk = 1'b0; error = 1'b0; control = 1'b0; run = 1'b0; Reset = 1'b0; #3 Reset = 1'b1; #10 Reset = 1'b0; #10 run = 1'b1; #10 control = 1'b1; run = 1'b0; #10 #10 Reset = 1'b1; #10 run = 1'b1; Reset = 1'b0; #10 control = 1'b0; #10 #10 $stop; always #5 clk = ~clk; /* The following always provides a delayed version Z for Design #1 for comparison purposes */ always@(posedge clk or posedge Reset) if (Reset) Z1d <= 1'b0; Z1d <= Z1; 10 of 15

11 FSM2 inst1(clk, control, run, Reset, Y1, Z1); FSM3 inst2(clk, control, run, Reset, Y2, Z2); FSM1 inst3(clk, control, run, Reset, Y3, Z3); Endmodule List File ns /tfsm/clk /tfsm/y2 /tfsm/z2 /tfsm/reset /tfsm/y3 /tfsm/unequal /tfsm/run /tfsm/z1 /tfsm/error /tfsm/y1 /tfsm/z1d /tfsm/z xxx xxx 0 x x x ) An unsigned integer multiplier that multiplies the contents of two 8- bit operands A and B to produce a 16-bit result Y is to be designed. A is the mulitplicand and B is the multiplier. An add-right shift sequential algorithm synchronous with a clock clk that retires one bit of the multiplier B least significant bit first per clock cycle is to be used. A and B are inputs to the multiplier that are held during the multiplication by external circuitry. Y is a 16-bit register that holds the result and is used for temporary storage during the multiplication. The multiply operation starts in response to an input signal domu = 1 and when it is finished sets an output signal alldone to 1 on the same positive clock edge that the final result loads into Y. alldone is reset to 0 on the next positive clock edge after domu becomes 1. a) Write a Verilog description for the multiplier that uses a single always behavior for both the datapath and control. Additional 11 of 15

12 sequential components not described here will be needed for the control. Verilog Code module MULT (clk, reset, domu, A, B, Y, alldone); // A has been used as the multiplier and B as the multiplicand. input clk, reset, domu; input [7:0] A, B; output [15:0] Y; output alldone; reg [15:0] Y; reg alldone; reg state, C; reg [2:0] P; parameter IDLE = 1'b0, MUL = 1'b1; //assign alldone = ~ P; // state register always@(posedge clk or posedge reset) if(reset) state <= IDLE; case(state) IDLE: if(domu) alldone <= 1'b0; C <= 1'b0; Y <= {8'b0000_0000, A}; P <= 3'b111; state <= MUL; MUL: if(y[0]==1'b1) {C, Y[15:8]} = Y[15:8] + B; Y <= {C, Y[15:1]}; C <= 1'b0; if(p) P <= P - 3'b001; alldone <= 1'b1; state <= IDLE; case 12 of 15

13 module b) Write a testbench for your multiplier that applies operands A and B that are good values for testing operations (be sure that an overflow occurs in the add that gets handled correctly by the shift) and manipulates domu at the right times. Show what happens if domu changes during the multiply operation execution. Testbench Code module tmult; reg clk, reset, domu; reg [7:0] A, B; wire [15:0] Y; wire alldone; MULT inst(clk, reset, domu, A, B, Y, alldone); initial clk = 1'b0; domu = 1'b0; A = 8'h00; B = 8'h00; reset = 1'b0; #3 reset = 1'b1; #10 reset = 1'b0; #10 domu = 1'b1; #10 domu = 1'b0; #20 domu = 1'b1; #60 domu = 1'b0; #10 domu = 1'b1; A = 8'hff; B = 8'h10; #10 domu = 1'b0; #90 domu = 1'b1; A = 8'h10; B = 8'hff; #10 domu = 1'b0; #90 domu = 1'b1; A = 8'h09; B = 8'h0f; #10 domu = 1'b0; #90 $stop; always #5 clk = ~clk; module List File ns clk A B Y reset alldone domu xxxxxxxxxxxxxxxx StX xxxxxxxxxxxxxxxx StX xxxxxxxxxxxxxxxx StX xxxxxxxxxxxxxxxx StX 13 of 15

14 xxxxxxxxxxxxxxxx StX xxxxxxxxxxxxxxxx StX xxxxxxxxxxxxxxxx StX xxxxxxxxxxxxxxxx StX St St St St St St St St St St St St St St St St St St St St St St St St St St St St St St St St St St St St St St St St St St St St St St St St St St St St0 14 of 15

15 St St St St St St St St St St St St St St St St St St St St St St St St St St St St St St St St St St St St St1 15 of 15

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

Problem Set 2 Solutions

Problem Set 2 Solutions Problem Set 2 Solutions ECE 551: Digital System Design and Synthesis Fall 2001 1. A tabular description and a known good behavioral specification is given for a priority encoder. x indicates don t care

More information

Synthesis of Language Constructs. 5/10/04 & 5/13/04 Hardware Description Languages and Synthesis

Synthesis of Language Constructs. 5/10/04 & 5/13/04 Hardware Description Languages and Synthesis Synthesis of Language Constructs 1 Nets Nets declared to be input or output ports are retained Internal nets may be eliminated due to logic optimization User may force a net to exist trireg, tri0, tri1

More information

ECEN 468 Advanced Logic Design

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

More information

ECE 353 Lab 3 (Verilog Design Approach)

ECE 353 Lab 3 (Verilog Design Approach) ECE 353 Lab 3 (Verilog Design Approach) Prof Daniel Holcomb Recall What You Will Do Design and implement a serial MIDI receiver Hardware in an Altera Complex Programmable Logic Device (CPLD) MAX 7000S

More information

ECE 353 Lab 4. Verilog Review. Professor Daniel Holcomb With material by Professor Moritz and Kundu UMass Amherst Fall 2016

ECE 353 Lab 4. Verilog Review. Professor Daniel Holcomb With material by Professor Moritz and Kundu UMass Amherst Fall 2016 ECE 353 Lab 4 Verilog Review Professor Daniel Holcomb With material by Professor Moritz and Kundu UMass Amherst Fall 2016 Recall What You Will Do Design and implement a serial MIDI receiver Hardware in

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

Modeling of Finite State Machines. Debdeep Mukhopadhyay

Modeling of Finite State Machines. Debdeep Mukhopadhyay Modeling of Finite State Machines Debdeep Mukhopadhyay Definition 5 Tuple: (Q,Σ,δ,q 0,F) Q: Finite set of states Σ: Finite set of alphabets δ: Transition function QχΣ Q q 0 is the start state F is a set

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

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

Register Transfer Level Design. Topics. Register Transfer Level Notation. Chapter 8 Steve Oldridge Dr. Sidney Fels. A Circuit is described as:

Register Transfer Level Design. Topics. Register Transfer Level Notation. Chapter 8 Steve Oldridge Dr. Sidney Fels. A Circuit is described as: Register Transfer Level Design Chapter 8 Steve Oldridge Dr. Sidney Fels Topics RTL Notation RTL in HDL Algorithmic State Machines Sequential Binary Multiplier Control Logic HDL Design with Multiplexors

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

ECEN : Microprocessor System Design Department of Electrical and Computer Engineering Texas A&M University. Homework #1 Solutions

ECEN : Microprocessor System Design Department of Electrical and Computer Engineering Texas A&M University. Homework #1 Solutions ECEN 449 749: Microprocessor System Design Department of Electrical and Computer Engineering Texas A&M University Homework #1 Solutions Upload your homework solution to ecampus as a single pdf file. Your

More information

Hardware Description Languages (HDLs) Verilog

Hardware Description Languages (HDLs) Verilog Hardware Description Languages (HDLs) Verilog Material from Mano & Ciletti book By Kurtulus KULLU Ankara University What are HDLs? A Hardware Description Language resembles a programming language specifically

More information

EECS150 - Digital Design Lecture 7 - Computer Aided Design (CAD) - Part II (Logic Simulation) Finite State Machine Review

EECS150 - Digital Design Lecture 7 - Computer Aided Design (CAD) - Part II (Logic Simulation) Finite State Machine Review EECS150 - Digital Design Lecture 7 - Computer Aided Design (CAD) - Part II (Logic Simulation) Feb 9, 2010 John Wawrzynek Spring 2010 EECS150 - Lec7-CAD2 Page 1 Finite State Machine Review State Transition

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

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

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 6 - Logic Simulation

EECS150 - Digital Design Lecture 6 - Logic Simulation EECS150 - Digital Design Lecture 6 - Logic Simulation Sep. 17, 013 Prof. Ronald Fearing Electrical Engineering and Computer Sciences University of California, Berkeley (slides courtesy of Prof. John Wawrzynek)

More information

Hardware Description Language (HDL)

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

More information

Writing Circuit Descriptions 8

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

CSE140L: Components and Design Techniques for Digital Systems Lab

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

More information

Schematic design. Gate level design. 0 EDA (Electronic Design Assistance) 0 Classical design. 0 Computer based language

Schematic design. Gate level design. 0 EDA (Electronic Design Assistance) 0 Classical design. 0 Computer based language 1 / 15 2014/11/20 0 EDA (Electronic Design Assistance) 0 Computer based language 0 HDL (Hardware Description Language) 0 Verilog HDL 0 Created by Gateway Design Automation Corp. in 1983 First modern hardware

More information

Amrita Vishwa Vidyapeetham. EC429 VLSI System Design Answer Key

Amrita Vishwa Vidyapeetham. EC429 VLSI System Design Answer Key Time: Two Hours Amrita Vishwa Vidyapeetham B.Tech Second Assessment March 2013 Eighth Semester Electrical and Electronics Engineering EC429 VLSI System Design Answer Key Answer all Questions Roll No: Maximum:

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

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

Announcements. Midterm 2 next Thursday, 6-7:30pm, 277 Cory Review session on Tuesday, 6-7:30pm, 277 Cory Homework 8 due next Tuesday Labs: project

Announcements. Midterm 2 next Thursday, 6-7:30pm, 277 Cory Review session on Tuesday, 6-7:30pm, 277 Cory Homework 8 due next Tuesday Labs: project - Fall 2002 Lecture 20 Synthesis Sequential Logic Announcements Midterm 2 next Thursday, 6-7:30pm, 277 Cory Review session on Tuesday, 6-7:30pm, 277 Cory Homework 8 due next Tuesday Labs: project» Teams

More information

Midterm Exam Thursday, October 24, :00--2:15PM (75 minutes)

Midterm Exam Thursday, October 24, :00--2:15PM (75 minutes) Last (family) name: Answer Key First (given) name: Student I.D. #: Department of Electrical and Computer Engineering University of Wisconsin - Madison ECE 551 Digital System Design and Synthesis Midterm

More information

CSE140L: Components and Design

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

More information

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

Digital Integrated Circuits

Digital Integrated Circuits Digital Integrated Circuits Lecture 5 Jaeyong Chung System-on-Chips (SoC) Laboratory Incheon National University MULTIPLE initial/always In C (single-threaded), a single statement is being executed at

More information

In this lecture, we will go beyond the basic Verilog syntax and examine how flipflops and other clocked circuits are specified.

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

Introduction to Verilog HDL. Verilog 1

Introduction to Verilog HDL. Verilog 1 Introduction to HDL Hardware Description Language (HDL) High-Level Programming Language Special constructs to model microelectronic circuits Describe the operation of a circuit at various levels of abstraction

More information

EEL 4783: HDL in Digital System Design

EEL 4783: HDL in Digital System Design EEL 4783: HDL in Digital System Design Lecture 15: Logic Synthesis with Verilog Prof. Mingjie Lin 1 Verilog Synthesis Synthesis vs. Compilation Descriptions mapped to hardware Verilog design patterns for

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

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

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

Problem Set 3 ECE 551: Digital System Design and Synthesis Spring 2003

Problem Set 3 ECE 551: Digital System Design and Synthesis Spring 2003 Problem Set 3 ECE 551: Digital System Design and Synthesis Spring 2003 1. Blocking/Non-blocking Assignments (25 pts) PART A. module P1(w,p,r,x,y,q,z,a,b,c,d,e); //Lines before always not required. input

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

Verilog. What is Verilog? VHDL vs. Verilog. Hardware description language: Two major languages. Many EDA tools support HDL-based design

Verilog. What is Verilog? VHDL vs. Verilog. Hardware description language: Two major languages. Many EDA tools support HDL-based design Verilog What is Verilog? Hardware description language: Are used to describe digital system in text form Used for modeling, simulation, design Two major languages Verilog (IEEE 1364), latest version is

More information

Homework deadline extended to next friday

Homework deadline extended to next friday Norm Midterm Grading Finished Stats on course homepage Pickup after this lab lec. Regrade requests within 1wk of posted solution Homework deadline extended to next friday Description Design Conception

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

Introduction To Verilog Design. Chun-Hung Chou

Introduction To Verilog Design. Chun-Hung Chou Introduction To Verilog Design Chun-Hung Chou 1 Outline Typical Design Flow Design Method Lexical Convention Data Type Data Assignment Event Control Conditional Description Register Description Synthesizable

More information

Synthesis of Combinational and Sequential Circuits with Verilog

Synthesis of Combinational and Sequential Circuits with Verilog Synthesis of Combinational and Sequential Circuits with Verilog What is Verilog? Hardware description language: Are used to describe digital system in text form Used for modeling, simulation, design Two

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

Introduction to Verilog

Introduction to Verilog Introduction to Verilog Synthesis and HDLs Verilog: The Module Continuous (Dataflow) Assignment Gate Level Description Procedural Assignment with always Verilog Registers Mix-and-Match Assignments The

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

Synthesis vs. Compilation Descriptions mapped to hardware Verilog design patterns for best synthesis. Spring 2007 Lec #8 -- HW Synthesis 1

Synthesis vs. Compilation Descriptions mapped to hardware Verilog design patterns for best synthesis. Spring 2007 Lec #8 -- HW Synthesis 1 Verilog Synthesis Synthesis vs. Compilation Descriptions mapped to hardware Verilog design patterns for best synthesis Spring 2007 Lec #8 -- HW Synthesis 1 Logic Synthesis Verilog and VHDL started out

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

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

Logic Synthesis. EECS150 - Digital Design Lecture 6 - Synthesis

Logic Synthesis. EECS150 - Digital Design Lecture 6 - Synthesis Logic Synthesis Verilog and VHDL started out as simulation languages, but quickly people wrote programs to automatically convert Verilog code into low-level circuit descriptions (netlists). EECS150 - Digital

More information

A Brief Introduction to Verilog Hardware Definition Language (HDL)

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

Verilog Tutorial. Introduction. T. A.: Hsueh-Yi Lin. 2008/3/12 VLSI Digital Signal Processing 2

Verilog Tutorial. Introduction. T. A.: Hsueh-Yi Lin. 2008/3/12 VLSI Digital Signal Processing 2 Verilog Tutorial T. A.: Hsueh-Yi Lin Introduction 2008/3/12 VLSI Digital Signal Processing 2 Verilog: A common language for industry HDL is a common way for hardware design Verilog VHDL Verilog is widely

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

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

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

ECE 4514 Digital Design II. Spring Lecture 3: Verilog Bread and Butter

ECE 4514 Digital Design II. Spring Lecture 3: Verilog Bread and Butter ECE 4514 Digital Design II Spring 2007 Verilog Difference between synthesis and simulation Modules, module declarations and instantiation Constants Numbers Data types Value Levels Regs Vectors Arrays Synthesis

More information

Spiral 1 / Unit 4 Verilog HDL. Digital Circuit Design Steps. Digital Circuit Design OVERVIEW. Mark Redekopp. Description. Verification.

Spiral 1 / Unit 4 Verilog HDL. Digital Circuit Design Steps. Digital Circuit Design OVERVIEW. Mark Redekopp. Description. Verification. 1-4.1 1-4.2 Spiral 1 / Unit 4 Verilog HDL Mark Redekopp OVERVIEW 1-4.3 1-4.4 Digital Circuit Design Steps Digital Circuit Design Description Design and computer-entry of circuit Verification Input Stimulus

More information

EECS150 - Digital Design Lecture 10 Logic Synthesis

EECS150 - Digital Design Lecture 10 Logic Synthesis EECS150 - Digital Design Lecture 10 Logic Synthesis September 26, 2002 John Wawrzynek Fall 2002 EECS150 Lec10-synthesis Page 1 Logic Synthesis Verilog and VHDL stated out as simulation languages, but quickly

More information

N-input EX-NOR gate. N-output inverter. N-input NOR gate

N-input EX-NOR gate. N-output inverter. N-input NOR gate Hardware Description Language HDL Introduction HDL is a hardware description language used to design and document electronic systems. HDL allows designers to design at various levels of abstraction. It

More information

Design of Digital Circuits ( L) ETH Zürich, Spring 2017

Design of Digital Circuits ( L) ETH Zürich, Spring 2017 Name: Student ID: Final Examination Design of Digital Circuits (252-0028-00L) ETH Zürich, Spring 2017 Professors Onur Mutlu and Srdjan Capkun Problem 1 (70 Points): Problem 2 (50 Points): Problem 3 (40

More information

VHDL. VHDL History. Why VHDL? Introduction to Structured VLSI Design. Very High Speed Integrated Circuit (VHSIC) Hardware Description Language

VHDL. 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 information

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

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

More information

Student Name: Student ID: CSE 591: Advanced Hardware Design Professor: Kyle Gilsdorf

Student Name: Student ID: CSE 591: Advanced Hardware Design Professor: Kyle Gilsdorf SE 59: dvanced Hardware Design Professor: Kyle Gilsdorf (Kyle.Gilsdorf@asu.edu) What: Mid-Term Exam (For Spring 22) Details: Please answer the following questions to the best of your ability. If you need

More information

The Verilog Hardware Description Language

The Verilog Hardware Description Language Donald Thomas Philip Moorby The Verilog Hardware Description Language Fifth Edition 4y Spri nnger Preface From the Old to the New Acknowledgments xv xvii xxi 1 Verilog A Tutorial Introduction Getting Started

More information

Lecture 7: Structural RTL Design. Housekeeping

Lecture 7: Structural RTL Design. Housekeeping 18 643 Lecture 7: Structural RTL Design James C. Hoe Department of ECE Carnegie Mellon University 18 643 F17 L07 S1, James C. Hoe, CMU/ECE/CALCM, 2017 Housekeeping Your goal today: think about what you

More information

8-1. Fig. 8-1 ASM Chart Elements 2001 Prentice Hall, Inc. M. Morris Mano & Charles R. Kime LOGIC AND COMPUTER DESIGN FUNDAMENTALS, 2e, Updated.

8-1. Fig. 8-1 ASM Chart Elements 2001 Prentice Hall, Inc. M. Morris Mano & Charles R. Kime LOGIC AND COMPUTER DESIGN FUNDAMENTALS, 2e, Updated. 8-1 Name Binary code IDLE 000 Register operation or output R 0 RUN 0 1 Condition (a) State box (b) Example of state box (c) Decision box IDLE R 0 From decision box 0 1 START Register operation or output

More information

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

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

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

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

A Tutorial Introduction 1

A Tutorial Introduction 1 Preface From the Old to the New Acknowledgments xv xvii xxi 1 Verilog A Tutorial Introduction 1 Getting Started A Structural Description Simulating the binarytoeseg Driver Creating Ports For the Module

More information

Designing Safe Verilog State Machines with Synplify

Designing Safe Verilog State Machines with Synplify Designing Safe Verilog State Machines with Synplify Introduction One of the strengths of Synplify is the Finite State Machine compiler. This is a powerful feature that not only has the ability to automatically

More information

Verilog HDL Introduction

Verilog HDL Introduction EEE3050 Theory on Computer Architectures (Spring 2017) Prof. Jinkyu Jeong Verilog HDL Introduction 2017.05.14 TA 이규선 (GYUSUN LEE) / 안민우 (MINWOO AHN) Modules The Module Concept Basic design unit Modules

More information

Modeling Synchronous Logic Circuits. Debdeep Mukhopadhyay IIT Madras

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

Two HDLs used today VHDL. Why VHDL? Introduction to Structured VLSI Design

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

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

Lecture 15: System Modeling and Verilog

Lecture 15: System Modeling and Verilog Lecture 15: System Modeling and Verilog Slides courtesy of Deming Chen Intro. VLSI System Design Outline Outline Modeling Digital Systems Introduction to Verilog HDL Use of Verilog HDL in Synthesis Reading

More information

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

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

More information

ECE Digital System Design & Synthesis Exercise 1 - Logic Values, Data Types & Operators - With Answers

ECE Digital System Design & Synthesis Exercise 1 - Logic Values, Data Types & Operators - With Answers ECE 601 - Digital System Design & Synthesis Exercise 1 - Logic Values, Data Types & Operators - With Answers Fall 2001 Final Version (Important changes from original posted Exercise 1 shown in color) Variables

More information

CS6710 Tool Suite. Verilog is the Key Tool

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

Digital design laboratory 5

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

More information

Programmable Logic Devices Verilog VII CMPE 415

Programmable Logic Devices Verilog VII CMPE 415 Synthesis of Combinational Logic In theory, synthesis tools automatically create an optimal gate-level realization of a design from a high level HDL description. In reality, the results depend on the skill

More information

Digital Design (VIMIAA01) Introduction to the Verilog HDL

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

More information

ECE 4514 Digital Design II. Spring Lecture 13: Logic Synthesis

ECE 4514 Digital Design II. Spring Lecture 13: Logic Synthesis ECE 4514 Digital Design II A Tools/Methods Lecture Second half of Digital Design II 9 10-Mar-08 L13 (T) Logic Synthesis PJ2 13-Mar-08 L14 (D) FPGA Technology 10 18-Mar-08 No Class (Instructor on Conference)

More information

a, b sum module add32 sum vector bus sum[31:0] sum[0] sum[31]. sum[7:0] sum sum overflow module add32_carry assign

a, b sum module add32 sum vector bus sum[31:0] sum[0] sum[31]. sum[7:0] sum sum overflow module add32_carry assign I hope you have completed Part 1 of the Experiment. This lecture leads you to Part 2 of the experiment and hopefully helps you with your progress to Part 2. It covers a number of topics: 1. How do we specify

More information

Summary of FPGA & VHDL

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

EECS150 - Digital Design Lecture 10 Logic Synthesis

EECS150 - Digital Design Lecture 10 Logic Synthesis EECS150 - Digital Design Lecture 10 Logic Synthesis February 13, 2003 John Wawrzynek Spring 2003 EECS150 Lec8-synthesis Page 1 Logic Synthesis Verilog and VHDL started out as simulation languages, but

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

TSEA44: Computer hardware a system on a chip

TSEA44: 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 information

Lecture #2: Verilog HDL

Lecture #2: Verilog HDL Lecture #2: Verilog HDL Paul Hartke Phartke@stanford.edu Stanford EE183 April 8, 2002 EE183 Design Process Understand problem and generate block diagram of solution Code block diagram in verilog HDL Synthesize

More information

CSE 591: Advanced Hardware Design and Verification (2012 Spring) LAB #0

CSE 591: Advanced Hardware Design and Verification (2012 Spring) LAB #0 Lab 0: Tutorial on Xilinx Project Navigator & ALDEC s Active-HDL Simulator CSE 591: Advanced Hardware Design and Verification Assigned: 01/05/2011 Due: 01/19/2011 Table of Contents 1 Overview... 2 1.1

More information

One and a half hours. Section A is COMPULSORY

One and a half hours. Section A is COMPULSORY One and a half hours Section A is COMPULSORY An additional answersheet is provided for Question 4. Please remember to complete the additional answersheet with your University ID number and attach it to

More information

CSE140L: Components and Design Techniques for Digital Systems Lab. Verilog HDL. Instructor: Mohsen Imani UC San Diego. Source: Eric Crabill, Xilinx

CSE140L: Components and Design Techniques for Digital Systems Lab. Verilog HDL. Instructor: Mohsen Imani UC San Diego. Source: Eric Crabill, Xilinx CSE140L: Components and Design Techniques for Digital Systems Lab Verilog HDL Instructor: Mohsen Imani UC San Diego Source: Eric Crabill, Xilinx 1 Hardware description languages Used to describe & model

More information

Table of Contents. Verilog. Verilog

Table of Contents. Verilog. Verilog PLS Table of Contents 1. Introduction 1 2. How to declare a circuit in 2 2.1. General declaration 2 2.1.1. Module declaration 2 2.1.2. Accepted types 2 2.2. Hierarchical description 2 3.Data flow descriptions

More information

FSM Components. FSM Description. HDL Coding Methods. Chapter 7: HDL Coding Techniques

FSM Components. FSM Description. HDL Coding Methods. Chapter 7: HDL Coding Techniques FSM Components XST features: Specific inference capabilities for synchronous Finite State Machine (FSM) components. Built-in FSM encoding strategies to accommodate your optimization goals. You may also

More information

Chap 6 Introduction to HDL (d)

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

More information

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

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

More information

EN164: Design of Computing Systems Lecture 06: Lab Foundations / Verilog 2

EN164: Design of Computing Systems Lecture 06: Lab Foundations / Verilog 2 EN164: Design of Computing Systems Lecture 06: Lab Foundations / Verilog 2 Professor Sherief Reda http://scaleenginbrownedu Electrical Sciences and Computer Engineering School of Engineering Brown University

More information