YosysHQ/nextpnr

Himbaechel for Xilinx target : Unable to place cell DSP48E1

Closed this issue · 1 comments

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 :

Info: Packing DSPs..
Info:     Created 1 DSP48E1_DSP48E1 cells from:
Info:              1x DSP48E1

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

This issue is now resolved.