diff options
| author | uvok | 2026-01-01 15:32:54 +0100 |
|---|---|---|
| committer | uvok | 2026-01-01 15:32:54 +0100 |
| commit | 981f86a5b3ea6a05925c807bac26986e0c876dcf (patch) | |
| tree | d7caeb81fdd8d362ca6e4af79fa4c15e8f67d4dd /nandgame/logic_unit_tb.sv | |
| parent | 4792fb03e5d39da03633e71ff4b5375709bfb1d5 (diff) | |
Add nandgame files
need/want systemverilog
Diffstat (limited to 'nandgame/logic_unit_tb.sv')
| -rw-r--r-- | nandgame/logic_unit_tb.sv | 58 |
1 files changed, 58 insertions, 0 deletions
diff --git a/nandgame/logic_unit_tb.sv b/nandgame/logic_unit_tb.sv new file mode 100644 index 0000000..c1495c3 --- /dev/null +++ b/nandgame/logic_unit_tb.sv @@ -0,0 +1,58 @@ +`timescale 1us/1us + +`include "nandgame_types.v" + +module logic_unit_tb ( +); + +logic [15:0] in1; +logic [15:0] in2; +LogicCode opcode; +logic [15:0] result; + +logic_unit uut ( + .X(in1), + .Y(in2), + .operation(opcode), + .RES(result) +); + +string filename; +initial begin +`ifdef DUMP_FILE_NAME + filename=`DUMP_FILE_NAME; +`else + filename="logic_unit.lxt2"; +`endif + $dumpfile(filename); $dumpvars(); + +end + +initial begin + in1 = 16'b1010; + in2 = 16'b1100; + opcode = LOGIC_AND; + #1 + assert(result == 16'b1000); + #1 + in1 = 16'b1010; + in2 = 16'b1100; + opcode = LOGIC_OR; + #1 + assert(result == 16'b1110); + #1 + in1 = 16'b1010; + in2 = 16'b1100; + opcode = LOGIC_XOR; + #1 + assert(result == 16'b0110); + #1 + in1 = 16'b1010101010101010; + opcode = LOGIC_NEGT; + #1 + assert(result == 16'b0101010101010101); + #1 + $finish(); +end + +endmodule |
