很多人做了很久的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使能引脚 |
随笔记录自己从一个项目立项到最后调试完成所做的工作,包括调研选型、关键技术突破、知识短板补缺等,随着时间的推移,会不断地根据实践经验反馈完善以前的博文,力求每一个要论述的问题精准完备,具有高度可信的参考价值,也希望看我博文的读者能够多提意见建议,帮助我成为一个更优秀的项目负责人,让我们一起共同进步,谢谢大家!