小学霸修炼秘籍之FPGA篇——FPGA程序固化

项目马上就要结题,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中的固件擦除后,才可再次下载。



FPGA是一种可编程逻辑器件,它能够根据需要进行重新编程来实现不同的功能。然而,每次重新编程FPGA都需要通过将新程序加载到FPGA芯片中,这对于实际应用来说可能并不方便。因此,为了解决这个问题,FPGA芯片通常会配备一个固化程序的Flash存储器。 FPGA固化程序Flash是一种非易失性存储器,它的主要作用是存储FPGA芯片的固化程序固化程序是在芯片设计过程中将其编译成二进制码后生成的一种特殊的程序,它会被烧写到Flash存储器中。当FPGA芯片上电或重启时,固化程序将会被自动加载到FPGA芯片中,从而使芯片立即开始执行相应的功能。 固化程序的Flash存储器通常具有较大的存储容量,可以存储多个固化程序。这样,在实际应用中就可以根据需要选择加载不同的固化程序,从而方便地实现不同的功能。此外,Flash存储器还具有较快的访问速度和较长的数据保存周期,确保了FPGA芯片的可靠性和稳定性。 当需要更换固化程序时,可以通过编程器将新的固化程序烧写到Flash存储器中。这个过程相对简单,可以随时进行,并且不会损坏FPGA芯片。这种灵活性和可更改性使得FPGA芯片在实际应用中更具备可扩展性和可重用性。 总而言之,FPGA固化程序Flash是一种用于存储固化程序的非易失性存储器。它使得FPGA芯片能够在上电或重启时自动加载固化程序,从而实现特定的功能。Flash存储器具有较大的容量、快速的访问速度和较长的数据保存周期,同时也具备灵活性和可更改性,为FPGA芯片的应用提供了便利。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值