上传者: 42564775
|
上传时间: 2025-08-31 19:24:36
|
文件大小: 320KB
|
文件类型: DOCX
在Ultrascale系列FPGA中,Flash的配置和操作是一项关键任务,这对于系统的启动和固件更新至关重要。本文将详细解析如何在这些器件中进行Flash的配置。
了解Ultrascale系列FPGA的启动机制。在该系列中,SPI(Serial Peripheral Interface)和BPI(Byte Parallel Interface)启动模式均可用。SPI启动的数据线位于bank0,而BPI启动的数据线DQ0-DQ3同样位于bank0,这部分区域被视为FPGA的特殊分区。在选择SPI或BPI启动后,可以利用Flash的剩余空间存储其他数据或进行远程固件更新。
Xilinx提供了针对VCU108开发板的技术实现,它使用MicroBlaze软核连接到AXI外部存储器控制器(AXIEMC),并通过STARTUPE3原语通过专用BPI配置接口实现对BPI Flash的读写访问。实现流程大致分为两步:使用存储在BPI Flash中的BIN文件配置FPGA;然后,在MicroBlaze上运行应用程序,通过Xmodem协议下载新比特流,并通过CRC校验更新BPI Flash,最后执行IPROG操作以重新配置FPGA。
在系统设计中,时钟拓扑起着核心作用。外部300MHz差分时钟经过MMCM分频,生成100MHz和50MHz时钟。50MHz时钟用于AXI EMC、处理器系统复位和axi_hwicap模块,100MHz时钟则服务于AXI外设互连和其他外设。AXI EMC使用50MHz时钟,通过STARTUPE3原语与BPI Flash通信,确保时钟同步。
AXI EMC内核的设置是关键。地址线被截断至26位,匹配Flash的A[25:0],数据线分为两部分,一部分通过STARTUPE3原语与BPI Flash接口相连,另一部分通过顶层设计中的三态IOBUF连接到FPGA的双用途I/O引脚。此外,芯片使能信号、读写使能信号等都通过STARTUPE3或直接传输到FPGA引脚,以驱动BPI Flash。
MMCM产生的50MHz时钟信号通过STARTUPE3的USRCCLKO端口传递给FPGA的专用CCLK引脚,再传输给BPI Flash的CLK引脚。对于从设计逻辑传输到USRCCLKO引脚的信号,需要特定的引脚约束和时序约束处理。
总结来说,Ultrascale系列FPGA的Flash配置涉及SPI和BPI启动方式的选择,使用STARTUPE3原语和AXI EMC内核进行读写操作,时钟管理和信号路由至关重要。通过MicroBlaze和Xmodem协议,可以实现固件的动态更新和系统维护,确保了系统的灵活性和可靠性。理解并掌握这些知识点对于进行Ultrascale系列FPGA的开发和应用至关重要。