学习笔记之Ultrascale利用STARTUPE3读写BPI

学习笔记之Ultrascale利用STARTUPE3读写BPI

1.简介

Ultrascale系列FPGA的DQ0~DQ3规划到了FPGA的专用BANK0上面,而在使用BPI加载模式时, FPGA配置完成之后,BPI配置接口通常保持未使用状,态BPI FLASH剩余空间依旧可以利用。但是,DQ0~DQ3规划到了FPGA的专用BANK0上,下图展示了如何利用剩余空间的流程。
学习笔记之Ultrascale利用STARTUPE3读写BPI_第1张图片
步骤1:使用NOR FLASH中存储的golden bitstream 镜像(golden.bin)来配置FPGA。golden bitstream 镜像包括STARTUPE3原语,接口逻辑,IP内核和约束,以实现对NOR FLASH中未使用的存储的读取和写入。
步骤2:在MicroBlaze处理器上运行应用程序代码,以通过Tera Term Xmodem协议从计算机下载新的updata.bin。然后执行IPROG操作,并从update.bin重新配置FPGA,替换原始的golden.bin。

2.原语

专用的UltraScale FPGA BPI接口信号(RDWR_FCS_B_0,CCLK_0,D03_0,D02_0,D01_DIN_0,D00_MOSI_0)位于Bank0中。 默认情况下,这些引脚不可用于并行NOR闪存的后配置访问。 为了访问这些专用引脚,设计实例化了STARTUPE3原语。下表列出了与每个专用配置引脚,与其连接的STARTUPE3端口以及相应的FPGA输出引脚位置相关的内部逻辑信号名称。
学习笔记之Ultrascale利用STARTUPE3读写BPI_第2张图片
STARTUPE3原语允许用户设计通过将设计连接到适当的STARTUPE3端口来驱动专用引脚上的FPGA输出或使其处于3状态。此外,D [03:00]可以读取为输入。用户设计可访问专用的FPGA引脚,通过STARTUPE3块的.USRCCLKO,.USRCCLKTS,.DO,.DTS,.FCSBO和.FCSBTS端口。 从并行NOR闪存返回的数据信号通过.DI端口提供给用户设计。 UltraScale FPGA引脚CCLK,D00_MOSI_0,D01_DIN_0,D02_0,D03_0和RDWR_FCS_B_0是专用的,未在约束文件中分配,因为它们的物理位置无法更改。
例如,将Clk_out从外部转发到FLASH是通过将其连接到STARTUPE3实例化的USRCCLKO端口来完成的。在设计的顶层,没有明确的Clk_out端口声明,因为只能通过与STARTUPE3模块的连接来访问FPGA的CCLK输出。 STARTUPE3端口USRCCLKTS控制USRCCLKO的使能,并为0,以便始终将CCLK信号主动驱出至并行NOR FLASH。从内部逻辑通过STARTUPE3模块到FPGA专用外部引脚的信号未显示为设计的顶层端口,也未出现在.xdc文件中。
学习笔记之Ultrascale利用STARTUPE3读写BPI_第3张图片
STARTUPE3模块的延迟和NOR FLASH的设置要求(具体型号查看手册获得),开发板板的示例约束如上图所示。该板和MT28GU01GAAA1EGC的时序延迟可通过数据手册获得。新设计中必须修改闪存的跟踪延迟,时钟延迟和输出延迟的值,以确保功能正确。
学习笔记之Ultrascale利用STARTUPE3读写BPI_第4张图片

你可能感兴趣的:(FPGA,Ultrascale,STARTUPE3,读写BPI)