summaryrefslogtreecommitdiff
path: root/fizzbuzz.v
diff options
context:
space:
mode:
Diffstat (limited to 'fizzbuzz.v')
-rw-r--r--fizzbuzz.v18
1 files changed, 18 insertions, 0 deletions
diff --git a/fizzbuzz.v b/fizzbuzz.v
new file mode 100644
index 0000000..e568013
--- /dev/null
+++ b/fizzbuzz.v
@@ -0,0 +1,18 @@
+module fizzbuzz (
+ input [7:0] num_i,
+ output [7:0] num_o,
+ output fizz_o,
+ output buzz_o,
+ output fizzbuzz_o
+);
+
+wire is_fizz, is_buzz;
+assign is_fizz = num_i % 3 == 0;
+assign is_buzz = num_i % 5 == 0;
+
+assign fizz_o = is_fizz && !is_buzz;
+assign buzz_o = !is_fizz && is_buzz;
+assign fizzbuzz_o = is_fizz && is_buzz;
+assign num_o = (is_fizz || is_buzz) ? 0 : num_i;
+
+endmodule