diff options
author | David Shah <davey1576@gmail.com> | 2018-06-10 15:06:26 +0200 |
---|---|---|
committer | David Shah <davey1576@gmail.com> | 2018-06-10 15:06:26 +0200 |
commit | 02b83d6db6c2d0d690b302459fbe490eaa5d140c (patch) | |
tree | f0570a9626eec89a7a8ef0bc557a0c5356dda1f7 /ice40/icebreaker.v | |
parent | 032c94d094b74bec922004cbbac0dcb2ae734839 (diff) | |
download | nextpnr-02b83d6db6c2d0d690b302459fbe490eaa5d140c.tar.gz nextpnr-02b83d6db6c2d0d690b302459fbe490eaa5d140c.tar.bz2 nextpnr-02b83d6db6c2d0d690b302459fbe490eaa5d140c.zip |
Debugging on icebreaker
Diffstat (limited to 'ice40/icebreaker.v')
-rw-r--r-- | ice40/icebreaker.v | 187 |
1 files changed, 187 insertions, 0 deletions
diff --git a/ice40/icebreaker.v b/ice40/icebreaker.v new file mode 100644 index 00000000..fde2c576 --- /dev/null +++ b/ice40/icebreaker.v @@ -0,0 +1,187 @@ +module icebreaker ( + input clk_pin, + input btn1_pin, + input btn2_pin, + input btn3_pin, + output led1_pin, + output led2_pin, + output led3_pin, + output led4_pin, + output led5_pin +); + wire clk, led1, led2, led3, led4, led5, btn1, btn2, btn3; + + (* BEL="18_31_io1" *) //27 + SB_IO #( + .PIN_TYPE(6'b 0110_01), + .PULLUP(1'b0), + .NEG_TRIGGER(1'b0) + ) led1_iob ( + .PACKAGE_PIN(led1_pin), + .LATCH_INPUT_VALUE(), + .CLOCK_ENABLE(), + .INPUT_CLK(), + .OUTPUT_CLK(), + .OUTPUT_ENABLE(), + .D_OUT_0(led1), + .D_OUT_1(), + .D_IN_0(), + .D_IN_1() + ); + + (* BEL="19_31_io1" *) //25 + SB_IO #( + .PIN_TYPE(6'b 0110_01), + .PULLUP(1'b0), + .NEG_TRIGGER(1'b0) + ) led2_iob ( + .PACKAGE_PIN(led2_pin), + .LATCH_INPUT_VALUE(), + .CLOCK_ENABLE(), + .INPUT_CLK(), + .OUTPUT_CLK(), + .OUTPUT_ENABLE(), + .D_OUT_0(led2), + .D_OUT_1(), + .D_IN_0(), + .D_IN_1() + ); + + (* BEL="18_0_io1" *) //21 + SB_IO #( + .PIN_TYPE(6'b 0110_01), + .PULLUP(1'b0), + .NEG_TRIGGER(1'b0) + ) led3_iob ( + .PACKAGE_PIN(led3_pin), + .LATCH_INPUT_VALUE(), + .CLOCK_ENABLE(), + .INPUT_CLK(), + .OUTPUT_CLK(), + .OUTPUT_ENABLE(), + .D_OUT_0(led3), + .D_OUT_1(), + .D_IN_0(), + .D_IN_1() + ); + + (* BEL="19_31_io0" *) //23 + SB_IO #( + .PIN_TYPE(6'b 0110_01), + .PULLUP(1'b0), + .NEG_TRIGGER(1'b0) + ) led4_iob ( + .PACKAGE_PIN(led4_pin), + .LATCH_INPUT_VALUE(), + .CLOCK_ENABLE(), + .INPUT_CLK(), + .OUTPUT_CLK(), + .OUTPUT_ENABLE(), + .D_OUT_0(led4), + .D_OUT_1(), + .D_IN_0(), + .D_IN_1() + ); + + (* BEL="18_31_io0" *) //26 + SB_IO #( + .PIN_TYPE(6'b 0110_01), + .PULLUP(1'b0), + .NEG_TRIGGER(1'b0) + ) led5_iob ( + .PACKAGE_PIN(led5_pin), + .LATCH_INPUT_VALUE(), + .CLOCK_ENABLE(), + .INPUT_CLK(), + .OUTPUT_CLK(), + .OUTPUT_ENABLE(), + .D_OUT_0(led5), + .D_OUT_1(), + .D_IN_0(), + .D_IN_1() + ); + + (* BEL="12_31_io1" *) //35 + SB_IO #( + .PIN_TYPE(6'b 0000_01), + .PULLUP(1'b0), + .NEG_TRIGGER(1'b0) + ) clk_iob ( + .PACKAGE_PIN(clk_pin), + .LATCH_INPUT_VALUE(), + .CLOCK_ENABLE(), + .INPUT_CLK(), + .OUTPUT_CLK(), + .OUTPUT_ENABLE(), + .D_OUT_0(), + .D_OUT_1(), + .D_IN_0(clk), + .D_IN_1() + ); + + (* BEL="19_0_io1" *) //20 + SB_IO #( + .PIN_TYPE(6'b 0000_01), + .PULLUP(1'b0), + .NEG_TRIGGER(1'b0) + ) btn1_iob ( + .PACKAGE_PIN(btn1_pin), + .LATCH_INPUT_VALUE(), + .CLOCK_ENABLE(), + .INPUT_CLK(), + .OUTPUT_CLK(), + .OUTPUT_ENABLE(), + .D_OUT_0(), + .D_OUT_1(), + .D_IN_0(btn1), + .D_IN_1() + ); + + (* BEL="21_0_io1" *) //19 + SB_IO #( + .PIN_TYPE(6'b 0000_01), + .PULLUP(1'b0), + .NEG_TRIGGER(1'b0) + ) btn2_iob ( + .PACKAGE_PIN(btn2_pin), + .LATCH_INPUT_VALUE(), + .CLOCK_ENABLE(), + .INPUT_CLK(), + .OUTPUT_CLK(), + .OUTPUT_ENABLE(), + .D_OUT_0(), + .D_OUT_1(), + .D_IN_0(btn2), + .D_IN_1() + ); + + (* BEL="22_0_io1" *) //18 + SB_IO #( + .PIN_TYPE(6'b 0000_01), + .PULLUP(1'b0), + .NEG_TRIGGER(1'b0) + ) btn3_iob ( + .PACKAGE_PIN(btn3_pin), + .LATCH_INPUT_VALUE(), + .CLOCK_ENABLE(), + .INPUT_CLK(), + .OUTPUT_CLK(), + .OUTPUT_ENABLE(), + .D_OUT_0(), + .D_OUT_1(), + .D_IN_0(btn3), + .D_IN_1() + ); + /*localparam BITS = 5; + localparam LOG2DELAY = 22; + + reg [BITS+LOG2DELAY-1:0] counter = 0; + reg [BITS-1:0] outcnt; + + always @(posedge clk) begin + counter <= counter + 1; + outcnt <= counter >> LOG2DELAY; + end*/ + + assign {led1, led2, led3, led4, led5} = {!btn1, btn2, btn3, btn2, btn1}; +endmodule |