//-------------------------------------------------------------------------------------------------- // // Title : FA_tf // Design : // Author : YOUR NAME HERE // Company : // //------------------------------------------------------------------------------------------------- // // File : // Generated : Wed Aug 14 06:59:53 2002 // From : interface description file // By : Itf2Vhdl ver. 1.20 // //------------------------------------------------------------------------------------------------- // // Description : Drives inputs for a 1-bit full adder and samples the // outputs to verify the correctness of the design. // //------------------------------------------------------------------------------------------------- `timescale 1ns / 1ns module FA_tf ( A ,B ,Cin ,Cout ,Sum ); input Cout ; wire Cout ; input Sum ; wire Sum ; output A ; reg A ; output B ; reg B ; output Cin ; reg Cin ; integer results; initial begin results = $fopen("FA_tf_output.txt"); if (results == 0) begin $fdisplay(results, "Error: Unable to open file."); $finish; end results = results | 1; A = 0; B = 0; Cin = 0; #10 if((Sum !== 0) && (Cout !== 0)) $fdisplay(results, "Error: Sum and Cout are incorrect"); else if(Sum !== 0) $fdisplay(results, "Error: Sum is incorrect"); else if(Cout !== 0) $fdisplay(results, "Error: Cout is incorrect"); else $fdisplay(results, "Case 1 passed"); A = 0; B = 0; Cin = 1; #10 if((Sum !== 1) && (Cout !== 0)) $fdisplay(results, "Error: Sum and Cout are incorrect"); else if(Sum !== 1) $fdisplay(results, "Error: Sum is incorrect"); else if(Cout !== 0) $fdisplay(results, "Error: Cout is incorrect"); else $fdisplay(results, "Case 2 passed"); A = 0; B = 1; Cin = 0; #10 if((Sum !== 1) && (Cout !== 0)) $fdisplay(results, "Error: Sum and Cout are incorrect"); else if(Sum !== 1) $fdisplay(results, "Error: Sum is incorrect"); else if(Cout !== 0) $fdisplay(results, "Error: Cout is incorrect"); else $fdisplay(results, "Case 3 passed"); A = 0; B = 1; Cin = 1; #10 if((Sum !== 0) && (Cout !== 1)) $fdisplay(results, "Error: Sum and Cout are incorrect"); else if(Sum !== 0) $fdisplay(results, "Error: Sum is incorrect"); else if(Cout !== 1) $fdisplay(results, "Error: Cout is incorrect"); else $fdisplay(results, "Case 4 passed"); A = 1; B = 0; Cin = 0; #10 if((Sum !== 1) && (Cout !== 0)) $fdisplay(results, "Error: Sum and Cout are incorrect"); else if(Sum !== 1) $fdisplay(results, "Error: Sum is incorrect"); else if(Cout !== 0) $fdisplay(results, "Error: Cout is incorrect"); else $fdisplay(results, "Case 5 passed"); A = 1; B = 0; Cin = 1; #10 if((Sum !== 0) && (Cout !== 1)) $fdisplay(results, "Error: Sum and Cout are incorrect"); else if(Sum !== 0) $fdisplay(results, "Error: Sum is incorrect"); else if(Cout !== 1) $fdisplay(results, "Error: Cout is incorrect"); else $fdisplay(results, "Case 6 passed"); A = 1; B = 1; Cin = 0; #10 if((Sum !== 0) && (Cout !== 1)) $fdisplay(results, "Error: Sum and Cout are incorrect"); else if(Sum !== 0) $fdisplay(results, "Error: Sum is incorrect"); else if(Cout !== 1) $fdisplay(results, "Error: Cout is incorrect"); else $fdisplay(results, "Case 7 passed"); A = 1; B = 1; Cin = 1; #10 if((Sum !== 1) && (Cout !== 1)) $fdisplay(results, "Error: Sum and Cout are incorrect"); else if(Sum !== 1) $fdisplay(results, "Error: Sum is incorrect"); else if(Cout !== 1) $fdisplay(results, "Error: Cout is incorrect"); else $fdisplay(results, "Case 8 passed"); $fdisplay(results, "End of test."); $fclose(results); end endmodule