// // Title : 8-bit shifter test fixture // Design : Homework 4 // Author : Carl Ebeling // Company : CSE 370 // //------------------------------------------------------------------------------------------------- // // File : shift8_tf.v // // Description : This test fixture tests the 8-bit shifter // Execute for 21000 ns. //------------------------------------------------------------------------------------------------- `timescale 1ns / 1ns module shift8_tf (D, S, Q); output [7:0] D; // Data input to shifter output[2:0] S; // Shift amount input [7:0] Q; // Data output of shifter reg [7:0] D; // Data input to shifter reg [2:0] S; // Shift amount reg [7:0] result; reg [7:0] test; integer errors; integer count; initial begin errors = 0; // Perform exhaustive test: D and S have 11 bits total for (count = 0; count < 1<<11; count = count + 1) begin { D, S } = count; // Test vector result = {{7{D[7]}}, D} >> S; #10 if (Q !== result) begin $display("***Error*** D:%b, S:%d, Q:%b", D, S, Q); errors = errors + 1; end end if (errors == 0) $display("Test passed - No errors!!"); else $display("**** %d Errors****", errors); end endmodule