diff options
Diffstat (limited to 'nandgame/cond_check_tb.sv')
| -rw-r--r-- | nandgame/cond_check_tb.sv | 119 |
1 files changed, 119 insertions, 0 deletions
diff --git a/nandgame/cond_check_tb.sv b/nandgame/cond_check_tb.sv new file mode 100644 index 0000000..a7a22dc --- /dev/null +++ b/nandgame/cond_check_tb.sv @@ -0,0 +1,119 @@ +`timescale 1us/1us + +`include "nandgame_types.v" + +module cond_check_tb; + +logic [15:0] in1; +logic ltz, gtz, eqz; +logic res; + +cond_check uut ( + .X(in1), + .ltz(ltz), + .gtz(gtz), + .eqz(eqz), + .res(res) +); + +string filename; +initial begin +`ifdef DUMP_FILE_NAME + filename=`DUMP_FILE_NAME; +`else + filename="cond_check.lin1t2"; +`endif + $dumpfile(filename); $dumpvars(); + +end + +bit exp_res; +initial begin + eqz = 0; gtz = 0; ltz = 0; in1 = 0; + #1 + exp_res = 0; + assert(res == exp_res) + else $error("Expected %d, but got %d", exp_res, res); + #1 + + eqz = 0; gtz = 0; ltz = 1; in1 = 0; + #1 + exp_res = 0; + assert(res == exp_res) + else $error("Expected %d, but got %d", exp_res, res); + #1 + + eqz = 0; gtz = 1; ltz = 0; in1 = 0; + #1 + exp_res = 0; + assert(res == exp_res) + else $error("Expected %d, but got %d", exp_res, res); + #1 + + eqz = 1; gtz = 0; ltz = 0; in1 = 0; + #1 + exp_res = 1; + assert(res == exp_res) + else $error("Expected %d, but got %d", exp_res, res); + #1 + + eqz = 0; gtz = 0; ltz = 0; in1 = 1; + #1 + exp_res = 0; + assert(res == exp_res) + else $error("Expected %d, but got %d", exp_res, res); + #1 + + eqz = 0; gtz = 0; ltz = 1; in1 = 1; + #1 + exp_res = 0; + assert(res == exp_res) + else $error("Expected %d, but got %d", exp_res, res); + #1 + + eqz = 0; gtz = 1; ltz = 0; in1 = 1; + #1 + exp_res = 1; + assert(res == exp_res) + else $error("Expected %d, but got %d", exp_res, res); + #1 + + eqz = 1; gtz = 0; ltz = 0; in1 = 1; + #1 + exp_res = 0; + assert(res == exp_res) + else $error("Expected %d, but got %d", exp_res, res); + #1 + + eqz = 0; gtz = 0; ltz = 0; in1 = -1; + #1 + exp_res = 0; + assert(res == exp_res) + else $error("Expected %d, but got %d", exp_res, res); + #1 + + eqz = 0; gtz = 0; ltz = 1; in1 = -1; + #1 + exp_res = 1; + assert(res == exp_res) + else $error("Expected %d, but got %d", exp_res, res); + #1 + + eqz = 0; gtz = 1; ltz = 0; in1 = -1; + #1 + exp_res = 0; + assert(res == exp_res) + else $error("Expected %d, but got %d", exp_res, res); + #1 + + eqz = 1; gtz = 0; ltz = 0; in1 = -1; + #1 + exp_res = 0; + assert(res == exp_res) + else $error("Expected %d, but got %d", exp_res, res); + #1 + + $finish(); +end + +endmodule |
