Timing Controls in Behavioral Modeling Programmable Logic Design (40-493) Fall 2001 Computer Engineering Department Sharif University of Technology Maziar.

Slides:



Advertisements
Similar presentations
CS 3850 Lecture 6 Tasks and Functions. 6.1 Tasks and Functions Tasks are like procedures in other programming languages. e. g., tasks may have zero or.
Advertisements

CPSC 321 Computer Architecture Andreas Klappenecker
Sequential Logic in Verilog
Supplement on Verilog adder examples
Synchronous Sequential Logic
Combinational Logic.
Hardware Description Language (HDL)
Give qualifications of instructors: DAP
2/9/20031 ECE 551: Digital System Design & Synthesis Lecture Set 4 4.1: Verilog – Procedural Assignments &Scheduling Semantics 4.2: Verilog – More Behavioral.
Digital System Design Verilog ® HDL Behavioral Modeling (3) Maziar Goudarzi.
1 Workshop Topics - Outline Workshop 1 - Introduction Workshop 2 - module instantiation Workshop 3 - Lexical conventions Workshop 4 - Value Logic System.
1 COMP541 Sequential Circuits Montek Singh Sep 17, 2014.
 HDLs – Verilog and Very High Speed Integrated Circuit (VHSIC) HDL  „ Widely used in logic design  „ Describe hardware  „ Document logic functions.
CS 151 Digital Systems Design Lecture 37 Register Transfer Level
Digital System Design Verilog ® HDL Timing and Delays Maziar Goudarzi.
OUTLINE Introduction Basics of the Verilog Language Gate-level modeling Data-flow modeling Behavioral modeling Task and function.
ELEN 468 Lecture 81 ELEN 468 Advanced Logic Design Lecture 8 Behavioral Descriptions II.
ENEE 408C Lab Capstone Project: Digital System Design Verilog Tutorial Class Web Site:
Verilog Sequential Circuits Ibrahim Korpeoglu. Verilog can be used to describe storage elements and sequential circuits as well. So far continuous assignment.
ELEN 468 Lecture 161 ELEN 468 Advanced Logic Design Lecture 16 Synthesis of Language Construct II.
Verilog HDL (Behavioral Modeling) Bilal Saqib. Behavioral Modeling.
Silicon Programming--Intro. to HDLs1 Hardware description languages: introduction intellectual property (IP) introduction to VHDL and Verilog entities.
ECEN ECEN475 Introduction to VLSI System Design Verilog HDL.
Digital System Design Verilog ® HDL Tasks and Functions Maziar Goudarzi.
Digital System Design Verilog ® HDL Useful Modeling Techniques Maziar Goudarzi.
Digital System Design Verilog ® HDL Behavioral Modeling (1) Maziar Goudarzi.
Digital System Design EEE344 Lecture 3 Introduction to Verilog HDL Prepared by: Engr. Qazi Zia, Assistant Professor EED, COMSATS Attock1.
Today’s Lecture Process model –initial & always statements Assignments –Continuous & procedural assignments Timing Control System tasks.
Timing control in verilog Module 3.1 Delays in Verilog.
Overview Logistics Last lecture Today HW5 due today
Introduction to VHDL (part 2)
Tasks and Functions Programmable Logic Design (40-493) Fall 2001 Computer Engineering Department Sharif University of Technology Maziar Gudarzi.
 Delay values control the time between the change in a right-hand-side operand and when the new value is assigned to the left- hand side.  Three ways.
