項目馬上就要結題,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中的固件擦除後,纔可再次下載。