When experimenting with the Himbaechel variant for Xilinx Zynq target, nextpnr-himbaechel fails very early with the following message:
ERROR: Unable to place cell 'user_inst.mul_i.gen_dsp48e1_inst', no BELs remaining to implement cell type 'DSP48E1'
Indeed the test design instantiates a DSP48E1 cell.
But it seems that the supported cells are named DSP48E1_DSP48E1 according to the log :
Info: DSP48E1_DSP48E1: 0/ 80 0%
I guess that BRAMs will have the same issue.
Note that this does not happen with experimental nextpnr-xilinx, this tool implements a dedicated mapping according to its log, it seems this pass is missing in Himbaechel for Xilinx :
Hi,
When experimenting with the Himbaechel variant for Xilinx Zynq target, nextpnr-himbaechel fails very early with the following message:
ERROR: Unable to place cell 'user_inst.mul_i.gen_dsp48e1_inst', no BELs remaining to implement cell type 'DSP48E1'
Indeed the test design instantiates a DSP48E1 cell. But it seems that the supported cells are named
DSP48E1_DSP48E1
according to the log :Info: DSP48E1_DSP48E1: 0/ 80 0%
I guess that BRAMs will have the same issue.
Note that this does not happen with experimental nextpnr-xilinx, this tool implements a dedicated mapping according to its log, it seems this pass is missing in Himbaechel for Xilinx :
Tested with latest commit as of now, compiled on Archlinux.
Archive of the reproducer (with source verilog generated with ghdl, the json produced by Yosys, the netpnr-himbaechel log, and the Makefile to reproduce) : https://cloud.univ-grenoble-alpes.fr/s/pTHEn8ngLgSTpxg
Regards, Adrien