Course Topics - Outline
|
|
- Augustine Blankenship
- 5 years ago
- Views:
Transcription
1 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 Behavioral modeling C Lecture 8 Data flow modeling Lecture 9 Gate Level modeling Lecture 10 Tasks and Functions Lecture 11 Advanced Modeling Techniques Lecture 12 - Coding Styles and Test Benches Lecture 13 - Switch Level modeling 1
2 Lecture 7 - Behavioral modeling C Loop Statements while, for, repeat, forever Sequential and Parallel Blocks -, fork & join Naming of blocks and disabling of named blocks Exercise 7 2
3 Loop Statements There are four types of loop statements: - while - for - repeat - forever The syntax for those loops is very similar to the syntax of loops in C programming All loop statements can appear only inside an or always blocks Loops may contain delay expressions 3
4 while loop The while loop executes until the while-expression is not true. If the loop is entered when the while-expression is not true, the loop is not executed at all. Syntax: ::= while (<expression>) <statement> The while statement should not be used to wait for a change in a value generated external to its always statement. The while-expression can have multiple conditions using operators 4
5 5 while loop example - counter module count_mod ; integer count ; count = 0; while (count < 128) /*Execute loop till count is 127. Exit at count 128 */ $display ("Count = %d", count) ; count = count + 1 ; module
6 A riddle How many times does the following while loop say hello? a = 5 ; c = 0 ; while (a!= c) $display("hello") ; c = c + 1 ; 6
7 7 for loop The for loop contains three parts: - An condition - A check to see if the termination condition is true - A procedural assignment to change value of the control variable Initialization condition and the incremental procedural assignment are included in the for loop and do not need to be specified separately. Provides more compact loop structure than the while loop Executed at compile time. Used in Test Benches! Example: module counter ; integer count ; for (count = 0 ; count < 128 ; count = count + 1) $display("count = %d", count) ; module
8 8 for loop example Priority Encoder module pri_encode (clk, nrst, in, out) ; input clk, nrst ; // clock and active low reset input [7:0] in ; // 8-bit input vector output reg [2:0] out ; // encoded priority output reg [7:0] temp ; // internal shift register integer i ; clk or negedge nrst) if (!nrst) // Reset state i = 0 ; out = 3'b000 ; temp = 8'b ; else // Out of reset temp = 8'b ; for (i = 0 ; i < 8 ; i = i + 1) // The for loop if(temp[i] == in[i]) out = #2 i ; // Intra-delay temp = temp << 1 ; module
9 9 for loop example memory ization /* Initialize mem: each location contains its own address plus 24 i.e. memory16_256[0] contains , (24 in decimal) */ module initmem ; reg [15:0] mem16_256 [255:0] ; reg [8:0] address ; // Why 9-bits address? integer index ; address = 24 ; for(index = 0 ; index < 256 ; index = index + 1) mem16_256 [index] = address ; address = address + 1 ; $display("%d", mem16_256[index]) ; module
10 10 repeat loop The repeat loop is executed the given number of times. Cannot be used to loop on a general logic expression. The while loop is used for that purpose Must contain a number constant, variable, signal value Syntax: repeat (<expression>) <statement> The value of the loop count is determined once at the ning of the execution of the loop repeat (posedge clock) ; #1 data_in = $random ;
11 11 repeat loop example - counter module counter ; // increment and display count from 0 to 127 integer count ; count = 0 ; repeat(128) $display("count = %d", count) ; count = count + 1 ; module
12 12 forever Loop The forever loop does not contain any expression and executes forever until the $finish task is encountered Syntax: ::= forever <statement> A forever loop can be exited by the use of the disable statement. Example: // clock generation for Test Bench reg clock ; forever clock = 1'b0 ; #5 clock = 1'b1 ; #5; // clock cycle time = 10
13 forever loop example module clock_gen ; //Clock generation reg clock ; clock = 1'b0 ; forever #5 clock = ~clock ; // clock cycle time = 10 #1000 $finish; module 13
14 14 Exiting Loops on Exceptional Conditions Any of the loop statements may be exited through use of the disable statement A disable statement terminates any named - block and execution then s with the statement following the block - blocks may be named by placing the name of the block after a colon following the keyword: : break for (i = 0 ; i < n ; i = i + 1) : continue if (a == 0) disable continue ; // proceed with i = i+1... if (a == b) disable break ;... // exit for loop
15 15 Block types - Sequential and Parallel There are two Block types: Sequential and Parallel Block statements are used to group multiple statements to act together as one If a Sequential Block contains more than one statement, keywords and are used to group the statements If a Parallel Block contains more than one statement, keywords fork and join are used to group the statements Fundamental difference between sequential and parallel blocks: Statements in a Sequential Block are processed in the order they are specified Statements in a Parallel Block are executed concurrently
16 16 Sequential Blocks Statements in a sequential block are processed in the order they are specified A statement is executed only after its preceding statement completes execution (except for non-blocking assignments) If delay or event control is specified it is relative to the simulation time, i.e. execution of the previous statement Example: // x =1, y=2, z=3 x = y * z ; // x = 6 y = x + 2 ;// y = 8 z = y 1 ;// z = 7 x = y * z ; // x completes at simulation time 0 #4 y = x + 2 ; // y completes at simulation time 4 #8 z = y 1 ; // z completes at simulation time 12
17 17 Parallel Blocks All statements (or blocks) between a fork/join pair execution simultaneously upon execution flow hitting the fork Execution continues after the join upon completion of the longest running statement or block between the fork and join Makes the blocking assignments to become unblocking Order of statements is controlled by the delay or event control assigned to each statement If delay or event control is specified, it is relative to the time the block was entered fork - splitting a single flow into indepent flows join - joining indepent flows back into a single flow
18 Example - Parallel Block reg x, y ; reg [1:0] z, w ; fork x = 1'b0 ; // x completes at simulation time 0 #5 y = 1'b1 ; // y completes at simulation time 5 #10 z = {x, y} ; // z completes at simulation time 10 #20 w = {y, x} ; // w completes at simulation time 20 join 18
19 19 Parallel block with deliberate race conditions // All statements start at simulation time 0. // The order in which the statements will execute is not known reg x, y ; reg [1:0] z, w ; fork x = 1'b0 ; y = 1'b1 ; z = {x, y} ; /* will get the value 1 if x = 1'b0 and y = 1'b1 execute first, 2'bxx if execute last */ w = {y, x} ; /* will get the value 2 if x = 1'b0 and y = 1'b1 execute first, 2'bxx if execute last */ join
20 Blocks can be nested. Nested, mixed Blocks Sequential and Parallel blocks can be mixed: Initial x = 1'b0 ; fork #5 y = 1'b1 ; #10 z = {x, y} ; join #20 w = {y, x} ; //Nested mixed blocks 20
21 Naming of blocks and Disabling named blocks Blocks can be given names. Using -, a name can be given to that group. This is called named blocks. Local variables can be declared for the named blocks Variables in named blocks can be accessed by using hierarchical name referencing Named blocks can be disabled their execution can be stopped disable statement terminates execution of named block Disable a block causes execution control to pass to the statement immediately succeeding the block 21
22 22 Named blocks examples Example: module top () ; : block1 // sequential block named block1 integer i ; // can be accessed by hierarchical name top.block1.i. fork : block2 // parallel block named block2 reg i ; /* reg i is static and local to block2. can be accessed by hierarchical name top.block2.i */. join
23 23 Disable block example module find_true_bit ; // Find the first bit with a value 1 in flag (vector variable) reg [15:0] flag ; integer i ; //integer to keep count flag = 16'b 0010_0000_0000_0000; // 16 h2000 i = 0; : block1 //The main block inside while is named block1 while(i < 16) if (flag[i]) $display("encountered a TRUE bit at element number %d", i) ; disable block1; //disable block1 because you found true bit. i = i + 1 ; module
24 Exercise 7 Part 1: Design and test Data Buffer, exercising for and repeat loops and disable loop. Initialize data buffer with for loop. Repeat reading input data for parametric 8 clock cycles. Use disable loop for partial data buffer ization. Part 2: Design a dual elevator control system. The system responds to two elevators request events and operates the elevators concurrently. Use two sequential blocks enclosed in a fork-join block for concurrency. Test system with concurrent requests. 24
P-1/P-105. Samir Palnitkar. Prentice-Hall, Inc. INSTRUCTOR : CHING-LUNG SU.
: P-1/P-105 Textbook: Verilog HDL 2 nd. Edition Samir Palnitkar Prentice-Hall, Inc. : INSTRUCTOR : CHING-LUNG SU E-mail: kevinsu@yuntech.edu.tw Chapter 7 P-2/P-105 Chapter 7 Behavioral Modeling Outline
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 informationLab 7 (Sections 300, 301 and 302) Prelab: Introduction to Verilog
Lab 7 (Sections 300, 301 and 302) Prelab: Introduction to Verilog Name: Sign the following statement: On my honor, as an Aggie, I have neither given nor received unauthorized aid on this academic work
More informationLab 7 (All Sections) Prelab: Introduction to Verilog
Lab 7 (All Sections) Prelab: Introduction to Verilog Name: Sign the following statement: On my honor, as an Aggie, I have neither given nor received unauthorized aid on this academic work 1 Objective The
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 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 informationVERILOG. Deepjyoti Borah, Diwahar Jawahar
VERILOG Deepjyoti Borah, Diwahar Jawahar Outline 1. Motivation 2. Basic Syntax 3. Sequential and Parallel Blocks 4. Conditions and Loops in Verilog 5. Procedural Assignment 6. Timing controls 7. Combinatorial
More informationChapter-5. EE 335 : Advanced Microprocessor. Logic Design with Behavioral Models of Combinational and Sequential Logic
EE 335 : Advanced Microprocessor Chapter-5 Logic Design with Behavioral Models of Combinational and Sequential Logic Ajay Kumar Yadav (Instructor) Electrical & Computer Engineering Temple University Data
More informationDepartment of Computer Science and Electrical Engineering. CMPE 415 Verilog Events Timing and Testbenches Prof. Ryan Robucci
Department of Computer Science and Electrical Engineering CMPE 415 Verilog Events Timing and Testbenches Prof. Ryan Robucci An Event Driven Language also used for Synthesis We emphasize use of Verilog
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 informationAmrita 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 informationEECS150 - 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 informationEECS150 - 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 informationVerilog. Like VHDL, Verilog HDL is like a programming language but:
Verilog Verilog Like VHDL, Verilog HDL is like a programming language but: Statements can execute simultaneously unlike programming e.g. nand(y1,a1,b1); nand(y2,a2,b2); or (out,y1,y2); a1 b1 all statements
More informationCSE140L: 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 informationECEN 468 Advanced Digital System Design
ECEN 468 Advanced Digital System Design Lecture 22: Verilog Behavioral Description Structural vs. Behavioral Descriptions module my_module(); assign ; // continuous assignment and (); // instantiation
More informationLogic 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 informationEEL 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 informationCSE140L: 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 informationSynthesis 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 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 informationSynthesis 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 informationLab 7 (All Sections) Prelab: Verilog Review and ALU Datapath and Control
Lab 7 (All Sections) Prelab: Verilog Review and ALU Datapath and Control Name: Sign the following statement: On my honor, as an Aggie, I have neither given nor received unauthorized aid on this academic
More informationVerilog HDL. Lecture #6. Madhu Mutyam Dept. of Computer Science and Engineering Indian Institute of Technology, Madras
Verilog HDL Lecture #6 Madhu Mutyam Dept. of Computer Science and Engineering Indian Institute of Technology, Madras madhu@cse.iitm.ac.in 2 Verilog RTL Structural Level Verilog allows a designer to develop
More informationIntroduction 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 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 information14:332:231 DIGITAL LOGIC DESIGN. Verilog Functions and Tasks
4:332:23 DIGITAL LOGIC DESIGN Ivan Marsic, Rutgers University Electrical & Computer Engineering Fall 203 Lecture #24: Verilog Time Dimension and Test Benches Verilog Functions and Tasks Verilog function
More informationNikhil Gupta. FPGA Challenge Takneek 2012
Nikhil Gupta FPGA Challenge Takneek 2012 RECAP FPGA Field Programmable Gate Array Matrix of logic gates Can be configured in any way by the user Codes for FPGA are executed in parallel Configured using
More informationתכן חומרה בשפת VERILOG הפקולטה להנדסה
תכן חומרה בשפת VERILOG סמסטר ב' תשע"ג משה דורון מרצה: מתרגלים: אריאל בורג, חג'ג' חן הפקולטה להנדסה 1 Course Topics - Outline Lecture 1 - Introduction Lecture 2 - Lexical conventions Lecture 3 - Data types
More informationIntroduction to Verilog and ModelSim. (Part 5 Sequential Logic)
Introduction to Verilog and ModelSim (Part 5 Sequential Logic) Sequential Logic It implements storage capabilities of the system Data latch structure Requires clock/gate/latch signal input Latch (level
More informationECE 4514 Digital Design II. Spring Behavioral Modeling II: Conditionals and Loops
ECE 4514 Digital Design II Behavioral Modeling II: Conditionals and Loops A Language Lecture Behavioral Modeling so far Procedural statements (lecture 2 and on) Always and Initial constructs Sequential
More informationECEN 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 informationVerilog Fundamentals. Shubham Singh. Junior Undergrad. Electrical Engineering
Verilog Fundamentals Shubham Singh Junior Undergrad. Electrical Engineering VERILOG FUNDAMENTALS HDLs HISTORY HOW FPGA & VERILOG ARE RELATED CODING IN VERILOG HDLs HISTORY HDL HARDWARE DESCRIPTION LANGUAGE
More informationThe Verilog Hardware Description Language Testing the Design Overview
The Verilog Hardware Description Language Testing the Design Overview In this lesson we will Move from design to test Introduce the test bench Examine several of the system tools that support testing Learn
More informationVerilog Essentials Simulation & Synthesis
Verilog Essentials Simulation & Synthesis Course Description This course provides all necessary theoretical and practical know-how to design programmable logic devices using Verilog standard language.
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 informationThe 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 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 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 informationA 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 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 informationVERILOG QUICKSTART. Second Edition. A Practical Guide to Simulation and Synthesis in Verilog
VERILOG QUICKSTART A Practical Guide to Simulation and Synthesis in Verilog Second Edition VERILOG QUICKSTART A Practical Guide to Simulation and Synthesis in Verilog Second Edition James M. Lee SEVA Technologies
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 informationComputer Aided Design Basic Syntax Gate Level Modeling Behavioral Modeling. Verilog
Verilog Radek Pelánek and Šimon Řeřucha Contents 1 Computer Aided Design 2 Basic Syntax 3 Gate Level Modeling 4 Behavioral Modeling Computer Aided Design Hardware Description Languages (HDL) Verilog C
More information14. Introducton to Verilog
14. Introducton to Verilog 1 14. Introducton to Verilog Jacob Abraham Department of Electrical and Computer Engineering The University of Texas at Austin VLSI Design Fall 2017 October 23, 2017 ECE Department,
More informationIntroduction. C provides two styles of flow control:
Introduction C provides two styles of flow control: Branching Looping Branching is deciding what actions to take and looping is deciding how many times to take a certain action. Branching constructs: if
More information- 1 of 18 - The Verilog Hardware Description Language - A Behavioural View Overview. The Behavioural Model
The Verilog Hardware Description Language - A Behavioural View Overview In this lesson we will Introduce and explore the Verilog behavioural level model. Introduce the behavioural operators. Study the
More informationSynchronization. Before We Begin. Synchronization. Credit/Debit Problem: Race Condition. CSE 120: Principles of Operating Systems.
CSE 120: Principles of Operating Systems Lecture 4 Synchronization January 23, 2006 Prof. Joe Pasquale Department of Computer Science and Engineering University of California, San Diego Before We Begin
More informationECE 4514 Digital Design II. Spring Lecture 2: Hierarchical Design
ECE 4514 Digital Design II Spring 2007 Abstraction in Hardware Design Remember from last lecture that HDLs offer a textual description of a netlist. Through abstraction in the HDL, we can capture more
More informationVerilog. 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 informationDepartment of Computer Science and Electrical Engineering. CMPE 415 Synthesis. Prof. Ryan Robucci
Department of Computer Science and Electrical Engineering CMPE 415 Synthesis Prof. Ryan Robucci Synthesizeable Code with Loops Today we'll discuss a few constructs which involve a concern of Control Loops
More informationVLSI Design 13. Introduction to Verilog
Last module: Sequential circuit design Design styles This module Synthesis Brief introduction to Verilog Synthesis in the Design Flow Designer Tasks Tools Architect Logic Designer Circuit Designer Define
More informationVerilog Design Principles
16 h7fex // 16-bit value, low order 4 bits unknown 8 bxx001100 // 8-bit value, most significant 2 bits unknown. 8 hzz // 8-bit value, all bits high impedance. Verilog Design Principles ECGR2181 Extra Notes
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 informationOutline. EECS150 - Digital Design Lecture 5 - Verilog 2. Structural Model: 2-to1 mux. Structural Model - XOR. Verilog Basics Lots of Examples
Outline EECS150 - Digital Design Lecture 5 - Verilog 2 Verilog Basics Lots of Examples February 1, 2005 John Wawrzynek Spring 2005 EECS150 - Lec05-Verilog2 Page 1 Spring 2005 EECS150 - Lec05-Verilog2 Page
More informationES611 FPGA Based System Design. Behavioral Model
ES611 FPGA Based System Design Behavioral Model Structural procedures Two statements Initial always initial they execute only once always they execute for ever (until simulation finishes) initial block
More informationECE 4514 Digital Design II. Spring Lecture 9: Review of Key Ideas, System Commands and Testbenches
ECE 4514 Digital Design II Lecture 9: Review of Key Ideas, System Commands and Testbenches A Language Lecture Iterating the Key Ideas Verilog is a modeling language. It cannot express hardware directly.
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 informationa, 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 informationVERILOG QUICKSTART. James M. Lee Cadence Design Systems, Inc. SPRINGER SCIENCE+BUSINESS MEDIA, LLC
VERILOG QUICKSTART VERILOG QUICKSTART by James M. Lee Cadence Design Systems, Inc. ~. " SPRINGER SCIENCE+BUSINESS MEDIA, LLC ISBN 978-1-4613-7801-3 ISBN 978-1-4615-6113-2 (ebook) DOI 10.1007/978-1-4615-6113-2
More informationBehavioral Modeling and Timing Constraints
Lab Workbook Introduction Behavioral modeling was introduced in Lab 1 as one of three widely used modeling styles. Additional capabilities with respect to testbenches were further introduced in Lab 4.
More informationSystemVerilog 3.1: It s What The DAVEs In Your Company Asked For
February 24-26, 2003 SystemVerilog 3.1: It s What The DAVEs In Your Company Asked For Stuart HDL, Inc. www.sutherland-hdl.com 2/27/2003 1 This presentation will Define what is SystemVerilog Provide an
More informationIntroduction. Purpose. Intended Audience. Conventions. Close
Introduction Introduction Verilog-XL is a simulator that allows you to test the logic of a design. The process of logic simulation in Verilog-XL is as follows: 1. Describe the design to Verilog-XL. 2.
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 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 informationVerilog for High Performance
Verilog for High Performance Course Description This course provides all necessary theoretical and practical know-how to write synthesizable HDL code through Verilog standard language. The course goes
More informationIntroduction. Why Use HDL? Simulation output. Explanation
Introduction Verilog HDL is a Hardware Description Language (HDL) HDL is a language used to describe a digital system, for example, a computer or a component of a computer. Most popular HDLs are VHDL and
More informationFPGA: FIELD PROGRAMMABLE GATE ARRAY Verilog: a hardware description language. Reference: [1]
FPGA: FIELD PROGRAMMABLE GATE ARRAY Verilog: a hardware description language Reference: [] FIELD PROGRAMMABLE GATE ARRAY FPGA is a hardware logic device that is programmable Logic functions may be programmed
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 informationIntroduction to Digital VLSI Design מבוא לתכנון VLSI ספרתי
Design מבוא לתכנון VLSI ספרתי Verilog Tasks & Functions Lecturer: Semester B, EE Dept. BGU. Freescale Semiconductors Israel 1 Objectives Describe the differences between tasks and functions Identify the
More informationProgrammable 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 informationECE 122. Engineering Problem Solving with Java
ECE 122 Engineering Problem Solving with Java Lecture 10 For Loops and Arrays Outline Problem: How can I perform the same operations a fixed number of times? Considering for loops Performs same operations
More informationHanbat National University Prof. Lee Jaeheung
Sun, HH yy ee -Se ung Hanbat National University Prof. Lee Jaeheung 5.1.1 always, a l w a y s, i n i t i a l, t a s k, f u n c t i o n always always [@(sensitivity_list)] begin blocking_or_nonblocking
More informationSynchronization. Before We Begin. Synchronization. Example of a Race Condition. CSE 120: Principles of Operating Systems. Lecture 4.
CSE 120: Principles of Operating Systems Lecture 4 Synchronization October 7, 2003 Before We Begin Read Chapter 7 (Process Synchronization) Programming Assignment #1 Due Sunday, October 19, midnight Prof.
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 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 informationIn this lecture, we will focus on two very important digital building blocks: counters which can either count events or keep time information, and
In this lecture, we will focus on two very important digital building blocks: counters which can either count events or keep time information, and shift registers, which is most useful in conversion between
More informationVERILOG 2: LANGUAGE BASICS
VERILOG 2: LANGUAGE BASICS Verilog module Modules are basic building blocks. These are two example module definitions which you should use: // Safer traditional method module abc (in1, in2, out); input
More informationOnline Verilog Resources
EECS 427 Discussion 6: Verilog HDL Reading: Many references EECS 427 F08 Discussion 6 1 Online Verilog Resources ASICs the book, Ch. 11: http://www.ge.infn.it/~pratolo/verilog/verilogtutorial.pdf it/ pratolo/verilog/verilogtutorial
More informationEECS 270 Verilog Reference: Sequential Logic
1 Introduction EECS 270 Verilog Reference: Sequential Logic In the first few EECS 270 labs, your designs were based solely on combinational logic, which is logic that deps only on its current inputs. However,
More informationThe Designer's Guide to VHDL Second Edition
The Designer's Guide to VHDL Second Edition Peter J. Ashenden EDA CONSULTANT, ASHENDEN DESIGNS PTY. VISITING RESEARCH FELLOW, ADELAIDE UNIVERSITY Cl MORGAN KAUFMANN PUBLISHERS An Imprint of Elsevier SAN
More informationECEN 468 Advanced Digital System Design
ECEN 468 Advanced Digital System Design Lecture 23: Verilog Finite State Machines ECEN468 Lecture 23 Finite State Machines input Mealy Machine Next state and output Combinational logic Register output
More informationContents. Appendix D Verilog Summary Page 1 of 16
Appix D Verilog Summary Page 1 of 16 Contents Appix D Verilog Summary... 2 D.1 Basic Language Elements... 2 D.1.1 Keywords... 2 D.1.2 Comments... 2 D.1.3 Identifiers... 2 D.1.4 Numbers and Strings... 3
More informationSynthesis 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 informationCSE 120: Principles of Operating Systems. Lecture 4. Synchronization. October 7, Prof. Joe Pasquale
CSE 120: Principles of Operating Systems Lecture 4 Synchronization October 7, 2003 Prof. Joe Pasquale Department of Computer Science and Engineering University of California, San Diego 2003 by Joseph Pasquale
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 informationModule 4. Design of Embedded Processors. Version 2 EE IIT, Kharagpur 1
Module 4 Design of Embedded Processors Version 2 EE IIT, Kharagpur 1 Lesson 22 Introduction to Hardware Description Languages - II Version 2 EE IIT, Kharagpur 2 Instructional Objectives At the of the lesson
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 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 informationVerilog 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 informationRIZALAFANDE CHE ISMAIL TKT. 3, BLOK A, PPK MIKRO-e KOMPLEKS PENGAJIAN KUKUM. BEHAVIORAL DESCRIPTIONS IN VERILOG HDL (Chapter 7)
RIZALAFANDE CHE ISMAIL TKT. 3, BLOK A, PPK MIKRO-e KOMPLEKS PENGAJIAN KUKUM BEHAVIORAL DESCRIPTIONS IN VERILOG HDL (Chapter 7) INTRODUCTION Conventional method designers had to design at the gate level
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 SYSTEM-ON-CHIP DESIGN. GETTING STARTED WITH VHDL September 3, 2018 GAJSKI S Y-CHART (1983) TOP-DOWN DESIGN (1)
September 3, 2018 GETTING STARTED WITH VHDL 2 Top-down design VHDL history Main elements of VHDL Entities and architectures Signals and processes Data types Configurations Simulator basics The testbench
More informationWorkshop on Digital Circuit Design in FPGA
Organized by: Dept. of EEE Workshop on Digital Circuit Design in FPGA Presented By Mohammed Abdul Kader Assistant Professor, Dept. of EEE, IIUC Email:kader05cuet@gmail.com Website: kader05cuet.wordpress.com
More information14. Introducton to Verilog
14. Introducton to Verilog Jacob Abraham Department of Electrical and Computer Engineering The University of Texas at Austin VLSI Design Fall 2017 October 23, 2017 ECE Department, University of Texas at
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 informationDigital Design Using Verilog EE Final Examination
Name Digital Design Using Verilog EE 4702-1 Final Examination 8 May 2000, 7:30 9:30 CDT Alias Problem 1 Problem 2 Problem 3 Problem 4 Problem 5 Exam Total (100 pts) Good Luck! Problem 1: The modules below
More informationLecture 11: Control Unit and Instruction Encoding
CSCI25 Computer Organization Lecture : Control Unit and Instruction Encoding Ming-Chang YANG mcyang@cse.cuhk.edu.hk Reading: Chap. 7.4~7.5 (5 th Ed.) Recall: Components of a Processor Register file: a
More informationSequential Statement
Sequential Statement Sequential Logic Output depends not only on current input values but also on previous input values. Are building blocks of; Counters Shift registers Memories Flip flops are basic sequential
More information