From 913351efd4e2c390e416d2c2e17ffcdec9ea1210 Mon Sep 17 00:00:00 2001 From: Byron Lathi Date: Thu, 28 Sep 2023 23:09:47 -0700 Subject: [PATCH 01/20] Add sd emulator as submodule --- .gitmodules | 3 +++ hw/efinix_fpga/simulation/src/verilog-sd-emulator | 1 + 2 files changed, 4 insertions(+) create mode 160000 hw/efinix_fpga/simulation/src/verilog-sd-emulator diff --git a/.gitmodules b/.gitmodules index 0a0a7e3..da7e628 100644 --- a/.gitmodules +++ b/.gitmodules @@ -4,3 +4,6 @@ [submodule "hw/efinix_fpga/simulation/src/verilog-6502"] path = hw/efinix_fpga/simulation/src/verilog-6502 url = https://git.byronlathi.com/bslathi19/verilog-6502 +[submodule "hw/efinix_fpga/simulation/src/verilog-sd-emulator"] + path = hw/efinix_fpga/simulation/src/verilog-sd-emulator + url = https://git.byronlathi.com/bslathi19/verilog-sd-emulator diff --git a/hw/efinix_fpga/simulation/src/verilog-sd-emulator b/hw/efinix_fpga/simulation/src/verilog-sd-emulator new file mode 160000 index 0000000..7fb88c9 --- /dev/null +++ b/hw/efinix_fpga/simulation/src/verilog-sd-emulator @@ -0,0 +1 @@ +Subproject commit 7fb88c9ee1ca65dd5bfd10b2e0f6331e958abdd7 From cc32430f2aaf82a1cf1562c1ef93bda1b0b13da3 Mon Sep 17 00:00:00 2001 From: Byron Lathi Date: Fri, 29 Sep 2023 23:48:28 -0700 Subject: [PATCH 02/20] Refactor makefile, update verilog-sd-emulator --- .gitlab-ci.yml | 4 ++-- hw/efinix_fpga/simulation/Makefile | 8 +++++++- hw/efinix_fpga/simulation/src/sim_top.sv | 19 ++++++++++++++++++- .../simulation/src/verilog-sd-emulator | 2 +- 4 files changed, 28 insertions(+), 5 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index f66e279..c9d0041 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -59,7 +59,7 @@ build sim: script: - source init_env.sh - cd hw/efinix_fpga/simulation - - make + - make sim_top dependencies: - build toolchain @@ -93,6 +93,6 @@ run sim: script: - source init_env.sh - cd hw/efinix_fpga/simulation - - vvp sim_top + - make sim dependencies: - build sim diff --git a/hw/efinix_fpga/simulation/Makefile b/hw/efinix_fpga/simulation/Makefile index ee67cae..a0bb1eb 100644 --- a/hw/efinix_fpga/simulation/Makefile +++ b/hw/efinix_fpga/simulation/Makefile @@ -16,7 +16,13 @@ TARGET=sim_top INIT_MEM=init_hex.mem FLAGS=-DSIM -DRTL_SIM -all: $(INIT_MEM) +all: sim + +.PHONY: sim +sim: $(TARGET) + vvp $(TARGET) -fst + +$(TARGET): $(INIT_MEM) $(SRCS) iverilog -g2005-sv $(FLAGS) -s $(TOP_MODULE) -o $(TARGET) $(INC) $(SRCS) $(INIT_MEM): diff --git a/hw/efinix_fpga/simulation/src/sim_top.sv b/hw/efinix_fpga/simulation/src/sim_top.sv index 227ae42..f5cafb0 100644 --- a/hw/efinix_fpga/simulation/src/sim_top.sv +++ b/hw/efinix_fpga/simulation/src/sim_top.sv @@ -49,7 +49,7 @@ initial begin button_reset <= '0; repeat(10) @(r_clk_2); button_reset <= '1; - repeat(20000) @(r_clk_2); + repeat(50000) @(r_clk_2); $finish(); end @@ -82,6 +82,18 @@ sim_uart u_sim_uart( .tx_o(w_dut_uart_rx) ); +logic w_sd_cs; +logic w_spi_clk; +logic w_spi_mosi; +logic w_spi_miso; + +sd_card_emu u_sd_card_emu( + .clk(w_spi_clk), + .cs(w_sd_cs), + .mosi(w_spi_mosi), + .miso(w_spi_miso) +); + super6502 u_dut( .i_sysclk(r_sysclk), @@ -101,6 +113,11 @@ super6502 u_dut( .uart_rx(w_dut_uart_rx), .uart_tx(w_dut_uart_tx), + .sd_cs(w_sd_cs), + .spi_clk(w_spi_clk), + .spi_mosi(w_spi_mosi), + .spi_miso(w_spi_miso), + .o_sdr_CKE(w_sdr_CKE), .o_sdr_n_CS(w_sdr_n_CS), .o_sdr_n_WE(w_sdr_n_WE), diff --git a/hw/efinix_fpga/simulation/src/verilog-sd-emulator b/hw/efinix_fpga/simulation/src/verilog-sd-emulator index 7fb88c9..a378570 160000 --- a/hw/efinix_fpga/simulation/src/verilog-sd-emulator +++ b/hw/efinix_fpga/simulation/src/verilog-sd-emulator @@ -1 +1 @@ -Subproject commit 7fb88c9ee1ca65dd5bfd10b2e0f6331e958abdd7 +Subproject commit a37857045c3c070833f2409f1eda81a2af1c6800 From 3a211faed7db3eaf161bf2d8a01777cb50561326 Mon Sep 17 00:00:00 2001 From: Byron Lathi Date: Sat, 30 Sep 2023 17:40:01 -0700 Subject: [PATCH 03/20] Don't have sd wait in simulation need to figure out how to set that RTL_SIM flag only when we are compiling code for the sim also bro the sim is like 8000x slower than irl. --- hw/efinix_fpga/init_hex.mem | 422 +++++++++--------- .../simulation/src/verilog-sd-emulator | 2 +- sw/bios/Makefile | 2 +- sw/bios/devices/sd_card.c | 2 + 4 files changed, 215 insertions(+), 213 deletions(-) diff --git a/hw/efinix_fpga/init_hex.mem b/hw/efinix_fpga/init_hex.mem index 296024a..8b65c22 100644 --- a/hw/efinix_fpga/init_hex.mem +++ b/hw/efinix_fpga/init_hex.mem @@ -1,9 +1,9 @@ @00000000 00 80 4C 00 00 8D 13 92 8E 14 92 8D 1A 92 8E 1B 92 88 B9 FF FF 8D 24 92 88 B9 FF FF 8D 23 92 8C -26 92 20 FF FF A0 FF D0 E8 60 00 00 CC FD 00 00 -00 00 A2 FF 9A D8 A9 00 85 04 A9 DF 85 05 20 44 -FE 20 B9 FA 20 52 F0 58 20 69 F2 6C FC FF 20 AD +26 92 20 FF FF A0 FF D0 E8 60 00 00 A1 FD 00 00 +00 00 A2 FF 9A D8 A9 00 85 04 A9 DF 85 05 20 19 +FE 20 8E FA 20 52 F0 58 20 69 F2 6C FC FF 20 82 FA 00 A0 00 F0 07 A9 52 A2 F0 4C 05 92 60 AD FF EF A2 00 60 8D FF EF 60 20 4F F2 C9 0A D0 05 A9 0D 20 4F F2 60 DA 5A A8 B2 04 AA A9 1B 20 4F F2 @@ -13,19 +13,19 @@ A9 63 20 4F F2 68 60 40 DA BA 48 E8 E8 BD 00 01 29 10 D0 06 68 FA 20 68 F2 40 68 FA 7C BF F0 C5 F0 C9 F0 CA F0 20 9A F0 40 40 20 68 F0 40 48 A0 04 B1 04 09 40 20 3F F2 88 B1 04 20 3F F2 88 10 -F8 68 09 01 20 3F F2 20 A9 FB 60 A2 08 A9 FF 20 +F8 68 09 01 20 3F F2 20 7E FB 60 A2 08 A9 FF 20 3F F2 C9 FF D0 03 CA D0 F4 60 85 0C 86 0D 20 EB -F0 92 0C A9 FF 20 3F F2 A0 01 91 0C 20 96 FB 60 -AA 20 20 FD A9 FF 20 3F F2 92 0C E6 0C D0 02 E6 +F0 92 0C A9 FF 20 3F F2 A0 01 91 0C 20 6B FB 60 +AA 20 F5 FC A9 FF 20 3F F2 92 0C E6 0C D0 02 E6 0D CA D0 F0 60 85 0C 86 0D 20 EB F0 C9 02 B0 12 -E6 0C D0 02 E6 0C A5 0C A6 0D 20 4D FD A9 04 20 +E6 0C D0 02 E6 0C A5 0C A6 0D 20 22 FD A9 04 20 10 F1 60 48 A9 FF 20 3F F2 A9 00 20 33 F2 A9 FF 20 3F F2 68 20 CE F0 20 EB F0 A8 A9 FF 20 3F F2 A9 00 20 39 F2 A9 FF 20 3F F2 98 A2 00 60 A9 00 20 39 F2 20 8B F1 A9 FF 20 3F F2 A9 00 20 39 F2 A2 50 A9 FF 20 3F F2 CA D0 F8 60 A2 01 A9 C8 3A -D0 FD CA D0 F8 60 85 0E 86 0F A9 FF 92 0E 20 20 -FD A5 04 85 10 A5 05 85 11 20 51 FB A0 00 B1 10 +D0 FD CA D0 F8 60 85 0E 86 0F A9 FF 92 0E 20 F5 +FC A5 04 85 10 A5 05 85 11 20 26 FB A0 00 B1 10 91 04 C8 B1 10 91 04 C8 B1 10 91 04 C8 B1 10 91 04 A9 FF 20 3F F2 A9 00 20 33 F2 A9 FF 20 3F F2 A9 11 A0 04 91 04 A9 00 20 CE F0 20 EB F0 C9 FF @@ -37,210 +37,210 @@ EB A9 FF 20 3F F2 A9 FF 20 3F F2 A5 15 92 0E A5 F2 68 60 A9 01 8D DB EF 60 9C DB EF 60 A9 00 8D DA EF AD DB EF 30 FB AD D9 EF 60 8D E6 EF 60 48 8D E6 EF AD E7 EF 89 02 D0 F9 68 60 AD E6 EF A2 -00 60 AD E7 EF A2 00 60 60 20 74 FB A2 00 86 06 -86 07 A9 00 20 0B FC 20 5A FB A9 86 A2 FE 20 1A -FB 20 3A F3 C9 00 20 B8 FC D0 03 4C 98 F2 A9 7F -A2 FE 20 1A FB 4C 2E F3 A9 76 A2 FE 20 1A FB A0 -05 20 C7 FB 20 0B FC AD 00 92 AE 01 92 20 4D FD -A9 0C 20 D8 FB 20 96 F1 A0 07 91 04 A0 07 A2 00 -B1 04 C9 00 20 BE FC D0 03 4C DC F2 A0 06 A2 00 -B1 04 C9 FE 20 BE FC F0 03 4C E5 F2 A2 00 A9 00 +00 60 AD E7 EF A2 00 60 60 20 49 FB A2 00 86 06 +86 07 A9 00 20 E0 FB 20 2F FB A9 5B A2 FE 20 EF +FA 20 3A F3 C9 00 20 8D FC D0 03 4C 98 F2 A9 54 +A2 FE 20 EF FA 4C 2E F3 A9 4B A2 FE 20 EF FA A0 +05 20 9C FB 20 E0 FB AD 00 92 AE 01 92 20 22 FD +A9 0C 20 AD FB 20 96 F1 A0 07 91 04 A0 07 A2 00 +B1 04 C9 00 20 93 FC D0 03 4C DC F2 A0 06 A2 00 +B1 04 C9 FE 20 93 FC F0 03 4C E5 F2 A2 00 A9 00 D0 03 4C E9 F2 A2 00 A9 01 D0 03 4C FA F2 AD 00 -92 AE 01 92 20 3C F6 4C 2B F3 A0 06 A2 00 B1 04 -A2 00 29 F0 20 9F FA D0 03 4C 16 F3 A9 7F A2 FE -20 1A FB 4C 2B F3 A9 67 A2 FE 20 4D FD A0 08 A2 -00 B1 04 20 4D FD A0 04 20 E6 FA 6C 00 92 4C 31 -F3 4C 31 F3 A0 0C 20 85 FA 60 20 81 FB A9 00 20 -37 FD 20 6E F1 4C 71 F3 A0 00 A2 00 18 A9 01 71 -04 91 04 A0 00 A2 00 B1 04 C9 FF 20 BE FC D0 03 -4C 71 F3 A9 A5 A2 FE 20 1A FB A2 00 A9 01 4C A8 -F4 20 AC F4 A0 01 91 04 C9 01 20 B8 FC D0 C9 A2 -00 A9 00 A0 06 20 65 FD A0 07 20 BE FB E0 03 D0 -02 C9 E8 20 D7 FC F0 03 4C 9E F3 4C AA F3 A0 06 -A2 00 A9 01 20 75 FA 4C 88 F3 A9 01 20 D8 FB 20 -C9 F4 A0 01 A2 00 B1 04 C9 01 20 B8 FC D0 03 4C -D0 F3 A9 9C A2 FE 20 1A FB A2 00 A9 01 4C A8 F4 -A0 05 A2 00 B1 04 C9 AA 20 B8 FC D0 03 4C E7 F3 -A2 00 A9 01 4C A8 F4 A2 00 A9 00 A0 00 91 04 A0 -00 A2 00 B1 04 C9 FF 20 BE FC D0 03 4C 0D F4 A9 -8D A2 FE 20 1A FB A2 00 A9 01 4C A8 F4 20 EB F5 -A0 01 91 04 A0 01 A2 00 B1 04 C9 02 20 D7 FC D0 -03 4C 2B F4 20 08 F6 A0 01 91 04 A2 00 A9 00 A0 -06 20 65 FD A0 07 20 BE FB E0 03 D0 02 C9 E8 20 -D7 FC F0 03 4C 4A F4 4C 56 F4 A0 06 A2 00 A9 01 -20 75 FA 4C 34 F4 A0 00 A2 00 18 A9 01 71 04 91 -04 A0 01 A2 00 B1 04 C9 00 20 B8 FC D0 81 A2 00 -A9 00 A0 06 20 65 FD A0 07 20 BE FB E0 03 D0 02 -C9 E8 20 D7 FC F0 03 4C 8D F4 4C 99 F4 A0 06 A2 -00 A9 01 20 75 FA 4C 77 F4 A9 01 20 D8 FB 20 71 -F5 A2 00 A9 00 4C A8 F4 20 AE FB 60 A2 00 A9 00 -20 37 FD A2 00 86 06 86 07 A9 00 20 0B FC A2 00 -A9 94 20 43 F1 4C C8 F4 60 20 4D FD A2 00 A9 FF +92 AE 01 92 20 11 F6 4C 2B F3 A0 06 A2 00 B1 04 +A2 00 29 F0 20 74 FA D0 03 4C 16 F3 A9 54 A2 FE +20 EF FA 4C 2B F3 A9 3C A2 FE 20 22 FD A0 08 A2 +00 B1 04 20 22 FD A0 04 20 BB FA 6C 00 92 4C 31 +F3 4C 31 F3 A0 0C 20 5A FA 60 20 56 FB A9 00 20 +0C FD 20 6E F1 4C 71 F3 A0 00 A2 00 18 A9 01 71 +04 91 04 A0 00 A2 00 B1 04 C9 FF 20 93 FC D0 03 +4C 71 F3 A9 7A A2 FE 20 EF FA A2 00 A9 01 4C 7D +F4 20 81 F4 A0 01 91 04 C9 01 20 8D FC D0 C9 A9 +01 20 AD FB 20 9E F4 A0 01 A2 00 B1 04 C9 01 20 +8D FC D0 03 4C A5 F3 A9 71 A2 FE 20 EF FA A2 00 +A9 01 4C 7D F4 A0 05 A2 00 B1 04 C9 AA 20 8D FC +D0 03 4C BC F3 A2 00 A9 01 4C 7D F4 A2 00 A9 00 +A0 00 91 04 A0 00 A2 00 B1 04 C9 FF 20 93 FC D0 +03 4C E2 F3 A9 62 A2 FE 20 EF FA A2 00 A9 01 4C +7D F4 20 C0 F5 A0 01 91 04 A0 01 A2 00 B1 04 C9 +02 20 AC FC D0 03 4C 00 F4 20 DD F5 A0 01 91 04 +A2 00 A9 00 A0 06 20 3A FD A0 07 20 93 FB E0 03 +D0 02 C9 E8 20 AC FC F0 03 4C 1F F4 4C 2B F4 A0 +06 A2 00 A9 01 20 4A FA 4C 09 F4 A0 00 A2 00 18 +A9 01 71 04 91 04 A0 01 A2 00 B1 04 C9 00 20 8D +FC D0 81 A2 00 A9 00 A0 06 20 3A FD A0 07 20 93 +FB E0 03 D0 02 C9 E8 20 AC FC F0 03 4C 62 F4 4C +6E F4 A0 06 A2 00 A9 01 20 4A FA 4C 4C F4 A9 01 +20 AD FB 20 46 F5 A2 00 A9 00 4C 7D F4 20 83 FB +60 A2 00 A9 00 20 0C FD A2 00 86 06 86 07 A9 00 +20 E0 FB A2 00 A9 94 20 43 F1 4C 9D F4 60 20 22 +FD A2 00 A9 FF 20 3F F2 A2 00 A9 00 20 33 F2 A2 +00 A9 FF 20 3F F2 A2 00 A9 08 20 0C FD A2 01 A9 +00 85 06 A9 00 85 07 A9 AA 20 E0 FB A2 00 A9 86 +20 CE F0 A0 01 20 93 FB 20 25 F1 A2 00 A9 FF 20 +3F F2 A2 00 A9 00 20 39 F2 A2 00 A9 FF 20 3F F2 +20 6B FB 60 20 22 FD A2 00 A9 FF 20 3F F2 A2 00 +A9 00 20 33 F2 A2 00 A9 FF 20 3F F2 A2 00 A9 0D +20 0C FD A2 00 86 06 86 07 A9 00 20 E0 FB A2 00 +A9 00 20 CE F0 A0 01 20 93 FB 20 FA F0 A2 00 A9 +FF 20 3F F2 A2 00 A9 00 20 39 F2 A2 00 A9 FF 20 +3F F2 20 6B FB 60 20 22 FD 20 26 FB A2 00 A9 FF 20 3F F2 A2 00 A9 00 20 33 F2 A2 00 A9 FF 20 3F -F2 A2 00 A9 08 20 37 FD A2 01 A9 00 85 06 A9 00 -85 07 A9 AA 20 0B FC A2 00 A9 86 20 CE F0 A0 01 -20 BE FB 20 25 F1 A2 00 A9 FF 20 3F F2 A2 00 A9 -00 20 39 F2 A2 00 A9 FF 20 3F F2 20 96 FB 60 20 -4D FD A2 00 A9 FF 20 3F F2 A2 00 A9 00 20 33 F2 -A2 00 A9 FF 20 3F F2 A2 00 A9 0D 20 37 FD A2 00 -86 06 86 07 A9 00 20 0B FC A2 00 A9 00 20 CE F0 -A0 01 20 BE FB 20 FA F0 A2 00 A9 FF 20 3F F2 A2 -00 A9 00 20 39 F2 A2 00 A9 FF 20 3F F2 20 96 FB -60 20 4D FD 20 51 FB A2 00 A9 FF 20 3F F2 A2 00 -A9 00 20 33 F2 A2 00 A9 FF 20 3F F2 A0 00 91 04 -A0 00 A2 00 B1 04 C9 FF 20 B8 FC D0 03 4C B1 F5 -4C A3 F5 A2 00 A9 FF 20 3F F2 C9 FF 20 B8 FC D0 -F2 A2 00 A9 3A 20 37 FD A2 00 86 06 86 07 A9 00 -20 0B FC A2 00 A9 00 20 CE F0 A0 02 20 BE FB 20 -25 F1 A2 00 A9 FF 20 3F F2 A2 00 A9 00 20 39 F2 -A2 00 A9 FF 20 3F F2 20 A4 FB 60 A2 00 A9 37 20 -37 FD A2 00 86 06 86 07 A9 00 20 0B FC A2 00 A9 -00 20 43 F1 4C 07 F6 60 A2 00 A9 29 20 37 FD A2 -00 86 06 A9 40 85 07 A9 00 20 0B FC A2 00 A9 00 -20 43 F1 4C 26 F6 60 20 4D FD 20 74 FB A0 03 A2 -00 B1 04 4C 36 F6 A0 0E 20 85 FA 60 20 4D FD A9 -00 20 37 FD 20 5A FB A2 00 A9 00 A0 00 20 65 FD -A0 01 20 BE FB E0 02 20 D7 FC F0 03 4C 62 F6 4C -C4 F6 A9 AE A2 FE 20 4D FD A0 06 20 BE FB A0 00 -20 B3 FB 20 4D FD A0 07 A2 00 A9 01 20 75 FA A0 -04 20 E6 FA A0 02 A2 00 B1 04 C9 1F 20 BE FC D0 -03 4C A6 F6 A9 B2 A2 FE 20 1A FB A2 00 A9 00 A0 -02 91 04 4C B8 F6 A2 00 A9 20 20 68 F0 A0 02 A2 -00 18 A9 01 71 04 91 04 A0 00 A2 00 A9 01 20 75 -FA 4C 50 F6 A9 B2 A2 FE 20 1A FB 20 A9 FB 60 A0 -00 B1 1A E6 1A D0 02 E6 1B 60 AD 4A 92 8D 45 92 -20 7B F7 A9 45 A2 92 20 4D FD 20 2E FD 4C 02 92 -A5 18 38 E9 02 85 18 B0 02 C6 19 60 AD 4F 92 D0 -11 20 19 F7 4C 98 FA AD 4F 92 D0 06 20 19 F7 4C -92 FA 20 19 F7 85 06 86 07 20 F0 F6 A0 01 B1 18 -AA 88 B1 18 60 A0 00 84 0C 84 0D B1 1A 38 E9 30 -90 2C C9 0A B0 28 20 D3 F6 48 A5 0C A6 0D 06 0C -26 0D 06 0C 26 0D 65 0C 85 0C 8A 65 0D 85 0D 06 -0C 26 0D 68 65 0C 85 0C 90 D1 E6 0D B0 CD A5 0C -A6 0D 60 AC 51 92 EE 51 92 99 52 92 60 A9 52 A2 -92 18 6D 51 92 90 01 E8 4C 4D FD A5 1C A6 1D 4C -4D FD 20 DA F6 EE 4B 92 D0 F8 EE 4C 92 D0 F3 60 -20 7B F7 AD 66 92 AE 67 92 20 4D FD AD 68 92 AE -69 92 20 4D FD 4C 02 92 84 0C 20 0B FC 20 6D F7 -A5 0C 4C 3B FC 84 0C 20 0B FC 20 6D F7 A5 0C 4C -7C FC 48 A0 05 B9 18 00 99 3F 92 88 10 F7 68 85 -18 86 19 20 8E FB 85 1A 86 1B 20 8E FB 85 1C 86 -1D A9 00 A8 91 1C C8 91 1C C8 B1 1C 8D 03 92 C8 -B1 1C 8D 04 92 A5 1A 85 0C A5 1B 85 0D A0 00 B1 -1A F0 0B C9 25 F0 07 C8 D0 F5 E6 1B D0 F1 98 18 -65 1A 85 1A 90 02 E6 1B 38 E5 0C 85 0E A5 1B E5 -0D 85 0F 05 0E F0 25 20 74 FB A0 05 A5 1D 91 04 -88 A5 1C 91 04 88 A5 0D 91 04 88 A5 0C 91 04 88 -A5 0F 91 04 88 A5 0E 91 04 20 02 92 20 CF F6 AA -D0 0B A2 05 BD 3F 92 95 18 CA 10 F8 60 C9 25 D0 -09 B1 1A C9 25 D0 09 20 D3 F6 20 DD F6 4C F5 F7 -A9 00 A2 0B 9D 46 92 CA 10 FA B1 1A C9 2D D0 05 -8E 46 92 F0 19 C9 2B D0 05 8E 47 92 F0 10 C9 20 -D0 05 8E 48 92 F0 07 C9 23 D0 09 8E 49 92 20 D3 -F6 4C 7A F8 A2 20 C9 30 D0 06 AA 20 D3 F6 B1 1A -8E 4A 92 C9 2A D0 09 20 D3 F6 20 19 F7 4C C3 F8 -20 25 F7 8D 4B 92 8E 4C 92 8C 4D 92 8C 4E 92 B1 -1A C9 2E D0 1B 20 D3 F6 B1 1A C9 2A D0 09 20 D3 -F6 20 19 F7 4C EA F8 20 25 F7 8D 4D 92 8E 4E 92 -B1 1A C9 7A F0 19 C9 68 F0 15 C9 74 F0 11 C9 6A -F0 08 C9 4C F0 04 C9 6C D0 0B A9 FF 8D 4F 92 20 -D3 F6 4C F0 F8 8C 51 92 A2 52 8E 66 92 A2 92 8E -67 92 20 D3 F6 C9 63 D0 0D 20 19 F7 8D 52 92 A2 -00 A9 01 4C 1C FA C9 64 F0 04 C9 69 D0 2D A2 00 -AD 48 92 F0 02 A2 20 AD 47 92 F0 02 A2 2B 8E 50 -92 20 07 F7 A4 07 30 0B AC 50 92 F0 06 8C 52 92 -EE 51 92 A0 0A 20 A8 F7 4C 13 FA C9 6E D0 15 20 -19 F7 85 0C 86 0D A0 00 B1 1C 91 0C C8 B1 1C 91 -0C 4C F5 F7 C9 6F D0 27 20 07 F7 AC 49 92 F0 17 -48 86 14 05 14 05 06 05 07 0D 4D 92 0D 4E 92 F0 -06 A9 30 20 63 F7 68 A0 08 20 A8 F7 4C 13 FA C9 -70 D0 0D A2 00 8E 4F 92 E8 8E 49 92 A9 78 D0 27 -C9 73 D0 0C 20 19 F7 8D 66 92 8E 67 92 4C 13 FA -C9 75 D0 0B 20 FC F6 A0 0A 20 B5 F7 4C 13 FA C9 -78 F0 04 C9 58 D0 29 48 AD 49 92 F0 0A A9 30 20 -63 F7 A9 58 20 63 F7 20 FC F6 A0 10 20 B5 F7 68 -C9 78 D0 09 AD 66 92 AE 67 92 20 A5 FD 4C 13 FA -4C F5 F7 AD 66 92 AE 67 92 20 8F FD 8D 68 92 8E -69 92 AD 4D 92 0D 4E 92 F0 15 AE 4D 92 EC 68 92 -AD 4E 92 A8 ED 69 92 B0 06 8E 68 92 8C 69 92 38 -AD 4B 92 ED 68 92 AA AD 4C 92 ED 69 92 B0 03 A9 -00 AA 49 FF 8D 4C 92 8A 49 FF 8D 4B 92 AD 46 92 -D0 03 20 85 F7 20 90 F7 AD 46 92 F0 03 20 85 F7 -4C F5 F7 A0 00 18 71 04 91 04 48 C8 8A 71 04 91 -04 AA 68 60 C8 48 18 98 65 04 85 04 90 02 E6 05 -68 60 A0 FF E0 80 B0 02 A0 00 84 06 84 07 60 E0 -00 D0 06 AA D0 03 A9 01 60 A2 00 8A 60 A0 00 F0 -07 A9 52 A2 F0 4C 05 92 60 A9 00 85 0C A9 F0 85 -0D A9 00 85 0E A9 92 85 0F A2 CD A9 FF 85 14 A0 -00 E8 F0 0D B1 0C 91 0E C8 D0 F6 E6 0D E6 0F D0 -F0 E6 14 D0 EF 60 8C 6A 92 88 88 98 18 65 04 85 -0C A6 05 90 01 E8 86 0D A0 01 B1 0C AA 88 B1 0C -20 4D FD A5 0C A6 0D 20 14 FE AC 6A 92 4C 85 FA -85 0C 86 0D 20 75 F0 4C 1E FB 85 0C 86 0D A0 00 -B1 0C F0 0E C8 84 14 20 68 F0 A4 14 D0 F2 E6 0D -D0 EE 60 E0 00 D0 15 4A AA BD DB FE 90 05 4A 4A -4A 4A 18 29 0F AA BD D0 FE A2 00 60 38 A9 00 AA -60 A4 04 D0 02 C6 05 C6 04 60 A5 04 38 E9 02 85 -04 90 01 60 C6 05 60 A5 04 38 E9 04 85 04 90 01 -60 C6 05 60 A5 04 38 E9 06 85 04 90 01 60 C6 05 -60 A5 04 38 E9 07 85 04 90 01 60 C6 05 60 A0 01 -B1 04 AA 88 B1 04 E6 04 F0 05 E6 04 F0 03 60 E6 -04 E6 05 60 A0 03 4C 85 FA A0 05 4C 85 FA A0 08 -4C 85 FA 85 0C 86 0D A2 00 B1 0C 60 A0 01 B1 04 -AA 88 B1 04 60 A0 03 B1 04 85 07 88 B1 04 85 06 -88 B1 04 AA 88 B1 04 60 A2 00 18 65 04 48 8A 65 -05 AA 68 60 18 49 FF 69 01 48 8A 49 FF 69 00 AA -A5 06 49 FF 69 00 85 06 A5 07 49 FF 69 00 85 07 -68 60 A9 00 AA A0 00 84 06 84 07 48 20 67 FB A0 -03 A5 07 91 04 88 A5 06 91 04 88 8A 91 04 68 88 -91 04 60 85 14 20 8E FB 85 0E 86 0F 85 10 86 11 -20 20 FD 20 8E FB 85 06 86 07 60 20 23 FC A6 07 -A4 14 C0 0A D0 39 A5 06 05 0D 05 0C D0 11 E0 80 -D0 0D A0 0B B9 C4 FE 91 0E 88 10 F8 4C B3 FC 8A -10 1D A9 2D A0 00 91 0E E6 0E D0 02 E6 0F A5 0C -A6 0D 20 E4 FB 85 0C 86 0D 4C 7F FC 20 23 FC A9 -00 48 A0 20 A9 00 06 0C 26 0D 26 06 26 07 2A C5 -14 90 04 E5 14 E6 0C 88 D0 EC A8 B9 B4 FE 48 A5 -0C 05 0D 05 06 05 07 D0 D9 A0 00 68 91 0E F0 03 -C8 D0 F8 A5 10 A6 11 60 D0 06 A2 00 8A 60 D0 FA -A2 00 A9 01 60 F0 F9 30 F7 A2 00 8A 60 F0 02 10 -EF A2 00 8A 60 F0 E9 90 E7 A2 00 8A 60 F0 DB A2 -00 8A 2A 60 20 0D FD A6 11 F0 13 B1 0C 91 0E C8 -B1 0C 91 0E C8 D0 F4 E6 0D E6 0F CA D0 ED A6 10 -F0 08 B1 0C 91 0E C8 CA D0 F8 4C 8E FB 85 10 86 -11 20 20 FD C8 B1 04 AA 86 0F 88 B1 04 85 0E 60 -A0 01 B1 04 85 0D 88 B1 04 85 0C 4C 96 FB A9 01 -4C 4B FD A0 00 B1 04 A4 04 F0 07 C6 04 A0 00 91 -04 60 C6 05 C6 04 91 04 60 A9 00 A2 00 48 A5 04 -38 E9 02 85 04 B0 02 C6 05 A0 01 8A 91 04 68 88 -91 04 60 A0 00 91 04 C8 48 8A 91 04 68 60 85 0E -86 0F 20 20 FD B1 0C D1 0E D0 0C AA F0 10 C8 D0 -F4 E6 0D E6 0F D0 EE B0 03 A2 FF 60 A2 01 60 85 -0E 86 0F A2 00 A0 00 B1 0E F0 08 C8 D0 F9 E6 0F -E8 D0 F4 98 60 85 0C 86 0D 85 0E 86 0F A0 00 B1 -0C F0 14 20 37 FB 29 02 F0 06 B1 0C 69 20 91 0C -C8 D0 EC E6 0D D0 E8 A5 0E A6 0F 60 20 8E FB 85 -0E 86 0F E8 8E 31 92 AA E8 8E 30 92 20 20 FD 20 -8E FB 85 10 86 11 A0 00 84 14 B1 10 18 65 0E 91 -10 C8 B1 10 65 0F 91 10 CE 30 92 F0 11 A4 14 B1 -0C C8 D0 02 E6 0D 84 14 20 68 F0 4C F8 FD CE 31 -92 D0 EA 60 85 0C 86 0D A9 00 8D 2A 92 8D 2B 92 -A0 01 B1 04 AA 88 B1 04 20 4D FD A0 02 A9 2A 91 -04 C8 A9 92 91 04 A5 0C A6 0D 20 C2 F7 AD 2A 92 -AE 2B 92 60 A9 32 85 0C A9 92 85 0D A9 00 A8 A2 -00 F0 0A 91 0C C8 D0 FB E6 0D CA D0 F6 C0 39 F0 -05 91 0C C8 D0 F7 60 62 61 64 20 74 6F 6B 65 6E -3A 20 25 78 0A 00 53 75 63 63 65 73 73 0A 00 45 -72 72 6F 72 0A 00 53 74 61 72 74 0A 00 6F 70 5F -63 6F 6E 64 20 65 72 72 6F 72 0A 00 49 46 20 43 -6F 6E 64 0A 00 47 6F 20 49 44 4C 45 0A 00 25 32 -78 00 0A 00 30 31 32 33 34 35 36 37 38 39 41 42 -43 44 45 46 2D 32 31 34 37 34 38 33 36 34 38 00 -00 01 02 0C 09 0A 10 40 50 A0 D0 66 66 66 66 A6 -88 88 66 66 66 66 66 66 66 66 66 09 00 00 00 00 -00 00 00 33 33 33 33 33 00 00 00 50 55 55 25 22 -22 22 22 22 22 22 22 22 02 00 00 40 44 44 14 11 -11 11 11 11 11 11 11 11 01 00 70 00 00 00 00 00 +F2 A0 00 91 04 A0 00 A2 00 B1 04 C9 FF 20 8D FC +D0 03 4C 86 F5 4C 78 F5 A2 00 A9 FF 20 3F F2 C9 +FF 20 8D FC D0 F2 A2 00 A9 3A 20 0C FD A2 00 86 +06 86 07 A9 00 20 E0 FB A2 00 A9 00 20 CE F0 A0 +02 20 93 FB 20 25 F1 A2 00 A9 FF 20 3F F2 A2 00 +A9 00 20 39 F2 A2 00 A9 FF 20 3F F2 20 79 FB 60 +A2 00 A9 37 20 0C FD A2 00 86 06 86 07 A9 00 20 +E0 FB A2 00 A9 00 20 43 F1 4C DC F5 60 A2 00 A9 +29 20 0C FD A2 00 86 06 A9 40 85 07 A9 00 20 E0 +FB A2 00 A9 00 20 43 F1 4C FB F5 60 20 22 FD 20 +49 FB A0 03 A2 00 B1 04 4C 0B F6 A0 0E 20 5A FA +60 20 22 FD A9 00 20 0C FD 20 2F FB A2 00 A9 00 +A0 00 20 3A FD A0 01 20 93 FB E0 02 20 AC FC F0 +03 4C 37 F6 4C 99 F6 A9 83 A2 FE 20 22 FD A0 06 +20 93 FB A0 00 20 88 FB 20 22 FD A0 07 A2 00 A9 +01 20 4A FA A0 04 20 BB FA A0 02 A2 00 B1 04 C9 +1F 20 93 FC D0 03 4C 7B F6 A9 87 A2 FE 20 EF FA +A2 00 A9 00 A0 02 91 04 4C 8D F6 A2 00 A9 20 20 +68 F0 A0 02 A2 00 18 A9 01 71 04 91 04 A0 00 A2 +00 A9 01 20 4A FA 4C 25 F6 A9 87 A2 FE 20 EF FA +20 7E FB 60 A0 00 B1 1A E6 1A D0 02 E6 1B 60 AD +4A 92 8D 45 92 20 50 F7 A9 45 A2 92 20 22 FD 20 +03 FD 4C 02 92 A5 18 38 E9 02 85 18 B0 02 C6 19 +60 AD 4F 92 D0 11 20 EE F6 4C 6D FA AD 4F 92 D0 +06 20 EE F6 4C 67 FA 20 EE F6 85 06 86 07 20 C5 +F6 A0 01 B1 18 AA 88 B1 18 60 A0 00 84 0C 84 0D +B1 1A 38 E9 30 90 2C C9 0A B0 28 20 A8 F6 48 A5 +0C A6 0D 06 0C 26 0D 06 0C 26 0D 65 0C 85 0C 8A +65 0D 85 0D 06 0C 26 0D 68 65 0C 85 0C 90 D1 E6 +0D B0 CD A5 0C A6 0D 60 AC 51 92 EE 51 92 99 52 +92 60 A9 52 A2 92 18 6D 51 92 90 01 E8 4C 22 FD +A5 1C A6 1D 4C 22 FD 20 AF F6 EE 4B 92 D0 F8 EE +4C 92 D0 F3 60 20 50 F7 AD 66 92 AE 67 92 20 22 +FD AD 68 92 AE 69 92 20 22 FD 4C 02 92 84 0C 20 +E0 FB 20 42 F7 A5 0C 4C 10 FC 84 0C 20 E0 FB 20 +42 F7 A5 0C 4C 51 FC 48 A0 05 B9 18 00 99 3F 92 +88 10 F7 68 85 18 86 19 20 63 FB 85 1A 86 1B 20 +63 FB 85 1C 86 1D A9 00 A8 91 1C C8 91 1C C8 B1 +1C 8D 03 92 C8 B1 1C 8D 04 92 A5 1A 85 0C A5 1B +85 0D A0 00 B1 1A F0 0B C9 25 F0 07 C8 D0 F5 E6 +1B D0 F1 98 18 65 1A 85 1A 90 02 E6 1B 38 E5 0C +85 0E A5 1B E5 0D 85 0F 05 0E F0 25 20 49 FB A0 +05 A5 1D 91 04 88 A5 1C 91 04 88 A5 0D 91 04 88 +A5 0C 91 04 88 A5 0F 91 04 88 A5 0E 91 04 20 02 +92 20 A4 F6 AA D0 0B A2 05 BD 3F 92 95 18 CA 10 +F8 60 C9 25 D0 09 B1 1A C9 25 D0 09 20 A8 F6 20 +B2 F6 4C CA F7 A9 00 A2 0B 9D 46 92 CA 10 FA B1 +1A C9 2D D0 05 8E 46 92 F0 19 C9 2B D0 05 8E 47 +92 F0 10 C9 20 D0 05 8E 48 92 F0 07 C9 23 D0 09 +8E 49 92 20 A8 F6 4C 4F F8 A2 20 C9 30 D0 06 AA +20 A8 F6 B1 1A 8E 4A 92 C9 2A D0 09 20 A8 F6 20 +EE F6 4C 98 F8 20 FA F6 8D 4B 92 8E 4C 92 8C 4D +92 8C 4E 92 B1 1A C9 2E D0 1B 20 A8 F6 B1 1A C9 +2A D0 09 20 A8 F6 20 EE F6 4C BF F8 20 FA F6 8D +4D 92 8E 4E 92 B1 1A C9 7A F0 19 C9 68 F0 15 C9 +74 F0 11 C9 6A F0 08 C9 4C F0 04 C9 6C D0 0B A9 +FF 8D 4F 92 20 A8 F6 4C C5 F8 8C 51 92 A2 52 8E +66 92 A2 92 8E 67 92 20 A8 F6 C9 63 D0 0D 20 EE +F6 8D 52 92 A2 00 A9 01 4C F1 F9 C9 64 F0 04 C9 +69 D0 2D A2 00 AD 48 92 F0 02 A2 20 AD 47 92 F0 +02 A2 2B 8E 50 92 20 DC F6 A4 07 30 0B AC 50 92 +F0 06 8C 52 92 EE 51 92 A0 0A 20 7D F7 4C E8 F9 +C9 6E D0 15 20 EE F6 85 0C 86 0D A0 00 B1 1C 91 +0C C8 B1 1C 91 0C 4C CA F7 C9 6F D0 27 20 DC F6 +AC 49 92 F0 17 48 86 14 05 14 05 06 05 07 0D 4D +92 0D 4E 92 F0 06 A9 30 20 38 F7 68 A0 08 20 7D +F7 4C E8 F9 C9 70 D0 0D A2 00 8E 4F 92 E8 8E 49 +92 A9 78 D0 27 C9 73 D0 0C 20 EE F6 8D 66 92 8E +67 92 4C E8 F9 C9 75 D0 0B 20 D1 F6 A0 0A 20 8A +F7 4C E8 F9 C9 78 F0 04 C9 58 D0 29 48 AD 49 92 +F0 0A A9 30 20 38 F7 A9 58 20 38 F7 20 D1 F6 A0 +10 20 8A F7 68 C9 78 D0 09 AD 66 92 AE 67 92 20 +7A FD 4C E8 F9 4C CA F7 AD 66 92 AE 67 92 20 64 +FD 8D 68 92 8E 69 92 AD 4D 92 0D 4E 92 F0 15 AE +4D 92 EC 68 92 AD 4E 92 A8 ED 69 92 B0 06 8E 68 +92 8C 69 92 38 AD 4B 92 ED 68 92 AA AD 4C 92 ED +69 92 B0 03 A9 00 AA 49 FF 8D 4C 92 8A 49 FF 8D +4B 92 AD 46 92 D0 03 20 5A F7 20 65 F7 AD 46 92 +F0 03 20 5A F7 4C CA F7 A0 00 18 71 04 91 04 48 +C8 8A 71 04 91 04 AA 68 60 C8 48 18 98 65 04 85 +04 90 02 E6 05 68 60 A0 FF E0 80 B0 02 A0 00 84 +06 84 07 60 E0 00 D0 06 AA D0 03 A9 01 60 A2 00 +8A 60 A0 00 F0 07 A9 52 A2 F0 4C 05 92 60 A9 00 +85 0C A9 F0 85 0D A9 00 85 0E A9 92 85 0F A2 CD +A9 FF 85 14 A0 00 E8 F0 0D B1 0C 91 0E C8 D0 F6 +E6 0D E6 0F D0 F0 E6 14 D0 EF 60 8C 6A 92 88 88 +98 18 65 04 85 0C A6 05 90 01 E8 86 0D A0 01 B1 +0C AA 88 B1 0C 20 22 FD A5 0C A6 0D 20 E9 FD AC +6A 92 4C 5A FA 85 0C 86 0D 20 75 F0 4C F3 FA 85 +0C 86 0D A0 00 B1 0C F0 0E C8 84 14 20 68 F0 A4 +14 D0 F2 E6 0D D0 EE 60 E0 00 D0 15 4A AA BD B0 +FE 90 05 4A 4A 4A 4A 18 29 0F AA BD A5 FE A2 00 +60 38 A9 00 AA 60 A4 04 D0 02 C6 05 C6 04 60 A5 +04 38 E9 02 85 04 90 01 60 C6 05 60 A5 04 38 E9 +04 85 04 90 01 60 C6 05 60 A5 04 38 E9 06 85 04 +90 01 60 C6 05 60 A5 04 38 E9 07 85 04 90 01 60 +C6 05 60 A0 01 B1 04 AA 88 B1 04 E6 04 F0 05 E6 +04 F0 03 60 E6 04 E6 05 60 A0 03 4C 5A FA A0 05 +4C 5A FA A0 08 4C 5A FA 85 0C 86 0D A2 00 B1 0C +60 A0 01 B1 04 AA 88 B1 04 60 A0 03 B1 04 85 07 +88 B1 04 85 06 88 B1 04 AA 88 B1 04 60 A2 00 18 +65 04 48 8A 65 05 AA 68 60 18 49 FF 69 01 48 8A +49 FF 69 00 AA A5 06 49 FF 69 00 85 06 A5 07 49 +FF 69 00 85 07 68 60 A9 00 AA A0 00 84 06 84 07 +48 20 3C FB A0 03 A5 07 91 04 88 A5 06 91 04 88 +8A 91 04 68 88 91 04 60 85 14 20 63 FB 85 0E 86 +0F 85 10 86 11 20 F5 FC 20 63 FB 85 06 86 07 60 +20 F8 FB A6 07 A4 14 C0 0A D0 39 A5 06 05 0D 05 +0C D0 11 E0 80 D0 0D A0 0B B9 99 FE 91 0E 88 10 +F8 4C 88 FC 8A 10 1D A9 2D A0 00 91 0E E6 0E D0 +02 E6 0F A5 0C A6 0D 20 B9 FB 85 0C 86 0D 4C 54 +FC 20 F8 FB A9 00 48 A0 20 A9 00 06 0C 26 0D 26 +06 26 07 2A C5 14 90 04 E5 14 E6 0C 88 D0 EC A8 +B9 89 FE 48 A5 0C 05 0D 05 06 05 07 D0 D9 A0 00 +68 91 0E F0 03 C8 D0 F8 A5 10 A6 11 60 D0 06 A2 +00 8A 60 D0 FA A2 00 A9 01 60 F0 F9 30 F7 A2 00 +8A 60 F0 02 10 EF A2 00 8A 60 F0 E9 90 E7 A2 00 +8A 60 F0 DB A2 00 8A 2A 60 20 E2 FC A6 11 F0 13 +B1 0C 91 0E C8 B1 0C 91 0E C8 D0 F4 E6 0D E6 0F +CA D0 ED A6 10 F0 08 B1 0C 91 0E C8 CA D0 F8 4C +63 FB 85 10 86 11 20 F5 FC C8 B1 04 AA 86 0F 88 +B1 04 85 0E 60 A0 01 B1 04 85 0D 88 B1 04 85 0C +4C 6B FB A9 01 4C 20 FD A0 00 B1 04 A4 04 F0 07 +C6 04 A0 00 91 04 60 C6 05 C6 04 91 04 60 A9 00 +A2 00 48 A5 04 38 E9 02 85 04 B0 02 C6 05 A0 01 +8A 91 04 68 88 91 04 60 A0 00 91 04 C8 48 8A 91 +04 68 60 85 0E 86 0F 20 F5 FC B1 0C D1 0E D0 0C +AA F0 10 C8 D0 F4 E6 0D E6 0F D0 EE B0 03 A2 FF +60 A2 01 60 85 0E 86 0F A2 00 A0 00 B1 0E F0 08 +C8 D0 F9 E6 0F E8 D0 F4 98 60 85 0C 86 0D 85 0E +86 0F A0 00 B1 0C F0 14 20 0C FB 29 02 F0 06 B1 +0C 69 20 91 0C C8 D0 EC E6 0D D0 E8 A5 0E A6 0F +60 20 63 FB 85 0E 86 0F E8 8E 31 92 AA E8 8E 30 +92 20 F5 FC 20 63 FB 85 10 86 11 A0 00 84 14 B1 +10 18 65 0E 91 10 C8 B1 10 65 0F 91 10 CE 30 92 +F0 11 A4 14 B1 0C C8 D0 02 E6 0D 84 14 20 68 F0 +4C CD FD CE 31 92 D0 EA 60 85 0C 86 0D A9 00 8D +2A 92 8D 2B 92 A0 01 B1 04 AA 88 B1 04 20 22 FD +A0 02 A9 2A 91 04 C8 A9 92 91 04 A5 0C A6 0D 20 +97 F7 AD 2A 92 AE 2B 92 60 A9 32 85 0C A9 92 85 +0D A9 00 A8 A2 00 F0 0A 91 0C C8 D0 FB E6 0D CA +D0 F6 C0 39 F0 05 91 0C C8 D0 F7 60 62 61 64 20 +74 6F 6B 65 6E 3A 20 25 78 0A 00 53 75 63 63 65 +73 73 0A 00 45 72 72 6F 72 0A 00 53 74 61 72 74 +0A 00 6F 70 5F 63 6F 6E 64 20 65 72 72 6F 72 0A +00 49 46 20 43 6F 6E 64 0A 00 47 6F 20 49 44 4C +45 0A 00 25 32 78 00 0A 00 30 31 32 33 34 35 36 +37 38 39 41 42 43 44 45 46 2D 32 31 34 37 34 38 +33 36 34 38 00 00 01 02 0C 09 0A 10 40 50 A0 D0 +66 66 66 66 A6 88 88 66 66 66 66 66 66 66 66 66 +09 00 00 00 00 00 00 00 33 33 33 33 33 00 00 00 +50 55 55 25 22 22 22 22 22 22 22 22 22 02 00 00 +40 44 44 14 11 11 11 11 11 11 11 11 11 01 00 70 +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 diff --git a/hw/efinix_fpga/simulation/src/verilog-sd-emulator b/hw/efinix_fpga/simulation/src/verilog-sd-emulator index a378570..2fc0f07 160000 --- a/hw/efinix_fpga/simulation/src/verilog-sd-emulator +++ b/hw/efinix_fpga/simulation/src/verilog-sd-emulator @@ -1 +1 @@ -Subproject commit a37857045c3c070833f2409f1eda81a2af1c6800 +Subproject commit 2fc0f0737cb9803e9c127c4a269aacfef24d3f05 diff --git a/sw/bios/Makefile b/sw/bios/Makefile index 3d489a2..f35b1a5 100644 --- a/sw/bios/Makefile +++ b/sw/bios/Makefile @@ -1,5 +1,5 @@ CC=../cc65/bin/cl65 -CFLAGS=-T -t none -I. --cpu "65C02" +CFLAGS=-T -t none -I. --cpu "65C02" -DRTL_SIM LDFLAGS=-C link.ld -m $(NAME).map NAME=bios diff --git a/sw/bios/devices/sd_card.c b/sw/bios/devices/sd_card.c index d1c5b47..404bb7a 100644 --- a/sw/bios/devices/sd_card.c +++ b/sw/bios/devices/sd_card.c @@ -25,7 +25,9 @@ uint8_t SD_init() } } +#ifndef RTL_SIM for (i = 0; i < 1000; i++); +#endif SD_sendIfCond(res); if(res[0] != SD_IN_IDLE_STATE) From c1f7b33dda9380bc77fb83c49757a7cec874ee0b Mon Sep 17 00:00:00 2001 From: Byron Lathi Date: Tue, 3 Oct 2023 23:08:56 -0700 Subject: [PATCH 04/20] Update sd card emu --- hw/efinix_fpga/simulation/src/verilog-sd-emulator | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hw/efinix_fpga/simulation/src/verilog-sd-emulator b/hw/efinix_fpga/simulation/src/verilog-sd-emulator index 2fc0f07..27a4e5d 160000 --- a/hw/efinix_fpga/simulation/src/verilog-sd-emulator +++ b/hw/efinix_fpga/simulation/src/verilog-sd-emulator @@ -1 +1 @@ -Subproject commit 2fc0f0737cb9803e9c127c4a269aacfef24d3f05 +Subproject commit 27a4e5dd87e61ef84f13ea614d0b4ed3293c85c0 From 019b9c812093a249fcb0af91bc06ec2005b2001b Mon Sep 17 00:00:00 2001 From: Byron Lathi Date: Wed, 4 Oct 2023 19:11:45 -0700 Subject: [PATCH 05/20] Update sd, remove wait state --- hw/efinix_fpga/init_hex.mem | 416 +++++++++--------- hw/efinix_fpga/simulation/src/sim_top.sv | 1 + .../simulation/src/verilog-sd-emulator | 2 +- sw/bios/devices/sd_card.c | 2 + 4 files changed, 212 insertions(+), 209 deletions(-) diff --git a/hw/efinix_fpga/init_hex.mem b/hw/efinix_fpga/init_hex.mem index 8b65c22..febc8b5 100644 --- a/hw/efinix_fpga/init_hex.mem +++ b/hw/efinix_fpga/init_hex.mem @@ -1,9 +1,9 @@ @00000000 00 80 4C 00 00 8D 13 92 8E 14 92 8D 1A 92 8E 1B 92 88 B9 FF FF 8D 24 92 88 B9 FF FF 8D 23 92 8C -26 92 20 FF FF A0 FF D0 E8 60 00 00 A1 FD 00 00 -00 00 A2 FF 9A D8 A9 00 85 04 A9 DF 85 05 20 19 -FE 20 8E FA 20 52 F0 58 20 69 F2 6C FC FF 20 82 +26 92 20 FF FF A0 FF D0 E8 60 00 00 76 FD 00 00 +00 00 A2 FF 9A D8 A9 00 85 04 A9 DF 85 05 20 EE +FD 20 63 FA 20 52 F0 58 20 69 F2 6C FC FF 20 57 FA 00 A0 00 F0 07 A9 52 A2 F0 4C 05 92 60 AD FF EF A2 00 60 8D FF EF 60 20 4F F2 C9 0A D0 05 A9 0D 20 4F F2 60 DA 5A A8 B2 04 AA A9 1B 20 4F F2 @@ -13,19 +13,19 @@ A9 63 20 4F F2 68 60 40 DA BA 48 E8 E8 BD 00 01 29 10 D0 06 68 FA 20 68 F2 40 68 FA 7C BF F0 C5 F0 C9 F0 CA F0 20 9A F0 40 40 20 68 F0 40 48 A0 04 B1 04 09 40 20 3F F2 88 B1 04 20 3F F2 88 10 -F8 68 09 01 20 3F F2 20 7E FB 60 A2 08 A9 FF 20 +F8 68 09 01 20 3F F2 20 53 FB 60 A2 08 A9 FF 20 3F F2 C9 FF D0 03 CA D0 F4 60 85 0C 86 0D 20 EB -F0 92 0C A9 FF 20 3F F2 A0 01 91 0C 20 6B FB 60 -AA 20 F5 FC A9 FF 20 3F F2 92 0C E6 0C D0 02 E6 +F0 92 0C A9 FF 20 3F F2 A0 01 91 0C 20 40 FB 60 +AA 20 CA FC A9 FF 20 3F F2 92 0C E6 0C D0 02 E6 0D CA D0 F0 60 85 0C 86 0D 20 EB F0 C9 02 B0 12 -E6 0C D0 02 E6 0C A5 0C A6 0D 20 22 FD A9 04 20 +E6 0C D0 02 E6 0C A5 0C A6 0D 20 F7 FC A9 04 20 10 F1 60 48 A9 FF 20 3F F2 A9 00 20 33 F2 A9 FF 20 3F F2 68 20 CE F0 20 EB F0 A8 A9 FF 20 3F F2 A9 00 20 39 F2 A9 FF 20 3F F2 98 A2 00 60 A9 00 20 39 F2 20 8B F1 A9 FF 20 3F F2 A9 00 20 39 F2 A2 50 A9 FF 20 3F F2 CA D0 F8 60 A2 01 A9 C8 3A -D0 FD CA D0 F8 60 85 0E 86 0F A9 FF 92 0E 20 F5 -FC A5 04 85 10 A5 05 85 11 20 26 FB A0 00 B1 10 +D0 FD CA D0 F8 60 85 0E 86 0F A9 FF 92 0E 20 CA +FC A5 04 85 10 A5 05 85 11 20 FB FA A0 00 B1 10 91 04 C8 B1 10 91 04 C8 B1 10 91 04 C8 B1 10 91 04 A9 FF 20 3F F2 A9 00 20 33 F2 A9 FF 20 3F F2 A9 11 A0 04 91 04 A9 00 20 CE F0 20 EB F0 C9 FF @@ -37,207 +37,207 @@ EB A9 FF 20 3F F2 A9 FF 20 3F F2 A5 15 92 0E A5 F2 68 60 A9 01 8D DB EF 60 9C DB EF 60 A9 00 8D DA EF AD DB EF 30 FB AD D9 EF 60 8D E6 EF 60 48 8D E6 EF AD E7 EF 89 02 D0 F9 68 60 AD E6 EF A2 -00 60 AD E7 EF A2 00 60 60 20 49 FB A2 00 86 06 -86 07 A9 00 20 E0 FB 20 2F FB A9 5B A2 FE 20 EF -FA 20 3A F3 C9 00 20 8D FC D0 03 4C 98 F2 A9 54 -A2 FE 20 EF FA 4C 2E F3 A9 4B A2 FE 20 EF FA A0 -05 20 9C FB 20 E0 FB AD 00 92 AE 01 92 20 22 FD -A9 0C 20 AD FB 20 96 F1 A0 07 91 04 A0 07 A2 00 -B1 04 C9 00 20 93 FC D0 03 4C DC F2 A0 06 A2 00 -B1 04 C9 FE 20 93 FC F0 03 4C E5 F2 A2 00 A9 00 +00 60 AD E7 EF A2 00 60 60 20 1E FB A2 00 86 06 +86 07 A9 00 20 B5 FB 20 04 FB A9 30 A2 FE 20 C4 +FA 20 3A F3 C9 00 20 62 FC D0 03 4C 98 F2 A9 29 +A2 FE 20 C4 FA 4C 2E F3 A9 20 A2 FE 20 C4 FA A0 +05 20 71 FB 20 B5 FB AD 00 92 AE 01 92 20 F7 FC +A9 0C 20 82 FB 20 96 F1 A0 07 91 04 A0 07 A2 00 +B1 04 C9 00 20 68 FC D0 03 4C DC F2 A0 06 A2 00 +B1 04 C9 FE 20 68 FC F0 03 4C E5 F2 A2 00 A9 00 D0 03 4C E9 F2 A2 00 A9 01 D0 03 4C FA F2 AD 00 -92 AE 01 92 20 11 F6 4C 2B F3 A0 06 A2 00 B1 04 -A2 00 29 F0 20 74 FA D0 03 4C 16 F3 A9 54 A2 FE -20 EF FA 4C 2B F3 A9 3C A2 FE 20 22 FD A0 08 A2 -00 B1 04 20 22 FD A0 04 20 BB FA 6C 00 92 4C 31 -F3 4C 31 F3 A0 0C 20 5A FA 60 20 56 FB A9 00 20 -0C FD 20 6E F1 4C 71 F3 A0 00 A2 00 18 A9 01 71 -04 91 04 A0 00 A2 00 B1 04 C9 FF 20 93 FC D0 03 -4C 71 F3 A9 7A A2 FE 20 EF FA A2 00 A9 01 4C 7D -F4 20 81 F4 A0 01 91 04 C9 01 20 8D FC D0 C9 A9 -01 20 AD FB 20 9E F4 A0 01 A2 00 B1 04 C9 01 20 -8D FC D0 03 4C A5 F3 A9 71 A2 FE 20 EF FA A2 00 -A9 01 4C 7D F4 A0 05 A2 00 B1 04 C9 AA 20 8D FC -D0 03 4C BC F3 A2 00 A9 01 4C 7D F4 A2 00 A9 00 -A0 00 91 04 A0 00 A2 00 B1 04 C9 FF 20 93 FC D0 -03 4C E2 F3 A9 62 A2 FE 20 EF FA A2 00 A9 01 4C -7D F4 20 C0 F5 A0 01 91 04 A0 01 A2 00 B1 04 C9 -02 20 AC FC D0 03 4C 00 F4 20 DD F5 A0 01 91 04 -A2 00 A9 00 A0 06 20 3A FD A0 07 20 93 FB E0 03 -D0 02 C9 E8 20 AC FC F0 03 4C 1F F4 4C 2B F4 A0 -06 A2 00 A9 01 20 4A FA 4C 09 F4 A0 00 A2 00 18 -A9 01 71 04 91 04 A0 01 A2 00 B1 04 C9 00 20 8D -FC D0 81 A2 00 A9 00 A0 06 20 3A FD A0 07 20 93 -FB E0 03 D0 02 C9 E8 20 AC FC F0 03 4C 62 F4 4C -6E F4 A0 06 A2 00 A9 01 20 4A FA 4C 4C F4 A9 01 -20 AD FB 20 46 F5 A2 00 A9 00 4C 7D F4 20 83 FB -60 A2 00 A9 00 20 0C FD A2 00 86 06 86 07 A9 00 -20 E0 FB A2 00 A9 94 20 43 F1 4C 9D F4 60 20 22 -FD A2 00 A9 FF 20 3F F2 A2 00 A9 00 20 33 F2 A2 -00 A9 FF 20 3F F2 A2 00 A9 08 20 0C FD A2 01 A9 -00 85 06 A9 00 85 07 A9 AA 20 E0 FB A2 00 A9 86 -20 CE F0 A0 01 20 93 FB 20 25 F1 A2 00 A9 FF 20 -3F F2 A2 00 A9 00 20 39 F2 A2 00 A9 FF 20 3F F2 -20 6B FB 60 20 22 FD A2 00 A9 FF 20 3F F2 A2 00 -A9 00 20 33 F2 A2 00 A9 FF 20 3F F2 A2 00 A9 0D -20 0C FD A2 00 86 06 86 07 A9 00 20 E0 FB A2 00 -A9 00 20 CE F0 A0 01 20 93 FB 20 FA F0 A2 00 A9 -FF 20 3F F2 A2 00 A9 00 20 39 F2 A2 00 A9 FF 20 -3F F2 20 6B FB 60 20 22 FD 20 26 FB A2 00 A9 FF +92 AE 01 92 20 E6 F5 4C 2B F3 A0 06 A2 00 B1 04 +A2 00 29 F0 20 49 FA D0 03 4C 16 F3 A9 29 A2 FE +20 C4 FA 4C 2B F3 A9 11 A2 FE 20 F7 FC A0 08 A2 +00 B1 04 20 F7 FC A0 04 20 90 FA 6C 00 92 4C 31 +F3 4C 31 F3 A0 0C 20 2F FA 60 20 2B FB A9 00 20 +E1 FC 20 6E F1 4C 71 F3 A0 00 A2 00 18 A9 01 71 +04 91 04 A0 00 A2 00 B1 04 C9 FF 20 68 FC D0 03 +4C 71 F3 A9 4F A2 FE 20 C4 FA A2 00 A9 01 4C 52 +F4 20 56 F4 A0 01 91 04 C9 01 20 62 FC D0 C9 A9 +01 20 82 FB 20 73 F4 A0 01 A2 00 B1 04 C9 01 20 +62 FC D0 03 4C A5 F3 A9 46 A2 FE 20 C4 FA A2 00 +A9 01 4C 52 F4 A0 05 A2 00 B1 04 C9 AA 20 62 FC +D0 03 4C BC F3 A2 00 A9 01 4C 52 F4 A2 00 A9 00 +A0 00 91 04 A0 00 A2 00 B1 04 C9 FF 20 68 FC D0 +03 4C E2 F3 A9 37 A2 FE 20 C4 FA A2 00 A9 01 4C +52 F4 20 95 F5 A0 01 91 04 A0 01 A2 00 B1 04 C9 +02 20 81 FC D0 03 4C 00 F4 20 B2 F5 A0 01 91 04 +A0 00 A2 00 18 A9 01 71 04 91 04 A0 01 A2 00 B1 +04 C9 00 20 62 FC D0 AC A2 00 A9 00 A0 06 20 0F +FD A0 07 20 68 FB E0 03 D0 02 C9 E8 20 81 FC F0 +03 4C 37 F4 4C 43 F4 A0 06 A2 00 A9 01 20 1F FA +4C 21 F4 A9 01 20 82 FB 20 1B F5 A2 00 A9 00 4C +52 F4 20 58 FB 60 A2 00 A9 00 20 E1 FC A2 00 86 +06 86 07 A9 00 20 B5 FB A2 00 A9 94 20 43 F1 4C +72 F4 60 20 F7 FC A2 00 A9 FF 20 3F F2 A2 00 A9 +00 20 33 F2 A2 00 A9 FF 20 3F F2 A2 00 A9 08 20 +E1 FC A2 01 A9 00 85 06 A9 00 85 07 A9 AA 20 B5 +FB A2 00 A9 86 20 CE F0 A0 01 20 68 FB 20 25 F1 +A2 00 A9 FF 20 3F F2 A2 00 A9 00 20 39 F2 A2 00 +A9 FF 20 3F F2 20 40 FB 60 20 F7 FC A2 00 A9 FF 20 3F F2 A2 00 A9 00 20 33 F2 A2 00 A9 FF 20 3F -F2 A0 00 91 04 A0 00 A2 00 B1 04 C9 FF 20 8D FC -D0 03 4C 86 F5 4C 78 F5 A2 00 A9 FF 20 3F F2 C9 -FF 20 8D FC D0 F2 A2 00 A9 3A 20 0C FD A2 00 86 -06 86 07 A9 00 20 E0 FB A2 00 A9 00 20 CE F0 A0 -02 20 93 FB 20 25 F1 A2 00 A9 FF 20 3F F2 A2 00 -A9 00 20 39 F2 A2 00 A9 FF 20 3F F2 20 79 FB 60 -A2 00 A9 37 20 0C FD A2 00 86 06 86 07 A9 00 20 -E0 FB A2 00 A9 00 20 43 F1 4C DC F5 60 A2 00 A9 -29 20 0C FD A2 00 86 06 A9 40 85 07 A9 00 20 E0 -FB A2 00 A9 00 20 43 F1 4C FB F5 60 20 22 FD 20 -49 FB A0 03 A2 00 B1 04 4C 0B F6 A0 0E 20 5A FA -60 20 22 FD A9 00 20 0C FD 20 2F FB A2 00 A9 00 -A0 00 20 3A FD A0 01 20 93 FB E0 02 20 AC FC F0 -03 4C 37 F6 4C 99 F6 A9 83 A2 FE 20 22 FD A0 06 -20 93 FB A0 00 20 88 FB 20 22 FD A0 07 A2 00 A9 -01 20 4A FA A0 04 20 BB FA A0 02 A2 00 B1 04 C9 -1F 20 93 FC D0 03 4C 7B F6 A9 87 A2 FE 20 EF FA -A2 00 A9 00 A0 02 91 04 4C 8D F6 A2 00 A9 20 20 -68 F0 A0 02 A2 00 18 A9 01 71 04 91 04 A0 00 A2 -00 A9 01 20 4A FA 4C 25 F6 A9 87 A2 FE 20 EF FA -20 7E FB 60 A0 00 B1 1A E6 1A D0 02 E6 1B 60 AD -4A 92 8D 45 92 20 50 F7 A9 45 A2 92 20 22 FD 20 -03 FD 4C 02 92 A5 18 38 E9 02 85 18 B0 02 C6 19 -60 AD 4F 92 D0 11 20 EE F6 4C 6D FA AD 4F 92 D0 -06 20 EE F6 4C 67 FA 20 EE F6 85 06 86 07 20 C5 -F6 A0 01 B1 18 AA 88 B1 18 60 A0 00 84 0C 84 0D -B1 1A 38 E9 30 90 2C C9 0A B0 28 20 A8 F6 48 A5 -0C A6 0D 06 0C 26 0D 06 0C 26 0D 65 0C 85 0C 8A -65 0D 85 0D 06 0C 26 0D 68 65 0C 85 0C 90 D1 E6 -0D B0 CD A5 0C A6 0D 60 AC 51 92 EE 51 92 99 52 -92 60 A9 52 A2 92 18 6D 51 92 90 01 E8 4C 22 FD -A5 1C A6 1D 4C 22 FD 20 AF F6 EE 4B 92 D0 F8 EE -4C 92 D0 F3 60 20 50 F7 AD 66 92 AE 67 92 20 22 -FD AD 68 92 AE 69 92 20 22 FD 4C 02 92 84 0C 20 -E0 FB 20 42 F7 A5 0C 4C 10 FC 84 0C 20 E0 FB 20 -42 F7 A5 0C 4C 51 FC 48 A0 05 B9 18 00 99 3F 92 -88 10 F7 68 85 18 86 19 20 63 FB 85 1A 86 1B 20 -63 FB 85 1C 86 1D A9 00 A8 91 1C C8 91 1C C8 B1 -1C 8D 03 92 C8 B1 1C 8D 04 92 A5 1A 85 0C A5 1B -85 0D A0 00 B1 1A F0 0B C9 25 F0 07 C8 D0 F5 E6 -1B D0 F1 98 18 65 1A 85 1A 90 02 E6 1B 38 E5 0C -85 0E A5 1B E5 0D 85 0F 05 0E F0 25 20 49 FB A0 -05 A5 1D 91 04 88 A5 1C 91 04 88 A5 0D 91 04 88 -A5 0C 91 04 88 A5 0F 91 04 88 A5 0E 91 04 20 02 -92 20 A4 F6 AA D0 0B A2 05 BD 3F 92 95 18 CA 10 -F8 60 C9 25 D0 09 B1 1A C9 25 D0 09 20 A8 F6 20 -B2 F6 4C CA F7 A9 00 A2 0B 9D 46 92 CA 10 FA B1 -1A C9 2D D0 05 8E 46 92 F0 19 C9 2B D0 05 8E 47 -92 F0 10 C9 20 D0 05 8E 48 92 F0 07 C9 23 D0 09 -8E 49 92 20 A8 F6 4C 4F F8 A2 20 C9 30 D0 06 AA -20 A8 F6 B1 1A 8E 4A 92 C9 2A D0 09 20 A8 F6 20 -EE F6 4C 98 F8 20 FA F6 8D 4B 92 8E 4C 92 8C 4D -92 8C 4E 92 B1 1A C9 2E D0 1B 20 A8 F6 B1 1A C9 -2A D0 09 20 A8 F6 20 EE F6 4C BF F8 20 FA F6 8D -4D 92 8E 4E 92 B1 1A C9 7A F0 19 C9 68 F0 15 C9 -74 F0 11 C9 6A F0 08 C9 4C F0 04 C9 6C D0 0B A9 -FF 8D 4F 92 20 A8 F6 4C C5 F8 8C 51 92 A2 52 8E -66 92 A2 92 8E 67 92 20 A8 F6 C9 63 D0 0D 20 EE -F6 8D 52 92 A2 00 A9 01 4C F1 F9 C9 64 F0 04 C9 -69 D0 2D A2 00 AD 48 92 F0 02 A2 20 AD 47 92 F0 -02 A2 2B 8E 50 92 20 DC F6 A4 07 30 0B AC 50 92 -F0 06 8C 52 92 EE 51 92 A0 0A 20 7D F7 4C E8 F9 -C9 6E D0 15 20 EE F6 85 0C 86 0D A0 00 B1 1C 91 -0C C8 B1 1C 91 0C 4C CA F7 C9 6F D0 27 20 DC F6 -AC 49 92 F0 17 48 86 14 05 14 05 06 05 07 0D 4D -92 0D 4E 92 F0 06 A9 30 20 38 F7 68 A0 08 20 7D -F7 4C E8 F9 C9 70 D0 0D A2 00 8E 4F 92 E8 8E 49 -92 A9 78 D0 27 C9 73 D0 0C 20 EE F6 8D 66 92 8E -67 92 4C E8 F9 C9 75 D0 0B 20 D1 F6 A0 0A 20 8A -F7 4C E8 F9 C9 78 F0 04 C9 58 D0 29 48 AD 49 92 -F0 0A A9 30 20 38 F7 A9 58 20 38 F7 20 D1 F6 A0 -10 20 8A F7 68 C9 78 D0 09 AD 66 92 AE 67 92 20 -7A FD 4C E8 F9 4C CA F7 AD 66 92 AE 67 92 20 64 -FD 8D 68 92 8E 69 92 AD 4D 92 0D 4E 92 F0 15 AE -4D 92 EC 68 92 AD 4E 92 A8 ED 69 92 B0 06 8E 68 -92 8C 69 92 38 AD 4B 92 ED 68 92 AA AD 4C 92 ED -69 92 B0 03 A9 00 AA 49 FF 8D 4C 92 8A 49 FF 8D -4B 92 AD 46 92 D0 03 20 5A F7 20 65 F7 AD 46 92 -F0 03 20 5A F7 4C CA F7 A0 00 18 71 04 91 04 48 -C8 8A 71 04 91 04 AA 68 60 C8 48 18 98 65 04 85 -04 90 02 E6 05 68 60 A0 FF E0 80 B0 02 A0 00 84 -06 84 07 60 E0 00 D0 06 AA D0 03 A9 01 60 A2 00 -8A 60 A0 00 F0 07 A9 52 A2 F0 4C 05 92 60 A9 00 -85 0C A9 F0 85 0D A9 00 85 0E A9 92 85 0F A2 CD -A9 FF 85 14 A0 00 E8 F0 0D B1 0C 91 0E C8 D0 F6 -E6 0D E6 0F D0 F0 E6 14 D0 EF 60 8C 6A 92 88 88 -98 18 65 04 85 0C A6 05 90 01 E8 86 0D A0 01 B1 -0C AA 88 B1 0C 20 22 FD A5 0C A6 0D 20 E9 FD AC -6A 92 4C 5A FA 85 0C 86 0D 20 75 F0 4C F3 FA 85 -0C 86 0D A0 00 B1 0C F0 0E C8 84 14 20 68 F0 A4 -14 D0 F2 E6 0D D0 EE 60 E0 00 D0 15 4A AA BD B0 -FE 90 05 4A 4A 4A 4A 18 29 0F AA BD A5 FE A2 00 -60 38 A9 00 AA 60 A4 04 D0 02 C6 05 C6 04 60 A5 -04 38 E9 02 85 04 90 01 60 C6 05 60 A5 04 38 E9 -04 85 04 90 01 60 C6 05 60 A5 04 38 E9 06 85 04 -90 01 60 C6 05 60 A5 04 38 E9 07 85 04 90 01 60 -C6 05 60 A0 01 B1 04 AA 88 B1 04 E6 04 F0 05 E6 -04 F0 03 60 E6 04 E6 05 60 A0 03 4C 5A FA A0 05 -4C 5A FA A0 08 4C 5A FA 85 0C 86 0D A2 00 B1 0C -60 A0 01 B1 04 AA 88 B1 04 60 A0 03 B1 04 85 07 -88 B1 04 85 06 88 B1 04 AA 88 B1 04 60 A2 00 18 -65 04 48 8A 65 05 AA 68 60 18 49 FF 69 01 48 8A -49 FF 69 00 AA A5 06 49 FF 69 00 85 06 A5 07 49 -FF 69 00 85 07 68 60 A9 00 AA A0 00 84 06 84 07 -48 20 3C FB A0 03 A5 07 91 04 88 A5 06 91 04 88 -8A 91 04 68 88 91 04 60 85 14 20 63 FB 85 0E 86 -0F 85 10 86 11 20 F5 FC 20 63 FB 85 06 86 07 60 -20 F8 FB A6 07 A4 14 C0 0A D0 39 A5 06 05 0D 05 -0C D0 11 E0 80 D0 0D A0 0B B9 99 FE 91 0E 88 10 -F8 4C 88 FC 8A 10 1D A9 2D A0 00 91 0E E6 0E D0 -02 E6 0F A5 0C A6 0D 20 B9 FB 85 0C 86 0D 4C 54 -FC 20 F8 FB A9 00 48 A0 20 A9 00 06 0C 26 0D 26 -06 26 07 2A C5 14 90 04 E5 14 E6 0C 88 D0 EC A8 -B9 89 FE 48 A5 0C 05 0D 05 06 05 07 D0 D9 A0 00 -68 91 0E F0 03 C8 D0 F8 A5 10 A6 11 60 D0 06 A2 -00 8A 60 D0 FA A2 00 A9 01 60 F0 F9 30 F7 A2 00 -8A 60 F0 02 10 EF A2 00 8A 60 F0 E9 90 E7 A2 00 -8A 60 F0 DB A2 00 8A 2A 60 20 E2 FC A6 11 F0 13 -B1 0C 91 0E C8 B1 0C 91 0E C8 D0 F4 E6 0D E6 0F -CA D0 ED A6 10 F0 08 B1 0C 91 0E C8 CA D0 F8 4C -63 FB 85 10 86 11 20 F5 FC C8 B1 04 AA 86 0F 88 -B1 04 85 0E 60 A0 01 B1 04 85 0D 88 B1 04 85 0C -4C 6B FB A9 01 4C 20 FD A0 00 B1 04 A4 04 F0 07 -C6 04 A0 00 91 04 60 C6 05 C6 04 91 04 60 A9 00 -A2 00 48 A5 04 38 E9 02 85 04 B0 02 C6 05 A0 01 -8A 91 04 68 88 91 04 60 A0 00 91 04 C8 48 8A 91 -04 68 60 85 0E 86 0F 20 F5 FC B1 0C D1 0E D0 0C -AA F0 10 C8 D0 F4 E6 0D E6 0F D0 EE B0 03 A2 FF -60 A2 01 60 85 0E 86 0F A2 00 A0 00 B1 0E F0 08 -C8 D0 F9 E6 0F E8 D0 F4 98 60 85 0C 86 0D 85 0E -86 0F A0 00 B1 0C F0 14 20 0C FB 29 02 F0 06 B1 -0C 69 20 91 0C C8 D0 EC E6 0D D0 E8 A5 0E A6 0F -60 20 63 FB 85 0E 86 0F E8 8E 31 92 AA E8 8E 30 -92 20 F5 FC 20 63 FB 85 10 86 11 A0 00 84 14 B1 -10 18 65 0E 91 10 C8 B1 10 65 0F 91 10 CE 30 92 -F0 11 A4 14 B1 0C C8 D0 02 E6 0D 84 14 20 68 F0 -4C CD FD CE 31 92 D0 EA 60 85 0C 86 0D A9 00 8D -2A 92 8D 2B 92 A0 01 B1 04 AA 88 B1 04 20 22 FD -A0 02 A9 2A 91 04 C8 A9 92 91 04 A5 0C A6 0D 20 -97 F7 AD 2A 92 AE 2B 92 60 A9 32 85 0C A9 92 85 -0D A9 00 A8 A2 00 F0 0A 91 0C C8 D0 FB E6 0D CA -D0 F6 C0 39 F0 05 91 0C C8 D0 F7 60 62 61 64 20 -74 6F 6B 65 6E 3A 20 25 78 0A 00 53 75 63 63 65 -73 73 0A 00 45 72 72 6F 72 0A 00 53 74 61 72 74 -0A 00 6F 70 5F 63 6F 6E 64 20 65 72 72 6F 72 0A -00 49 46 20 43 6F 6E 64 0A 00 47 6F 20 49 44 4C -45 0A 00 25 32 78 00 0A 00 30 31 32 33 34 35 36 -37 38 39 41 42 43 44 45 46 2D 32 31 34 37 34 38 -33 36 34 38 00 00 01 02 0C 09 0A 10 40 50 A0 D0 -66 66 66 66 A6 88 88 66 66 66 66 66 66 66 66 66 -09 00 00 00 00 00 00 00 33 33 33 33 33 00 00 00 -50 55 55 25 22 22 22 22 22 22 22 22 22 02 00 00 -40 44 44 14 11 11 11 11 11 11 11 11 11 01 00 70 +F2 A2 00 A9 0D 20 E1 FC A2 00 86 06 86 07 A9 00 +20 B5 FB A2 00 A9 00 20 CE F0 A0 01 20 68 FB 20 +FA F0 A2 00 A9 FF 20 3F F2 A2 00 A9 00 20 39 F2 +A2 00 A9 FF 20 3F F2 20 40 FB 60 20 F7 FC 20 FB +FA A2 00 A9 FF 20 3F F2 A2 00 A9 00 20 33 F2 A2 +00 A9 FF 20 3F F2 A0 00 91 04 A0 00 A2 00 B1 04 +C9 FF 20 62 FC D0 03 4C 5B F5 4C 4D F5 A2 00 A9 +FF 20 3F F2 C9 FF 20 62 FC D0 F2 A2 00 A9 3A 20 +E1 FC A2 00 86 06 86 07 A9 00 20 B5 FB A2 00 A9 +00 20 CE F0 A0 02 20 68 FB 20 25 F1 A2 00 A9 FF +20 3F F2 A2 00 A9 00 20 39 F2 A2 00 A9 FF 20 3F +F2 20 4E FB 60 A2 00 A9 37 20 E1 FC A2 00 86 06 +86 07 A9 00 20 B5 FB A2 00 A9 00 20 43 F1 4C B1 +F5 60 A2 00 A9 29 20 E1 FC A2 00 86 06 A9 40 85 +07 A9 00 20 B5 FB A2 00 A9 00 20 43 F1 4C D0 F5 +60 20 F7 FC 20 1E FB A0 03 A2 00 B1 04 4C E0 F5 +A0 0E 20 2F FA 60 20 F7 FC A9 00 20 E1 FC 20 04 +FB A2 00 A9 00 A0 00 20 0F FD A0 01 20 68 FB E0 +02 20 81 FC F0 03 4C 0C F6 4C 6E F6 A9 58 A2 FE +20 F7 FC A0 06 20 68 FB A0 00 20 5D FB 20 F7 FC +A0 07 A2 00 A9 01 20 1F FA A0 04 20 90 FA A0 02 +A2 00 B1 04 C9 1F 20 68 FC D0 03 4C 50 F6 A9 5C +A2 FE 20 C4 FA A2 00 A9 00 A0 02 91 04 4C 62 F6 +A2 00 A9 20 20 68 F0 A0 02 A2 00 18 A9 01 71 04 +91 04 A0 00 A2 00 A9 01 20 1F FA 4C FA F5 A9 5C +A2 FE 20 C4 FA 20 53 FB 60 A0 00 B1 1A E6 1A D0 +02 E6 1B 60 AD 4A 92 8D 45 92 20 25 F7 A9 45 A2 +92 20 F7 FC 20 D8 FC 4C 02 92 A5 18 38 E9 02 85 +18 B0 02 C6 19 60 AD 4F 92 D0 11 20 C3 F6 4C 42 +FA AD 4F 92 D0 06 20 C3 F6 4C 3C FA 20 C3 F6 85 +06 86 07 20 9A F6 A0 01 B1 18 AA 88 B1 18 60 A0 +00 84 0C 84 0D B1 1A 38 E9 30 90 2C C9 0A B0 28 +20 7D F6 48 A5 0C A6 0D 06 0C 26 0D 06 0C 26 0D +65 0C 85 0C 8A 65 0D 85 0D 06 0C 26 0D 68 65 0C +85 0C 90 D1 E6 0D B0 CD A5 0C A6 0D 60 AC 51 92 +EE 51 92 99 52 92 60 A9 52 A2 92 18 6D 51 92 90 +01 E8 4C F7 FC A5 1C A6 1D 4C F7 FC 20 84 F6 EE +4B 92 D0 F8 EE 4C 92 D0 F3 60 20 25 F7 AD 66 92 +AE 67 92 20 F7 FC AD 68 92 AE 69 92 20 F7 FC 4C +02 92 84 0C 20 B5 FB 20 17 F7 A5 0C 4C E5 FB 84 +0C 20 B5 FB 20 17 F7 A5 0C 4C 26 FC 48 A0 05 B9 +18 00 99 3F 92 88 10 F7 68 85 18 86 19 20 38 FB +85 1A 86 1B 20 38 FB 85 1C 86 1D A9 00 A8 91 1C +C8 91 1C C8 B1 1C 8D 03 92 C8 B1 1C 8D 04 92 A5 +1A 85 0C A5 1B 85 0D A0 00 B1 1A F0 0B C9 25 F0 +07 C8 D0 F5 E6 1B D0 F1 98 18 65 1A 85 1A 90 02 +E6 1B 38 E5 0C 85 0E A5 1B E5 0D 85 0F 05 0E F0 +25 20 1E FB A0 05 A5 1D 91 04 88 A5 1C 91 04 88 +A5 0D 91 04 88 A5 0C 91 04 88 A5 0F 91 04 88 A5 +0E 91 04 20 02 92 20 79 F6 AA D0 0B A2 05 BD 3F +92 95 18 CA 10 F8 60 C9 25 D0 09 B1 1A C9 25 D0 +09 20 7D F6 20 87 F6 4C 9F F7 A9 00 A2 0B 9D 46 +92 CA 10 FA B1 1A C9 2D D0 05 8E 46 92 F0 19 C9 +2B D0 05 8E 47 92 F0 10 C9 20 D0 05 8E 48 92 F0 +07 C9 23 D0 09 8E 49 92 20 7D F6 4C 24 F8 A2 20 +C9 30 D0 06 AA 20 7D F6 B1 1A 8E 4A 92 C9 2A D0 +09 20 7D F6 20 C3 F6 4C 6D F8 20 CF F6 8D 4B 92 +8E 4C 92 8C 4D 92 8C 4E 92 B1 1A C9 2E D0 1B 20 +7D F6 B1 1A C9 2A D0 09 20 7D F6 20 C3 F6 4C 94 +F8 20 CF F6 8D 4D 92 8E 4E 92 B1 1A C9 7A F0 19 +C9 68 F0 15 C9 74 F0 11 C9 6A F0 08 C9 4C F0 04 +C9 6C D0 0B A9 FF 8D 4F 92 20 7D F6 4C 9A F8 8C +51 92 A2 52 8E 66 92 A2 92 8E 67 92 20 7D F6 C9 +63 D0 0D 20 C3 F6 8D 52 92 A2 00 A9 01 4C C6 F9 +C9 64 F0 04 C9 69 D0 2D A2 00 AD 48 92 F0 02 A2 +20 AD 47 92 F0 02 A2 2B 8E 50 92 20 B1 F6 A4 07 +30 0B AC 50 92 F0 06 8C 52 92 EE 51 92 A0 0A 20 +52 F7 4C BD F9 C9 6E D0 15 20 C3 F6 85 0C 86 0D +A0 00 B1 1C 91 0C C8 B1 1C 91 0C 4C 9F F7 C9 6F +D0 27 20 B1 F6 AC 49 92 F0 17 48 86 14 05 14 05 +06 05 07 0D 4D 92 0D 4E 92 F0 06 A9 30 20 0D F7 +68 A0 08 20 52 F7 4C BD F9 C9 70 D0 0D A2 00 8E +4F 92 E8 8E 49 92 A9 78 D0 27 C9 73 D0 0C 20 C3 +F6 8D 66 92 8E 67 92 4C BD F9 C9 75 D0 0B 20 A6 +F6 A0 0A 20 5F F7 4C BD F9 C9 78 F0 04 C9 58 D0 +29 48 AD 49 92 F0 0A A9 30 20 0D F7 A9 58 20 0D +F7 20 A6 F6 A0 10 20 5F F7 68 C9 78 D0 09 AD 66 +92 AE 67 92 20 4F FD 4C BD F9 4C 9F F7 AD 66 92 +AE 67 92 20 39 FD 8D 68 92 8E 69 92 AD 4D 92 0D +4E 92 F0 15 AE 4D 92 EC 68 92 AD 4E 92 A8 ED 69 +92 B0 06 8E 68 92 8C 69 92 38 AD 4B 92 ED 68 92 +AA AD 4C 92 ED 69 92 B0 03 A9 00 AA 49 FF 8D 4C +92 8A 49 FF 8D 4B 92 AD 46 92 D0 03 20 2F F7 20 +3A F7 AD 46 92 F0 03 20 2F F7 4C 9F F7 A0 00 18 +71 04 91 04 48 C8 8A 71 04 91 04 AA 68 60 C8 48 +18 98 65 04 85 04 90 02 E6 05 68 60 A0 FF E0 80 +B0 02 A0 00 84 06 84 07 60 E0 00 D0 06 AA D0 03 +A9 01 60 A2 00 8A 60 A0 00 F0 07 A9 52 A2 F0 4C +05 92 60 A9 00 85 0C A9 F0 85 0D A9 00 85 0E A9 +92 85 0F A2 CD A9 FF 85 14 A0 00 E8 F0 0D B1 0C +91 0E C8 D0 F6 E6 0D E6 0F D0 F0 E6 14 D0 EF 60 +8C 6A 92 88 88 98 18 65 04 85 0C A6 05 90 01 E8 +86 0D A0 01 B1 0C AA 88 B1 0C 20 F7 FC A5 0C A6 +0D 20 BE FD AC 6A 92 4C 2F FA 85 0C 86 0D 20 75 +F0 4C C8 FA 85 0C 86 0D A0 00 B1 0C F0 0E C8 84 +14 20 68 F0 A4 14 D0 F2 E6 0D D0 EE 60 E0 00 D0 +15 4A AA BD 85 FE 90 05 4A 4A 4A 4A 18 29 0F AA +BD 7A FE A2 00 60 38 A9 00 AA 60 A4 04 D0 02 C6 +05 C6 04 60 A5 04 38 E9 02 85 04 90 01 60 C6 05 +60 A5 04 38 E9 04 85 04 90 01 60 C6 05 60 A5 04 +38 E9 06 85 04 90 01 60 C6 05 60 A5 04 38 E9 07 +85 04 90 01 60 C6 05 60 A0 01 B1 04 AA 88 B1 04 +E6 04 F0 05 E6 04 F0 03 60 E6 04 E6 05 60 A0 03 +4C 2F FA A0 05 4C 2F FA A0 08 4C 2F FA 85 0C 86 +0D A2 00 B1 0C 60 A0 01 B1 04 AA 88 B1 04 60 A0 +03 B1 04 85 07 88 B1 04 85 06 88 B1 04 AA 88 B1 +04 60 A2 00 18 65 04 48 8A 65 05 AA 68 60 18 49 +FF 69 01 48 8A 49 FF 69 00 AA A5 06 49 FF 69 00 +85 06 A5 07 49 FF 69 00 85 07 68 60 A9 00 AA A0 +00 84 06 84 07 48 20 11 FB A0 03 A5 07 91 04 88 +A5 06 91 04 88 8A 91 04 68 88 91 04 60 85 14 20 +38 FB 85 0E 86 0F 85 10 86 11 20 CA FC 20 38 FB +85 06 86 07 60 20 CD FB A6 07 A4 14 C0 0A D0 39 +A5 06 05 0D 05 0C D0 11 E0 80 D0 0D A0 0B B9 6E +FE 91 0E 88 10 F8 4C 5D FC 8A 10 1D A9 2D A0 00 +91 0E E6 0E D0 02 E6 0F A5 0C A6 0D 20 8E FB 85 +0C 86 0D 4C 29 FC 20 CD FB A9 00 48 A0 20 A9 00 +06 0C 26 0D 26 06 26 07 2A C5 14 90 04 E5 14 E6 +0C 88 D0 EC A8 B9 5E FE 48 A5 0C 05 0D 05 06 05 +07 D0 D9 A0 00 68 91 0E F0 03 C8 D0 F8 A5 10 A6 +11 60 D0 06 A2 00 8A 60 D0 FA A2 00 A9 01 60 F0 +F9 30 F7 A2 00 8A 60 F0 02 10 EF A2 00 8A 60 F0 +E9 90 E7 A2 00 8A 60 F0 DB A2 00 8A 2A 60 20 B7 +FC A6 11 F0 13 B1 0C 91 0E C8 B1 0C 91 0E C8 D0 +F4 E6 0D E6 0F CA D0 ED A6 10 F0 08 B1 0C 91 0E +C8 CA D0 F8 4C 38 FB 85 10 86 11 20 CA FC C8 B1 +04 AA 86 0F 88 B1 04 85 0E 60 A0 01 B1 04 85 0D +88 B1 04 85 0C 4C 40 FB A9 01 4C F5 FC A0 00 B1 +04 A4 04 F0 07 C6 04 A0 00 91 04 60 C6 05 C6 04 +91 04 60 A9 00 A2 00 48 A5 04 38 E9 02 85 04 B0 +02 C6 05 A0 01 8A 91 04 68 88 91 04 60 A0 00 91 +04 C8 48 8A 91 04 68 60 85 0E 86 0F 20 CA FC B1 +0C D1 0E D0 0C AA F0 10 C8 D0 F4 E6 0D E6 0F D0 +EE B0 03 A2 FF 60 A2 01 60 85 0E 86 0F A2 00 A0 +00 B1 0E F0 08 C8 D0 F9 E6 0F E8 D0 F4 98 60 85 +0C 86 0D 85 0E 86 0F A0 00 B1 0C F0 14 20 E1 FA +29 02 F0 06 B1 0C 69 20 91 0C C8 D0 EC E6 0D D0 +E8 A5 0E A6 0F 60 20 38 FB 85 0E 86 0F E8 8E 31 +92 AA E8 8E 30 92 20 CA FC 20 38 FB 85 10 86 11 +A0 00 84 14 B1 10 18 65 0E 91 10 C8 B1 10 65 0F +91 10 CE 30 92 F0 11 A4 14 B1 0C C8 D0 02 E6 0D +84 14 20 68 F0 4C A2 FD CE 31 92 D0 EA 60 85 0C +86 0D A9 00 8D 2A 92 8D 2B 92 A0 01 B1 04 AA 88 +B1 04 20 F7 FC A0 02 A9 2A 91 04 C8 A9 92 91 04 +A5 0C A6 0D 20 6C F7 AD 2A 92 AE 2B 92 60 A9 32 +85 0C A9 92 85 0D A9 00 A8 A2 00 F0 0A 91 0C C8 +D0 FB E6 0D CA D0 F6 C0 39 F0 05 91 0C C8 D0 F7 +60 62 61 64 20 74 6F 6B 65 6E 3A 20 25 78 0A 00 +53 75 63 63 65 73 73 0A 00 45 72 72 6F 72 0A 00 +53 74 61 72 74 0A 00 6F 70 5F 63 6F 6E 64 20 65 +72 72 6F 72 0A 00 49 46 20 43 6F 6E 64 0A 00 47 +6F 20 49 44 4C 45 0A 00 25 32 78 00 0A 00 30 31 +32 33 34 35 36 37 38 39 41 42 43 44 45 46 2D 32 +31 34 37 34 38 33 36 34 38 00 00 01 02 0C 09 0A +10 40 50 A0 D0 66 66 66 66 A6 88 88 66 66 66 66 +66 66 66 66 66 09 00 00 00 00 00 00 00 33 33 33 +33 33 00 00 00 50 55 55 25 22 22 22 22 22 22 22 +22 22 02 00 00 40 44 44 14 11 11 11 11 11 11 11 +11 11 01 00 70 00 00 00 00 00 00 00 00 00 00 00 +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 diff --git a/hw/efinix_fpga/simulation/src/sim_top.sv b/hw/efinix_fpga/simulation/src/sim_top.sv index f5cafb0..2bd143a 100644 --- a/hw/efinix_fpga/simulation/src/sim_top.sv +++ b/hw/efinix_fpga/simulation/src/sim_top.sv @@ -88,6 +88,7 @@ logic w_spi_mosi; logic w_spi_miso; sd_card_emu u_sd_card_emu( + .rst(~w_cpu_reset), .clk(w_spi_clk), .cs(w_sd_cs), .mosi(w_spi_mosi), diff --git a/hw/efinix_fpga/simulation/src/verilog-sd-emulator b/hw/efinix_fpga/simulation/src/verilog-sd-emulator index 27a4e5d..2ae36c9 160000 --- a/hw/efinix_fpga/simulation/src/verilog-sd-emulator +++ b/hw/efinix_fpga/simulation/src/verilog-sd-emulator @@ -1 +1 @@ -Subproject commit 27a4e5dd87e61ef84f13ea614d0b4ed3293c85c0 +Subproject commit 2ae36c9dcd99c02b864709134d931c431603f9a0 diff --git a/sw/bios/devices/sd_card.c b/sw/bios/devices/sd_card.c index 404bb7a..0387b50 100644 --- a/sw/bios/devices/sd_card.c +++ b/sw/bios/devices/sd_card.c @@ -56,7 +56,9 @@ uint8_t SD_init() res[0] = SD_sendOpCond(); } +#ifndef RTL_SIM for (i = 0; i < 1000; i++); +#endif cmdAttempts++; } From 6a684f62f8e03e7657eb780edc055b75f56032b2 Mon Sep 17 00:00:00 2001 From: Byron Lathi Date: Wed, 4 Oct 2023 20:24:56 -0700 Subject: [PATCH 06/20] Remove another wait, update sd emulator --- hw/efinix_fpga/simulation/src/verilog-sd-emulator | 2 +- sw/bios/devices/sd_card.c | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/hw/efinix_fpga/simulation/src/verilog-sd-emulator b/hw/efinix_fpga/simulation/src/verilog-sd-emulator index 2ae36c9..016ca4b 160000 --- a/hw/efinix_fpga/simulation/src/verilog-sd-emulator +++ b/hw/efinix_fpga/simulation/src/verilog-sd-emulator @@ -1 +1 @@ -Subproject commit 2ae36c9dcd99c02b864709134d931c431603f9a0 +Subproject commit 016ca4bce23a3c9772e466279c6e1a2440af72b0 diff --git a/sw/bios/devices/sd_card.c b/sw/bios/devices/sd_card.c index 0387b50..6be2cc3 100644 --- a/sw/bios/devices/sd_card.c +++ b/sw/bios/devices/sd_card.c @@ -64,7 +64,9 @@ uint8_t SD_init() } while(res[0] != SD_READY); +#ifndef RTL_SIM for (i = 0; i < 1000; i++); +#endif SD_readOCR(res); From e6e3044f25b87969aeb007b54b514d54a4617b34 Mon Sep 17 00:00:00 2001 From: Byron Lathi Date: Wed, 4 Oct 2023 20:27:25 -0700 Subject: [PATCH 07/20] update sd emulator --- hw/efinix_fpga/simulation/src/verilog-sd-emulator | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hw/efinix_fpga/simulation/src/verilog-sd-emulator b/hw/efinix_fpga/simulation/src/verilog-sd-emulator index 016ca4b..1c66557 160000 --- a/hw/efinix_fpga/simulation/src/verilog-sd-emulator +++ b/hw/efinix_fpga/simulation/src/verilog-sd-emulator @@ -1 +1 @@ -Subproject commit 016ca4bce23a3c9772e466279c6e1a2440af72b0 +Subproject commit 1c66557642a27ad2989c5f2321dd22a6bb7d6855 From 2b98ad15228fbc9baad788481fbd11299c23161a Mon Sep 17 00:00:00 2001 From: Byron Lathi Date: Wed, 4 Oct 2023 22:50:55 -0700 Subject: [PATCH 08/20] Increase sim time to get into sd block reads --- hw/efinix_fpga/simulation/src/sim_top.sv | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hw/efinix_fpga/simulation/src/sim_top.sv b/hw/efinix_fpga/simulation/src/sim_top.sv index 2bd143a..f61e015 100644 --- a/hw/efinix_fpga/simulation/src/sim_top.sv +++ b/hw/efinix_fpga/simulation/src/sim_top.sv @@ -49,7 +49,7 @@ initial begin button_reset <= '0; repeat(10) @(r_clk_2); button_reset <= '1; - repeat(50000) @(r_clk_2); + repeat(150000) @(r_clk_2); $finish(); end From 2084054d3d60c2e02ac24d708ad88bb4630c9e1a Mon Sep 17 00:00:00 2001 From: Byron Lathi Date: Fri, 6 Oct 2023 06:48:47 -0700 Subject: [PATCH 09/20] Add script for creating verilog filesystem image --- sw/.gitignore | 3 +++ sw/script/create_verilog_image.sh | 42 +++++++++++++++++++++++++++++++ 2 files changed, 45 insertions(+) create mode 100644 sw/script/create_verilog_image.sh diff --git a/sw/.gitignore b/sw/.gitignore index ec73f2b..5e3b75b 100644 --- a/sw/.gitignore +++ b/sw/.gitignore @@ -53,3 +53,6 @@ modules.order Module.symvers Mkfile.old dkms.conf + +# Filesystem Images +*.fat diff --git a/sw/script/create_verilog_image.sh b/sw/script/create_verilog_image.sh new file mode 100644 index 0000000..e95ce0b --- /dev/null +++ b/sw/script/create_verilog_image.sh @@ -0,0 +1,42 @@ + +#!/bin/bash + +BOOTLOADER=../bios/bootloader.bin +FILE=fs.fat + +TMPMOUNT=/tmp/lo +FSDIR=../fsdir + +V=-v + +# Smallest number of blocks where mkfs doesn't complain +BLOCKS=33296 + +rm $FILE + +echo "$(tput bold setaf 11)Creating Filesystem$(tput sgr 0)" +mkfs.vfat $V -I -F32 -C $FILE -n SUPER6502 $BLOCKS +echo + +echo "$(tput bold setaf 11)Modifying Boot Sector$(tput sgr 0)" +dd if=$BOOTLOADER of=$FILE bs=1 conv=notrunc count=11 $STATUS +dd if=$BOOTLOADER of=$FILE bs=1 conv=notrunc count=380 seek=71 skip=71 $STATUS + +echo "$(tput bold setaf 11)Mounting Device$(tput sgr 0)" +mkdir $V -p $TMPMOUNT +sudo mount $FILE $TMPMOUNT +echo + +echo "$(tput bold setaf 11)Copying Files$(tput sgr 0)" +sudo cp $V -r $FSDIR/* $TMPMOUNT +echo + +echo "$(tput bold setaf 11)Unmounting Device$(tput sgr 0)" +sudo umount $V $FILE +rmdir $V $TMPMOUNT +echo + +echo "$(tput bold setaf 11)Converting Image to Verilog$(tput sgr 0)" +objcopy --input-target=binary --output-target=verilog $FILE $FILE.hex +echo "$(tput bold setaf 10)Done!$(tput sgr 0)" + From a3e0ab0e1e87203b4d750398ce14d90a4af4cceb Mon Sep 17 00:00:00 2001 From: Byron Lathi Date: Fri, 6 Oct 2023 07:23:36 -0700 Subject: [PATCH 10/20] Use 8 bit memory !! Will eat all your RAM! Figure out a better way to load memories that doesn't immediately oom you. --- hw/efinix_fpga/init_hex.mem | 412 +++++++++--------- hw/efinix_fpga/simulation/Makefile | 9 +- hw/efinix_fpga/simulation/src/sim_top.sv | 4 +- .../simulation/src/verilog-sd-emulator | 2 +- sw/script/create_verilog_image.sh | 4 +- 5 files changed, 219 insertions(+), 212 deletions(-) diff --git a/hw/efinix_fpga/init_hex.mem b/hw/efinix_fpga/init_hex.mem index febc8b5..2b05a54 100644 --- a/hw/efinix_fpga/init_hex.mem +++ b/hw/efinix_fpga/init_hex.mem @@ -1,9 +1,9 @@ @00000000 00 80 4C 00 00 8D 13 92 8E 14 92 8D 1A 92 8E 1B 92 88 B9 FF FF 8D 24 92 88 B9 FF FF 8D 23 92 8C -26 92 20 FF FF A0 FF D0 E8 60 00 00 76 FD 00 00 -00 00 A2 FF 9A D8 A9 00 85 04 A9 DF 85 05 20 EE -FD 20 63 FA 20 52 F0 58 20 69 F2 6C FC FF 20 57 +26 92 20 FF FF A0 FF D0 E8 60 00 00 4C FD 00 00 +00 00 A2 FF 9A D8 A9 00 85 04 A9 DF 85 05 20 C4 +FD 20 39 FA 20 52 F0 58 20 69 F2 6C FC FF 20 2D FA 00 A0 00 F0 07 A9 52 A2 F0 4C 05 92 60 AD FF EF A2 00 60 8D FF EF 60 20 4F F2 C9 0A D0 05 A9 0D 20 4F F2 60 DA 5A A8 B2 04 AA A9 1B 20 4F F2 @@ -13,19 +13,19 @@ A9 63 20 4F F2 68 60 40 DA BA 48 E8 E8 BD 00 01 29 10 D0 06 68 FA 20 68 F2 40 68 FA 7C BF F0 C5 F0 C9 F0 CA F0 20 9A F0 40 40 20 68 F0 40 48 A0 04 B1 04 09 40 20 3F F2 88 B1 04 20 3F F2 88 10 -F8 68 09 01 20 3F F2 20 53 FB 60 A2 08 A9 FF 20 +F8 68 09 01 20 3F F2 20 29 FB 60 A2 08 A9 FF 20 3F F2 C9 FF D0 03 CA D0 F4 60 85 0C 86 0D 20 EB -F0 92 0C A9 FF 20 3F F2 A0 01 91 0C 20 40 FB 60 -AA 20 CA FC A9 FF 20 3F F2 92 0C E6 0C D0 02 E6 +F0 92 0C A9 FF 20 3F F2 A0 01 91 0C 20 16 FB 60 +AA 20 A0 FC A9 FF 20 3F F2 92 0C E6 0C D0 02 E6 0D CA D0 F0 60 85 0C 86 0D 20 EB F0 C9 02 B0 12 -E6 0C D0 02 E6 0C A5 0C A6 0D 20 F7 FC A9 04 20 +E6 0C D0 02 E6 0C A5 0C A6 0D 20 CD FC A9 04 20 10 F1 60 48 A9 FF 20 3F F2 A9 00 20 33 F2 A9 FF 20 3F F2 68 20 CE F0 20 EB F0 A8 A9 FF 20 3F F2 A9 00 20 39 F2 A9 FF 20 3F F2 98 A2 00 60 A9 00 20 39 F2 20 8B F1 A9 FF 20 3F F2 A9 00 20 39 F2 A2 50 A9 FF 20 3F F2 CA D0 F8 60 A2 01 A9 C8 3A -D0 FD CA D0 F8 60 85 0E 86 0F A9 FF 92 0E 20 CA -FC A5 04 85 10 A5 05 85 11 20 FB FA A0 00 B1 10 +D0 FD CA D0 F8 60 85 0E 86 0F A9 FF 92 0E 20 A0 +FC A5 04 85 10 A5 05 85 11 20 D1 FA A0 00 B1 10 91 04 C8 B1 10 91 04 C8 B1 10 91 04 C8 B1 10 91 04 A9 FF 20 3F F2 A9 00 20 33 F2 A9 FF 20 3F F2 A9 11 A0 04 91 04 A9 00 20 CE F0 20 EB F0 C9 FF @@ -37,205 +37,205 @@ EB A9 FF 20 3F F2 A9 FF 20 3F F2 A5 15 92 0E A5 F2 68 60 A9 01 8D DB EF 60 9C DB EF 60 A9 00 8D DA EF AD DB EF 30 FB AD D9 EF 60 8D E6 EF 60 48 8D E6 EF AD E7 EF 89 02 D0 F9 68 60 AD E6 EF A2 -00 60 AD E7 EF A2 00 60 60 20 1E FB A2 00 86 06 -86 07 A9 00 20 B5 FB 20 04 FB A9 30 A2 FE 20 C4 -FA 20 3A F3 C9 00 20 62 FC D0 03 4C 98 F2 A9 29 -A2 FE 20 C4 FA 4C 2E F3 A9 20 A2 FE 20 C4 FA A0 -05 20 71 FB 20 B5 FB AD 00 92 AE 01 92 20 F7 FC -A9 0C 20 82 FB 20 96 F1 A0 07 91 04 A0 07 A2 00 -B1 04 C9 00 20 68 FC D0 03 4C DC F2 A0 06 A2 00 -B1 04 C9 FE 20 68 FC F0 03 4C E5 F2 A2 00 A9 00 +00 60 AD E7 EF A2 00 60 60 20 F4 FA A2 00 86 06 +86 07 A9 00 20 8B FB 20 DA FA A9 06 A2 FE 20 9A +FA 20 3A F3 C9 00 20 38 FC D0 03 4C 98 F2 A9 FF +A2 FD 20 9A FA 4C 2E F3 A9 F6 A2 FD 20 9A FA A0 +05 20 47 FB 20 8B FB AD 00 92 AE 01 92 20 CD FC +A9 0C 20 58 FB 20 96 F1 A0 07 91 04 A0 07 A2 00 +B1 04 C9 00 20 3E FC D0 03 4C DC F2 A0 06 A2 00 +B1 04 C9 FE 20 3E FC F0 03 4C E5 F2 A2 00 A9 00 D0 03 4C E9 F2 A2 00 A9 01 D0 03 4C FA F2 AD 00 -92 AE 01 92 20 E6 F5 4C 2B F3 A0 06 A2 00 B1 04 -A2 00 29 F0 20 49 FA D0 03 4C 16 F3 A9 29 A2 FE -20 C4 FA 4C 2B F3 A9 11 A2 FE 20 F7 FC A0 08 A2 -00 B1 04 20 F7 FC A0 04 20 90 FA 6C 00 92 4C 31 -F3 4C 31 F3 A0 0C 20 2F FA 60 20 2B FB A9 00 20 -E1 FC 20 6E F1 4C 71 F3 A0 00 A2 00 18 A9 01 71 -04 91 04 A0 00 A2 00 B1 04 C9 FF 20 68 FC D0 03 -4C 71 F3 A9 4F A2 FE 20 C4 FA A2 00 A9 01 4C 52 -F4 20 56 F4 A0 01 91 04 C9 01 20 62 FC D0 C9 A9 -01 20 82 FB 20 73 F4 A0 01 A2 00 B1 04 C9 01 20 -62 FC D0 03 4C A5 F3 A9 46 A2 FE 20 C4 FA A2 00 -A9 01 4C 52 F4 A0 05 A2 00 B1 04 C9 AA 20 62 FC -D0 03 4C BC F3 A2 00 A9 01 4C 52 F4 A2 00 A9 00 -A0 00 91 04 A0 00 A2 00 B1 04 C9 FF 20 68 FC D0 -03 4C E2 F3 A9 37 A2 FE 20 C4 FA A2 00 A9 01 4C -52 F4 20 95 F5 A0 01 91 04 A0 01 A2 00 B1 04 C9 -02 20 81 FC D0 03 4C 00 F4 20 B2 F5 A0 01 91 04 +92 AE 01 92 20 BB F5 4C 2B F3 A0 06 A2 00 B1 04 +A2 00 29 F0 20 1F FA D0 03 4C 16 F3 A9 FF A2 FD +20 9A FA 4C 2B F3 A9 E7 A2 FD 20 CD FC A0 08 A2 +00 B1 04 20 CD FC A0 04 20 66 FA 6C 00 92 4C 31 +F3 4C 31 F3 A0 0C 20 05 FA 60 20 01 FB A9 00 20 +B7 FC 20 6E F1 4C 71 F3 A0 00 A2 00 18 A9 01 71 +04 91 04 A0 00 A2 00 B1 04 C9 FF 20 3E FC D0 03 +4C 71 F3 A9 25 A2 FE 20 9A FA A2 00 A9 01 4C 27 +F4 20 2B F4 A0 01 91 04 C9 01 20 38 FC D0 C9 A9 +01 20 58 FB 20 48 F4 A0 01 A2 00 B1 04 C9 01 20 +38 FC D0 03 4C A5 F3 A9 1C A2 FE 20 9A FA A2 00 +A9 01 4C 27 F4 A0 05 A2 00 B1 04 C9 AA 20 38 FC +D0 03 4C BC F3 A2 00 A9 01 4C 27 F4 A2 00 A9 00 +A0 00 91 04 A0 00 A2 00 B1 04 C9 FF 20 3E FC D0 +03 4C E2 F3 A9 0D A2 FE 20 9A FA A2 00 A9 01 4C +27 F4 20 6A F5 A0 01 91 04 A0 01 A2 00 B1 04 C9 +02 20 57 FC D0 03 4C 00 F4 20 87 F5 A0 01 91 04 A0 00 A2 00 18 A9 01 71 04 91 04 A0 01 A2 00 B1 -04 C9 00 20 62 FC D0 AC A2 00 A9 00 A0 06 20 0F -FD A0 07 20 68 FB E0 03 D0 02 C9 E8 20 81 FC F0 -03 4C 37 F4 4C 43 F4 A0 06 A2 00 A9 01 20 1F FA -4C 21 F4 A9 01 20 82 FB 20 1B F5 A2 00 A9 00 4C -52 F4 20 58 FB 60 A2 00 A9 00 20 E1 FC A2 00 86 -06 86 07 A9 00 20 B5 FB A2 00 A9 94 20 43 F1 4C -72 F4 60 20 F7 FC A2 00 A9 FF 20 3F F2 A2 00 A9 -00 20 33 F2 A2 00 A9 FF 20 3F F2 A2 00 A9 08 20 -E1 FC A2 01 A9 00 85 06 A9 00 85 07 A9 AA 20 B5 -FB A2 00 A9 86 20 CE F0 A0 01 20 68 FB 20 25 F1 -A2 00 A9 FF 20 3F F2 A2 00 A9 00 20 39 F2 A2 00 -A9 FF 20 3F F2 20 40 FB 60 20 F7 FC A2 00 A9 FF -20 3F F2 A2 00 A9 00 20 33 F2 A2 00 A9 FF 20 3F -F2 A2 00 A9 0D 20 E1 FC A2 00 86 06 86 07 A9 00 -20 B5 FB A2 00 A9 00 20 CE F0 A0 01 20 68 FB 20 -FA F0 A2 00 A9 FF 20 3F F2 A2 00 A9 00 20 39 F2 -A2 00 A9 FF 20 3F F2 20 40 FB 60 20 F7 FC 20 FB -FA A2 00 A9 FF 20 3F F2 A2 00 A9 00 20 33 F2 A2 -00 A9 FF 20 3F F2 A0 00 91 04 A0 00 A2 00 B1 04 -C9 FF 20 62 FC D0 03 4C 5B F5 4C 4D F5 A2 00 A9 -FF 20 3F F2 C9 FF 20 62 FC D0 F2 A2 00 A9 3A 20 -E1 FC A2 00 86 06 86 07 A9 00 20 B5 FB A2 00 A9 -00 20 CE F0 A0 02 20 68 FB 20 25 F1 A2 00 A9 FF -20 3F F2 A2 00 A9 00 20 39 F2 A2 00 A9 FF 20 3F -F2 20 4E FB 60 A2 00 A9 37 20 E1 FC A2 00 86 06 -86 07 A9 00 20 B5 FB A2 00 A9 00 20 43 F1 4C B1 -F5 60 A2 00 A9 29 20 E1 FC A2 00 86 06 A9 40 85 -07 A9 00 20 B5 FB A2 00 A9 00 20 43 F1 4C D0 F5 -60 20 F7 FC 20 1E FB A0 03 A2 00 B1 04 4C E0 F5 -A0 0E 20 2F FA 60 20 F7 FC A9 00 20 E1 FC 20 04 -FB A2 00 A9 00 A0 00 20 0F FD A0 01 20 68 FB E0 -02 20 81 FC F0 03 4C 0C F6 4C 6E F6 A9 58 A2 FE -20 F7 FC A0 06 20 68 FB A0 00 20 5D FB 20 F7 FC -A0 07 A2 00 A9 01 20 1F FA A0 04 20 90 FA A0 02 -A2 00 B1 04 C9 1F 20 68 FC D0 03 4C 50 F6 A9 5C -A2 FE 20 C4 FA A2 00 A9 00 A0 02 91 04 4C 62 F6 -A2 00 A9 20 20 68 F0 A0 02 A2 00 18 A9 01 71 04 -91 04 A0 00 A2 00 A9 01 20 1F FA 4C FA F5 A9 5C -A2 FE 20 C4 FA 20 53 FB 60 A0 00 B1 1A E6 1A D0 -02 E6 1B 60 AD 4A 92 8D 45 92 20 25 F7 A9 45 A2 -92 20 F7 FC 20 D8 FC 4C 02 92 A5 18 38 E9 02 85 -18 B0 02 C6 19 60 AD 4F 92 D0 11 20 C3 F6 4C 42 -FA AD 4F 92 D0 06 20 C3 F6 4C 3C FA 20 C3 F6 85 -06 86 07 20 9A F6 A0 01 B1 18 AA 88 B1 18 60 A0 -00 84 0C 84 0D B1 1A 38 E9 30 90 2C C9 0A B0 28 -20 7D F6 48 A5 0C A6 0D 06 0C 26 0D 06 0C 26 0D -65 0C 85 0C 8A 65 0D 85 0D 06 0C 26 0D 68 65 0C -85 0C 90 D1 E6 0D B0 CD A5 0C A6 0D 60 AC 51 92 -EE 51 92 99 52 92 60 A9 52 A2 92 18 6D 51 92 90 -01 E8 4C F7 FC A5 1C A6 1D 4C F7 FC 20 84 F6 EE -4B 92 D0 F8 EE 4C 92 D0 F3 60 20 25 F7 AD 66 92 -AE 67 92 20 F7 FC AD 68 92 AE 69 92 20 F7 FC 4C -02 92 84 0C 20 B5 FB 20 17 F7 A5 0C 4C E5 FB 84 -0C 20 B5 FB 20 17 F7 A5 0C 4C 26 FC 48 A0 05 B9 -18 00 99 3F 92 88 10 F7 68 85 18 86 19 20 38 FB -85 1A 86 1B 20 38 FB 85 1C 86 1D A9 00 A8 91 1C -C8 91 1C C8 B1 1C 8D 03 92 C8 B1 1C 8D 04 92 A5 -1A 85 0C A5 1B 85 0D A0 00 B1 1A F0 0B C9 25 F0 -07 C8 D0 F5 E6 1B D0 F1 98 18 65 1A 85 1A 90 02 -E6 1B 38 E5 0C 85 0E A5 1B E5 0D 85 0F 05 0E F0 -25 20 1E FB A0 05 A5 1D 91 04 88 A5 1C 91 04 88 -A5 0D 91 04 88 A5 0C 91 04 88 A5 0F 91 04 88 A5 -0E 91 04 20 02 92 20 79 F6 AA D0 0B A2 05 BD 3F -92 95 18 CA 10 F8 60 C9 25 D0 09 B1 1A C9 25 D0 -09 20 7D F6 20 87 F6 4C 9F F7 A9 00 A2 0B 9D 46 -92 CA 10 FA B1 1A C9 2D D0 05 8E 46 92 F0 19 C9 -2B D0 05 8E 47 92 F0 10 C9 20 D0 05 8E 48 92 F0 -07 C9 23 D0 09 8E 49 92 20 7D F6 4C 24 F8 A2 20 -C9 30 D0 06 AA 20 7D F6 B1 1A 8E 4A 92 C9 2A D0 -09 20 7D F6 20 C3 F6 4C 6D F8 20 CF F6 8D 4B 92 -8E 4C 92 8C 4D 92 8C 4E 92 B1 1A C9 2E D0 1B 20 -7D F6 B1 1A C9 2A D0 09 20 7D F6 20 C3 F6 4C 94 -F8 20 CF F6 8D 4D 92 8E 4E 92 B1 1A C9 7A F0 19 -C9 68 F0 15 C9 74 F0 11 C9 6A F0 08 C9 4C F0 04 -C9 6C D0 0B A9 FF 8D 4F 92 20 7D F6 4C 9A F8 8C -51 92 A2 52 8E 66 92 A2 92 8E 67 92 20 7D F6 C9 -63 D0 0D 20 C3 F6 8D 52 92 A2 00 A9 01 4C C6 F9 -C9 64 F0 04 C9 69 D0 2D A2 00 AD 48 92 F0 02 A2 -20 AD 47 92 F0 02 A2 2B 8E 50 92 20 B1 F6 A4 07 -30 0B AC 50 92 F0 06 8C 52 92 EE 51 92 A0 0A 20 -52 F7 4C BD F9 C9 6E D0 15 20 C3 F6 85 0C 86 0D -A0 00 B1 1C 91 0C C8 B1 1C 91 0C 4C 9F F7 C9 6F -D0 27 20 B1 F6 AC 49 92 F0 17 48 86 14 05 14 05 -06 05 07 0D 4D 92 0D 4E 92 F0 06 A9 30 20 0D F7 -68 A0 08 20 52 F7 4C BD F9 C9 70 D0 0D A2 00 8E -4F 92 E8 8E 49 92 A9 78 D0 27 C9 73 D0 0C 20 C3 -F6 8D 66 92 8E 67 92 4C BD F9 C9 75 D0 0B 20 A6 -F6 A0 0A 20 5F F7 4C BD F9 C9 78 F0 04 C9 58 D0 -29 48 AD 49 92 F0 0A A9 30 20 0D F7 A9 58 20 0D -F7 20 A6 F6 A0 10 20 5F F7 68 C9 78 D0 09 AD 66 -92 AE 67 92 20 4F FD 4C BD F9 4C 9F F7 AD 66 92 -AE 67 92 20 39 FD 8D 68 92 8E 69 92 AD 4D 92 0D -4E 92 F0 15 AE 4D 92 EC 68 92 AD 4E 92 A8 ED 69 -92 B0 06 8E 68 92 8C 69 92 38 AD 4B 92 ED 68 92 -AA AD 4C 92 ED 69 92 B0 03 A9 00 AA 49 FF 8D 4C -92 8A 49 FF 8D 4B 92 AD 46 92 D0 03 20 2F F7 20 -3A F7 AD 46 92 F0 03 20 2F F7 4C 9F F7 A0 00 18 -71 04 91 04 48 C8 8A 71 04 91 04 AA 68 60 C8 48 -18 98 65 04 85 04 90 02 E6 05 68 60 A0 FF E0 80 -B0 02 A0 00 84 06 84 07 60 E0 00 D0 06 AA D0 03 -A9 01 60 A2 00 8A 60 A0 00 F0 07 A9 52 A2 F0 4C -05 92 60 A9 00 85 0C A9 F0 85 0D A9 00 85 0E A9 -92 85 0F A2 CD A9 FF 85 14 A0 00 E8 F0 0D B1 0C -91 0E C8 D0 F6 E6 0D E6 0F D0 F0 E6 14 D0 EF 60 -8C 6A 92 88 88 98 18 65 04 85 0C A6 05 90 01 E8 -86 0D A0 01 B1 0C AA 88 B1 0C 20 F7 FC A5 0C A6 -0D 20 BE FD AC 6A 92 4C 2F FA 85 0C 86 0D 20 75 -F0 4C C8 FA 85 0C 86 0D A0 00 B1 0C F0 0E C8 84 -14 20 68 F0 A4 14 D0 F2 E6 0D D0 EE 60 E0 00 D0 -15 4A AA BD 85 FE 90 05 4A 4A 4A 4A 18 29 0F AA -BD 7A FE A2 00 60 38 A9 00 AA 60 A4 04 D0 02 C6 -05 C6 04 60 A5 04 38 E9 02 85 04 90 01 60 C6 05 -60 A5 04 38 E9 04 85 04 90 01 60 C6 05 60 A5 04 -38 E9 06 85 04 90 01 60 C6 05 60 A5 04 38 E9 07 -85 04 90 01 60 C6 05 60 A0 01 B1 04 AA 88 B1 04 -E6 04 F0 05 E6 04 F0 03 60 E6 04 E6 05 60 A0 03 -4C 2F FA A0 05 4C 2F FA A0 08 4C 2F FA 85 0C 86 -0D A2 00 B1 0C 60 A0 01 B1 04 AA 88 B1 04 60 A0 -03 B1 04 85 07 88 B1 04 85 06 88 B1 04 AA 88 B1 -04 60 A2 00 18 65 04 48 8A 65 05 AA 68 60 18 49 -FF 69 01 48 8A 49 FF 69 00 AA A5 06 49 FF 69 00 -85 06 A5 07 49 FF 69 00 85 07 68 60 A9 00 AA A0 -00 84 06 84 07 48 20 11 FB A0 03 A5 07 91 04 88 -A5 06 91 04 88 8A 91 04 68 88 91 04 60 85 14 20 -38 FB 85 0E 86 0F 85 10 86 11 20 CA FC 20 38 FB -85 06 86 07 60 20 CD FB A6 07 A4 14 C0 0A D0 39 -A5 06 05 0D 05 0C D0 11 E0 80 D0 0D A0 0B B9 6E -FE 91 0E 88 10 F8 4C 5D FC 8A 10 1D A9 2D A0 00 -91 0E E6 0E D0 02 E6 0F A5 0C A6 0D 20 8E FB 85 -0C 86 0D 4C 29 FC 20 CD FB A9 00 48 A0 20 A9 00 -06 0C 26 0D 26 06 26 07 2A C5 14 90 04 E5 14 E6 -0C 88 D0 EC A8 B9 5E FE 48 A5 0C 05 0D 05 06 05 -07 D0 D9 A0 00 68 91 0E F0 03 C8 D0 F8 A5 10 A6 -11 60 D0 06 A2 00 8A 60 D0 FA A2 00 A9 01 60 F0 -F9 30 F7 A2 00 8A 60 F0 02 10 EF A2 00 8A 60 F0 -E9 90 E7 A2 00 8A 60 F0 DB A2 00 8A 2A 60 20 B7 -FC A6 11 F0 13 B1 0C 91 0E C8 B1 0C 91 0E C8 D0 -F4 E6 0D E6 0F CA D0 ED A6 10 F0 08 B1 0C 91 0E -C8 CA D0 F8 4C 38 FB 85 10 86 11 20 CA FC C8 B1 -04 AA 86 0F 88 B1 04 85 0E 60 A0 01 B1 04 85 0D -88 B1 04 85 0C 4C 40 FB A9 01 4C F5 FC A0 00 B1 -04 A4 04 F0 07 C6 04 A0 00 91 04 60 C6 05 C6 04 -91 04 60 A9 00 A2 00 48 A5 04 38 E9 02 85 04 B0 -02 C6 05 A0 01 8A 91 04 68 88 91 04 60 A0 00 91 -04 C8 48 8A 91 04 68 60 85 0E 86 0F 20 CA FC B1 -0C D1 0E D0 0C AA F0 10 C8 D0 F4 E6 0D E6 0F D0 -EE B0 03 A2 FF 60 A2 01 60 85 0E 86 0F A2 00 A0 -00 B1 0E F0 08 C8 D0 F9 E6 0F E8 D0 F4 98 60 85 -0C 86 0D 85 0E 86 0F A0 00 B1 0C F0 14 20 E1 FA -29 02 F0 06 B1 0C 69 20 91 0C C8 D0 EC E6 0D D0 -E8 A5 0E A6 0F 60 20 38 FB 85 0E 86 0F E8 8E 31 -92 AA E8 8E 30 92 20 CA FC 20 38 FB 85 10 86 11 -A0 00 84 14 B1 10 18 65 0E 91 10 C8 B1 10 65 0F -91 10 CE 30 92 F0 11 A4 14 B1 0C C8 D0 02 E6 0D -84 14 20 68 F0 4C A2 FD CE 31 92 D0 EA 60 85 0C -86 0D A9 00 8D 2A 92 8D 2B 92 A0 01 B1 04 AA 88 -B1 04 20 F7 FC A0 02 A9 2A 91 04 C8 A9 92 91 04 -A5 0C A6 0D 20 6C F7 AD 2A 92 AE 2B 92 60 A9 32 -85 0C A9 92 85 0D A9 00 A8 A2 00 F0 0A 91 0C C8 -D0 FB E6 0D CA D0 F6 C0 39 F0 05 91 0C C8 D0 F7 -60 62 61 64 20 74 6F 6B 65 6E 3A 20 25 78 0A 00 -53 75 63 63 65 73 73 0A 00 45 72 72 6F 72 0A 00 -53 74 61 72 74 0A 00 6F 70 5F 63 6F 6E 64 20 65 -72 72 6F 72 0A 00 49 46 20 43 6F 6E 64 0A 00 47 -6F 20 49 44 4C 45 0A 00 25 32 78 00 0A 00 30 31 -32 33 34 35 36 37 38 39 41 42 43 44 45 46 2D 32 -31 34 37 34 38 33 36 34 38 00 00 01 02 0C 09 0A -10 40 50 A0 D0 66 66 66 66 A6 88 88 66 66 66 66 -66 66 66 66 66 09 00 00 00 00 00 00 00 33 33 33 -33 33 00 00 00 50 55 55 25 22 22 22 22 22 22 22 -22 22 02 00 00 40 44 44 14 11 11 11 11 11 11 11 -11 11 01 00 70 00 00 00 00 00 00 00 00 00 00 00 +04 C9 00 20 38 FC D0 AC A9 01 20 58 FB 20 F0 F4 +A2 00 A9 00 4C 27 F4 20 2E FB 60 A2 00 A9 00 20 +B7 FC A2 00 86 06 86 07 A9 00 20 8B FB A2 00 A9 +94 20 43 F1 4C 47 F4 60 20 CD FC A2 00 A9 FF 20 +3F F2 A2 00 A9 00 20 33 F2 A2 00 A9 FF 20 3F F2 +A2 00 A9 08 20 B7 FC A2 01 A9 00 85 06 A9 00 85 +07 A9 AA 20 8B FB A2 00 A9 86 20 CE F0 A0 01 20 +3E FB 20 25 F1 A2 00 A9 FF 20 3F F2 A2 00 A9 00 +20 39 F2 A2 00 A9 FF 20 3F F2 20 16 FB 60 20 CD +FC A2 00 A9 FF 20 3F F2 A2 00 A9 00 20 33 F2 A2 +00 A9 FF 20 3F F2 A2 00 A9 0D 20 B7 FC A2 00 86 +06 86 07 A9 00 20 8B FB A2 00 A9 00 20 CE F0 A0 +01 20 3E FB 20 FA F0 A2 00 A9 FF 20 3F F2 A2 00 +A9 00 20 39 F2 A2 00 A9 FF 20 3F F2 20 16 FB 60 +20 CD FC 20 D1 FA A2 00 A9 FF 20 3F F2 A2 00 A9 +00 20 33 F2 A2 00 A9 FF 20 3F F2 A0 00 91 04 A0 +00 A2 00 B1 04 C9 FF 20 38 FC D0 03 4C 30 F5 4C +22 F5 A2 00 A9 FF 20 3F F2 C9 FF 20 38 FC D0 F2 +A2 00 A9 3A 20 B7 FC A2 00 86 06 86 07 A9 00 20 +8B FB A2 00 A9 00 20 CE F0 A0 02 20 3E FB 20 25 +F1 A2 00 A9 FF 20 3F F2 A2 00 A9 00 20 39 F2 A2 +00 A9 FF 20 3F F2 20 24 FB 60 A2 00 A9 37 20 B7 +FC A2 00 86 06 86 07 A9 00 20 8B FB A2 00 A9 00 +20 43 F1 4C 86 F5 60 A2 00 A9 29 20 B7 FC A2 00 +86 06 A9 40 85 07 A9 00 20 8B FB A2 00 A9 00 20 +43 F1 4C A5 F5 60 20 CD FC 20 F4 FA A0 03 A2 00 +B1 04 4C B5 F5 A0 0E 20 05 FA 60 20 CD FC A9 00 +20 B7 FC 20 DA FA A2 00 A9 00 A0 00 20 E5 FC A0 +01 20 3E FB E0 02 20 57 FC F0 03 4C E1 F5 4C 43 +F6 A9 2E A2 FE 20 CD FC A0 06 20 3E FB A0 00 20 +33 FB 20 CD FC A0 07 A2 00 A9 01 20 F5 F9 A0 04 +20 66 FA A0 02 A2 00 B1 04 C9 1F 20 3E FC D0 03 +4C 25 F6 A9 32 A2 FE 20 9A FA A2 00 A9 00 A0 02 +91 04 4C 37 F6 A2 00 A9 20 20 68 F0 A0 02 A2 00 +18 A9 01 71 04 91 04 A0 00 A2 00 A9 01 20 F5 F9 +4C CF F5 A9 32 A2 FE 20 9A FA 20 29 FB 60 A0 00 +B1 1A E6 1A D0 02 E6 1B 60 AD 4A 92 8D 45 92 20 +FA F6 A9 45 A2 92 20 CD FC 20 AE FC 4C 02 92 A5 +18 38 E9 02 85 18 B0 02 C6 19 60 AD 4F 92 D0 11 +20 98 F6 4C 18 FA AD 4F 92 D0 06 20 98 F6 4C 12 +FA 20 98 F6 85 06 86 07 20 6F F6 A0 01 B1 18 AA +88 B1 18 60 A0 00 84 0C 84 0D B1 1A 38 E9 30 90 +2C C9 0A B0 28 20 52 F6 48 A5 0C A6 0D 06 0C 26 +0D 06 0C 26 0D 65 0C 85 0C 8A 65 0D 85 0D 06 0C +26 0D 68 65 0C 85 0C 90 D1 E6 0D B0 CD A5 0C A6 +0D 60 AC 51 92 EE 51 92 99 52 92 60 A9 52 A2 92 +18 6D 51 92 90 01 E8 4C CD FC A5 1C A6 1D 4C CD +FC 20 59 F6 EE 4B 92 D0 F8 EE 4C 92 D0 F3 60 20 +FA F6 AD 66 92 AE 67 92 20 CD FC AD 68 92 AE 69 +92 20 CD FC 4C 02 92 84 0C 20 8B FB 20 EC F6 A5 +0C 4C BB FB 84 0C 20 8B FB 20 EC F6 A5 0C 4C FC +FB 48 A0 05 B9 18 00 99 3F 92 88 10 F7 68 85 18 +86 19 20 0E FB 85 1A 86 1B 20 0E FB 85 1C 86 1D +A9 00 A8 91 1C C8 91 1C C8 B1 1C 8D 03 92 C8 B1 +1C 8D 04 92 A5 1A 85 0C A5 1B 85 0D A0 00 B1 1A +F0 0B C9 25 F0 07 C8 D0 F5 E6 1B D0 F1 98 18 65 +1A 85 1A 90 02 E6 1B 38 E5 0C 85 0E A5 1B E5 0D +85 0F 05 0E F0 25 20 F4 FA A0 05 A5 1D 91 04 88 +A5 1C 91 04 88 A5 0D 91 04 88 A5 0C 91 04 88 A5 +0F 91 04 88 A5 0E 91 04 20 02 92 20 4E F6 AA D0 +0B A2 05 BD 3F 92 95 18 CA 10 F8 60 C9 25 D0 09 +B1 1A C9 25 D0 09 20 52 F6 20 5C F6 4C 74 F7 A9 +00 A2 0B 9D 46 92 CA 10 FA B1 1A C9 2D D0 05 8E +46 92 F0 19 C9 2B D0 05 8E 47 92 F0 10 C9 20 D0 +05 8E 48 92 F0 07 C9 23 D0 09 8E 49 92 20 52 F6 +4C F9 F7 A2 20 C9 30 D0 06 AA 20 52 F6 B1 1A 8E +4A 92 C9 2A D0 09 20 52 F6 20 98 F6 4C 42 F8 20 +A4 F6 8D 4B 92 8E 4C 92 8C 4D 92 8C 4E 92 B1 1A +C9 2E D0 1B 20 52 F6 B1 1A C9 2A D0 09 20 52 F6 +20 98 F6 4C 69 F8 20 A4 F6 8D 4D 92 8E 4E 92 B1 +1A C9 7A F0 19 C9 68 F0 15 C9 74 F0 11 C9 6A F0 +08 C9 4C F0 04 C9 6C D0 0B A9 FF 8D 4F 92 20 52 +F6 4C 6F F8 8C 51 92 A2 52 8E 66 92 A2 92 8E 67 +92 20 52 F6 C9 63 D0 0E 20 98 F6 8D 52 92 A9 00 +8D 53 92 4C 93 F9 C9 64 F0 04 C9 69 D0 2D A2 00 +AD 48 92 F0 02 A2 20 AD 47 92 F0 02 A2 2B 8E 50 +92 20 86 F6 A4 07 30 0B AC 50 92 F0 06 8C 52 92 +EE 51 92 A0 0A 20 27 F7 4C 93 F9 C9 6E D0 15 20 +98 F6 85 0C 86 0D A0 00 B1 1C 91 0C C8 B1 1C 91 +0C 4C 74 F7 C9 6F D0 27 20 86 F6 AC 49 92 F0 17 +48 86 14 05 14 05 06 05 07 0D 4D 92 0D 4E 92 F0 +06 A9 30 20 E2 F6 68 A0 08 20 27 F7 4C 93 F9 C9 +70 D0 0D A2 00 8E 4F 92 E8 8E 49 92 A9 78 D0 27 +C9 73 D0 0C 20 98 F6 8D 66 92 8E 67 92 4C 93 F9 +C9 75 D0 0B 20 7B F6 A0 0A 20 34 F7 4C 93 F9 C9 +78 F0 04 C9 58 D0 29 48 AD 49 92 F0 0A A9 30 20 +E2 F6 A9 58 20 E2 F6 20 7B F6 A0 10 20 34 F7 68 +C9 78 D0 09 AD 66 92 AE 67 92 20 25 FD 4C 93 F9 +4C 74 F7 AD 66 92 AE 67 92 20 0F FD 8D 68 92 8E +69 92 AD 4D 92 0D 4E 92 F0 15 AE 4D 92 EC 68 92 +AD 4E 92 A8 ED 69 92 B0 06 8E 68 92 8C 69 92 38 +AD 4B 92 ED 68 92 AA AD 4C 92 ED 69 92 B0 03 A9 +00 AA 49 FF 8D 4C 92 8A 49 FF 8D 4B 92 AD 46 92 +D0 03 20 04 F7 20 0F F7 AD 46 92 F0 03 20 04 F7 +4C 74 F7 A0 00 18 71 04 91 04 48 C8 8A 71 04 91 +04 AA 68 60 C8 48 18 98 65 04 85 04 90 02 E6 05 +68 60 A0 FF E0 80 B0 02 A0 00 84 06 84 07 60 E0 +00 D0 06 AA D0 03 A9 01 60 A2 00 8A 60 A0 00 F0 +07 A9 52 A2 F0 4C 05 92 60 A9 00 85 0C A9 F0 85 +0D A9 00 85 0E A9 92 85 0F A2 CD A9 FF 85 14 A0 +00 E8 F0 0D B1 0C 91 0E C8 D0 F6 E6 0D E6 0F D0 +F0 E6 14 D0 EF 60 8C 6A 92 88 88 98 18 65 04 85 +0C A6 05 90 01 E8 86 0D A0 01 B1 0C AA 88 B1 0C +20 CD FC A5 0C A6 0D 20 94 FD AC 6A 92 4C 05 FA +85 0C 86 0D 20 75 F0 4C 9E FA 85 0C 86 0D A0 00 +B1 0C F0 0E C8 84 14 20 68 F0 A4 14 D0 F2 E6 0D +D0 EE 60 E0 00 D0 15 4A AA BD 5B FE 90 05 4A 4A +4A 4A 18 29 0F AA BD 50 FE A2 00 60 38 A9 00 AA +60 A4 04 D0 02 C6 05 C6 04 60 A5 04 38 E9 02 85 +04 90 01 60 C6 05 60 A5 04 38 E9 04 85 04 90 01 +60 C6 05 60 A5 04 38 E9 06 85 04 90 01 60 C6 05 +60 A5 04 38 E9 07 85 04 90 01 60 C6 05 60 A0 01 +B1 04 AA 88 B1 04 E6 04 F0 05 E6 04 F0 03 60 E6 +04 E6 05 60 A0 03 4C 05 FA A0 05 4C 05 FA A0 08 +4C 05 FA 85 0C 86 0D A2 00 B1 0C 60 A0 01 B1 04 +AA 88 B1 04 60 A0 03 B1 04 85 07 88 B1 04 85 06 +88 B1 04 AA 88 B1 04 60 A2 00 18 65 04 48 8A 65 +05 AA 68 60 18 49 FF 69 01 48 8A 49 FF 69 00 AA +A5 06 49 FF 69 00 85 06 A5 07 49 FF 69 00 85 07 +68 60 A9 00 AA A0 00 84 06 84 07 48 20 E7 FA A0 +03 A5 07 91 04 88 A5 06 91 04 88 8A 91 04 68 88 +91 04 60 85 14 20 0E FB 85 0E 86 0F 85 10 86 11 +20 A0 FC 20 0E FB 85 06 86 07 60 20 A3 FB A6 07 +A4 14 C0 0A D0 39 A5 06 05 0D 05 0C D0 11 E0 80 +D0 0D A0 0B B9 44 FE 91 0E 88 10 F8 4C 33 FC 8A +10 1D A9 2D A0 00 91 0E E6 0E D0 02 E6 0F A5 0C +A6 0D 20 64 FB 85 0C 86 0D 4C FF FB 20 A3 FB A9 +00 48 A0 20 A9 00 06 0C 26 0D 26 06 26 07 2A C5 +14 90 04 E5 14 E6 0C 88 D0 EC A8 B9 34 FE 48 A5 +0C 05 0D 05 06 05 07 D0 D9 A0 00 68 91 0E F0 03 +C8 D0 F8 A5 10 A6 11 60 D0 06 A2 00 8A 60 D0 FA +A2 00 A9 01 60 F0 F9 30 F7 A2 00 8A 60 F0 02 10 +EF A2 00 8A 60 F0 E9 90 E7 A2 00 8A 60 F0 DB A2 +00 8A 2A 60 20 8D FC A6 11 F0 13 B1 0C 91 0E C8 +B1 0C 91 0E C8 D0 F4 E6 0D E6 0F CA D0 ED A6 10 +F0 08 B1 0C 91 0E C8 CA D0 F8 4C 0E FB 85 10 86 +11 20 A0 FC C8 B1 04 AA 86 0F 88 B1 04 85 0E 60 +A0 01 B1 04 85 0D 88 B1 04 85 0C 4C 16 FB A9 01 +4C CB FC A0 00 B1 04 A4 04 F0 07 C6 04 A0 00 91 +04 60 C6 05 C6 04 91 04 60 A9 00 A2 00 48 A5 04 +38 E9 02 85 04 B0 02 C6 05 A0 01 8A 91 04 68 88 +91 04 60 A0 00 91 04 C8 48 8A 91 04 68 60 85 0E +86 0F 20 A0 FC B1 0C D1 0E D0 0C AA F0 10 C8 D0 +F4 E6 0D E6 0F D0 EE B0 03 A2 FF 60 A2 01 60 85 +0E 86 0F A2 00 A0 00 B1 0E F0 08 C8 D0 F9 E6 0F +E8 D0 F4 98 60 85 0C 86 0D 85 0E 86 0F A0 00 B1 +0C F0 14 20 B7 FA 29 02 F0 06 B1 0C 69 20 91 0C +C8 D0 EC E6 0D D0 E8 A5 0E A6 0F 60 20 0E FB 85 +0E 86 0F E8 8E 31 92 AA E8 8E 30 92 20 A0 FC 20 +0E FB 85 10 86 11 A0 00 84 14 B1 10 18 65 0E 91 +10 C8 B1 10 65 0F 91 10 CE 30 92 F0 11 A4 14 B1 +0C C8 D0 02 E6 0D 84 14 20 68 F0 4C 78 FD CE 31 +92 D0 EA 60 85 0C 86 0D A9 00 8D 2A 92 8D 2B 92 +A0 01 B1 04 AA 88 B1 04 20 CD FC A0 02 A9 2A 91 +04 C8 A9 92 91 04 A5 0C A6 0D 20 41 F7 AD 2A 92 +AE 2B 92 60 A9 32 85 0C A9 92 85 0D A9 00 A8 A2 +00 F0 0A 91 0C C8 D0 FB E6 0D CA D0 F6 C0 39 F0 +05 91 0C C8 D0 F7 60 62 61 64 20 74 6F 6B 65 6E +3A 20 25 78 0A 00 53 75 63 63 65 73 73 0A 00 45 +72 72 6F 72 0A 00 53 74 61 72 74 0A 00 6F 70 5F +63 6F 6E 64 20 65 72 72 6F 72 0A 00 49 46 20 43 +6F 6E 64 0A 00 47 6F 20 49 44 4C 45 0A 00 25 32 +78 00 0A 00 30 31 32 33 34 35 36 37 38 39 41 42 +43 44 45 46 2D 32 31 34 37 34 38 33 36 34 38 00 +00 01 02 0C 09 0A 10 40 50 A0 D0 66 66 66 66 A6 +88 88 66 66 66 66 66 66 66 66 66 09 00 00 00 00 +00 00 00 33 33 33 33 33 00 00 00 50 55 55 25 22 +22 22 22 22 22 22 22 22 02 00 00 40 44 44 14 11 +11 11 11 11 11 11 11 11 01 00 70 00 00 00 00 00 +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 diff --git a/hw/efinix_fpga/simulation/Makefile b/hw/efinix_fpga/simulation/Makefile index a0bb1eb..06423f0 100644 --- a/hw/efinix_fpga/simulation/Makefile +++ b/hw/efinix_fpga/simulation/Makefile @@ -8,12 +8,14 @@ TEST_PROGRAM_NAME?=loop_test TEST_FOLDER?=$(REPO_TOP)/sw/test_code/$(TEST_PROGRAM_NAME) TEST_PROGRAM?=$(REPO_TOP)/sw/test_code/$(TEST_PROGRAM_NAME)/$(TEST_PROGRAM_NAME).hex +SD_IMAGE_PATH?=$(REPO_TOP)/sw/script/fs.fat.hex #TODO implement something like sources.list TOP_MODULE=sim_top TARGET=sim_top INIT_MEM=init_hex.mem +SD_IMAGE=sd_image.mem FLAGS=-DSIM -DRTL_SIM all: sim @@ -22,14 +24,19 @@ all: sim sim: $(TARGET) vvp $(TARGET) -fst -$(TARGET): $(INIT_MEM) $(SRCS) +$(TARGET): $(SD_IMAGE) $(INIT_MEM) $(SRCS) iverilog -g2005-sv $(FLAGS) -s $(TOP_MODULE) -o $(TARGET) $(INC) $(SRCS) $(INIT_MEM): $(MAKE) -C $(TEST_FOLDER) cp $(TEST_PROGRAM) ./init_hex.mem +# The script that makes this file uses relative paths +$(SD_IMAGE): $(SD_IMAGE_PATH) + cp $(SD_IMAGE_PATH) $(SD_IMAGE) + .PHONY: clean clean: rm -rf $(TARGET) rm -rf $(INIT_MEM) + rm -rf $(SD_IMAGE) diff --git a/hw/efinix_fpga/simulation/src/sim_top.sv b/hw/efinix_fpga/simulation/src/sim_top.sv index f61e015..2b22de3 100644 --- a/hw/efinix_fpga/simulation/src/sim_top.sv +++ b/hw/efinix_fpga/simulation/src/sim_top.sv @@ -49,7 +49,7 @@ initial begin button_reset <= '0; repeat(10) @(r_clk_2); button_reset <= '1; - repeat(150000) @(r_clk_2); + repeat(200000) @(r_clk_2); $finish(); end @@ -170,4 +170,4 @@ generate end endgenerate -endmodule \ No newline at end of file +endmodule diff --git a/hw/efinix_fpga/simulation/src/verilog-sd-emulator b/hw/efinix_fpga/simulation/src/verilog-sd-emulator index 1c66557..f5b9b89 160000 --- a/hw/efinix_fpga/simulation/src/verilog-sd-emulator +++ b/hw/efinix_fpga/simulation/src/verilog-sd-emulator @@ -1 +1 @@ -Subproject commit 1c66557642a27ad2989c5f2321dd22a6bb7d6855 +Subproject commit f5b9b89ca6e140463430fd279bb8b103eeb0bc39 diff --git a/sw/script/create_verilog_image.sh b/sw/script/create_verilog_image.sh index e95ce0b..323bc45 100644 --- a/sw/script/create_verilog_image.sh +++ b/sw/script/create_verilog_image.sh @@ -36,7 +36,7 @@ sudo umount $V $FILE rmdir $V $TMPMOUNT echo +# Really I want the data width to be 512 bytes long, not 16... echo "$(tput bold setaf 11)Converting Image to Verilog$(tput sgr 0)" -objcopy --input-target=binary --output-target=verilog $FILE $FILE.hex +objcopy --input-target=binary --output-target=verilog --verilog-data-width=1 $FILE $FILE.hex echo "$(tput bold setaf 10)Done!$(tput sgr 0)" - From a5ff9fb5daa7844ba0a7e3b1ebaacf4bef681b7e Mon Sep 17 00:00:00 2001 From: Byron Lathi Date: Fri, 6 Oct 2023 12:46:29 -0700 Subject: [PATCH 11/20] Update verilog sd --- hw/efinix_fpga/simulation/src/verilog-sd-emulator | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hw/efinix_fpga/simulation/src/verilog-sd-emulator b/hw/efinix_fpga/simulation/src/verilog-sd-emulator index f5b9b89..5f9ab32 160000 --- a/hw/efinix_fpga/simulation/src/verilog-sd-emulator +++ b/hw/efinix_fpga/simulation/src/verilog-sd-emulator @@ -1 +1 @@ -Subproject commit f5b9b89ca6e140463430fd279bb8b103eeb0bc39 +Subproject commit 5f9ab3279ca7f9964d5b7b84890dbd7ef6f1277a From d27e442d5e25ed461a84efdb2a1fc109136345aa Mon Sep 17 00:00:00 2001 From: Byron Lathi Date: Fri, 6 Oct 2023 13:18:36 -0700 Subject: [PATCH 12/20] Use REPO_TOP in script, call script from makefile --- hw/efinix_fpga/simulation/Makefile | 1 + sw/script/create_verilog_image.sh | 4 ++-- sw/script/format_disk.sh | 2 +- 3 files changed, 4 insertions(+), 3 deletions(-) diff --git a/hw/efinix_fpga/simulation/Makefile b/hw/efinix_fpga/simulation/Makefile index 06423f0..d215b5f 100644 --- a/hw/efinix_fpga/simulation/Makefile +++ b/hw/efinix_fpga/simulation/Makefile @@ -33,6 +33,7 @@ $(INIT_MEM): # The script that makes this file uses relative paths $(SD_IMAGE): $(SD_IMAGE_PATH) + sh $(REPO_TOP)/sw/script/create_verilog_image.sh cp $(SD_IMAGE_PATH) $(SD_IMAGE) .PHONY: clean diff --git a/sw/script/create_verilog_image.sh b/sw/script/create_verilog_image.sh index 323bc45..83ac7cf 100644 --- a/sw/script/create_verilog_image.sh +++ b/sw/script/create_verilog_image.sh @@ -1,11 +1,11 @@ #!/bin/bash -BOOTLOADER=../bios/bootloader.bin +BOOTLOADER=$REPO_TOP/sw/bios/bootloader.bin FILE=fs.fat TMPMOUNT=/tmp/lo -FSDIR=../fsdir +FSDIR=$REPO_TOP/sw/fsdir V=-v diff --git a/sw/script/format_disk.sh b/sw/script/format_disk.sh index af66e59..8c77237 100644 --- a/sw/script/format_disk.sh +++ b/sw/script/format_disk.sh @@ -1,6 +1,6 @@ #!/bin/bash -BOOTLOADER=../bios/bootloader.bin +BOOTLOADER=$REPO_TOP/sw/bios/bootloader.bin DEVICE=/dev/mmcblk0 TMPBOOTSECT=/tmp/bootsect TMPMOUNT=/tmp/sd From fe72a4e9ea2be444dd9a3a21718ea937c553368b Mon Sep 17 00:00:00 2001 From: Byron Lathi Date: Fri, 6 Oct 2023 13:21:54 -0700 Subject: [PATCH 13/20] Remove dependency on file, since its created anyway --- hw/efinix_fpga/simulation/Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hw/efinix_fpga/simulation/Makefile b/hw/efinix_fpga/simulation/Makefile index d215b5f..10a0f01 100644 --- a/hw/efinix_fpga/simulation/Makefile +++ b/hw/efinix_fpga/simulation/Makefile @@ -32,7 +32,7 @@ $(INIT_MEM): cp $(TEST_PROGRAM) ./init_hex.mem # The script that makes this file uses relative paths -$(SD_IMAGE): $(SD_IMAGE_PATH) +$(SD_IMAGE): sh $(REPO_TOP)/sw/script/create_verilog_image.sh cp $(SD_IMAGE_PATH) $(SD_IMAGE) From 532364b8d2264f269898e067f6354bc148405b06 Mon Sep 17 00:00:00 2001 From: Byron Lathi Date: Fri, 6 Oct 2023 13:33:21 -0700 Subject: [PATCH 14/20] remove sd from regular sim Figure out how to do this later --- hw/efinix_fpga/simulation/Makefile | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/hw/efinix_fpga/simulation/Makefile b/hw/efinix_fpga/simulation/Makefile index 10a0f01..e59b38c 100644 --- a/hw/efinix_fpga/simulation/Makefile +++ b/hw/efinix_fpga/simulation/Makefile @@ -24,7 +24,12 @@ all: sim sim: $(TARGET) vvp $(TARGET) -fst -$(TARGET): $(SD_IMAGE) $(INIT_MEM) $(SRCS) +.PHONY: full_sim +full_sim: $(TARGET) $(SD_IMAGE) + vvp $(TARGET) -fst + + +$(TARGET): $(INIT_MEM) $(SRCS) iverilog -g2005-sv $(FLAGS) -s $(TOP_MODULE) -o $(TARGET) $(INC) $(SRCS) $(INIT_MEM): From fc13114e49133159ec1a4fc35d626acfa40d263a Mon Sep 17 00:00:00 2001 From: Byron Lathi Date: Mon, 9 Oct 2023 21:07:36 -0700 Subject: [PATCH 15/20] Update verilog sd --- hw/efinix_fpga/simulation/src/verilog-sd-emulator | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hw/efinix_fpga/simulation/src/verilog-sd-emulator b/hw/efinix_fpga/simulation/src/verilog-sd-emulator index 5f9ab32..9bd1273 160000 --- a/hw/efinix_fpga/simulation/src/verilog-sd-emulator +++ b/hw/efinix_fpga/simulation/src/verilog-sd-emulator @@ -1 +1 @@ -Subproject commit 5f9ab3279ca7f9964d5b7b84890dbd7ef6f1277a +Subproject commit 9bd1273b7a455d8e6deca4b8e6d6b504231799e2 From 67fa368319cd82ea9ebce846efbb6ecd18930f61 Mon Sep 17 00:00:00 2001 From: Byron Lathi Date: Mon, 9 Oct 2023 21:13:21 -0700 Subject: [PATCH 16/20] Update verilog sd --- hw/efinix_fpga/simulation/src/verilog-sd-emulator | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hw/efinix_fpga/simulation/src/verilog-sd-emulator b/hw/efinix_fpga/simulation/src/verilog-sd-emulator index 9bd1273..2f0b80c 160000 --- a/hw/efinix_fpga/simulation/src/verilog-sd-emulator +++ b/hw/efinix_fpga/simulation/src/verilog-sd-emulator @@ -1 +1 @@ -Subproject commit 9bd1273b7a455d8e6deca4b8e6d6b504231799e2 +Subproject commit 2f0b80cf23a7e9e2acea48cb8bb9c7655f18b559 From 7bb2dd9a7faf75573a32c0c2a5fc4224a1370f34 Mon Sep 17 00:00:00 2001 From: Byron Lathi Date: Mon, 9 Oct 2023 22:33:44 -0700 Subject: [PATCH 17/20] Update verilog sd --- hw/efinix_fpga/simulation/src/verilog-sd-emulator | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hw/efinix_fpga/simulation/src/verilog-sd-emulator b/hw/efinix_fpga/simulation/src/verilog-sd-emulator index 2f0b80c..281419d 160000 --- a/hw/efinix_fpga/simulation/src/verilog-sd-emulator +++ b/hw/efinix_fpga/simulation/src/verilog-sd-emulator @@ -1 +1 @@ -Subproject commit 2f0b80cf23a7e9e2acea48cb8bb9c7655f18b559 +Subproject commit 281419d6eae00aaf5d797e013a983221cc771f3e From 97622ac3bb46785340c7bd5a6e2c334537926170 Mon Sep 17 00:00:00 2001 From: Byron Lathi Date: Mon, 9 Oct 2023 23:32:55 -0700 Subject: [PATCH 18/20] Update verilog sd --- hw/efinix_fpga/simulation/src/verilog-sd-emulator | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hw/efinix_fpga/simulation/src/verilog-sd-emulator b/hw/efinix_fpga/simulation/src/verilog-sd-emulator index 281419d..3b3a8d7 160000 --- a/hw/efinix_fpga/simulation/src/verilog-sd-emulator +++ b/hw/efinix_fpga/simulation/src/verilog-sd-emulator @@ -1 +1 @@ -Subproject commit 281419d6eae00aaf5d797e013a983221cc771f3e +Subproject commit 3b3a8d7d1c774cfbd080c64ba78a72275431f2b3 From 57efb41ae08cc9b18421ce3ec598442f8558c239 Mon Sep 17 00:00:00 2001 From: Byron Lathi Date: Tue, 10 Oct 2023 21:39:10 -0700 Subject: [PATCH 19/20] Increase sim time, update verilog sd --- hw/efinix_fpga/simulation/src/sim_top.sv | 2 +- hw/efinix_fpga/simulation/src/verilog-sd-emulator | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/hw/efinix_fpga/simulation/src/sim_top.sv b/hw/efinix_fpga/simulation/src/sim_top.sv index 2b22de3..4d18031 100644 --- a/hw/efinix_fpga/simulation/src/sim_top.sv +++ b/hw/efinix_fpga/simulation/src/sim_top.sv @@ -49,7 +49,7 @@ initial begin button_reset <= '0; repeat(10) @(r_clk_2); button_reset <= '1; - repeat(200000) @(r_clk_2); + repeat(1000000) @(r_clk_2); $finish(); end diff --git a/hw/efinix_fpga/simulation/src/verilog-sd-emulator b/hw/efinix_fpga/simulation/src/verilog-sd-emulator index 3b3a8d7..9f0de55 160000 --- a/hw/efinix_fpga/simulation/src/verilog-sd-emulator +++ b/hw/efinix_fpga/simulation/src/verilog-sd-emulator @@ -1 +1 @@ -Subproject commit 3b3a8d7d1c774cfbd080c64ba78a72275431f2b3 +Subproject commit 9f0de55a0e992ec4187adedde8668a98a96bb7ae From 8e70e5a7c4fcf97bff7ad16db056fd376eab43de Mon Sep 17 00:00:00 2001 From: Byron Lathi Date: Tue, 10 Oct 2023 21:40:24 -0700 Subject: [PATCH 20/20] Update verilog sd --- hw/efinix_fpga/simulation/src/verilog-sd-emulator | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hw/efinix_fpga/simulation/src/verilog-sd-emulator b/hw/efinix_fpga/simulation/src/verilog-sd-emulator index 9f0de55..390b722 160000 --- a/hw/efinix_fpga/simulation/src/verilog-sd-emulator +++ b/hw/efinix_fpga/simulation/src/verilog-sd-emulator @@ -1 +1 @@ -Subproject commit 9f0de55a0e992ec4187adedde8668a98a96bb7ae +Subproject commit 390b7221dbcd176d3875d95f78ef84ccbd2ada1f