今日头条
(UG332) 即为《Spartan-3 系列配置用户指南》
在此用户指南中,并未涵盖有关从 SPI 闪存启动时,如何使用内部配置访问端口 (ICAP) 来支持在 Spartan-3AN FPGA 内运行多重启动应用的用例。
我们将在本篇博文中讲解此用例。
为何需要 ICAP?
对于非 ICAP 设计,使用“主 SPI 模式 (Master SPI Mode)”时,多重启动功能是无效的。
要启用多重启动 (Multiboot) 功能,需要在设计中插入 ICAP。
本文随附了 ICAP 代码以供参考(扫码即可下载)。
您还可参阅 XAPP468 和 XAPP483 以获取 ICAP 功能示例,然后根据您的设计对 ICAP 进行相应的修改。
有关多重启动功能的更多信息,请点击参阅 (UG332) https://china.xilinx.com/support/documentation/user_guides/ug332.pdf
添加 ICAP 前:
在设计中插入 ICAP 之前,请先执行下列步骤:
1) 计算 Next(即下一个配置镜像)配置地址。
例如,您的闪存中可能需要存储 2 个镜像。
首先生成包含单一 BIT 文件的 MCS 文件。这样即可得到 PRM 文件,其中包含 BIT 文件的 END 地址。据此,您即可确定 Next 配置地址。
欲知详情,请参阅下图:
2) 在 MOD_REG Bitstream Settings 中,确保“NEW MODE”设置为“0”。否则将不会发生回退 (Fallback)。
3) 在黄金 (Golden) 镜像的 BIT 文件中启用以下比特流设置 (Bitstream settings)。
ICAP_Enable:Yes
4) 在黄金镜像和多重启动 BIT 文件中启用以下比特流设置:
Reset_on_err:Yes
如何添加 ICAP:
遵循以下步骤,将 ICAP 添加到您的设计中:
1) 在黄金设计中,将 Spartan3AN 器件的 ICAP 原语例化,并编写状态机以控制跳转至更新/多重启动 (Update/Multiboot) 镜像时的 ICAP 操作。或者,也可以参阅本文随附的 ICAP FSM 代码,对其进行定制以满足您的黄金设计的需求。
2) 插入 ICAP 后,请在“ICAP 原语 (ICAP Primitive)”中输入 Next 配置地址,如下所示:
3) 完成此操作后,请生成包含黄金镜像和多重启动镜像的 MCS 文件,并执行多重启动。
审核编辑:汤梓红
全部0条评论
快来发表一下你的评论吧 !