bitfixer / bf-romulator

Romulator - RAM/ROM replacement and debug for 6502 CPU systems
144 stars 21 forks source link

ERROR: IO 'dataout[7]' is unconstrained in PCF #24

Open FraEgg opened 5 months ago

FraEgg commented 5 months ago

Hello Michael,

many thanks for the romulator 6502. it really is a great tool.

I have a problem with creating my own custom firmware. The "make program" process is always aborted with an error message. I just can't find the problem and hope you could give me a hint.

I am using a Raspberry Pi 3+ with the latest RaspianOS (64Bit).

When I generate the files via your website, the firmware works on the romulator.

Best regards Frank

Logfile:

pi@romulator:~/bf-romulator $ make program
gpio mode 27 out
gpio write 27 1
gpio mode 6 out
gpio mode 10 out
bin/programmer -b
mkdir -p bin
bin/build_enable_table /home/pi/bf-romulator/config/enable_table_default.csv bin/enable_table.bin > bin/enable_table.txt
mkdir -p bin
cd /home/pi/bf-romulator/romulator; rm -f input*.v; rm -f *.pcf
cp /home/pi/bf-romulator/romulator/6502/* /home/pi/bf-romulator/romulator
cd /home/pi/bf-romulator/romulator; rm -f hardware.*; apio build
(DEBUG) Profile path: /home/pi/.apio/profile.json
(DEBUG) Home_dir: /home/pi/.apio

PATH: /home/pi/.apio/packages/tools-oss-cad-suite/bin:/home/pi/.apio/packages/tools-oss-cad-suite/lib:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/local/games:/usr/games

[Fri Jan 12 20:36:50 2024] Processing upduino
------------------------------------------------------------------------------------------------------------------------
yosys -p "synth_ice40 -json hardware.json" -q SPI_Master.v diagnostics.v enable_logic.v input6502.v ramenable.v simple_ram_dual_clock.v spi_flash_reader.v spi_slave.v sram.v sram64k.v
Warning: Yosys has only limited support for tri-state logic at the moment. (spi_slave.v:197)
Warning: Resizing cell port sram.ramfn_inst1.POWEROFF from 32 bits to 1 bits.
Warning: Resizing cell port sram.ramfn_inst1.SLEEP from 32 bits to 1 bits.
Warning: Resizing cell port sram.ramfn_inst1.STANDBY from 32 bits to 1 bits.
nextpnr-ice40 --up5k --package sg48 --json hardware.json --asc hardware.asc --pcf up5k.pcf -q
Warning: unmatched constraint 'spi_clk' (on line 1)
Warning: unmatched constraint 'spi_miso' (on line 2)
Warning: unmatched constraint 'spi_out' (on line 3)
Warning: unmatched constraint 'spi_cs' (on line 4)
Warning: unmatched constraint 'data[0]' (on line 6)
Warning: unmatched constraint 'data[1]' (on line 7)
Warning: unmatched constraint 'data[2]' (on line 8)
Warning: unmatched constraint 'data[3]' (on line 9)
Warning: unmatched constraint 'data[4]' (on line 10)
Warning: unmatched constraint 'data[5]' (on line 11)
Warning: unmatched constraint 'data[6]' (on line 12)
Warning: unmatched constraint 'data[7]' (on line 13)
Warning: unmatched constraint 'phi2' (on line 33)
Warning: unmatched constraint 'rwbar' (on line 34)
Warning: unmatched constraint 'dataoutenable' (on line 36)
Warning: unmatched constraint 'busenable' (on line 37)
Warning: unmatched constraint 'diag_spi_cs' (on line 39)
Warning: unmatched constraint 'rdy' (on line 40)
Warning: unmatched constraint 'rst' (on line 41)
Warning: unmatched constraint 'led_blue' (on line 43)
ERROR: IO 'dataout[7]' is unconstrained in PCF (override this error with --pcf-allow-unconstrained)
ERROR: Loading PCF failed.
20 warnings, 2 errors
scons: *** [hardware.asc] Error 255
============================================= [ ERROR ] Took 9.53 seconds =============================================
make: *** [Makefile:130: bin/hardware_6502.bin] Fehler 2
pi@romulator:~/bf-romulator $
bitfixer commented 5 months ago

Hi Frank, Thanks for letting me know. Interesting, I haven't seen that error before. First, could you check a couple of things: the version of apio currently installed on the pi (apio --version) Also, you may need to pull the latest from the bf-romulator repository, depending on when you cloned it. I made some changes recently to update to apio version 0.8.1 and changed a bit in the verilog. Would you mind sending me your config files, so I can see if I can reproduce the same error? Let's start there and hopefully can get to the root of the issue. Thanks,

On Fri, Jan 12, 2024 at 12:44 PM Frank @.***> wrote:

Hello Michael,

many thanks for the romulator 6502. it really is a great tool.

I have a problem with creating my own custom firmware. The "make program" process is always aborted with an error message. I just can't find the problem and hope you could give me a hint.

I am using a Raspberry Pi 3+ with the latest RaspianOS (64Bit).

When I generate the files via your website, the firmware works on the romulator.

Best regards Frank

Logfile:

@.**:~/bf-romulator $ make program gpio mode 27 out gpio write 27 1 gpio mode 6 out gpio mode 10 out bin/programmer -b mkdir -p bin bin/build_enable_table /home/pi/bf-romulator/config/enable_table_default.csv bin/enable_table.bin > bin/enable_table.txt mkdir -p bin cd /home/pi/bf-romulator/romulator; rm -f input.v; rm -f .pcf cp /home/pi/bf-romulator/romulator/6502/ /home/pi/bf-romulator/romulator cd /home/pi/bf-romulator/romulator; rm -f hardware.*; apio build (DEBUG) Profile path: /home/pi/.apio/profile.json (DEBUG) Home_dir: /home/pi/.apio

PATH: /home/pi/.apio/packages/tools-oss-cad-suite/bin:/home/pi/.apio/packages/tools-oss-cad-suite/lib:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/local/games:/usr/games

[Fri Jan 12 20:36:50 2024] Processing upduino

yosys -p "synth_ice40 -json hardware.json" -q SPI_Master.v diagnostics.v enable_logic.v input6502.v ramenable.v simple_ram_dual_clock.v spi_flash_reader.v spi_slave.v sram.v sram64k.v Warning: Yosys has only limited support for tri-state logic at the moment. (spi_slave.v:197) Warning: Resizing cell port sram.ramfn_inst1.POWEROFF from 32 bits to 1 bits. Warning: Resizing cell port sram.ramfn_inst1.SLEEP from 32 bits to 1 bits. Warning: Resizing cell port sram.ramfn_inst1.STANDBY from 32 bits to 1 bits. nextpnr-ice40 --up5k --package sg48 --json hardware.json --asc hardware.asc --pcf up5k.pcf -q Warning: unmatched constraint 'spi_clk' (on line 1) Warning: unmatched constraint 'spi_miso' (on line 2) Warning: unmatched constraint 'spi_out' (on line 3) Warning: unmatched constraint 'spi_cs' (on line 4) Warning: unmatched constraint 'data[0]' (on line 6) Warning: unmatched constraint 'data[1]' (on line 7) Warning: unmatched constraint 'data[2]' (on line 8) Warning: unmatched constraint 'data[3]' (on line 9) Warning: unmatched constraint 'data[4]' (on line 10) Warning: unmatched constraint 'data[5]' (on line 11) Warning: unmatched constraint 'data[6]' (on line 12) Warning: unmatched constraint 'data[7]' (on line 13) Warning: unmatched constraint 'phi2' (on line 33) Warning: unmatched constraint 'rwbar' (on line 34) Warning: unmatched constraint 'dataoutenable' (on line 36) Warning: unmatched constraint 'busenable' (on line 37) Warning: unmatched constraint 'diag_spi_cs' (on line 39) Warning: unmatched constraint 'rdy' (on line 40) Warning: unmatched constraint 'rst' (on line 41) Warning: unmatched constraint 'led_blue' (on line 43) ERROR: IO 'dataout[7]' is unconstrained in PCF (override this error with --pcf-allow-unconstrained) ERROR: Loading PCF failed. 20 warnings, 2 errors scons: [hardware.asc] Error 255 ============================================= [ ERROR ] Took 9.53 seconds ============================================= make: [Makefile:130: bin/hardware_6502.bin] Fehler 2 @.***:~/bf-romulator $

— Reply to this email directly, view it on GitHub https://github.com/bitfixer/bf-romulator/issues/24, or unsubscribe https://github.com/notifications/unsubscribe-auth/AANYKOLXCPPDJTW73Q22QADYOGOB3AVCNFSM6AAAAABBYV4MQOVHI2DSMVQWIX3LMV43ASLTON2WKOZSGA3TSNRYGQYTSNQ . You are receiving this because you are subscribed to this thread.Message ID: @.***>

FraEgg commented 5 months ago

Hi Frank, Thanks for letting me know. Interesting, I haven't seen that error before. First, could you check a couple of things: the version of apio currently installed on the pi (apio --version) Also, you may need to pull the latest from the bf-romulator repository, depending on when you cloned it. I made some changes recently to update to apio version 0.8.1 and changed a bit in the verilog. Would you mind sending me your config files, so I can see if I can reproduce the same error? Let's start there and hopefully can get to the root of the issue. Thanks, - Mike On Fri, Jan 12, 2024 at 12:44 PM Frank @.> wrote: Hello Michael, many thanks for the romulator 6502. it really is a great tool. I have a problem with creating my own custom firmware. The "make program" process is always aborted with an error message. I just can't find the problem and hope you could give me a hint. I am using a Raspberry Pi 3+ with the latest RaspianOS (64Bit). When I generate the files via your website, the firmware works on the romulator. Best regards Frank Logfile: @.:~/bf-romulator $ make program gpio mode 27 out gpio write 27 1 gpio mode 6 out gpio mode 10 out bin/programmer -b mkdir -p bin bin/build_enable_table /home/pi/bf-romulator/config/enable_table_default.csv bin/enable_table.bin > bin/enable_table.txt mkdir -p bin cd /home/pi/bf-romulator/romulator; rm -f input.v; rm -f .pcf cp /home/pi/bf-romulator/romulator/6502/ /home/pi/bf-romulator/romulator cd /home/pi/bf-romulator/romulator; rm -f hardware.; apio build (DEBUG) Profile path: /home/pi/.apio/profile.json (DEBUG) Home_dir: /home/pi/.apio PATH: /home/pi/.apio/packages/tools-oss-cad-suite/bin:/home/pi/.apio/packages/tools-oss-cad-suite/lib:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/local/games:/usr/games [Fri Jan 12 20:36:50 2024] Processing upduino ------------------------------------------------------------------------------------------------------------------------ yosys -p "synth_ice40 -json hardware.json" -q SPI_Master.v diagnostics.v enable_logic.v input6502.v ramenable.v simple_ram_dual_clock.v spi_flash_reader.v spi_slave.v sram.v sram64k.v Warning: Yosys has only limited support for tri-state logic at the moment. (spi_slave.v:197) Warning: Resizing cell port sram.ramfn_inst1.POWEROFF from 32 bits to 1 bits. Warning: Resizing cell port sram.ramfn_inst1.SLEEP from 32 bits to 1 bits. Warning: Resizing cell port sram.ramfn_inst1.STANDBY from 32 bits to 1 bits. nextpnr-ice40 --up5k --package sg48 --json hardware.json --asc hardware.asc --pcf up5k.pcf -q Warning: unmatched constraint 'spi_clk' (on line 1) Warning: unmatched constraint 'spi_miso' (on line 2) Warning: unmatched constraint 'spi_out' (on line 3) Warning: unmatched constraint 'spi_cs' (on line 4) Warning: unmatched constraint 'data[0]' (on line 6) Warning: unmatched constraint 'data[1]' (on line 7) Warning: unmatched constraint 'data[2]' (on line 8) Warning: unmatched constraint 'data[3]' (on line 9) Warning: unmatched constraint 'data[4]' (on line 10) Warning: unmatched constraint 'data[5]' (on line 11) Warning: unmatched constraint 'data[6]' (on line 12) Warning: unmatched constraint 'data[7]' (on line 13) Warning: unmatched constraint 'phi2' (on line 33) Warning: unmatched constraint 'rwbar' (on line 34) Warning: unmatched constraint 'dataoutenable' (on line 36) Warning: unmatched constraint 'busenable' (on line 37) Warning: unmatched constraint 'diag_spi_cs' (on line 39) Warning: unmatched constraint 'rdy' (on line 40) Warning: unmatched constraint 'rst' (on line 41) Warning: unmatched constraint 'led_blue' (on line 43) ERROR: IO 'dataout[7]' is unconstrained in PCF (override this error with --pcf-allow-unconstrained) ERROR: Loading PCF failed. 20 warnings, 2 errors scons: [hardware.asc] Error 255 ============================================= [ ERROR ] Took 9.53 seconds ============================================= make: [Makefile:130: bin/hardware_6502.bin] Fehler 2 @.:~/bf-romulator $ — Reply to this email directly, view it on GitHub <#24>, or unsubscribe https://github.com/notifications/unsubscribe-auth/AANYKOLXCPPDJTW73Q22QADYOGOB3AVCNFSM6AAAAABBYV4MQOVHI2DSMVQWIX3LMV43ASLTON2WKOZSGA3TSNRYGQYTSNQ . You are receiving this because you are subscribed to this thread.Message ID: @.>

pi@romulator:~/bf-romulator $ apio --version apio, version 0.8.1 pi@romulator:~/bf-romulator $ uname -a Linux romulator 6.1.21-v8+ #1642 SMP PREEMPT Mon Apr 3 17:24:16 BST 2023 aarch64 GNU/Linux pi@romulator:~/bf-romulator $

FraEgg commented 5 months ago

with apio 0.5.4 is running fine:

pi@romulator:~/bf-romulator $ make program gpio mode 27 out gpio write 27 1 gpio mode 6 out gpio mode 10 out bin/programmer -b mkdir -p bin cd romulator; rm -f input.v; rm -f .pcf cp romulator/6502/ romulator cd romulator; rm -f hardware.; apio build [Sun Jan 14 13:01:25 2024] Processing upduino

yosys -p "synth_ice40 -json hardware.json" -q SPI_Master.v diagnostics.v enable_logic.v input6502.v ramenable.v simple_ram_dual_clock.v spi_flash_reader.v spi_slave.v sram.v sram64k.v Warning: Replacing memory \xfer_send_bytes with list of registers. See spi_flash_reader.v:261 Warning: Yosys has only limited support for tri-state logic at the moment. (spi_slave.v:197) Warning: Wire input6502.\romulator.diag_spi_cs_out is used but has no driver. nextpnr-ice40 --up5k --package sg48 --json hardware.json --asc hardware.asc --pcf up5k.pcf -q

icepack hardware.asc hardware.bin ==================================================================== [SUCCESS] Took 327.10 seconds ====================================================================

FraEgg commented 5 months ago

I can report that the Romulator 6502 runs very well in a Commodore 1541 floppy drive. I have four floppyspeeders running with it and the loading time with the additional RAM and parallel cable is accelerated by a factor of 27 (DolphinDos).