//-------------------------------------------------------------------------------------------------- // // Title : toHex_tf // Design : // Author : Tom Sommerville // Company : // //------------------------------------------------------------------------------------------------- // // File : toHex_tf.v // Generated : // From : // By : // //------------------------------------------------------------------------------------------------- // // Description : Tests the implementation of the toHex module. // //------------------------------------------------------------------------------------------------- `timescale 1ns / 1ns module toHex_tf (output reg [3:0] Number, input [6:0] Segments); integer resultFile, errors; reg [4:0] vector; reg [6:0] expected; initial begin resultFile = $fopen("FA_tf_output.txt"); if (resultFile == 0) begin $fdisplay(resultFile, "Error: Unable to open file."); $finish; end resultFile = resultFile | 1; errors = 0; for (vector = 0; vector < 16; vector = vector + 1) begin Number = vector; #10 case(vector) 7'd0: expected = 63; 7'd1: expected = 6; 7'd2: expected = 91; 7'd3: expected = 79; 7'd4: expected = 102; 7'd5: expected = 109; 7'd6: expected = 125; 7'd7: expected = 7; 7'd8: expected = 127; 7'd9: expected = 111; 7'd10: expected = 119; 7'd11: expected = 124; 7'd12: expected = 57; 7'd13: expected = 94; 7'd14: expected = 121; 7'd15: expected = 113; endcase if(Segments !== ~expected) begin $fdisplay(resultFile, "Error: Number %d - Got: %b", vector, Segments); errors = errors + 1; end else begin $fdisplay(resultFile, "Case %d passed", vector); end end $fdisplay(resultFile, "End of test - %d errors found.", errors); $fclose(resultFile); end endmodule