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:
This argument will prohibit Mapper from removing unused logic.
For Active-HDL batch mode:
There is a check box in the Mapper window called “remove unused logic”. Unchecking this box will add "-u" to the mapper command line options resulting in the “-s 5 -o” section of the mapper command line arguments being changed to “-s 5 –u -o”. This will let the user keep unused IO logic.