Shakir Ullah
Newbie level 3

please help ma regarding the test bench of the following code. I have tried it but it is not working.
Code Verilog - [expand] 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 module ShiftRegister8( input sl, sr, clk, input [7:0] ParIn, input [1:0] m, output reg [7:0] ParOut); always @(negedge clk) begin case (m) 0: ParOut <= ParOut; 1: ParOut <= {sl, ParOut [7:1]}; 2: ParOut <= {ParOut [6:0], sr}; 3: ParOut <= ParIn; default: ParOut <= 8'bX; endcase end endmodule // Test bench that i have tried but not working module TB_ShiftRegister8(); reg sl, sr, clk; reg [7:0] ParIn; reg [1:0] m; wire [7:0] ParOut; initial $monitor ("SL: %b , SR: %b , PARIN: %b , M: %b , PAROUT: %b ", sl, sr, ParIn, m, ParOut); initial begin #10 sl = 1; ParIn = 8'b1; m = 0; #10 sr = 1; ParIn = 8'b1; m = 1; #10 sl = 1; ParIn = 8'b1; m = 2; #10 sl = 1; sr = 1; ParIn = 8'b1; m = 3; #10 $stop; end ShiftRegister8 M0 (sl, sr, clk, ParIn, m, ParOut); endmodule
Last edited by a moderator: