cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
Highlighted
Observer
Observer
4,480 Views
Registered: ‎08-09-2012

Too many comps of type "DSP48E" found to fit this device.

Hi,

 

I am implementing a Microblaze embedded design on a Vertex-5 device with ISE 14.1. I created a blackbox with Synplify and used it as part of a Microblaze custom peripheral. When I try to implement the design, I get the following error:

 

ERROR:Pack:2310 - Too many comps of type "DSP48E" found to fit this device.
ERROR:Map:237 - The design is too large to fit the device. Please check the
Design Summary section to see which resource requirement for your design
exceeds the resources available in the device. Note that the number of slices
reported may not be reflected accurately as their packing might not have been
completed.

 

The summary report shows following:

 

Number of DSP48Es:                            67 out of      64  104% (OVERMAPPED)

 

The Synplify generated netlist used 64 DSP48E resources. I guess the other three are generated by ISE? Is there a way for me to stop the ISE from generating DSP48E, instead to use LUTs, so I can work around this problem?

 

Thanks very much.

0 Kudos
3 Replies
Highlighted
Historian
Historian
4,467 Views
Registered: ‎02-25-2008

The synthesis tool decides whether a DSP48E block will be used or if the required logic is built out of LUTs. The place-and-route takes what the synthesis tool gives it and attempts to fit it. 

 

My suspicion is that some other entity also infers (or instantiates) the DSP block. Perhaps it's in the MicroBlaze itself? It's been awhile since I did a MicroBlaze design but I think that it will use a DSP block for the obvious things like when you tell it to include a multiplier.

----------------------------Yes, I do this for a living.
0 Kudos
Highlighted
Xilinx Employee
Xilinx Employee
4,460 Views
Registered: ‎09-20-2012

Hi,

 

You can force the tool to implement the logic on to LUT's and not to use any DSP blocks by using the following switches

  • Right click on synthesis and select properties. In HDL options you can set use_dsp48 switch to NO. This is set to auto by default. By setting this switch to NO the tool tries to implement the logic on LUTS.
  • The DSP Utilization Ratio (DSP_UTILIZATION_RATIO) constraint restricts the number of DSP blocks that XST uses to implement inferred functions. You can set this in synthesis properties.

     

    Thanks,

    Deepika.

Thanks,
Deepika.
--------------------------------------------------------------------------------------------
Google your question before posting. If someone's post answers your question, mark the post as answer with "Accept as solution". If you see a particularly good and informative post, consider giving it Kudos (the star on the left)
0 Kudos
Highlighted
Teacher
Teacher
4,459 Views
Registered: ‎09-09-2010

My previous experience with MicroBlaze is that it uses at least 1 DSP48(E)...

The detailed Mapper report file will include per-module usage, but it needs modifying the default Process Properties to generate the required file.

------------------------------------------
"If it don't work in simulation, it won't work on the board."
0 Kudos