YosysHQ / nextpnr

nextpnr portable FPGA place and route tool
ISC License
1.3k stars 243 forks source link

Empty GUI grid with --gui using nexpnr-himbaechel on GW1NR-LV9; --gui-no-aa crashes. #1350

Open stacksmith opened 2 months ago

stacksmith commented 2 months ago

Trying to see a working design using

nextpnr-himbaechel --gui --json top_pnr.json --top top --device GW1NR-LV9QN88PC6/I5 --vopt family=GW1N-9C --vopt cst=tangnano9k.cst

GUI opens and shows an empty grid; cells and nets indicate that the design is loaded. ... Next, --gui-no-aa:

nextpnr-himbaechel --gui-no-aa --json top_pnr.json --top top --device GW1NR-LV9QN88PC6/I5 --vopt family=GW1N-9C --vopt cst=tangnano9k.cst
Info: Using uarch 'gowin' for device 'GW1NR-LV9QN88PC6/I5'

Info: Reading constraints...
Info: Cell led[5] not found
Info: Cell led[5] not found
Info: Cell led[4] not found
Info: Cell led[4] not found
Info: Cell led[3] not found
Info: Cell led[3] not found
Info: Cell led[2] not found
Info: Cell led[2] not found
Info: Cell led[1] not found
Info: Cell led[1] not found
Info: Cell led[0] not found
Info: Cell led[0] not found
Info: Cell btn1 not found
Info: Cell btn1 not found
Info: Cell btn2 not found
Info: Cell btn2 not found
Info: Cell clk_in not found
Info: Cell clk_in not found
Info: Cell uart_tx not found
Info: Cell uart_tx not found
Info: Cell uart_rx not found
Info: Cell uart_rx not found
Info: Create constant nets...
terminate called after throwing an instance of 'nextpnr_himbaechel::assertion_failure'
  what():  Assertion failure: !cells.count(name) (/home/stack/src/fpga/nextpnr/common/kernel/basectx.cc:298)
Aborted (core dumped)

gui-no-aa seems to not understand the very same .cst file -- it lists every pin as not found.

Any thoughts or suggestions?

Ravenslofty commented 2 months ago

I don't think the Gowin uarch for nextpnr-himbaechel has GUI support yet.

stacksmith commented 2 months ago

I must've used nextpnr-gowin a while back!

Patronics commented 1 month ago

I encountered the same behavior, looks like PR #1295 should solve it whenever that gets merged in :)