Timing & Concurrency II

Slides:



Advertisements
Similar presentations
L23 – Adder Architectures. Adders  Carry Lookahead adder  Carry select adder (staged)  Carry Multiplexed Adder  Ref: text Unit 15 9/2/2012 – ECE 3561.
Advertisements

2/16/09 Lab 3 Jorge Crichigno. 2/16/09 Half-adder.
9/15/09 - L20 Flip FlopsCopyright Joanne DeGroat, ECE, OSU1 Flip Flops Not a gymnastic movement.
L18 – VHDL for other counters and controllers. Other counters  More examples Gray Code counter Controlled counters  Up down counter  Ref: text Unit.
1/8/ L17 Resolved SiganlsCopyright Joanne DeGroat, ECE, OSU1 Resolved Signals What are resolved signals and how do they work. Resolution???
9/18/08 Lab 2 - Solution TA: Jorge. 9/18/08 Half-adder.
Why Behavioral Wait statement Signal Timing Examples of Behavioral Descriptions –ROM.
Topics Entity DeclarationsEntity Declarations Port ClausePort Clause Component DeclarationComponent Declaration Configuration DeclarationConfiguration.
Advanced FPGA Based System Design Lecture-9 & 10 VHDL Sequential Code By: Dr Imtiaz Hussain 1.
IAY 0600 Digitaalsüsteemide disain Event-Driven Simulation Alexander Sudnitson Tallinn University of Technology.
L16 – Testbenches for state machines. VHDL Language Elements  More examples HDL coding of class examples Testbench for example  Testing of examples.
1/8/ L11 Project Step 5Copyright Joanne DeGroat, ECE, OSU1 Project Step 5 Step 2 in behavioral modeling. Use of procedures.
1/8/ L23 Project Step 9 - Sequential Machine Copyright Joanne DeGroat, ECE, OSU1 Project Step 9 Beyond the ALU and Datapath. Sequential Machine.
L16 – VHDL for State Machines with binary encoding.
2-Jun-16EE5141 Chapter 3 ä The concept of the signal ä Process concurrency ä Delta time ä Concurrent and sequential statements ä Process activation by.
1/8/ L7 Project Step 3Copyright Joanne DeGroat, ECE, OSU1 Project Step 3 Structural Modeling and the Generate Statement.
Basic Concepts in VHDL Instructors: Fu-Chiung Cheng ( 鄭福炯 ) Associate Professor Computer Science & Engineering Tatung University.
Timing Model VHDL uses the following simulation cycle to model the stimulus and response nature of digital hardware Start Simulation Update Signals Execute.
1/8/ L2 VHDL Introcution© Copyright Joanne DeGroat, ECE, OSU1 Introduction to VHDL.
1/8/ L16 Timing & Concurrency III Copyright Joanne DeGroat, ECE, OSU1 Timing & Concurrency III Delay Model foundations for simulation and.
Relational Operators Result is boolean: greater than (>) less than (=) less than or equal to (
IAY 0600 Digital Systems Design Event-Driven Simulation VHDL Discussion Alexander Sudnitson Tallinn University of Technology.
1/8/ L11 Project Step 5Copyright Joanne DeGroat, ECE, OSU1 Project Step 7 Behavioral modeling of a dual ported register set.
Midterm Exam ReviewCopyright Joanne DeGroat, ECE, OSU1 Midterm Exam Notes.
ECE 4110–5110 Digital System Design
IAY 0600 Digitaalsüsteemide disain
HDL simulation and Synthesis (Marks16)
Modification that can be done to the datapath.
Timing Model Start Simulation Delay Update Signals Execute Processes
ECE 4110–5110 Digital System Design
Copyright Joanne DeGroat, ECE, OSU
IAY 0600 Digital Systems Design
Behavioral modeling of a dual ported register set.
Copyright Joanne DeGroat, ECE, OSU
ECE 434 Advanced Digital System L08
Copyright Joanne DeGroat, ECE, OSU
Project Step 2 – A single bit slice of the ALU
Modification that can be done to the datapath.
The continuation of a grand tour of the language.
Copyright Joanne DeGroat, ECE, OSU
Copyright Joanne DeGroat, ECE, OSU
Project Step 1 Due – see webpage
L21 – Register Set.
L25 – Datapath ALU.
MicroBaby Datapath.
Copyright Joanne DeGroat, ECE, OSU
Design Specification Document
Step 2 in behavioral modeling. Use of procedures.
How do you achieve deterministic concurrent simulation.
Timing & Concurrency II
Copyright Joanne DeGroat, ECE, OSU
Beyond the ALU and Datapath. Sequential Machine Modeling exercise.
Behavioral modeling of a dual ported register set.
Copyright Joanne DeGroat, ECE, OSU
Structural Modeling and the Generate Statement
Project Step 2 – A single bit slice of the ALU
Copyright Joanne DeGroat, ECE, OSU
The continuation of a grand tour of the language.
Copyright Joanne DeGroat, ECE, OSU
Timing & Concurrency II
Step 2 in behavioral modeling. Use of procedures.
L4 – An overview of Quartis
Step 3 in behavioral modeling. Use of packages.
© Copyright Joanne DeGroat, ECE, OSU
The transaction problem.
L25 – Final Review AU 15 Final Exam – Classroom – Journalism 300
Beyond the ALU and Datapath. Sequential Machine Modeling exercise.
Copyright Joanne DeGroat, ECE, OSU
Project Step 2 – A single bit slice of the ALU
Structural Modeling and the Generate Statement
Presentation transcript:

Timing & Concurrency II How do you achieve deterministic concurrent simulation. More examples and delta delay. 1/8/2007 - L15 Timing & Concurrency II Copyright 2006 - Joanne DeGroat, ECE, OSU

Overview – Timing & Concurrency Delta delay More examples to include processes Simulation Techniques The VHDL Simulation Cycle 1/8/2007 - L15 Timing & Concurrency II Copyright 2006 - Joanne DeGroat, ECE, OSU

Copyright 2006 - Joanne DeGroat, ECE, OSU Delta Delay Delta Delay – when transactions occur in “0” time, the pseudo-concurrent environment schedules then in Delta time. (d) ENTITY dt_example IS PORT( a,b,c : IN BIT; z : OUT BIT); END dt_example; ARCHITECTURE from_book OF dt_example IS SIGNAL w, x, y : BIT := ‘0’; BEGIN y <= c AND w; w <= NOT a; x <= a AND b; z <= x OR y AFTER 36 ns; END from_book; This example will be use to examine delta delay 1/8/2007 - L15 Timing & Concurrency II Copyright 2006 - Joanne DeGroat, ECE, OSU

Transactions generated at t=0 a, b, and c come in through the port and have an initial value of ‘1’ Externally there is a signal assignment statement a <= ‘0’; which gets executed at t=0 and generates the transaction a(‘0’,0, d, d) Concurrent signal assignment statements in architecture are evaluated at t=0. Not that a,b,c all have current value ‘1’ 1/8/2007 - L15 Timing & Concurrency II Copyright 2006 - Joanne DeGroat, ECE, OSU

Transaction from the architecture Signals of architecture are initial value of ‘0’ TIME 0 transcations y(‘0’,0,+1d, +1d) w(‘0’,0, +1d, +1d) x(‘1’,0, +1d, +1d) z(‘0’,0, 36, 36) AND FROM EXTERNALLY generated transaction a(‘0’,0,+1d, +1d) Now will advance time till the next time at which something occurs which is 1d 1/8/2007 - L15 Timing & Concurrency II Copyright 2006 - Joanne DeGroat, ECE, OSU

Copyright 2006 - Joanne DeGroat, ECE, OSU t=0 waveform waveform 1/8/2007 - L15 Timing & Concurrency II Copyright 2006 - Joanne DeGroat, ECE, OSU

Copyright 2006 - Joanne DeGroat, ECE, OSU First action is at +1d Action at 0+1d Post values for w,x,y,a Posting of a and x results in an event on both Processes (concurrent signal assignment stmt) sensitive to a and x are then re-evaluated 1/8/2007 - L15 Timing & Concurrency II Copyright 2006 - Joanne DeGroat, ECE, OSU

Re-eval of sensitive to a Concurrent statements sensitive to a and x are signal assignment statement for w, x and z. Evaluation causes generation of new transaction for w, x, and z Current value at t=+1d are a=0 b=1 x=1 y=0 Generate transactions w(‘1’, +1d, +1d, +2d) x(‘0’, +1d, +1d, +2d) z(‘1’, +1d,36,36) 1/8/2007 - L15 Timing & Concurrency II Copyright 2006 - Joanne DeGroat, ECE, OSU

Copyright 2006 - Joanne DeGroat, ECE, OSU Transaction for z Event Queue for Z before posting z(‘0’,0, 36, 36) Transaction to be posted z(‘1’,+1d,36,36) “Transaction for a driver on the projected output waveform queue that occur at or after the transaction to be posted are deleted” Event Queue for z after posting as existing 36ns transaction is deleted 1/8/2007 - L15 Timing & Concurrency II Copyright 2006 - Joanne DeGroat, ECE, OSU

Progressing forward to +2d Transaction list z(‘1’, +1d, 36, 36) w(‘1’, +1d, +1d, +2d) x(‘0’, +1d, +1d, +2d) x and w have events Re-eval y and z which generate y(‘1’, +2d, +1d, +3d) z(‘0’, +2d, 36, 36) 1/8/2007 - L15 Timing & Concurrency II Copyright 2006 - Joanne DeGroat, ECE, OSU

Progressing forward at +3d Transaction list y(‘1’, +2d, +1d, +3d) z(‘0’, +2d, 36, 36) event on y Re-eval z which generates z(‘1’, +3d, 36, 36) 1/8/2007 - L15 Timing & Concurrency II Copyright 2006 - Joanne DeGroat, ECE, OSU

Copyright 2006 - Joanne DeGroat, ECE, OSU And the final result Post the final transaction for z z(‘1’, +3d, 36, 36) Does not result in an event Simulation goes quiescent if testbench does 1/8/2007 - L15 Timing & Concurrency II Copyright 2006 - Joanne DeGroat, ECE, OSU

Delta delays and process waits Lets now examine another example that highlights processes and sequential signal assignment statements. 1/8/2007 - L15 Timing & Concurrency II Copyright 2006 - Joanne DeGroat, ECE, OSU

Delta delay with processes ENTITY timing IS END timing; ARCHITECTURE concurrent2 OF timing IS SIGNAL a,b,c : BIT := ‘0’; BEGIN A: PROCESS a <= b; WAIT FOR 10 ns; END PROCESS A; B: PROCESS VARIABLE d : BIT :=‘0’; BEGIN b <= d AFTER 1 ns; d := c; WAIT FOR 5 ns; c <= ‘1’; END PROCESS B; END concurrent2; 1/8/2007 - L15 Timing & Concurrency II Copyright 2006 - Joanne DeGroat, ECE, OSU

Copyright 2006 - Joanne DeGroat, ECE, OSU Initial values Initail value of all signals is ‘0’ Evaluate all processes until they suspend A: a(‘0’,0,+1d,+1d) A suspends until 10 ns; B: b(‘0’,0,1,1) var d set to ‘0’ B suspends until 5 ns; 1/8/2007 - L15 Timing & Concurrency II Copyright 2006 - Joanne DeGroat, ECE, OSU

Copyright 2006 - Joanne DeGroat, ECE, OSU Advance time to 1d Transaction to post a(‘0’,0,+1d,+1d) Causes no other action Have processes suspended A till 10 ns B till 5 ns 1/8/2007 - L15 Timing & Concurrency II Copyright 2006 - Joanne DeGroat, ECE, OSU

Copyright 2006 - Joanne DeGroat, ECE, OSU Advance time to 1 ns Post last transaction on queue b(‘0’,0,1,1) Causes no other action Have processes suspended A till 10 ns B till 5 ns 1/8/2007 - L15 Timing & Concurrency II Copyright 2006 - Joanne DeGroat, ECE, OSU

Copyright 2006 - Joanne DeGroat, ECE, OSU Advance to 5 ns Resume PROCESS B from where it suspended Generates transaction c (‘1’,5ns,5+1d,5+1d) Variable d is reassigned to ‘0’ B suspends until 10 ns 1/8/2007 - L15 Timing & Concurrency II Copyright 2006 - Joanne DeGroat, ECE, OSU

Copyright 2006 - Joanne DeGroat, ECE, OSU Advance to 5+1d ns Post transaction c (‘1’,5ns,5+1d,5+1d) causes an event PROCESSES Suspended A till 10 ns B till 10 ns 1/8/2007 - L15 Timing & Concurrency II Copyright 2006 - Joanne DeGroat, ECE, OSU

Copyright 2006 - Joanne DeGroat, ECE, OSU Advance to t = 10 ns Process A and B resume A: a(‘0’,10, +1d,10+1d) A suspends till 20 ns; B: b(‘0’,10,1,11) d set to ‘1’ B suspends till 15 ns; 1/8/2007 - L15 Timing & Concurrency II Copyright 2006 - Joanne DeGroat, ECE, OSU

Copyright 2006 - Joanne DeGroat, ECE, OSU Advance to t = 10+1d Post transaction a(‘0’,10, +1d,10+1d) No other action 1/8/2007 - L15 Timing & Concurrency II Copyright 2006 - Joanne DeGroat, ECE, OSU

Copyright 2006 - Joanne DeGroat, ECE, OSU Advance to 11 ns Post transaction b(‘0’,10,1,11) No other action 1/8/2007 - L15 Timing & Concurrency II Copyright 2006 - Joanne DeGroat, ECE, OSU

Copyright 2006 - Joanne DeGroat, ECE, OSU Advance to t = 15 ns B resumes c (‘1’,15, +1d,15+1d) d set to c or ‘1’ B suspends till 20 ns; 1/8/2007 - L15 Timing & Concurrency II Copyright 2006 - Joanne DeGroat, ECE, OSU

Copyright 2006 - Joanne DeGroat, ECE, OSU Action at t =15+1d Post transaction c (‘1’,15, +1d,15+1d) 1/8/2007 - L15 Timing & Concurrency II Copyright 2006 - Joanne DeGroat, ECE, OSU

Copyright 2006 - Joanne DeGroat, ECE, OSU Advance to t = 20 ns A resumes a(‘0’,20, +1d,20+1d) A suspends till 30 ns B resumes at top b(‘1’,20,1,21) d set to ‘1’ B suspends until 25 1/8/2007 - L15 Timing & Concurrency II Copyright 2006 - Joanne DeGroat, ECE, OSU

Copyright 2006 - Joanne DeGroat, ECE, OSU Action at t= 20 and 21 Post transactions a(‘0’,20, +1d,20+1d) b(‘1’,20,1,21) This is not the end of the action of the simulation Simulation never goes quiescent as there are always processes suspended 1/8/2007 - L15 Timing & Concurrency II Copyright 2006 - Joanne DeGroat, ECE, OSU