diff --git a/gateware/simple/demo.v b/gateware/simple/demo.v index 54760ad..aee0229 100644 --- a/gateware/simple/demo.v +++ b/gateware/simple/demo.v @@ -1,3 +1,5 @@ +`default_nettype none + module demo_top( input clk_12, input [3:0] btn, @@ -8,10 +10,10 @@ module demo_top( reg [11:0] ctr_scroll = 1'b1; reg clk_div = 0; - localparam DIV = 20; + localparam DIV = 21; reg [DIV-1:0] div_ctr = 0; - always @(posedge clk) begin + always @(posedge clk_12) begin {clk_div, div_ctr} <= div_ctr + 1'b1; if (clk_div) begin @@ -24,8 +26,8 @@ module demo_top( led_ctrl led_ctrl_i ( .clk(clk_12), - .led_in_yr({dip_sw, btn}), - .led_in_bg(ctr_scroll), + .led_in_yr({ctr_scroll[5:0], dip_sw[1:0], btn}), + .led_in_bg({dip_sw[7:2], ctr_scroll[11:6]}), .led_pin(led) ); diff --git a/gateware/simple/led_ctrl.v b/gateware/simple/led_ctrl.v index 643f5b6..143fa17 100644 --- a/gateware/simple/led_ctrl.v +++ b/gateware/simple/led_ctrl.v @@ -17,6 +17,7 @@ module led_ctrl ( always @(posedge clk) ctr <= ctr + 1'b1; genvar i; + wire [11:0] led_o, led_en; generate for (i = 0; i < 12; i = i + 1'b1) begin /* @@ -25,9 +26,11 @@ module led_ctrl ( Only BG asserted : LED at constant 1'b1 Neither asserted : LED off (1'bz) */ - assign led_pin[i] = led_in_yr ? - (led_in_bg ? ctr[DIV_FACTOR - 1] : 1'b0) : - (led_in_bg ? 1'b1 : 1'bz); + assign led_o[i] = led_in_yr[i] ? + (led_in_bg[i] ? ctr[DIV_FACTOR - 1] : 1'b0) : + 1'b1; + assign led_en[i] = led_in_yr[i] || led_in_bg[i]; + assign led_pin[i] = led_en[i] ? led_o[i] : 1'bz; end endgenerate