In HP I/O banks, for a subset of I/O standards, the UltraScale architecture provides the option of canceling the inherent offset of the input buffers that occurs due to process variations (up to ±35 mV). This feature can be accessed through IBUFE3, IBUFDSE3, IOBUFE3, and IOBUFDSE3 primitives as shown in This Figure and This Figure. Offset calibration requires building control logic into your interconnect logic design.
X-Ref Target - Figure 1-15
1.The offset cancellation feature is activated for the supported I/O standards when:
a.Offset control attribute OFFSET_CNTRL is set to FABRIC.
b.OSC_EN port is set to 1'b1 (single-ended I/O standards) or 2'b11 (for differential I/O standards).
IMPORTANT: The value of 2'b10 or 2'b01 is illegal when using OSC_EN for differential I/O standards.
2.After the offset cancellation feature is activated, the input to the buffer is pulled-up to VREF (in differential I/Os, both legs are pulled-up to VREF). Based on the inherent offset of the buffer, the output (O) is either a logic 1 or 0. A logic 1 suggests a positive offset. A logic 0 suggests a negative offset. In simulation, this hardware behavior can be mimicked by setting the simulation-only attribute SIM_INPUT_BUFFER_OFFSET to a negative or positive value from –50 mV to +50 mV. This simulation-only attribute is supported with IBUFE3, IBUFDSE3, IOBUFE3, and IOBUFDSE3 primitives.
3.Based on the value of O, the FABRIC calibration logic should sweep OSC[3:0] in the positive or negative direction until O is seen to flip. The value where O flips is the required offset to cancel the inherent offset of the buffer. Table: Approximate Amount of Offset Cancellation for Each Setting of OSC shows the approximate amount of offset cancellation provided by each setting of OSC.
For example, if the buffer input offset is 15 mV, setting OSC[3:0] = 1011 cancels the offset. If the buffer input offset is –10 mV, setting OSC[3:0] = 0010 cancels the offset.
4.If O does not flip, even at the maximum possible offset (–35mV or 35mV), OSC should be set to the maximum –35mV (0111) if O stays at a logic 1 throughout, or +35mV (1111) if O stays at a logic 0 throughout and continue to step 5.
5.After the required offset is determined, OSC_EN should be turned off by setting it to 1'b0 (single ended I/O standards) or 2'b00 (differential I/O standards) and normal operation can resume.
RECOMMENDED: Offset calibration should not be attempted on inputs with external bias or termination.
IMPORTANT: OSC[3:0] is a shared bus among all the I/Os within a half bank (26 consecutive I/Os in the top half or bottom half of a bank).
The I/O standards that support receiver offset control are shown in Table: I/O Standards Supporting Receiver Offset Control .