一、项目需求分析
1.1 处理器选型
(1)需要通过 Vivado 去量化所需要的逻辑资源量、I/O 口资源以及 GTP 等资源;
(2)通过选型手册(7-Series Product Selection Guide)去选择合适的型号,通常需要考虑留多一些容量。
由上述资料可知,封装为 FGG484 和 FBG484 封装可以兼容设计 XC7A35T、XC7A100T 和 XC7A200T。参考市场价格如下:
| 型号 | 价格 |
|---|---|
| XC7A35T | ... |
| XC7A100T | ... |
| XC7A200T | ... |
1.2 电源器件的选型
电源功耗评估,可以采用官方给出的评估表格(7_Series_XPE_2019)进行评估;可以使用快速评估/导入 Vivado 软件文件进行评估。
汇总出 FPGA 所需要的电源类型和功耗:
- 1V0: 2.04A
- 1V2: 0.245A
- 1V5: 0.472A
- 1V8: 0.91A
- 3V3: 0.537A
实际考虑电源的类型和功耗:
- 1V0: 4A
- 1V2: 0.5A
- 1V5: 1A
- 1V8: 2A
- 3V3: 1A
所以选用一个 EA3059 芯片和一个 TPS54620RGYR。
1.3 连接器选型
采用 PCB 金手指连接。
为什么金手指会有倒角?
倒角是为了确保连接器能够快速插入,连接器边缘被倒角成 30 到 45 度的角度,以防止金手指在插拔过程中刮伤卡槽或露出铜。
金手指常用于存储器、U 盘、读卡器等。
二、7 系列 FPGA 接口总结
2.1 FPGA 电源上电时序
根据 DS181 手册,7 系列 FPGA 上电时序分为两部分,普通电源上电时序和 MGT 电源上电时序,这两个部分可以交叉着上电,满足各自时序即可。
普通电源上电时序: VCCINT(1V0)、VCCBRAM(1V0)、VCCAUX(1V8)、VCCO(1V2、1V35、1V5、1V8、2V5 和 3V3)
(1)VCC1V0_FPGA (2)VCC1V8_FPGA (3)VCC3V3_FPGA、VCC1V5_FPGA
MGT 电源上电时序: VCCINT、VCCMGTAVCC(1V0)、VCCMGTAVTT(1V2)
(1)VCC1V0_MGTAVCC (2)VCC1V2_MGTAVCC
那么上电时序可以为: VCC1V0_FPGA/VCC1V0_MGTAVCC ➡ VCC1V2_MGTAVCC ➡ VCC1V8_FPGA ➡ VCC1V5_FPGA/VCC3V3_FPGA。
每种电源所需要的电容容值: 需参考官方数据手册确定具体容值。
2.2 BANK0 信号配置
(1)CFGBVS 管脚 当 VCCO 电压为 3.3V/2.5V 时,CFGBVS_0 上拉到 VCCO; 当 VCCO 电压为 1.8V/1.5V 时,CFGBVS_0 下拉到 GND。
(2)M[2:0] 管脚 用于模式选择,具体配置参考手册。
(3)PROBLEM_B 管脚 当 PROBLEM_B_0 为低电平时,FPGA 配置被清零并启动新序列;所以需要一个≤4.7K 上拉到 VCCO。
(4)INT_B 管脚 开漏输出管脚,当配置错误时,会输出低电平信号;配置成功时,释放高阻态。所以需要一个≤4.7K 上拉到 VCCO。
(5)DONE 管脚 当配置完成时,DONE 管脚会输出一个高电平信号,开漏输出管脚,内部有一个大约 10K 的上拉电阻。
(6)JTAG 管脚 TMS(test mode select)状态选择、TDI(test data in)串行数据输入、TDO(test data out)串行数据输出、TCK(test clock)时钟。
根据 IEEE 规范,时序图要求,TCK 下降沿变更,并且在一开始 TCK 是有一个空包信号,所以 TCK 需要下拉到地,同理根据时序图要求,TDI 上拉到 VCC,TMS 和 TDO 也上拉给默认状态。
(7)CCLK 管脚 配置时钟输出引脚。
(8)DXP、DXN 管脚 温度感应二极管管脚,使用时可以连接到 MAX6627 等温度传感器芯片;不使用时,连接到 GND。
(9)VP、VN 管脚 XADC 专用差分模拟输入(正向),XADC 专用差分模拟输入(反向);如果不使用,连接到 GND。
(10)VREFP、VREFN 管脚 VREFP:可以连接到外部 1.25V,获得最佳 ADC 性能;如果没有外部参考,连接到 GND。 VREFN:可以连接到外部 1.25V,获得最佳 ADC 性能;如果没有外部参考,连接到 GND。
(11)VCCADC、GNDADC 管脚 VCCADC:可以连接到单独的 1.8V;如果没有使用,连接到 VCCAUX; GNDADC:通过铁氧体磁珠连接地;即使没有使用 XADC,也通过铁氧体磁珠连接地。
(12)VCCBAT 管脚 连接到电池以在 FPGA 未供电时保留密钥;如果不适用密钥,连接到 GND 或者 VCCAUX。
2.3 BANK14&15 管脚
(1)PUDC_B 管脚 (引脚不允许浮空) 当 PUDC_B 为低电平时,每个 SelectIO 引脚上启用内部上拉电阻,即≤1K 接到 GND; 当 PUDC_B 为高电平时,每个 SelectIO 引脚上禁用内部上拉电阻,即通过≤4.7K 电阻上接到 VCC0_14。
(2)EMCCLK 管脚 主模式:切换至 EMCCLK 时钟源;从模式/JTAG 模式:不连接。
(3)CSI_B 管脚 配置接口相关引脚。
(4)CSO_B 管脚 配置接口相关引脚。
(5)DOUT 管脚 配置数据输出。
(6)RDWR_B 管脚 读写控制。
(7)D00_MOSI 管脚 SPI 模式数据输入。
(8)D01_DIN 管脚 数据输入。
(9)D[0-31] 数据管脚 对于 SPI 模式:(区分 SPI 是 X1、X2、X3 还是 X4 类型就行) D00 连接到 SPI 的 DQ0,D01 连接到 SPI 的 DQ1,D02 连接到 SPI 的 DQ2,D03 连接到 SPI 的 DQ3。 对于 SelectMap 模式: 参考手册映射表。 对于 BPI 模式: 参考手册映射表。 对于 JTAG 模式:不用任何数据管脚。 对于以上所有模式:没有用到的管脚忽略不连接即可。
(10)A[00-28] 地址管脚 参考手册地址映射。
(11)FCS_B 管脚 帧同步控制。
(12)FOE_B 管脚 输出使能。
(13)FWE_B 管脚 写使能。
(14)ADV_B 管脚 地址有效。
(15)RS0、RS1 管脚 复位信号。
2.4 BANK 的其余引脚
(1)MRCC 管脚 多区域时钟管脚,如果是单端时钟,时钟信号必须由 MRCC 引脚的正端输入;不作为时钟管脚时,引脚作为普通的 I/O 使用。
(2)SRCC 管脚 但区域时钟管脚,如果是单端时钟,时钟信号必须由 SRCC 引脚的正端输入;不作为时钟管脚时,引脚作为普通的 I/O 使用。
(3)AD0P/N~AD15P/N 管脚 模拟输入管脚,可以作为模拟信号的输入,也可以作为普通的 I/O 管脚。
(4)T0、T1、T2、T3 内存字节组(0~3)
(5)T0/1/2/3_DQS DDR 数据选择引脚
2.5 高速接口
(1)MGTRREF 管脚 在 UG482 手册中有说明,校准输入引脚,用于终端电阻校准电路。需要一个 100Ω电阻接到 MGTAVTT。
(2)MGTVCCAUX、MGTAVTT 和 MGTAVCC 管脚 MGTVCCAUX:辅助四锁相环(QPLL)的收发器模拟供电电源; MGTAVTT:GTX 收发器内部端接的模拟供电电源; MGTAVCC:GTX 发送器和接收器的模拟供电电源。
三、7A100T 原理图设计
3.1 原理图内容规划
需包含电源树、时钟树、配置电路及高速接口布局。
3.2 FPGA_BANK0
重点处理配置引脚及 JTAG 调试接口。


