16.2.3 I/O

16.2.3.1 BIBUF

Bidirectional Buffer.
Figure 16-110. BIBUF
Table 16-243. BIBUF I/O
Input Output
D, E, PAD PAD, Y
Table 16-244. BIBUF Truth Table
MODE E D PAD Y
OUTPUT 1 D D D
INPUT 0 X Z X
INPUT 0 X PAD PAD

16.2.3.2 BIBUF_DIFF

Bidirectional Buffer, Differential I/O.
Figure 16-111. BIBUF_DIFF
Table 16-245. BIBUF_DIFF I/O
Input Output
D, E, PADP, PADN PADP, PADN, Y
Table 16-246. BIBUF_DIFF Truth Table
MODE E D PADP PADN Y
OUTPUT 1 0 0 1 0
OUTPUT 1 1 1 0 1
INPUT 0 X Z Z X
INPUT 0 X 0 0 X
INPUT 0 X 1 1 X
INPUT 0 X 0 1 0
INPUT 0 X 1 0 1

16.2.3.3 CLKBIBUF

Bidirectional Buffer with Input to the global network.
Figure 16-112. CLKBIBUF
Table 16-247. CLKBIBUF I/O
Input Output
D, E, PAD PAD, Y
Table 16-248. CLKBIBUF Truth Table
D E PAD Y
X 0 Z X
X 0 0 0
X 0 1 1
0 1 0 0
1 1 1 1

16.2.3.4 CLKBUF

Input Buffer to the global network.
Figure 16-113. CLKBUF
Table 16-249. CLKBUF I/O
Input Output
PAD Y
Table 16-250. CLKBUF Truth Table
PAD Y
0 0
1 1

16.2.3.5 CLKBUF_DIFF

Differential I/O macro to the global network, Differential I/O.
Figure 16-114. CLKBUF_DIFF
Table 16-251. INBUF_DIFF I/O
Input Output
PADP, PADN Y
Table 16-252. INBUF_DIFF Truth Table
PADP PADN Y
Z Z Y
0 0 X
1 1 X
0 1 0
1 0 1

16.2.3.6 DDR_IN

The DDR_IN macro is available for both pre-layout and post-layout simulation flows. It consists of two SLE macros and a latch.

The input D must be connected to an I/O.
Figure 16-115. DDR_IN
Table 16-253. DDR_IN I/O
InputOutput
NameFunctionName
DData inputQR

QF

CLKClock input
ENActive-High CLK enable
ALnAsynchronous load. This active-low signal either sets the register or clears the register depending on the value of ADn.
ADn1Static asynchronous load data. When ALn is active, QR and QF go to the complement of ADn.
SLnSynchronous load. This active-low signal either sets the register or clears the register depending on the value of SD, at the rising edge of CLK.
SD1Static synchronous load data. When SLn is active (low), QR and QF go to the value of SD at the rising edge of CLK.
  1. ADn and SD are static inputs defined at design time and must be tied to 0 or 1.
Table 16-254. DDR_IN TRUTH TABLE
ALnCLKENSLndfn+1 (Internal Signal)QRn+1QFn+1
0XXX!ADn!ADn!ADn
1Not risingXXdfnQRnQFn
10XdfnQRnQFn
110dfnSDSD
111dfnDdfn
1XXDQRnQFn

16.2.3.7 DDR_OE_UNIT

The DDR_OE_UNIT macro is an output DDR cell that is only available for post-layout simulations. Every DDR_OUT instance is replaced by DDR_OE_UNIT during compile. The DDR_OE_UNIT macro consists of a DDR_OUT macro with inverted data inputs and SDR control.
Figure 16-116. DDR_OE_UNIT
Table 16-255. DDR_OE_UNIT I/O
Input Output
Name Function
DRn Data input (Rising Edge) Q
DFn Data input (Falling Edge)
CLK Clock input
EN Active-High CLK enable
ALn Asynchronous load. This active-low signal either sets the register or clears the register depending on the value of ADn.
ADn Static asynchronous load data. When ALn is active, Q goes to the complement of ADn.
SLn Synchronous load. This active-Low signal either sets the register or clears the register depending on the value of SD, at the rising edge of CLK.
SD Static synchronous load data. When SLn is active (low), Q goes to the value of SD at the rising edge of CLK.
SDR Controls whether the cell operates in DDR (SDR = 0) or SDR (SDR = 1) modes.
Table 16-256. DDR_OE_UNIT TRUTH TABLE
SDR ALn CLK EN SLn QRn+1 QFn+1 Qn+1
0 0 X X X !ADn !ADn !ADn
0 1 1 X X QRn QFn QRn
0 1 0 X QRn QFn QRn+1
0 1 1 0 SD SD QRn+1
0 1 1 1 !DRn !DFn QRn+1
0 1 0 X X QRn QFn QFn

16.2.3.8 DDR_OUT

