diff --git a/ice40hx8k-b-evn.pcf b/ice40hx8k-b-evn.pcf index 53bf5cc..20ce27e 100644 --- a/ice40hx8k-b-evn.pcf +++ b/ice40hx8k-b-evn.pcf @@ -1 +1,15 @@ -set_io clk J3 +set_io clk J3 +set_io flash_clk R11 +set_io flash_csn R12 +set_io flash_io0 P12 +set_io flash_io1 P11 +set_io leds[0] C3 +set_io leds[1] B3 +set_io leds[2] C4 +set_io leds[3] C5 +set_io leds[4] A1 +set_io leds[5] A2 +set_io leds[6] B4 +set_io leds[7] B5 +set_io uart_rx B10 +set_io uart_tx B12 diff --git a/top.sv b/top.sv index c298af2..2ff3207 100644 --- a/top.sv +++ b/top.sv @@ -1,8 +1,38 @@ `include "rv32.sv" module top ( - input clk + input clk, + + /* serial flash */ + output flash_clk, + output flash_csn, + inout flash_io0, + inout flash_io1, + + /* LEDs */ + output [7:0] leds, + + /* UART */ + input uart_rx, + output uart_tx ); + logic flash_io0_en; + logic flash_io0_in; + logic flash_io0_out; + + logic flash_io1_en; + logic flash_io1_in; + logic flash_io1_out; + + SB_IO #( + .PIN_TYPE(6'b1010_01), + ) flash_io [1:0] ( + .PACKAGE_PIN({flash_io1, flash_io0}), + .OUTPUT_ENABLE({flash_io1_en, flash_io0_en}), + .D_IN_0({flash_io1_in, flash_io0_in}), + .D_OUT_0({flash_io1_out, flash_io0_out}) + ); + rv32 rv32 ( .clk(clk) );