程序的固化
为什么网表下载后还要再进行固化呢?当你把下载网表的开发板断电后再重新上电发现之前的功能已经不存在了,也就是说下载后的网表消失了。为什么会这样子呢,很多人不禁问道,其实 我们使用的这款 FPGA 芯片是基于 SRAM 的结构 ,即下载后的网表存储在FPGA 内部的 SRAM 中,我们也知道 SRAM 有掉电易失的特性,这也就是我们为什么掉电后功能就消失的原因。所以我们要想使网表重新上电后仍然存在就需要将网表存储到片外的 flash 中, flash 芯片型号为 N25Q256 ,存储容量为 256Mbit ( 32M 字节),采用 SPI 协议和 FPGA 进行通信,可做为 FPGA 的配置芯片,以保证 FPGA 在重新上电后仍能继续工作。具体操作如下:
在固化前我们需要在 xdc 约束文件中加几条约束原语:
set_property CFGBVS VCCO [current_design]
set_property CONFIG_VOLTAGE 3.3 [current_design]
set_property BITSTREAM.GENERAL.COMPRESS true [current_design]
set_property BITSTREAM.CONFIG.CONFIGRATE 50 [current_design]
set_property BITSTREAM.CONFIG.SPI_BUSWIDTH 4 [current_design]
set_property BITSTREAM.CONFIG.SPI_FALL_EDGE Yes [current_design]
1.生成MCS文件
首先进行存储器配置文件
然后进行配置
然后点击OK生成成功。
下面进行BIN文件的生成,首先点击Setting,然后点击Bitstream,勾选上bin_file ,然后点击OK
下面进行固化下载
下载固化之前我们与下载 bit 文件一样,先连接后下载器,电源线,然后为开发板上电。然后右键选择“Add Configuration Memory Device”
然后根据自己的型号进行选择,选择完成后点击OK。
然后添加对应的.mcs以及.prm文件,点击OK即可。
擦除固化文件
同样在所选择的 flash 的型号上右击,出现右侧的扩展框,点击扩展框内红色的方框所框的选项,如下图所示:
然后只勾选Erase,点击OK
等待一段时间,弹出一个对话框,就说明擦除成功了。