From 7a6628f20419ca3bcade1865da66030569feae71 Mon Sep 17 00:00:00 2001 From: uvok Date: Thu, 1 Jan 2026 16:57:20 +0100 Subject: Add nandgame condition check --- nandgame/cond_check_tb.sv | 119 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 119 insertions(+) create mode 100644 nandgame/cond_check_tb.sv (limited to 'nandgame/cond_check_tb.sv') 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 -- cgit v1.2.3