summaryrefslogtreecommitdiff
path: root/fpga-toolchain/experiments/top.v
diff options
context:
space:
mode:
Diffstat (limited to 'fpga-toolchain/experiments/top.v')
-rw-r--r--fpga-toolchain/experiments/top.v42
1 files changed, 42 insertions, 0 deletions
diff --git a/fpga-toolchain/experiments/top.v b/fpga-toolchain/experiments/top.v
new file mode 100644
index 0000000..421c0a4
--- /dev/null
+++ b/fpga-toolchain/experiments/top.v
@@ -0,0 +1,42 @@
+// Blink an LED provided an input clock
+/* module */
+module top (hwclk, mosi, led1, led2, led3, led4, led5, led6, led7, led8, clkout , out);
+ /* I/O */
+ input hwclk;
+ input mosi;
+ output led1;
+ output led2;
+ output led3;
+ output led4;
+ output led5;
+ output led6;
+ output led7;
+ output led8;
+ output clkout;
+ output out;
+ wire clkout;
+
+ /* Counter register */
+ reg [31:0] counter = 32'b0;
+ reg [8:0] shiftreg = 9'b1;
+
+ /* LED drivers */
+ assign led1 = shiftreg[0];
+ assign led2 = shiftreg[1];
+ assign led3 = shiftreg[2];
+ assign led4 = shiftreg[3];
+ assign led5 = shiftreg[4];
+ assign led6 = shiftreg[5];
+ assign led7 = shiftreg[6];
+ assign led8 = shiftreg[7];
+
+ assign clkout = hwclk;
+ assign out = shiftreg[8];
+
+ /* always */
+ always @ (negedge hwclk)
+ begin
+ shiftreg = (shiftreg << 1) + mosi;
+ end
+
+endmodule