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

本文介绍如何在Xilinx Ultrascale FPGA中,利用STARTUPE3原语读写BPI接口,实现FPGA配置后的额外NOR FLASH空间利用。通过golden.bitstream配置FPGA,再由MicroBlaze处理器更新新的固件,实现FPGA的动态重配置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

1.简介

Ultrascale系列FPGA的DQ0~DQ3规划到了FPGA的专用BANK0上面,而在使用BPI加载模式时, FPGA配置完成之后,BPI配置接口通常保持未使用状,态BPI FLASH剩余空间依旧可以利用。但是,DQ0~DQ3规划到了FPGA的专用BANK0上,下图展示了如何利用剩余空间的流程。
在这里插入图片描述
步骤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输出引脚位置相关的内部逻辑信号名称。
在这里插入图片描述
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文件中。
在这里插入图片描述
STARTUPE3模块的延迟和NOR FLASH的设置要求(具体型号查看手册获得),开发板板的示例约束如上图所示。该板和MT28GU01GAAA1EGC的时序延迟可通过数据手册获得。新设计中必须修改闪存的跟踪延迟,时钟延迟和输出延迟的值,以确保功能正确。
在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值