The DDR_OUT macro is an output DDR cell and is available for pre-layout simulation. It consists of two SLE macros. The output Q must be connected to an I/O.
Figure 16-117. DDR_OUT
Table 16-257. DDR_OUT I/O
InputOutput
NameFunction
DRData input (Rising Edge)Q
DFData input (Falling Edge)
CLKClock input
ENActive-High CLK enable
ALnAsynchronous load. This active-low signal either sets the register or clears the register depending on the value of ADn.
ADn1Static asynchronous load data. When ALn is active, Q goes to the complement of ADn.
SLnSynchronous load. This active-low signal either sets the register or clears the register depending on the value of SD, at the rising edge of CLK.
SD1Static synchronous load data. When SLn is active (that is, low), Q goes to the value of SD at the rising edge of CLK.
  1. ADn and SD are static inputs defined at design time and need to be tied to 0 or 1.
Table 16-258. DDR_OUT TRUTH TABLE
ALnCLKENSLnQRn+1QFn+1Qn+1
0XXX!ADn!ADn!ADn
11XXQRnQFnQRn
10XQRnQFnQRn+1
110SDSDQRn+1
111DRDFQRn+1
10XXQRnQFnQFn

16.2.3.9 GCLKBIBUF

Bidirectional I/O macro with gated input to the global network; the Enable signal can be used to turn off the global network to save power.
Figure 16-118. GCLKBIBUF
Table 16-259. GCLKBIBUF I/O
Input Output
D, E, EN, PAD Y, PAD
Table 16-260. GCLKBIBUF TRUTH TABLE
D E EN PAD q Y
X 0 0 0 0 0
X 0 1 0 1 0
X 0 X 1 q q
X 0 X Z X X
0 1 0 0 0 0
0 1 1 0 1 0
1 1 X 1 q q

16.2.3.10 GCLKBUF

Gated input I/O macro to the global network. The Enable signal can turn off the global network to save power.
Figure 16-119. GCLKBUF
Table 16-261. GCLKBUF I/O
InputOutput
PAD, ENY
Table 16-262. GCLKBUF Truth Table
PADENqY
0000
0110
1Xqq
ZXXX

16.2.3.11 GCLKBUF_DIFF

Gated differential I/O macro to global network; the Enable signal can be used to turn off the global network.
Figure 16-120. GCLKBUF_DIFF

Differential

Table 16-263. GCLKBUF_DIFF I/O
Input Output
PADP, PADN, EN Y
Table 16-264. GCLKBUF_DIFF Truth Table
PADP PADN EN q Y
0 1 0 0 0
0 1 1 1 0
1 0 X q q
0 0 X X X
1 1 X X X
Z Z X X X

16.2.3.12 INBUF

Input Buffer.
Figure 16-121. INBUF
Table 16-265. INBUF I/O
Input Output
PAD Y
Table 16-266. INBUF Truth Table
PAD Y
Z X
0 0
1 1

16.2.3.13 INBUF_DIFF

Input Buffer, Differential I/O.
Figure 16-122. INBUF_DIFF
Table 16-267. INBUF_DIFF I/O
Input Output
PADP, PADN Y
Table 16-268. INBUF_DIFF Truth Table
PADP PADN Y
Z Z X
0 0 X
1 1 X
0 1 0
1 0 1

16.2.3.14 IOIN_IB

Buffer macro available in post-layout netlist only.

Figure 16-123. IOIN_IB
Table 16-269. IOIN_IB I/O
Input Output
YIN, E Y

E input is not used.

Table 16-270. IOIN_IB TRUTH TABLE
YIN Y
Z X
0 0
1 1

16.2.3.15 IOINFF

Registered input I/O macro available in post-layout netlist only.
Figure 16-124. IOINFF
Table 16-271. IOINFF I/O
InputOutput
NameFunctionQ
DData
CLKClock
ENEnable
ALnAsynchronous Load (Active-Low)
ADn1Asynchronous Data (Active-Low)
SLnSynchronous Load (Active-Low)
SD1Synchronous Data
LAT1Latch Enable
  1. ADn, SD, and LAT are static signals defined at design time and must be tied to 0 or 1.
Table 16-272. IOINFF TRUTH TABLE
ALnADnLATCLKENSLnSDDQn+1
0ADnXXXXXX!ADn
1X0Not risingXXXXQn
1X00XXXQn
1X010SDXSD
1X011XDD
1X10XXXXQn
1X110XXXQn
1X1110SDXSD
1X1111XDD

16.2.3.16 IOOEFF

Registered output I/O macro available only in post-layout netlist. The IOOEFF is an SLE with an inverted data input.
Figure 16-125. IOOEFF
Table 16-273. IOOEFF I/O
Input Output
Name Function Q
D Data
CLK Clock
EN Enable
ALn Asynchronous Load (Active Low)
ADn1 Asynchronous Data (Active Low)
SLn Synchronous Load (Active Low)
SD1 Synchronous Data
LAT1 Latch Enable
Note:
  1. ADn, SD, and LAT are static signals defined at design time and need to be tied to 0 or 1.
