由于V6 FPGA不支持3.3V的电平标准,而市场上现有的SPI FLASH大多是支持3.3V的LVCMOS电平标准,两者接口电平标准不匹配。针对这个问题,可参考XILIXN的参考设计 《XAPP899, Interfacing Virtex-6 FPGAs with 3.3V I/O Standards》,为你的设计目标寻找合适选项和参数。也可以将SPI FLASH输出的3.3V数据线通过一个电阻下拉至2.5V再输入到FPGA内,不过这种方法需要选择合适的电阻阻值。因此,需要将SPI FLASH以及FPGA进行整板的IBIS信号质量仿真,寻找出最合适的下拉电阻阻值。至于FPGA输入到SPI FLASH的数据线,由于3.3V和2.5V的LVCMOS判决电平是一样的,所以影响不大,可以选择直连。
同样是由于V6不支持3.3V电平标准的原因,加载盒通过JTAG接口连接到FPGA时也会有电平不匹配的问题。这个问题的解决办法是,直接让JTAG工作在2.5V上而不需要通过电平转换芯片将JTAG工作在3.3V电压上。因为加载盒是通过JTAG供电的,JTAG输出3.3V电压,那么加载盒就输出3.3V电压;JTAG输出2.5V电压,那么加载盒就输出2.5V电压。这样子加载盒与FPGA之间都是工作在2.5V上,就不存在电平不匹配的问题了。
尽管INIT_B、DONE和PROGRAM_B这三个管脚都可以用于延迟FPGA的配置过程,但是INIT_B和DONE都不是单纯的输入或输出管脚,并且输入输出状态随配置过程而改变,外部很难同步控制,所以不建议使用这两个管脚作为FPGA配置延迟控制管脚。其中INIT_B不到万不得已不要去控制它,DONE倒是可以用来让一块板卡上的多块FPGA同步启动。可以使用PROGRAM_B来实现FPGA的重加载,应对FPGA死机无法控制的情形。 |