SoC FPGA開發板的FPGA配置數據下載和固化

 

小梅哥編寫,未經許可,嚴禁用於任何商業用途編程

2018年7月2日星期一測試

 soc fpga的燒寫和固化方式與傳統的純fpga固化方式即存在形式上的相同,也存在細節上的差別,特整理此文。

AC501-SoC開發板在上電時可以根據啓動設置開關的設置,選擇從EPCS或者HPS中啓動。具體是經過EPCS仍是HPS啓動,由一個6位撥碼開關經過設置不一樣的值來決定。spa

 

 

配置方式設計

MSEL0~4調試

MSEL5blog

描述接口

ASci

10010

未使用開發

FPGA從EPCS配置it

FPPx32/

Compression

Enabled /Fast POR

01010

未使用

FPGA從HPS軟件配置,在U-Boot階段讀取存儲在SD卡上的rbf文件,而後配置FPGA

FPPx16/

Compression

Disable /Fast POR

00000

未使用

FPGA從HPS軟件配置,在U-Boot階段讀取存儲在SD卡上的rbf文件,而後配置FPGA

 

AC501-SoC開發板支持兩種方式來配置FPGA:

一、使用JTAG編程:此種方式下,FPGA的配置bit流文件直接被下載入Cyclone V SoC FPGA中,下載以後FPGA就會按照該配置文件的信息運行。可是一旦FPGA的供電被關閉了,配置信息也就丟失了。

二、使用AS方式:AS方式全稱爲主動串行配置(Active Serial configuration),此種方式下FPGA的配置bit流文件會被下載進串行配置器件(EPCS)中,EPCS是一種SPI接口的Nor Flash存儲器,即便掉電以後,數據依然存在不會丟失。當開發板下次上電時,若是MSEL設置了從EPCS中啓動,則Cyclone V SoC FPGA會自動從EPCS中加載配置數據。

 

AC501-SoC開發板上設計了標準的IDC3-10的USB Blaster接口,使用USB Blaster,實現PC鏈接FPGA和HPS,並完成配置bit流的傳輸以及運行調試。和傳統的單芯片純FPGA方式不一樣,Cyclone V SoC FPGA上的JTAG鏈同時鏈接了FPGA和HPS。所以在使用JTAG配置FPGA時過程也有必定的差異。接下來以一個具體的例子分別講解配置sof到FPGA中和燒寫jic格式的配置文件到EPCS中。

       打開一個FPGA工程,如本例以FPGA的LED測試工程「led」爲例,在菜單欄中依次點擊Tools > Programmer或直接點擊Programer圖標以打開下載界面。打開以後,軟件可能會默認搜索到工程下的led.sof文件並添加進來了,以下圖所示。若是沒有添加也沒有關係,由於添加的內容咱們後面操做時也會手動將其刪除的。

 

若是Hardware Setup一欄沒有自動找到USB Blaster,則可能須要檢查USB Blaster是否正常鏈接且已經安裝好了驅動。若是USB Blaster就緒了,此刻咱們直接點擊Start來下載添加的sof文件是會失敗的,這是由於JTAG鏈上鍊接了FPGA和HPS兩個設備,下載器不知道須要將文件下載到哪一個設備中。

首先點擊左側的Auto Detect按鈕,以使用JTAG鏈檢測其鏈接的設備型號。會提示同一個JTAG ID對應的多個設備,根據咱們使用的器件型號爲5CSEBA2,所以選擇第一個而後OK。

 

此時軟件會提示自動檢測到的設備和Programer中已經添加的設備不匹配,詢問是否更新,點擊YES更新便可,以下圖所示。

 

更新完成後能夠看到,Programer窗口的下方展現了JTAG鏈上的設備關係,以下圖所示。主要是TDI這個信號線,首先進入SOCVHPS中,而後從SOCVHPS的TDO端口流出,進入FPGA(5CSEBA2)的TDI端口,再從FPGA的TDO端口流出,回到JTAG接口的TDO信號上。選中Device一欄中的5CSEBA2項,右鍵單擊,在彈出的對話框中選擇Change File,而後找到sof文件並添加。

 

點擊sof文件對應的Program/Configure複選框以選中,而後點擊Start按鈕,就能夠開始配置sof文件到FPGA中了。配置完成後,能夠看到開發板上的兩個FPGA_LED燈分別閃爍,其中FPGA_LED0的閃爍頻率是FPGA_LED1的兩倍。

經過以上方式,完成了sof文件下載到FPGA中的功能。可是此時下載的數據是保存在FPGA的SRAM中的,掉電以後數據就丟失了,爲了可以實現FPGA上電自動配置的功能,能夠將配置數據bit文件轉化爲jic文件,燒寫到EPCS存儲器中,並設置FPGA從EPCS中啓動,這樣FPGA下次上電時就可以自動從EPCS中加載配置數據了,無需再用JTAG下載。接下來說解AC501-SoC開發板上所用Cyclone V SoC FPGA器件的jic文件生成以及燒寫方式。

 

一樣仍是打開一個設計好的FPGA工程,如led,而後在菜單欄中依次點擊File > Convert Programming Files,以下圖所示。

 

在打開的窗口中,選擇Programming file type爲JTAG Indirect Configuration File(jic)、Configuration device爲EPCS16,注意,是EPCS128,不是EPCQ128,File name設置一個有辨識度的名字,例如led.jic,以下圖所示:

 

選中下方的Flash Loader,而後點擊右側的Add Device,以下圖所示:

在彈出的對話框中選擇AC501-SoC開發板上使用的FPGA器件5CSEBA2,而後點擊OK。

 

選中SOF Data選項,而後點擊右側的Add File,添加led.sof並確認。

 

添加好以後,點擊右下角的Generate按鈕,就能生成jic文件了。

 

燒寫時,依然是先經過Auto Detect檢測器件,而後選中FPGA器件右擊以Change File,只是添加File的時候,選擇剛剛generate好的led.jic文件。勾選Program/Configure選項,而後點擊Start,就可以完成燒寫到EPCS的功能了。

 

相關文章
相關標籤/搜索