`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