In Spartan 6, asynchronous release of reset on the IOB FF can potentially cause a pulse on the output even when the input is tied low.
In Spartan-6 the asynchronous reset selects between the D-input and an initialization value.
For asynchronous controls, the initialization value will be a logic High when released.
While the asynchronous reset is applied, the IOB FF is held in reset, and the IOB FF operates as expected.
After releasing the asynchronous reset, the D-input will switch from the initialization value back to the D-input.
During this switching period if the IOB FF receives a clock, the IOB FF can potentially load the initialization value.
- Use a synchronous reset with the IOB FF
- Use a CLB FF with either an asynchronous reset or synchronous clear