summaryrefslogtreecommitdiffstats
path: root/part_2/ex8/verilog_files/formula_fsm.v
diff options
context:
space:
mode:
Diffstat (limited to 'part_2/ex8/verilog_files/formula_fsm.v')
-rwxr-xr-xpart_2/ex8/verilog_files/formula_fsm.v21
1 files changed, 16 insertions, 5 deletions
diff --git a/part_2/ex8/verilog_files/formula_fsm.v b/part_2/ex8/verilog_files/formula_fsm.v
index 90daa0c..f79a62e 100755
--- a/part_2/ex8/verilog_files/formula_fsm.v
+++ b/part_2/ex8/verilog_files/formula_fsm.v
@@ -8,6 +8,8 @@ reg [1:0] state;
reg led_on, en_lfsr, start_delay;
reg [9:0] ledr;
+reg [11:0] count;
+
parameter WAIT_TRIGGER = 2'd0, LIGHT_UP_LEDS = 2'd1, WAIT_FOR_TIMEOUT = 2'd2;
initial
@@ -33,14 +35,23 @@ always @ (posedge clk)
default: ;
endcase
-always @ (posedge tick)
+always @ (posedge clk)
case(state)
WAIT_TRIGGER:
- ledr = 10'b0;
+ ledr = 0;
LIGHT_UP_LEDS:
- ledr <= {ledr[8:0], 1'b1};
- default:
- ledr <= 10'h3ff;
+ begin
+ if(count == 1'b0)
+ begin
+ ledr <= {ledr[8:0], 1'b1};
+ count <= 12'd2499;
+ end
+ else
+ begin
+ count <= count - 1'b1;
+ end
+ end
+ default: count <= 12'd2499;
endcase
always @ (*)