| `default_nettype none |
| |
| module top; |
| |
| reg [7:0] dataIn; |
| wire [31:0] dataOut; |
| |
| reg clock, clear; |
| |
| Device dut( |
| .dataIn(dataIn), |
| .dataOut(dataOut), |
| .clock(clock), |
| .clear(clear) |
| ); |
| |
| // Just some random test bench code to make sure it works as expected |
| initial begin |
| clock = 1; |
| forever #5 clock = ~clock; |
| end |
| |
| initial begin |
| $monitor($time," dataIn: %h dataOut: %h shift: %b", dataIn, dataOut, dut.consumer.local_shift); |
| clear <= 1'b1; |
| dataIn <= 8'h0; |
| repeat(5) @(posedge clock); |
| clear <= 1'b0; |
| @(posedge clock); |
| dataIn <= 8'h44; |
| @(posedge clock); |
| dataIn <= 8'h77; |
| @(posedge clock); |
| dataIn <= 8'h11; |
| @(posedge clock); |
| dataIn <= 8'h0; |
| repeat(5) @(posedge clock); |
| $finish; |
| end |
| |
| endmodule |