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?

  • 3
    \$\begingroup\$ Time to start learning to write more economical VHDL. \$\endgroup\$ Jul 1 '15 at 13:58
  • \$\begingroup\$ Do you use the four checksum blocks in parallel? \$\endgroup\$
    – TM90
    Jul 1 '15 at 14:13
  • 1
    \$\begingroup\$ @BrianDrummond: That was helpful! \$\endgroup\$
    – Pradeep S
    Jul 1 '15 at 14:16
  • \$\begingroup\$ @TM90: Yeah it is a parallel CRC checker module. \$\endgroup\$
    – Pradeep S
    Jul 1 '15 at 14:18
  • 2
    \$\begingroup\$ Open the synthesized (or implemented) design and press "F6". Any reason not to use Vivado? If you trust Xilinx (and you can on that matter) it will yield much better design for the series-7. \$\endgroup\$ Jul 1 '15 at 15:58

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!


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.