









































Study with the several resources on Docsity
Earn points by helping other students or get them with a premium plan
Prepare for your exams
Study with the several resources on Docsity
Earn points to download
Earn points by helping other students or get them with a premium plan
An overview of dataflow modeling in digital design ii, focusing on net assignments and operators. The differences between procedural and dataflow modeling, net declaration and continuous assignment, and various types of operators. It also includes examples and explanations of arithmetic, bitwise, reduction, logical, relational, and shift operators.
Typology: Study notes
1 / 49
This page cannot be seen from the preview
Don't miss anything!










































input output^
output
module
nand(q,
a,^ b)
output
q; reg^ q; input
a,^ b;
module
nand(q,
a,^ b)
output
q; input
a,^ b;
input
a,^ b; always
@(a^
or^ b) q^ =^ ~(a
|^ b); endmodule
assign
q^ =^
~(a^ |
b);
endmodule
module
nand(q,
a,^ b)
output
q; reg^ q; input
a,^ b;
module
nand(q,
a,^ b)
output
q; input
a,^ b;
input
a,^ b; always
@(a^
or^ b) q^ =^ ~(a
|^ b); endmodule
assign
q^ =^
~(a^ |
b);
endmodule
module
nand(q1,
q2,^
a,^ b)
output
q1,^
q2; input
a,^ b;
Patrick SchaumontSpring 2008
input
a,^ b; assign
q1^ =
~(a^
|^ b);
assign
q2^ =
~(a^
&^ b);
... endmodule
module
nand(q1,
q2,^
a,^ b)
output
q1,^
q2;
Patrick SchaumontSpring 2008
output
q1,^
q2; input
a,^ b; assign
q1^ =
~(a^
|^ b), q2^ =^
~(a^ &
b);
... endmodule
nand(q,
a,^ b)
output
q; input
a,^ b; wire^
n; assign
n^ =^ ~(a
|^ b);
... endmodule
module
nand(q,
a,^ b)
output
q; input
a,^ b; wire^
n; assign
n^ =^
~(a^ |
b);
... endmodule
nand(q,
a,^ b)
output
q; input
a,^ b; wire^
#10^ n
=^ ~(a
|^ b);
... endmodule
module
nand(q,
a,^ b)
output
q; input
a,^ b; wire^
#10^ n; assign
n^ =^ ~(a
|^ b);
... endmodule
Right-Hand Side
Left-Hand Side
=
nets (wire)
nets (wire)variable (reg)parametersnumbersfunction call
Bit 3, 2, 1, 0 Bit 3
Bit 3 X Bit 3, 4
Right-Hand Side
Left-Hand Side
=
-^ net •^ net bit-select or part-select •^ indexed net •^ indexed net bit - select or part - select
'net' can be
-^ indexed net bit
^ Relational ^ Shift ^ Selection ^ Concatenation & Replication
If a and b are 15 bit, and c is 16 bit, then c = a + b will notloose precision ^ Assignments will loose precision if the target is notlarge enough^
If a and b are 15 bit, and c is 8 bit, then c = a + b captures the ^ If a and b are 15 bit, and c is 8 bit, then c = a + b captures the^ 8 lsb of the addition Standalone expressions
may
loose precision
^ If a and b are 15 bit, then the standalone expression a + buses 15 bit (max wordlength over a and b), and thus mayloose precision ^ Standalone expressions occur in some system calls like e.g.$display("a+b=%h", a+b);