// // Title : Calendar test fixture // Design : Homework 4 Calendar (Problem 1) // Author : Gaetano Borriello // Company : CSE 370 // //------------------------------------------------------------------------------------------------- // // File : cal_tf.v // // Description : This test fixture tests the calendar modules that computes the day of the year // given month, day, and leap year flag. //------------------------------------------------------------------------------------------------- `timescale 1ns / 1ns module cal_tf (MONTH, DAY, LEAP_YEAR, DAY_OF_YEAR, ERROR); output [3:0] MONTH; // Data input for month of the year output [4:0] DAY; // Data input for day of the month output LEAP_YEAR; // Data input for leap year flag input [9:0] DAY_OF_YEAR; // Results from calendar subsystem input ERROR; // Error flag from calendar subsystem reg [3:0] MONTH; // Data input reg [4:0] DAY; // Data input reg LEAP_YEAR; // Data input integer errors; initial begin // Perform 5 test cases and count errors errors = 0; #10 MONTH = 2; DAY = 29; LEAP_YEAR = 1; #10 if ( !(DAY_OF_YEAR == 60 & ERROR == 0) ) begin $display("***Error*** MONTH:%d, DAY:%d, LEAP_YEAR:%b, DAY_OF_YEAR:%d, ERROR:%b", MONTH, DAY, LEAP_YEAR, DAY_OF_YEAR, ERROR); errors = errors + 1; end MONTH = 4; DAY = 15; LEAP_YEAR = 0; #10 if ( !(DAY_OF_YEAR == 105 & ERROR == 0) ) begin $display("***Error*** MONTH:%d, DAY:%d, LEAP_YEAR:%b, DAY_OF_YEAR:%d, ERROR:%b", MONTH, DAY, LEAP_YEAR, DAY_OF_YEAR, ERROR); errors = errors + 1; end MONTH = 11; DAY = 31; LEAP_YEAR = 0; #10 if ( (ERROR == 0) ) begin $display("***Error*** MONTH:%d, DAY:%d, LEAP_YEAR:%b, DAY_OF_YEAR:%d, ERROR:%b", MONTH, DAY, LEAP_YEAR, DAY_OF_YEAR, ERROR); errors = errors + 1; end MONTH = 2; DAY = 3; LEAP_YEAR = 0; #10 if ( !(DAY_OF_YEAR == 34 & ERROR == 0) ) begin $display("***Error*** MONTH:%d, DAY:%d, LEAP_YEAR:%b, DAY_OF_YEAR:%d, ERROR:%b", MONTH, DAY, LEAP_YEAR, DAY_OF_YEAR, ERROR); errors = errors + 1; end MONTH = 13; DAY = 1; LEAP_YEAR = 1; #10 if ( (ERROR == 0) ) begin $display("***Error*** MONTH:%d, DAY:%d, LEAP_YEAR:%b, DAY_OF_YEAR:%d, ERROR:%b", MONTH, DAY, LEAP_YEAR, DAY_OF_YEAR, ERROR); errors = errors + 1; end if (errors == 0) $display("Test passed - No errors!!"); else $display("**** %d Errors****", errors); end endmodule