summaryrefslogtreecommitdiff
path: root/nandgame/cond_check.sv
diff options
context:
space:
mode:
authoruvok2026-01-01 16:57:20 +0100
committeruvok2026-01-01 16:57:20 +0100
commit7a6628f20419ca3bcade1865da66030569feae71 (patch)
treedc8b199929548ab7384e8a9d06da9d1d8863bdc4 /nandgame/cond_check.sv
parent65e923b2b4648456c9d83c81262642918b75daff (diff)
Add nandgame condition check
Diffstat (limited to 'nandgame/cond_check.sv')
-rw-r--r--nandgame/cond_check.sv23
1 files changed, 23 insertions, 0 deletions
diff --git a/nandgame/cond_check.sv b/nandgame/cond_check.sv
new file mode 100644
index 0000000..dc9d334
--- /dev/null
+++ b/nandgame/cond_check.sv
@@ -0,0 +1,23 @@
+// nandgame condition checker
+
+`timescale 1us/1us
+
+module cond_check #(
+ parameter DATA_WIDTH = 16
+) (
+ input [(DATA_WIDTH-1):0] X,
+ input wire ltz,
+ input wire eqz,
+ input wire gtz,
+ output wire res
+);
+
+wire ltr, eqr, gtr, greater_zero;
+assign greater_zero = X[(DATA_WIDTH - 1)] == 0;
+assign ltr = ltz && !greater_zero;
+assign gtr = gtz && greater_zero && !(X == 0);
+assign eqr = eqz && (X == 0);
+
+assign res = ltr || gtr || eqr;
+
+endmodule