ECE 2372 Modern Digital System Design
Chapter 4: Behavioral Modeling Digital System Designs and Practices Using Verilog HDL and 2008~2010, John Wiley 4-1 Ders – 4: Davranışsal Modelleme.
ECE 551 Digital System Design & Synthesis Fall 2011 Midterm Exam Overview.
1 Workshop Topics - Outline Workshop 1 - Introduction Workshop 2 - module instantiation Workshop 3 - Lexical conventions Workshop 4 - Value Logic System.
1 Workshop Topics - Outline Workshop 1 - Introduction Workshop 2 - module instantiation Workshop 3 - Lexical conventions Workshop 4 - Value Logic System.
2-Jun-16EE5141 Chapter 3 ä The concept of the signal ä Process concurrency ä Delta time ä Concurrent and sequential statements ä Process activation by.
ECE/CS 352 Digital System Fundamentals© 2001 C. Kime 1 ECE/CS 352 Digital Systems Fundamentals Spring 2001 Chapters 3 and 4: Verilog – Part 2 Charles R.
1 CSE-308 Digital System Design (DSD) N-W.F.P. University of Engineering & Technology, Peshawar.
Module 1.2 Introduction to Verilog
COE 202 Introduction to Verilog Computer Engineering Department College of Computer Sciences and Engineering King Fahd University of Petroleum and Minerals.
1 COMP541 Sequential Circuits Montek Singh Feb 1, 2012.
ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU Under-Graduate Project Logic Design with Behavioral Models Speaker: Darcy Tsai Adviser:
Charles Kime & Thomas Kaminski © 2004 Pearson Education, Inc. Terms of Use (Hyperlinks are active in View Show mode) Terms of Use Verilog Part 3 – Chapter.
Digital System Design Verilog ® HDL Behavioral Modeling Maziar Goudarzi.
3/4/20031 ECE 551: Digital System Design * & Synthesis Lecture Set 3 3.1: Verilog - User-Defined Primitives (UDPs) (In separate file) 3.2: Verilog – Operators,
1 Hardware description languages: introduction intellectual property (IP) introduction to VHDL and Verilog entities and architectural bodies behavioral,
Behavioral Modelling - 1. Verilog Behavioral Modelling Behavioral Models represent functionality of the digital hardware. It describes how the circuit.
Digital System Design Verilog ® HDL Introduction to Synthesis: Concepts and Flow Maziar Goudarzi.
1 Verilog Digital System Design Z. Navabi, 2006 Verilog Language Concepts.
M.Mohajjel. Structured Procedures Two basic structured procedure statements always initial All behavioral statements appear only inside these blocks Each.
ELEE 4303 Digital II Introduction to Verilog. ELEE 4303 Digital II Learning Objectives Get familiar with background of HDLs Basic concepts of Verilog.
Introduction to ASIC flow and Verilog HDL
COMP541 Sequential Circuits
Verilog® HDL Behavioral Modeling (2)
COE 202 Introduction to Verilog Computer Engineering Department College of Computer Sciences and Engineering King Fahd University of Petroleum and Minerals.
OUTLINE Introduction Basics of the Verilog Language Gate-level modeling Data-flow modeling Behavioral modeling Task and function.
ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU 99-1 Under-Graduate Project Logic Design with Behavioral Models Speaker: 銀子駒 Adviser:
SYEN 3330 Digital SystemsJung H. Kim Chapter SYEN 3330 Digital Systems Chapters 4 – Part4: Verilog – Part 2.
Control Structure  What is control Structure?  Types of Controls  Use the control structure in VBScript.  Example Summery.
1 Workshop Topics - Outline Workshop 1 - Introduction Workshop 2 - module instantiation Workshop 3 - Lexical conventions Workshop 4 - Value Logic System.
TOPIC : SEQUENTIAL AND PARALLEL BLOCKS Module 2.3 : Behavioral modeling in verilog.
Verilog Introduction Fall
‘if-else’ & ‘case’ Statements
Delays in Verilog Programmable Logic Design (40-493) Fall 2001
Chapter 4: Behavioral Modeling
Useful Modeling Techniques
COE 202 Introduction to Verilog
Presentation transcript:

Timing Controls in Behavioral Modeling Programmable Logic Design (40-493) Fall 2001 Computer Engineering Department Sharif University of Technology Maziar Gudarzi

Introduction No timing controls  No advance in simulation time No timing controls  No advance in simulation time Three methods of timing control Three methods of timing control delay-based delay-based event-based event-based level-sensitive level-sensitive

Delay-based Timing Control Timing Controls in Behavioral Modeling

Delay-based Timing Controls Delay  Duration between encountering and executing a statement Delay  Duration between encountering and executing a statement Delay symbol: # Delay symbol: # Delay specification syntax: Delay specification syntax:<delay> ::= # ::= # ||= # ||= # ||= # >*)

