16.2.3 I/O

16.2.3.1 BIBUF

Bidirectional Buffer.
Figure 16-110. BIBUF
Table 16-243. BIBUF I/O
InputOutput
D, E, PADPAD, Y
Table 16-244. BIBUF Truth Table
MODEEDPADY
OUTPUT1DDD
INPUT0XZX
INPUT0XPADPAD

16.2.3.2 BIBUF_DIFF

Bidirectional Buffer, Differential I/O.
Figure 16-111. BIBUF_DIFF
Table 16-245. BIBUF_DIFF I/O
InputOutput
D, E, PADP, PADNPADP, PADN, Y
Table 16-246. BIBUF_DIFF Truth Table
MODEEDPADPPADNY
OUTPUT10010
OUTPUT11101
INPUT0XZZX
INPUT0X00X
INPUT0X11X
INPUT0X010
INPUT0X101

16.2.3.3 CLKBIBUF

Bidirectional Buffer with Input to the global network.
Figure 16-112. CLKBIBUF
Table 16-247. CLKBIBUF I/O
InputOutput
D, E, PADPAD, Y
Table 16-248. CLKBIBUF Truth Table
DEPADY
X0ZX
X000
X011
0100
1111

16.2.3.4 CLKBUF

Input Buffer to the global network.
Figure 16-113. CLKBUF
Table 16-249. CLKBUF I/O
InputOutput
PADY
Table 16-250. CLKBUF Truth Table
PADY
00
11

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
InputOutput
PADP, PADNY
Table 16-252. INBUF_DIFF Truth Table
PADPPADNY
ZZY
00X
11X
010
101

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
InputOutput
NameFunction
DRnData input (Rising Edge)Q
DFnData 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.
ADnStatic 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.
SDStatic synchronous load data. When SLn is active (low), Q goes to the value of SD at the rising edge of CLK.
SDRControls whether the cell operates in DDR (SDR = 0) or SDR (SDR = 1) modes.
Table 16-256. DDR_OE_UNIT TRUTH TABLE
SDRALnCLKENSLnQRn+1QFn+1Qn+1
00XXX!ADn!ADn!ADn
011XXQRnQFnQRn
010XQRnQFnQRn+1
0110SDSDQRn+1
0111!DRn!DFnQRn+1
010XXQRnQFnQFn

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
InputOutput
D, E, EN, PADY, PAD
Table 16-260. GCLKBIBUF TRUTH TABLE
DEENPADqY
X00000
X01010
X0X1qq
X0XZXX
010000
011010
11X1qq

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
InputOutput
PADP, PADN, ENY
Table 16-264. GCLKBUF_DIFF Truth Table
PADPPADNENqY
01000
01110
10Xqq
00XXX
11XXX
ZZXXX

16.2.3.12 INBUF

Input Buffer.
Figure 16-121. INBUF
Table 16-265. INBUF I/O
InputOutput
PADY
Table 16-266. INBUF Truth Table
PADY
ZX
00
11

16.2.3.13 INBUF_DIFF

Input Buffer, Differential I/O.
Figure 16-122. INBUF_DIFF
Table 16-267. INBUF_DIFF I/O
InputOutput
PADP, PADNY
Table 16-268. INBUF_DIFF Truth Table
PADPPADNY
ZZX
00X
11X
010
101

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
InputOutput
YIN, EY

E input is not used.

Table 16-270. IOIN_IB TRUTH TABLE
YINY
ZX
00
11

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
InputOutput
NameFunctionQ
DData
CLKClock
ENEnable
ALnAsynchronous Load (Active Low)
ADn1Asynchronous Data (Active Low)
SLnSynchronous Load (Active Low)
SD1Synchronous Data
LAT1Latch 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
ALnLATCLKENSLnQ
10not risingXXQ
10rising0XQ
10rising11!Dn
10rising10SD
00XXX!ADn
110XXQ
1110XQ
11111!Dn
11110SD
01XXX!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
InputOutput
PADY
Table 16-276. IOPAD_IN TRUTH TABLE
PADY
ZX
00
11

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
InputOutput
D, EPAD
Table 16-278. IOPAD_TRI TRUTH TABLE
DEPAD
X0Z
010
111

16.2.3.19 OUTBUF

Output buffer.
Figure 16-128. OUTBUF
Table 16-279. OUTBUF I/O
InputOutput
DPAD
Table 16-280. OUTBUF Truth Table
DPAD
00
11

16.2.3.20 OUTBUF_DIFF

Output buffer, Differential I/O.
Figure 16-129. OUTBUF_DIFF
Table 16-281. OUTBUF_DIFF I/O
InputOutput
DPADP, PADN
Table 16-282. OUTBUF_DIFF Truth Table
DPADPPADN
001
110

16.2.3.21 TRIBUFF

Tristate output buffer.
Figure 16-130. TRIBUFF
Table 16-283. TRIBUFF I/O
InputOutput
D, EPAD
Table 16-284. TRIBUFF Truth Table
DEPAD
X0Z
D1D

16.2.3.22 TRIBUFF_DIFF

Tristate output buffer, Differential I/O.
Figure 16-131. TRIBUFF_DIFF
Table 16-285. TRIBUFF_DIFF I/O
InputOutput
D, EPADP, PADN
Table 16-286. Truth Table
DEPADPPADN
X0ZZ
0101
1110

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).