15-rtl
TRANSCRIPT
-
8/3/2019 15-RTL
1/4
Lecture 15:Lecture 15:Register Transfer LanguageRegister Transfer Language
! " #$ %% &''
() * ! "
AdministriviaAdministrivia
+ , " - -
+ . &+ " " / 0+ * 1 # 2
RTL (Register Transfer Language)RTL (Register Transfer Language)
+ * " "" " % ! % " (( %+ " -% ! % %
,3 4 % ( " ! ( "" ( " -/ " " "
RTL ToolsRTL Tools
,3 . " % 0 5 " 6 % "4+ " "+ "
+ 0 %%# ("
+ 3# 0+ 0 ,3 % " " "
+ 3 %" ""+ ,3 " %+ ,3 ""
+ ,3
-
8/3/2019 15-RTL
2/4
VerilogVerilog
+ 7 % 78* ,3 ")+ 9 / %% % 0 7 % - " # "
+ * " " " " ( % " "
FOO BAR
BAZa b
c
ExampleExample
: % " ! % " %/ #" % 0"
Modified ExampleModified Example
+ " "" " ( %+ ; -/ " " 5 % " / /
-
8/3/2019 15-RTL
3/4
WiresWires
+ 9 " % % "" " % % / "
module example(b, c, d);input [3:0]b, [3:0]c;output d;wire [3:0]a; // necessary
a = b & c;
d = a[2] | a[1] | a[0];endmodule
Register Transfer Language?Register Transfer Language?
+ 7 % " " / " "+ = %/ #"> % 0"
Module D_FlipFLop(Q, D, CLK);output Q;reg Q;input D, CLK;always @(negedge CLK) // Sensitivity List
begin // Not needed for 1 statement
Q
-
8/3/2019 15-RTL
4/4
Misc.Misc.
+ , " ( % ( :A 4
reg [31:0] register_file[0:31];
+ 9 . " " " (
+ 0" % 0+ "+ "/ - ( - / % -" "