Digital VLSI - Unit 4
Digital VLSI - Unit 4
LEVELS OF MODELING
Assignment to Vectors
Dataflow Level Modeling
Continuous
Assignment Structure
Assignment to Vectors
assign e = a & b;
assign f = c & d;
assign g1 = e ! f;
assign g = ~g1;
Dataflow Level Modeling
Combining Assignment and Net Declarations
Continuous
Assignment Structure wire c;
assign c = a & b; wire c = a & b;
module aoi2(g,a,b,c,d);
Delays and Continuous output g;
Assignments input a,b,c,d;
wire e,f,g1,g;
assign e = a && b,f = c && d, g1 = e||f, g=~g1;
endmodule
Assignment to Vectors
wire g;
wire e = a && b;
wire f = c && d;
wire g1 = e||f;
assign g = ~g1;
Dataflow Level Modeling
Continuous Assignments and Strengths
Continuous
Assignment Structure wire (pull1, strong0)g = ~g1;
Continuous wire c, a, b;
Assignment Structure
assign #2 c = a & b;
Assignment to Vectors
Dataflow Level Modeling
Continuous wire a, b, d;
Assignment Structure wire #2 c;
assign c = a & b;
assign d = a & b;
Assignment to Vectors
Dataflow Level Modeling
Force-Release
construct
@clk
Force-Release
construct
@(prt or clr)
Force-Release
construct
Parallel Blocks
Force-Release
construct
Assign-De-Assign Example
construct
Force-Release
construct
Assignments with
Delays
Assign-De-Assign
construct
Parallel Blocks
Force-Release
construct
Functions
Functions are declared with the keywords
function and endfunction. Functions are
used if
all of the following conditions are true for
the procedure:
There are no delay, timing, or event
control constructs in the procedure.
The procedure returns a single value.
There is at least one input argument.
There are no output or inout arguments.
There are no nonblocking assignments.
Functions and Tasks
Tasks:
Tasks are declared with the keywords task and endtask.
Tasks must be used if any one of the following conditions is true
for the procedure:
There are delay, timing, or event control constructs in the
procedure.
The procedure has zero or more than one output
arguments.
The procedure has no input arguments.
Functions and Tasks