Beruflich Dokumente
Kultur Dokumente
module Datapath_BEH(
output [R2_width -1: 0] count, output reg E, output Zero, input [dp_width
-1: 0] data,
input Load_regs, Shift_left, Incr_R2, clock, reset_b);
endmodule
module t_Datapath_Unit( );
fork
data = 16'hAAAA;
Load_regs = 0;
Incr_R2 = 0;
Shift_left = 0;
#10 Load_regs = 1;
#20 Load_regs = 0;
#50 Incr_R2 = 1;
#120 Incr_R2 = 0;
#90 Shift_left = 1;
#200 Shift_left = 0;
join
endmodule
Part(b)
// Control Unit
module Controller_BEH (
output Ready,
output reg Load_regs,
output Incr_R2, Shift_left,
input Start, Zero, E, clock, reset_b
);
endmodule
Part(c)
// Integrated system
module Count_Ones_BEH_BEH
# (parameter dp_width = 16, R2_width = 5)
(
output [R2_width -1: 0] count,
input [dp_width -1: 0] data,
input Start, clock, reset_b
);
wire Load_regs, Incr_R2, Shift_left, Zero, E;
Controller_BEH M0 (Ready, Load_regs, Incr_R2, Shift_left, Start, Zero, E,
clock, reset_b);
Datapath_BEH M1 (count, E, Zero, data, Load_regs, Shift_left, Incr_R2,
clock, reset_b);
endmodule
endmodule