项目马上就要结题,FPGA程序不能像之前调试时那样掉电就丢失了,需要固化在板子上,所以小学霸就恶补了一通FPGA程序固化的方法。
小学霸用的是DE10-Nano ALTERA Cyclone V 5CSEBA6U23I7的板子,EPCS为EPCS128.
在FPGA调试阶段,我们一般使用JTAG将(.sof)文件下载到SRAM中,而SRAM一般是掉电丢失的,再次上电SRAM将不再有有效数据。但当所设计的程序调试完成没有问题,就需要程序固化在板子中使其掉电处于保持状态。
程序固化就是将程序下载到EPCS芯片中,该EPCS芯片实质就是一个SPI接口的FLASH芯片,小学霸在此用的固件固化方式为现在流行的JTAG接口方式,他的基本原理是程序固件经由FPGA芯片间接烧写到该配置芯片,在芯片重新上电时,会先由EPCS芯片读取配置信息获得有效配置。
FPGA程序固化:
首先将板子的配置模式调为EPCS配置方式;
1.FPGA程序完全编译完成后,在File--Convert programming Files...
2.
programming file type 选择 JTAG Indirect Configuration File(.jic);
Configuration device 选择 EPCS128(根据自己板子型号选择,选择错误在下载时会报错);
Mode 选择 Active Serial;
勾选 Create Memory Map File 和Create config data RPD
3.
选中Flash Loader 点击Add Device...;
选择自己的设备,点击OK;
选中SOF Data 点击Add File... ,选择相应的 ,sof文件;
点击Generate 完成;
4. 点击Tools---- programmer
点击Auto Detect 选择相应设备
选中设备,并点击Change File ,选择刚才生成的.jic文件
勾选Program/Configure,选中EPCS芯片点击start按钮即可开始下载固件。
5.下载完成后不可直接运行,需断电再次上电才可;
EPCS擦除操作(Erase):
当需要修改固件时,需要先将EPCS中的固件擦除后,才可再次下载。