- Do not asynchronously set or reset registers.
- Control set remapping becomes impossible.
- Sequential functionality in device resources, such as block RAM components and DSP blocks, can be set or reset synchronously only.
- If you use asynchronously set or reset registers, you cannot leverage device resources or they are configured sub-optimally.
- Do not describe flip-flops with both a set and a reset.
- No flip-flop primitives feature both a set and a reset, whether synchronous or asynchronous.
- Flip-flop primitives featuring both a set and a reset can adversely affect area and performance.
- Avoid operational set/reset logic whenever possible. There can be other, less expensive ways to achieve the desired effect, such as defining an initial content can use global reset circuitry.
- Always describe the clock enable, set, and reset control inputs of flip-flop primitives as active-High. The resulting inverter logic penalizes circuit performance if they are described as active-Low.