? ? ? ? ?很多人做了很久的FPGA,知道怎么去給信號分配引腳,卻對這些引腳的功能及其資源限制知之甚少;在第一章里對Zynq7000系列的系統框架進行了分析和論述,對Zynq7000系列的基本資源和概念有了大致的認識,然而要很好地進行硬件設計,還必須了解芯片的引腳特性,以確定其是否符合我們的選型要求,這些要求包括GTX引腳數目、select IO引腳數目、select IO引腳的資源配置情況、PS IO的數目及類型等。
1.?????? Zynq7000系列引腳分類
Zynq7000系列引腳的分類是確定的,而各類引腳的數目則因芯片封裝的不同而不同,(為了便于理解,本文所列引腳數目皆以XQ7Z045 FFG900封裝為例,文章其他部分不再做出說明)其主要類型如下:
? ? FFG900 | 引腳分類 | 引腳個數 | 備注 |
PS IO | 128 | ARM處理系統的專用引腳 | |
Select IO | 362 | 普通的FPGA引腳 | |
Configuration Pins In Bank 0 | 17 | Jtag類的一些引腳 | |
GTX Pins | 16X4(16個通道,每通道兩對差分引腳) | 高速串行收發引腳 | |
XADC Pins | 32 | 模數轉換引腳 |
?
1.1.??? Configuration Pins In Bank 0
Pin Name | Type | Direction | Description |
DONE_0 | Dedicated | Bidirectional | 高有效,高代表配置完成 |
INIT_B_0 | Dedicated | Bidirectional | 低有效,表示配置存儲器正在初始化 |
PROGRAM_B_0 | Dedicated | Input | 低有效,表示異步復位配置邏輯 |
TCK_0 | Dedicated | Input | Jtag時鐘信號 |
TDI_0 | Dedicated | Input | Jtag數據輸入 |
TDO_0 | Dedicated | Output | Jtag數據輸出 |
TMS_0 | Dedicated | Input | Jtag模式選擇 |
CFGBVS_0 | Dedicated | Input | 為bank0的配置引腳預選擇電平標準,1表示bank0的供電電壓為2.5或3.3;0表示bank0的供電電壓為1.8 |
PUDC_B | Multi-function | Input | 上拉電阻配置引腳,配置Select IO在配置階段或上電后的其上拉電阻是否使能。當接GND,表示不使能;接VCCO_34表示使能。 |
?
1.2.??? Power/Ground Pins
Pin Name | Type | Direction | Description |
GND | Dedicated | N/A | 地 |
VCCPINT | Dedicated | N/A | 1.0V,PS的供電電壓 |
VCCUPAUX | Dedicated | N/A | 1.8V,PS的輔助電源 |
VCCO_MIO0 | Dedicated | N/A | 1.8—3.3,bank500中MIO的供電電壓 |
VCCO_MIO0 | Dedicated | N/A | 1.8—3.3,bank501中MIO的供電電壓 |
VCCO_DDR | Dedicated | N/A | 1.2V–1.8V,DDR的供電電壓 |
VCC_PLL | Dedicated | N/A | 1.8V,PS的PLL供電電壓,在它附近必須放置0.47uf—4.7uf的電容 |
VCCAUX | Dedicated | N/A | 1.8V,輔助電路供電電壓 |
VCCAUX_IO_G# | Dedicated | N/A | 1.8或2.0V,輔助IO電路的供電電壓 |
VCCINT | Dedicated | N/A | 內核邏輯的供電電壓 |
VCCO_# | Dedicated | N/A | 每個bank的輸出驅動電壓 |
VCCBRAM | Dedicated | N/A | 1.0V,PL部分BLOCK RAM的供電電壓 |
VCCBATT_0 | Dedicated | N/A | 關鍵存儲器備用電源,若不使用,則接地 |
VREF | Multi-function | ? | 門限電壓 |
RSVDVCC[3:1] | Dedicated | N/A | 保留引腳,必須接到VCCO_0 |
RSVDGND | Dedicated | N/A | 保留引腳,必須接地 |
?
1.3.??? PS IO Pins
Pin Name | Type | Direction | Description |
PS_POR_B | Dedicated | input | 上電復位引腳,必須保持低電平直到PS供電和CLK正常,當它為高后,PS開始自舉(Boot) |
PS_CLK | Dedicated | Input | 系統時鐘,必須在區間[30M,60M] |
PS_SRST_B | Dedicated | Input | 系統復位,0時強制PS進入復位狀態 |
PS_MIO_VREF | Dedicated | 電壓參考值 | 提供給RGMII的接收參考電壓,其值等于1/2VCCO_MIO1 |
PS_MIO[53:0] | Multi-function | Input/Output | PS的多功能引腳,可被配置成SPI , Quad-SPI flash, NAND, USB, Ethernet, SDIO, UART, SPI, GPIO 接口 |
PS DDR Pins | |||
PS_DDR_CKP | Dedicated | Output | DDR差分時鐘+ |
PS_DDR_CKN | Dedicated | Output | DDR差分時鐘- |
PS_DDR_CKE | Dedicated | Output | DDR時鐘允許 |
PS_DDR_CS_B | Dedicated | Output | DDR片選 |
PS_DDR_RAS_B | Dedicated | Output | DDR行有效信號 |
PS_DDR_CAS_B | Dedicated | Output | DDR列有效信號 |
PS_DDR_WE_B | Dedicated | Output | DDR寫使能 |
PS_DDR_BA[2:0] | Dedicated | Output | DDR塊地址 |
PS_DDR_A[14:0] | Dedicated | Output | DDR行或列地址 |
PS_DDR_ODT | Dedicated | Output | DDR終端控制引腳 |
PS_DDR_DRST_B | Dedicated | Output | DDR復位引腳 |
PS_DDR_DQ[31:0] | Dedicated | Input/Output | DDR數據線 |
PS_DDR_DM[3:0] | Dedicated | Output | DDR數據屏蔽信號 |
PS_DDR_DQS_P[3:0] | Dedicated | Input/Output | DDR數據選通信號+ |
PS_DDR_DQS_N[3:0] | Dedicated | Input/Output | DDR數據選通信號- |
PS_DDR_VRP | Dedicated | Output | DCI參考電壓+,用來校準DDR的IO驅動強度,連接電阻后接地 |
PS_DDR_VRN | Dedicated | Output | DCI參考電壓-,用來校準DDR的IO驅動強度,連接電阻后接VCCO_DDR |
PS_DDR_VREF[1:0] | Dedicated | Voltage Reference | DDR接口的參考電壓 |
?
1.4.??? XADC Pins
Pin Name | Type | Direction | Description |
VCCADC_0 | Dedicated | N/A | XADC模擬電路電源 |
GNDADC_0 | Dedicated | N/A | 模擬電路參考地 |
VP_0 | Dedicated | Input | 模擬差分輸入正極 |
VN_0 | Dedicated | Input | 模擬差分輸入負極 |
VREFP_0 | Dedicated | N/A | 1.2V參考電壓 |
VREFN_0 | Dedicated | N/A | 參考地 |
AD0P through AD15P AD0N through AD15N | Multi-function | Input | 模擬輸入端0--15 |
?
?
1.5.??? Multi-gigabit Serial Transceiver Pins (GTXE2 and GTPE2)
Pin Name | Type | Direction | Description |
MGTXRXP[0:3] or MGTPRXP[0:3] | Dedicated | Input | 差分接收端正極 |
MGTXRXN[0:3] or MGTPRXN[0:3] | Dedicated | Input | 差分接收端負極 |
MGTXTXP[0:3] or MGTPTXP[0:3] | Dedicated | Output | 差分發送端正極 |
MGTXTXN[0:3] or MGTPTXN[0:3] | Dedicated | Output | 差分發送端負極 |
MGTAVCC_G# | Dedicated | Input | 1.0V發送器和接收器的內部電路模擬供電電壓 |
MGTAVTT_G# | Dedicated | Input | 1.2V發送驅動器的模擬供電電壓 |
MGTVCCAUX_G# | ? | ? | 1.8V ,GTXE2發送器專用的Quad PLL輔助模擬供電電壓 |
MGTREFCLK0/1P | ? | ? | 發送器的正參考時鐘 |
MGTREFCLK0/1N | ? | ? | 發送器的負參考時鐘 |
MGTAVTTRCAL | ? | N/A | 內部電路校準用的精度參考電阻引腳 |
MGTRREF | ? | Input | 內部電路校準用的精度參考電阻引腳 |
1.6.??? Select IO
Pin Name | Type | Direction | Description |
IO_LXXY_# IO_XX_# | Dedicated | Input/Output | 絕大多數IO都是差分的,但芯片頂端和低端的IO是單端的;#表示Bank號,XX表示該引腳在Bank里的序號,Y表示是P端還是N端 |
?
XC7Z045 FFG900芯片里Select IO的差分情況如下所示:
HR:High Range,其電壓范圍1.2và3.3V 延時資源只有IDELAY2;HP:High performance,其電壓1.8V,延時資源既有IDELAY2也有ODELAY2;
Device | I/Opins | SIO(Select IO) | PS IO | |
HR | HP | |||
XC7Z045 FFG900 | User IO | 212 | 150 | 128 |
Differential | 102 | 72 | -------- |
?
需要注意的是,很多Select IO是多功能引腳(Multi-function),它們既可以當做普通IO來用,又可以當做特殊引腳如時鐘引腳來用,特殊功能說明如下:
Pin Name | Type | Direction | Description |
MRCC | Multi-function | Input | multi-region Clock引腳,具有時鐘功能的引腳,當時鐘是單端時,時鐘信號必須由MRCC引腳的正端輸入 |
SRCC | Multi-function | Input | Single-region Clock引腳,具有時鐘功能的引腳,當時鐘是單端時,時鐘信號必須由SRCC引腳的正端輸入 |
VRN | Multi-function | N/A | DCI電壓N型晶體管參考電阻引腳,應該在每一個Bank里接上參考電阻后上拉 |
VRP | Multi-function | N/A | DCI電壓P型晶體管參考電阻引腳,應該在每一個Bank里接上參考電阻后下拉 |
DXP_0, DXN_0 | Dedicated | Input | 溫敏二極管引腳,可用于檢測芯片溫度 |
T0, T1, T2, or T3 | Multi-function | Input | 存儲器的字節分組 |
T0_DQS, T1_DQS, T2_DQS, or T3_DQS | Multi-function | Input | DDR的DQS使能引腳 |