// // Title : 16-bit CLA test fixture // Design : Homework 4 // Author : Carl Ebeling // Company : CSE 370 // //------------------------------------------------------------------------------------------------- // // File : add16_tf.v // // Description : This test fixture tests the 16-bit carry-lookahead adder // Execute for 100000 ns. //------------------------------------------------------------------------------------------------- `timescale 1ns / 1ns module add16_tf (A, B, Cin, Sum); output [15:0] A, B; // Data input to adder output Cin; // Carry in input [15:0] Sum; // Result of adder reg [15:0] A, B; // Data input to adder reg Cin; // Carry in integer errors; integer count; reg [15:0] result; initial begin errors = 0; // Perform random tests: for (count = 0; count < 10000; count = count + 1) begin A = $random; if ($random & 1'b1) B = ~A; else B = $random; Cin = $random; #10 result = A + B + Cin; if (Sum !== result) begin $display("***Error*** A:%b, B:%b, Cin:%d, Sum:%b, result should be:%b", A, B, Cin, Sum, result); errors = errors + 1; $stop; end end if (errors == 0) $display("Test passed - No errors!!"); else $display("**** %d Errors****", errors); end endmodule