Delay-based Timing Controls (cont’d) Types of delay-based timing controls Types of delay-based timing controls 1. Regular delay control 2. Intra-assignment delay control 3. Zero-delay control

Delay-based Timing Controls (cont’d) Regular Delay Control Regular Delay Control Symbol: non-zero delay to the left of a procedural assignment Symbol: non-zero delay to the left of a procedural assignment Used in most of our previous examples Used in most of our previous examples Look at the handout Look at the handout

Delay-based Timing Controls (cont’d) Intra-assignment Delay Control Intra-assignment Delay Control Symbol: non-zero delay to the right of the assignment operator Symbol: non-zero delay to the right of the assignment operator Operation sequence: Operation sequence: 1. Compute the right-hand-side expression at the current time. 2. Defer the assignment of the above computed value to the LHS by the specified delay. Look at the handout Look at the handout

Delay-based Timing Controls (cont’d) Zero-Delay Control Zero-Delay Control Symbol: #0 Symbol: #0 Different initial/always blocks in the same simulation time Different initial/always blocks in the same simulation time Execution order non-deterministic Execution order non-deterministic Zero-delay ensures execution after all other statements Zero-delay ensures execution after all other statements Eliminated race conditions Eliminated race conditions Multiple zero-delay statements Multiple zero-delay statements Non-deterministic execution order Non-deterministic execution order

Event-based Timing Control Timing Controls in Behavioral Modeling

Event-based Timing Control Event Event Change in the value of a register or net Change in the value of a register or net Used to trigger execution of a statement or block (reactive behavior/reactivity) Used to trigger execution of a statement or block (reactive behavior/reactivity) Types of Event-based timing control Types of Event-based timing control 1. Regular event control 2. Named event control 3. Event OR control 4. Level-sensitive timing control (next section)

Event-based Timing Control (cont’d) Regular event control Regular event control ) ) Events to specify: Events to specify: posedge sig: posedge sig: –Change of sig from any value to 1 or from 0 to any value negedge sig: negedge sig: –Change of sig from any value to 0 or from 1 to any value sig:Any chage in sig value sig:Any chage in sig value Look at the handout Look at the handout

Event-based Timing Control (cont’d) Named event control Named event control You can declare (name) an event, and then trigger and recognize it. You can declare (name) an event, and then trigger and recognize it. Verilog keyword for declaration: event Verilog keyword for declaration: event event calc_finished; event calc_finished; Verilog symbol for triggering: -> Verilog symbol for triggering: -> ->calc_finished ->calc_finished Verilog symbol for Verilog symbol @(calc_finished)

Event-based Timing Control (cont’d) Event OR control Event OR control Used when need to trigger a block upon occurrence of any of a set of events. Used when need to trigger a block upon occurrence of any of a set of events. The list of the events: sensitivity list The list of the events: sensitivity list Verilog keyword: or Verilog keyword: or Look at the handout Look at the handout

Level-sensitive Timing Control Timing Controls in Behavioral Modeling

Level-sensitive Timing Control Level-sensitive vs. event-based Level-sensitive vs. event-based event-based: wait for triggering of an event (change in signal value) event-based: wait for triggering of an event (change in signal value) level-sensitive: wait for a certain condition (on values/levels of signals) level-sensitive: wait for a certain condition (on values/levels of signals) Verilog keyword: wait() Verilog keyword: wait() always wait(count_enable) #20 count=count+1;

Today Summary Timing control in behavioral statements Timing control in behavioral statements Required to advance simulation time Required to advance simulation time Different types Different types Delay-based Delay-based –Regular/intra-assignment/zero delay Event-based Event-based –Regular/Named/Event-OR event control Level-sensitive Level-sensitive –wait keyword

Complementary Notes Don’t forget to subscribe to course mailing list: Don’t forget to subscribe to course mailing list:ce493list Assignment 4 Assignment 4 Chapter 7: Chapter 7: Exercises 8, 9, 12 with ModelSim (submit the Verilog source codes to Exercises 8, 9, 12 with ModelSim (submit the Verilog source codes to Exercises 10, 11 in paper and pencil Exercises 10, 11 in paper and pencil