lecture10 - ECE 4514 Digital Design II Spring 2008...

Info iconThis preview shows pages 1–7. Sign up to view the full content.

View Full Document Right Arrow Icon

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
This is the end of the preview. Sign up to access the rest of the document.

Unformatted text preview: ECE 4514 Digital Design II Spring 2008 Behavioral Modeling: Patrick Schaumont Spring 2008 ECE 4514 Digital Design II Lecture 10: Behavioral Modeling: Non-blocking Assignments Non-blocking assignments A Language Lecture Patrick Schaumont Today b First part on writing behavioral models- models which make use of more advanced constructs to design always and initial blocks b Today: Introduce non-blocking procedural assignments he first 20 minutes of this lecture are really important Patrick Schaumont Spring 2008 ECE 4514 Digital Design II Lecture 10: Behavioral Modeling: Non-blocking Assignments b The first 20 minutes of this lecture are really important Pay Attention Now .. it will earn itself back later The assignment statements so far Continuous Assignment Procedural Assignment using stand-alone assign statement inside of always and initial = = Operation Where xample ire ; ire ; Patrick Schaumont Spring 2008 ECE 4514 Digital Design II Lecture 10: Behavioral Modeling: Non-blocking Assignments Example Valid LHS Valid RHS wire q; reg a, b; assign q = a & b; Evaluated wire q; reg a, b; always @(b) a = b + 5; net (wire) reg expression of net or reg expression of net or reg when any part of RHS changes procedural execution What is 'procedural execution' ? b An always block is either executing, or it is waiting for an event from its sensitivity list b When it is executing, it proceeds in a sequential fashion through the statements of the code, until it runs into an event control statement (@, wait, #) Patrick Schaumont Spring 2008 ECE 4514 Digital Design II Lecture 10: Behavioral Modeling: Non-blocking Assignments always begin @(upedge a); b = a + 1; wait (c == 3); #20 b = a + 1; end wait for a execute wait for c execute wait 20 time units execute What is 'procedural execution' ? b An always is either executing, or it is waiting for an event from its sensitivity list b When it is executing, it proceeds in a sequential fashion through the statements of the code, until it runs into an event control statement (@, wait, #) Patrick Schaumont Spring 2008 ECE 4514 Digital Design II Lecture 10: Behavioral Modeling: Non-blocking Assignments wait for a execute wait for c execute wait 20 time units execute Procedural assignments execute in sequence within a block ('Sequential Block') Simulation time only advances through events. Thus, all execute blocks take 0 simulation time The assignment statements so far Continuous Assignment Procedural Assignment using stand-alone assign statement inside of always and initial = = Operation Where xample ire ; ire ; The full name of this assignment is: Patrick Schaumont Spring 2008 ECE 4514 Digital Design II Lecture 10: Behavioral Modeling: Non-blocking Assignments Example Valid LHS Valid RHS wire q; reg a, b; assign q = a & b; Evaluated wire q; reg a, b; always @(b) a = b + 5; net (wire) reg expression of net or reg expression of net or reg when any part of RHS changes procedural execution Procedural Blocking Assignment Procedural Blocking Assignment...
View Full Document

This note was uploaded on 12/24/2011 for the course ECE 4514 taught by Professor Staff during the Fall '08 term at Virginia Tech.

Page1 / 41

lecture10 - ECE 4514 Digital Design II Spring 2008...

This preview shows document pages 1 - 7. Sign up to view the full document.

View Full Document Right Arrow Icon
Ask a homework question - tutors are online