aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorClifford Wolf <clifford@clifford.at>2017-09-15 15:34:45 +0200
committerClifford Wolf <clifford@clifford.at>2017-09-15 15:34:45 +0200
commit48f729d13c527f3d54ae480e69844e3768e91c93 (patch)
tree8141f537ab5cfa99a7f09ada07ec1c52dbc81c43
parent66638dcee05114335a9d7060380664dc6ad5abe5 (diff)
downloadpicorv32-48f729d13c527f3d54ae480e69844e3768e91c93.tar.gz
picorv32-48f729d13c527f3d54ae480e69844e3768e91c93.zip
Update PicoSoC hx8kdemo
-rw-r--r--picosoc/hx8kdemo.pcf20
-rw-r--r--picosoc/hx8kdemo.v30
2 files changed, 40 insertions, 10 deletions
diff --git a/picosoc/hx8kdemo.pcf b/picosoc/hx8kdemo.pcf
index 8e082f8..418bae8 100644
--- a/picosoc/hx8kdemo.pcf
+++ b/picosoc/hx8kdemo.pcf
@@ -7,12 +7,28 @@ set_io flash_csb R12
set_io flash_clk R11
set_io flash_io0 P12
set_io flash_io1 P11
-set_io flash_io2 T9 # center on J3
-set_io flash_io3 P8 # center on J3
+
+# for QSPI mode the flash chip on the iCE40-HX8K Breakout Board
+# must be replaced with one that supports QSPI and the IO2 and IO3
+# pins must be soldered to T9 and P8 (center on J3)
+set_io flash_io2 T9
+set_io flash_io3 P8
set_io ser_tx B12
set_io ser_rx B10
+# left on J3
+set_io debug_ser_tx T1
+set_io debug_ser_rx R3
+
+# right on J3
+set_io debug_flash_csb T15
+set_io debug_flash_clk R16
+set_io debug_flash_io0 N12
+set_io debug_flash_io1 P13
+set_io debug_flash_io2 T13
+set_io debug_flash_io3 T14
+
set_io leds[7] B5 # D9
set_io leds[6] B4 # D8
set_io leds[5] A2 # D7
diff --git a/picosoc/hx8kdemo.v b/picosoc/hx8kdemo.v
index 97f97b1..9cf6605 100644
--- a/picosoc/hx8kdemo.v
+++ b/picosoc/hx8kdemo.v
@@ -30,7 +30,17 @@ module hx8kdemo (
inout flash_io0,
inout flash_io1,
inout flash_io2,
- inout flash_io3
+ inout flash_io3,
+
+ output debug_ser_tx,
+ output debug_ser_rx,
+
+ output debug_flash_csb,
+ output debug_flash_clk,
+ output debug_flash_io0,
+ output debug_flash_io1,
+ output debug_flash_io2,
+ output debug_flash_io3
);
reg [5:0] reset_cnt = 0;
wire resetn = &reset_cnt;
@@ -62,14 +72,11 @@ module hx8kdemo (
reg [31:0] iomem_rdata;
reg [31:0] gpio;
- reg [4:0] gpio_shr;
-
- assign leds = gpio >> gpio_shr;
+ assign leds = gpio;
always @(posedge clk) begin
if (!resetn) begin
gpio <= 0;
- gpio_shr <= 0;
end else begin
iomem_ready <= 0;
if (iomem_valid && !iomem_ready && iomem_addr[31:24] == 8'h 03) begin
@@ -80,9 +87,6 @@ module hx8kdemo (
if (iomem_wstrb[2]) gpio[23:16] <= iomem_wdata[23:16];
if (iomem_wstrb[3]) gpio[31:24] <= iomem_wdata[31:24];
end
- if (&leds && gpio_shr < 10) begin
- gpio_shr <= gpio_shr + 1;
- end
end
end
@@ -118,4 +122,14 @@ module hx8kdemo (
.iomem_wdata (iomem_wdata ),
.iomem_rdata (iomem_rdata )
);
+
+ assign debug_ser_tx = ser_tx;
+ assign debug_ser_rx = ser_rx;
+
+ assign debug_flash_csb = flash_csb;
+ assign debug_flash_clk = flash_clk;
+ assign debug_flash_io0 = flash_io0_di;
+ assign debug_flash_io1 = flash_io1_di;
+ assign debug_flash_io2 = flash_io2_di;
+ assign debug_flash_io3 = flash_io3_di;
endmodule