AR# 2457: M1.2 MAP: Input flip-flops in a bidirectional I/O get removed due to optimization of an output flip-flop whose input is tied to GND.
M1.2 MAP: Input flip-flops in a bidirectional I/O get removed due to optimization of an output flip-flop whose input is tied to GND.
Keywords: input flip-flops trim inff ifd ifdx ofd ofdtx ofdx
Given a circuit consisting of a bidirectional I/O:
IOPAD connected to both the D input of an IFD and the Q output of an OFDTX_F. The D input of the OFDTX_F is connected to a constant value of "0" (GND) in the user's design.
Map simplifies the OFDTX_F to a constant value of 0, and the IOPAD is correctly configured to drive a constant value of ZERO in the output direction. However, the zero is subsequently also pushed around to the D input of the IFD, and this causes the IFD to be removed.
Attach a NOCLIP, KEEP, or S attribute to the affected pad net (the 3 properties are equivalent) to prevent the pushing of the zero to the input of the INFF.