This design does not fit into the number of slices available in this device

planaheadsynthesisxilinx

Below is the device utilization summary for the design(Zynq 7010) and the use of Slice LUTs exceeds the availabile number. Previously it was 82% and now it exceeds after adding a block of checksum code 4 times. Is there any tweek to merge LUTs and reduce its consumption or need to make manual optimization in the code?

Device Utilization Summarry

Below is the synthesis settings:

Synthesis settings

I have used the following settings for implementation to reduce some kind of resource utilization especially LUTs

Implementation settings

*I got some information from this website: Xilinx parameters

After using the above settings, the problem still persists. I am not sure about some settings, whether they are valid for Zynq or not. Any help?

Best Answer

Remove the register duplication, it increases the speed of your design and have very negative impact on the utilization of LUTs in your design.

Those are mainly for the designs that have high fanout and needs to duplicate some of the resources in order to meet the timing.

Also, look into your code and see if you can remove the reset from some of your logic, specially parts that can be packed into SLR or RAM, that is one of the common mistakes people make, removing the reset, will help Vivado to pack some of your logic into BRAM or SLR and you will see a significant decrease in the number of LUTs used.

If none of those works, maybe your design is just too big for the FPGA you are using!