FPGA配置啟動詳解系列(二) PS重配置

2021-09-07 01:32:48 字數 1067 閱讀 9462

fpga(field-programmable gate array),即現場可程式設計門陣列,這是我們在很多地方都看見的解釋fpga的名詞,但是到底是現場可程式設計門陣列呢?何時能用到現場可程式設計呢?今天我們看看怎麼實現fpga的現場可程式設計。 

現在以cycloneiii器件來分析怎麼使用ps模式更新fpga**。

1.conf_done:程式設計資料完成指示腳;

2.nstatus:     程式設計狀態指示;

3.data[0]:      程式設計資料;

4.nconfig:     程式設計模式進入腳;

5.dclk:           程式設計時鐘腳;(注意:cycloneiii dclk程式設計時鐘最高為133mhz,而cycloneiii ls最高程式設計時鐘為100mhz)

程式設計時序如下:

從上圖可以看出整個程式設計時序非常簡單,直接輸入資料即可,但是細心的人發現了這裡還有個init_done管腳,當配置檔案全部匯入fpga後,fpga內部程式設計控制模組還需要使用程式設計資料對整個fpga晶元電路進行修改,因此需要一段時間,如程式設計時序上的tcd2um,即為程式設計模式轉到使用者模式下的延時時長,init_done即為指示程式設計完成的管腳。由於tcd2um在每個器件都是有個時間範圍的,只需要我們在編寫控制時序時延時超過這個值即可,所以也可以省略掉init_done管腳使用。

如下圖所示即為cycloneiii在配置完成後進入使用者狀態下的時間長短。

可以看出時長在300~650us,因此設定自己控制時序時長在700us即可進行使用者操作。但是某些場合對時間要求非常高,不想白白等待700us,這個時候init_done即可作為判斷訊號,指示初始化完成。

查閱資料手冊得知,init_done在cycloneiii系列晶元中處於bank6,並且和io口處於共用狀態,怎麼使用呢?

在quartues->assignment->setting->....如下圖所示,選取上init_done io作為程式設計指示io即可在程式設計過程中得到需要的指示訊號。

以上步驟我們已經詳細講解了怎麼使用ps對fpga現場重配置。配置檔案到底是什麼呢?sof?pof?都不是,配置檔案為最原始的rbf二進位制檔案。

採用quartues檔案轉換把sof轉換成rbf即可。

FPGA配置啟動詳解系列(二) PS重配置

fpga field programmable gate array 即現場可程式設計門陣列,這是我們在很多地方都看見的解釋fpga的名詞,但是到底是現場可程式設計門陣列呢?何時能用到現場可程式設計呢?今天我們看看怎麼實現fpga的現場可程式設計。現在以cycloneiii器件來分析怎麼使用ps模式...

FPGA配置啟動詳解系列(二) PS重配置

fpga field programmable gate array 即現場可程式設計門陣列,這是我們在很多地方都看見的解釋 fpga 的名詞,但是到底是現場可程式設計門陣列呢?何時能用到現場可程式設計呢?今天我們看看怎麼實現 fpga 的現場可程式設計。先假設一種應用場合 在某個場合中 fpga ...

LINUX(FC系列)啟動服務詳解

做為red hat linux的啟動來說,如果只是個人使用的話,只需要啟用以下服務,如果還在精減的話,只啟用network就可,這是fedora core 2啟動服務.acpid 提供高階電源管理。cpuspeed 可以提高系統執行效率。crond 執行例行性程式。iptables 防火牆。kudz...