YosysHQ / nextpnr

nextpnr portable FPGA place and route tool
ISC License
1.32k stars 245 forks source link

Himbaechel xilinx : Unable to place RAM128X1S #1365

Closed marzoul closed 2 months ago

marzoul commented 2 months ago

Hi,

With a simple reproducer design involving a LUTRAM implementation of a small memory, nextpnr-himbaechel stops early with en arror about no candidate BEL to implement "macro-cell" RAM128X1S.

This only happens when Yosys synthesizes synchronous 1-port memories larger than 64 lines. Certainly linked to the way Yosys generates the memories.

Info: Placed 1 cells based on constraints.
ERROR: Unable to place cell 'user_inst.ram.0.8.genblk1.genblk1[0].genblk1.slice', no BELs remaining to implement cell type 'RAM128X1S'

The reproducer is a small GHDL-generated design with read-write memory from PS7 ports to reduce issues with IOs : https://cloud.univ-grenoble-alpes.fr/s/9Tm5GpWFDZar4fK

Regards, Adrien

gatecat commented 2 months ago

This should hopefully be fixed by e4dfd4e6, let me know if you have a chance to try it.

marzoul commented 1 month ago

Looks like it works. Thank you !