Article Details

ID: 2214
Case Type: faq
Category: Implementation
Related To: Attributes/Directives
Family: All Devices

Search Answer Database

Search Text Image

Diamond: What is the procedure to prevent unused IO logic from getting optimized out during Synthesis and MAP in Lattice Diamond, while using GUI or Active-HDL batch mode?

Lattice Diamond tool prevents unused, unconnected IO logic from getting generated, but sometimes user might want to keep a particular IO assignment and the related logic.


Below is the procedure to prevent unwanted optimization:



  • add the following attributes for preventing the optimization during synthesis to the source code:


    • e.g. input clk, rst, test /* synthesis syn_force_pads=1 syn_noprune=1*/;

  • In the Lattice Diamond active Strategy, go to MAP> Design > command line options >add "-u"

This argument will prohibit Mapper from removing unused logic.


 For Active-HDL batch mode:


There is a check box in the Mapper window called \u201Cremove unused logic\u201D. Unchecking this box will add "-u" to the mapper command line options resulting in the \u201C-s 5 -o\u201D section of the mapper command line arguments being changed to \u201C-s 5 \u2013u -o\u201D. This will let the user keep unused IO logic.