紫光同创 FPGA 开发跳坑指南(二)—— golden 位流

目录

配置看门狗

生成烧写文件

上板验证


        对于 SRAM 工艺的 FPGA 芯片,由于其配置存储单元是易失性的,FPGA 在断电之后内部配置信息将会丢失。为了让 FPGA 在上电时保持之前的电路功能,我们需要使用外部非易失性存储器(通常是 SPI FLASH)存储 FPGA 的位流。

        如果 FLASH 存储空间足够大,可以在 FLASH 中存储多个位流,当一个位流加载异常时,FPGA 将尝试加载另一个位流,通常保证后一个加载的位流能正常加载,称为 golden 位流。

图 1  紫光 Logos 系列器件上电加载流程

配置看门狗

        上电加载时,看门狗电路负责检测配置过程的超时。每经过 512 个 System Clock 时钟周期,看门狗数值减一,当看门狗数值为 0 时,触发版本回退。

        在 Project Setting 中,使能看门狗,并配置看门狗计数器。

 图 2  紫光 Project Setting 界面

生成烧写文件

        位流不能直接烧写进外部 FLASH,需要借助软件自带的工具进行转换。紫光 Logos 系列器件外部 FLASH 烧写文件为 sfc 文件,生成带 golden 程序的 sfc 文件的步骤如下:

(1)在 PDS 软件中,选择 Tools -> Configuration,打开 Fabric Configuration 工具;

(2)在配置界面中,右键点击器件,选择 Generate Multi/Dual Boot File;

(3)数据流类型选 Multi Boot Data Stream,点击 Next;

(4)选择 golden 位流和 applied 位流,并设置对应的起始地址,点击 Next;

 (5)FLASH 读模式选 SPI X1, 24-bit address,点击 Next;

(6)检查配置信息,点击 Next;

(7)最后点击 Finish,就得到带 golden 程序的 sfc 文件。

上板验证

        打开配置工具,将 sfc 文件烧写进外部 FLASH,断电重启 FPGA,可以看到 FPGA 状态寄存器 fallback 值为 0。

        将 FLASH 中的 applied 位流擦除,断电重启 FPGA,这时 FPGA 状态寄存器 fallback 值变为 1,说明启用了 golden 位流。

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

洋洋Young

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值