Table 16-274. IOOEFF TRUTH TABLE
ALn LAT CLK EN SLn Q
1 0 not rising X X Q
1 0 rising 0 X Q
1 0 rising 1 1 !Dn
1 0 rising 1 0 SD
0 0 X X X !ADn
1 1 0 X X Q
1 1 1 0 X Q
1 1 1 1 1 !Dn
1 1 1 1 0 SD
0 1 X X X !ADn

16.2.3.17 IOPAD_IN

Input I/O macro available in post-layout netlist only.
Figure 16-126. IOPAD_IN
Table 16-275. IOPAD_IN I/O
Input Output
PAD Y
Table 16-276. IOPAD_IN TRUTH TABLE
PAD Y
Z X
0 0
1 1

16.2.3.18 IOPAD_TRI

Tri-state output buffer available in post-layout netlist only.
Figure 16-127. IOPAD_TRI
Table 16-277. IOPAD_TRI I/O
Input Output
D, E PAD
Table 16-278. IOPAD_TRI TRUTH TABLE
D E PAD
X 0 Z
0 1 0
1 1 1

16.2.3.19 OUTBUF

Output buffer.
Figure 16-128. OUTBUF
Table 16-279. OUTBUF I/O
Input Output
D PAD
Table 16-280. OUTBUF Truth Table
D PAD
0 0
1 1

16.2.3.20 OUTBUF_DIFF

Output buffer, Differential I/O.
Figure 16-129. OUTBUF_DIFF
Table 16-281. OUTBUF_DIFF I/O
Input Output
D PADP, PADN
Table 16-282. OUTBUF_DIFF Truth Table
D PADP PADN
0 0 1
1 1 0

16.2.3.21 TRIBUFF

Tristate output buffer.
Figure 16-130. TRIBUFF
Table 16-283. TRIBUFF I/O
Input Output
D, E PAD
Table 16-284. TRIBUFF Truth Table
D E PAD
X 0 Z
D 1 D

16.2.3.22 TRIBUFF_DIFF

Tristate output buffer, Differential I/O.
Figure 16-131. TRIBUFF_DIFF
Table 16-285. TRIBUFF_DIFF I/O
Input Output
D, E PADP, PADN
Table 16-286. Truth Table
D E PADP PADN
X 0 Z Z
0 1 0 1
1 1 1 0

16.2.3.23 UJTAG

The UJTAG macro is a special purpose macro. It allows access to the user JTAG circuitry on board the chip.

You must instantiate a UJTAG macro in your design if you plan to make use of the user JTAG feature. The TMS, TDI, TCK, TRSTB, and TDO pins of the macro must be connected to top level ports of the design.
Figure 16-132. UJTAG
Table 16-287. Ports and Descriptions
PortDirectionPolarityDescription
UIREG[7:0]OutputThis 8-bit bus carries the contents of the JTAG instruction register of each device. Instruction values 16 to 127 are not reserved and can be employed as user-defined instructions.
URSTBOutputLowURSTB is an Active-Low signal and is asserted when the TAP controller is in Test-Logic-Reset mode. URSTB is asserted at power-up, and a Power-on Reset signal resets the TAP controller state.
UTDIOutputThis port is directly connected to the TAP's TDI signal.
UTDOInputThis port is the user TDO output. Inputs to the UTDO port are sent to the TAP TDO output MUX when the IR addess is in user range.
UDRSHOutputHighActive-High signal enabled in the Shift_DR TAP state.
UDRCAPOutputHighActive-High signal enabled in the Capture_DR_TAP state.
UDRCKOutputThis port is directly connected to the TAP's TCK signal.
Note: UDRCK must be connected to a global macro such as CLKINT. If this is not done, Synthesis/Compile will add it to the netlist to legalize it.
UDRUPDOutputHighActive-High signal enabled in the Update_DR_TAP state.
TCKInputTest Clock. Serial input for JTAG boundary scan, ISP, and UJTAG. The TCK pin does not have an internal pull-up/pull-down resistor. Connect TCK to GND or +3.3V through a resistor (500-1 KΩ) placed closed to the FPGA pin to prevent totem-pole current on the input buffer and TMS from entering into an undesired state.

If JTAG is not used, connect it to GND.

TDIInputTest Data In. Serial input for JTAG boundary scan. There is an internal weak pull-up resistor on the TDI pin.
TDOOutputTest Data Out. Serial output for JTAG boundary scan. The TDO pin does not have an internal pull-up/pull-down resistor.
TMSInputTest mode select. The TMS pin controls the use of the IEEE®1532 boundary scan pins (TCK, TDI, TDO, and TRST). There is an internal weak pull-up resistor on the TMS pin.
TRSTBInputLowTest reset. The TRSTB pin is an active-low input. It synchronously initializes (or resets) the boundary scan circuitry. There is an internal weak pull-up resistor on the TRSTB pin.

To hold the JTAG in reset mode and prevent it from entering into undesired states in critical applications, connect TRSTB to GND through a 1 KΩ resistor (placed close to the FPGA pin).