I am trying to implement a design with unused input into a CPLD. I want to keep the unused input; therefore, I placed a LOC constraint on them, and set the option "Preserve used input" in the Fitter properties.
When I implement the design, NGDBuild fails with the following error:
"ERROR:NgdBuild:755 - Line XXX in 'ucf_file_name.ucf': Could not find net(s)
'input_name' in the design. To suppress this error specify the correct net
name or remove the constraint. The 'Ignore I\O constraints on Invalid Object
Names' property can also be set ( -aul switch for command line users)."
I have set the -aul option and recompiled the design. The implementation goes through Translate. However, when I look at my fitter report, I do not see the unused input.
How can I keep my unused input?
The "Preserve unused input" did not work in your design because these inputs were not defined in the netlist compiled in NGDBuild.
This is due to XST optimizing away inputs which have no logic connected to them.
To prevent XST from removing inputs, instantiate IBUFs primitives in your design, and connect the output pin of the IBUFs to a signal marked with a KEEP attribute.
NGDBuild will then give you a warning stating that the output signal of the IBUF has no load, which is correct.