欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

Fpga重配置控制器及其控制方法

文檔序號:8256822閱讀:524來源:國知局
Fpga重配置控制器及其控制方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明屬于嵌入式計(jì)算系統(tǒng)領(lǐng)域,尤其涉及FPGA重配置控制器及其控制方法。
【背景技術(shù)】
[0002]嵌入式計(jì)算系統(tǒng)是一種以應(yīng)用為中心,以計(jì)算機(jī)處理技術(shù)為基礎(chǔ)的計(jì)算系統(tǒng),其對于功能、可靠性、成本、體積、功耗等方面都有著嚴(yán)格要求。隨著近年來嵌入式計(jì)算技術(shù)的迅猛發(fā)展,一方面,系統(tǒng)被要求具備更高速的處理能力、數(shù)據(jù)傳輸能力和更靈活的互聯(lián)拓?fù)浣Y(jié)構(gòu),可以涵蓋從前端傳感器信號采集到后端計(jì)算的全任務(wù)階段處理過程;另一方面,系統(tǒng)還需要降低成本、體積與功耗,即需要更高效率地發(fā)揮硬件資源的計(jì)算性能。
[0003]可重構(gòu)嵌入式計(jì)算系統(tǒng)是嵌入式計(jì)算領(lǐng)域未來的發(fā)展趨勢,其核心思想是在系統(tǒng)運(yùn)行期間對硬件資源進(jìn)行實(shí)時(shí)重構(gòu)。通過這種方式,一方面可以針對任務(wù)階段的不同和系統(tǒng)各功能在不同階段所需的不同處理能力進(jìn)行硬件資源的重構(gòu)與調(diào)整,從而提高了系統(tǒng)應(yīng)用的靈活性,;另一方面通過對計(jì)算資源的時(shí)分復(fù)用,提高了對硬件計(jì)算資源的利用效率,降低了成本、體積與功耗。
[0004]計(jì)算系統(tǒng)的可重構(gòu)思想早在20世紀(jì)60年代就由美國加利福尼亞大學(xué)的GeraldEstrin教授提出,但直至90年代FPGA的出現(xiàn)才使其由理論研宄走向?qū)嶋H應(yīng)用。FPGA的在線編程是實(shí)現(xiàn)嵌入式計(jì)算系統(tǒng)硬件資源運(yùn)行時(shí)實(shí)時(shí)重構(gòu)的主要技術(shù)手段,通過對FPGA芯片的邏輯資源進(jìn)行實(shí)時(shí)重配置,可以實(shí)時(shí)改變硬件電路的結(jié)構(gòu)與功能。FPGA的在線重配置分為全局重配置和局部重配置兩種形式,前者是對FPGA芯片的所有邏輯資源進(jìn)行重新配置,通常的SRAM工藝型FPGA均支持該種配置,后者是在不中斷FPGA芯片內(nèi)部其他邏輯資源正常工作的情況下,對局部的邏輯資源進(jìn)行重配置,目前市場上支持局部重配置的FPGA芯片主要是Xilinx公司的Virtex系列芯片。
[0005]通過文獻(xiàn)資料檢索可以查到當(dāng)前國內(nèi)一些關(guān)于可重構(gòu)嵌入式計(jì)算系統(tǒng)和FPGA動態(tài)重配置的綜述性文章,可重構(gòu)計(jì)算系統(tǒng)主要是一些高校在從事理論方面的研宄,但FPGA動態(tài)重配置技術(shù)已經(jīng)有了一定的工業(yè)應(yīng)用。從資料中可知,F(xiàn)PGA動態(tài)重配置技術(shù)的應(yīng)用大多是針對具體項(xiàng)目的實(shí)現(xiàn),目前尚缺乏通用化、平臺化的FPGA重配置數(shù)據(jù)及重配置過程的管理和控制手段。

【發(fā)明內(nèi)容】

[0006]為了解決【背景技術(shù)】中所存在的技術(shù)問題,本發(fā)明提出一種功能齊備的通用型FPGA重配置控制器,利用該控制器可以對重配置數(shù)據(jù)文件進(jìn)行管理,并在收到重配置命令時(shí)選擇命令指定的重配置數(shù)據(jù)文件來通過FPGA配置接口對FPGA發(fā)起全局或局部的重配置。該控制器可以使FPGA重配置的過程對于使用者更加透明,使用該控制器的設(shè)計(jì)人員只需專注于功能設(shè)計(jì)本身而無需對FPGA的重配置過程細(xì)節(jié)進(jìn)行太多額外的了解與考慮。
[0007]本發(fā)明的技術(shù)解決方案是:FPGA重配置控制器,其特征在于:所述控制器包括配置控制電路和與配置控制電路連接的配置存儲器;所述配置控制電路包括處理器控制接口、主狀態(tài)機(jī)、配置存儲器讀寫控制接口以及配置數(shù)據(jù)傳輸單元;所述處理器控制接口、配置存儲器讀寫控制接口以及配置數(shù)據(jù)傳輸單元分別與主狀態(tài)機(jī)連接;所述處理器控制接口包括局部總線接口、寄存器及中斷模塊;所述主狀態(tài)機(jī)在控制器處于工作狀態(tài)時(shí)收到寄存器及中斷模塊的軟件重配置命令或者外部的硬件重配置命令信號后,開始重配置工作。
[0008]上述配置數(shù)據(jù)傳輸單元包括DMA控制器、緩沖FIFO和配置接口控制器;DMA控制器在收到主狀態(tài)機(jī)的啟動配置數(shù)據(jù)傳輸命令時(shí),根據(jù)其提供的配置文件基址和長度,從配置存儲器中讀取配置數(shù)據(jù)并將之寫入緩沖FIFO ;配置接口控制器在緩沖FIFO中有數(shù)據(jù)時(shí)從中讀取配置數(shù)據(jù),并發(fā)送到外部被配置FPGA的配置接口中。
[0009]上述配置存儲器內(nèi)部數(shù)據(jù)組織結(jié)構(gòu)包括配置文件和配置管理信息;所述配置管理信息包括配置命令I(lǐng)D-文件ID索引表和配置文件信息表;控制器處于維護(hù)狀態(tài)時(shí),配置存儲器中的配置文件及相應(yīng)的配置管理信息由外部處理器寫入或修改;控制器處于工作狀態(tài)時(shí),主狀態(tài)機(jī)在收到重配置命令后根據(jù)重配置命令I(lǐng)D來從配置存儲器中獲取相應(yīng)的配置管理信息及配置文件數(shù)據(jù)。
[0010]FPGA重配置控制方法,其特征在于:所述FPGA重配置控制方法包括硬件觸發(fā)重配置方法和軟件設(shè)置重配置方法;所述硬件觸發(fā)重配置方法包括以下步驟:
[0011]I)若想讓控制器對外部的硬件重配置命令信號進(jìn)行響應(yīng),需首先使能控制器的硬件重配置功能。處理器可通過“局部總線”對“寄存器及中斷模塊”中的重配置使能寄存器進(jìn)行讀寫,來使能硬件重配置功能;
[0012]2)當(dāng)控制器處于工作狀態(tài),硬件重配置功能使能并且“主狀態(tài)機(jī)”處于【空閑】狀態(tài)時(shí),若“主狀態(tài)機(jī)”收到外部傳來的硬件重配置命令信號,則“主狀態(tài)機(jī)”進(jìn)入【啟動】狀態(tài),開始重配置工作;
[0013]3)在【啟動】狀態(tài),“主狀態(tài)機(jī)”解析出外部硬件重配置命令信號中包含的重配置命令I(lǐng)D,然后進(jìn)入【獲取配置文件基址、長度和相關(guān)信號】狀態(tài);
[0014]4)在【獲取配置文件基址、長度和相關(guān)信號】狀態(tài),“主狀態(tài)機(jī)”通過“存儲器讀寫控制端口 ”對配置存儲器進(jìn)行訪問,根據(jù)重配置命令I(lǐng)D在配置命令I(lǐng)D-文件ID索引表中查詢出對應(yīng)的配置文件ID,進(jìn)而在配置文件信息表中查詢出對應(yīng)配置文件的存儲基址、文件長度和相關(guān)信息。根據(jù)配置文件的相關(guān)信息,可判斷出此次重配置的配置范圍屬于全局重配置還是局部重配置。然后“主狀態(tài)機(jī)”進(jìn)入【發(fā)起FPGA配置啟動信號】狀態(tài);
[0015]5)在【發(fā)起FPGA配置啟動信號】狀態(tài),“主狀態(tài)機(jī)”需向被配置FPGA發(fā)出配置啟動控制信號,來通知被配置FPGA進(jìn)行配置啟動準(zhǔn)備工作。然后“主狀態(tài)機(jī)”進(jìn)入【監(jiān)控FPGA配置啟動完成信號】狀態(tài);
[0016]6)在【監(jiān)控FPGA配置啟動完成信號】狀態(tài),“主狀態(tài)機(jī)”監(jiān)控被配置FPGA的用于標(biāo)識配置啟動完成狀態(tài)的信號,來判斷被配置FPGA的配置啟動準(zhǔn)備工作是成功完成還是失敗。若配置啟動成功完成,則“主狀態(tài)機(jī)”進(jìn)入【啟動配置數(shù)據(jù)傳輸】狀態(tài),并轉(zhuǎn)入步驟7);若配置啟動失敗,則“主狀態(tài)機(jī)”進(jìn)入【判斷是否進(jìn)行重試配置】狀態(tài),并轉(zhuǎn)入步驟13);
[0017]7)在【啟動配置數(shù)據(jù)傳輸】狀態(tài),“主狀態(tài)機(jī)”向“DMA控制器”發(fā)出啟動配置數(shù)據(jù)傳輸?shù)拿钚盘?,并給出配置數(shù)據(jù)文件的基址和長度。隨后“主狀態(tài)機(jī)”轉(zhuǎn)入【監(jiān)控配置結(jié)果】狀態(tài);
[0018]8) “DMA控制器”在收到“主狀態(tài)機(jī)”發(fā)出的啟動配置數(shù)據(jù)傳輸?shù)拿顣r(shí),根據(jù)其提供的配置文件基址和長度,從配置存儲器中讀取配置數(shù)據(jù)并將之寫入“緩沖FIFO” ;
[0019]9) “配置接口控制器”在“緩沖FIFO”中有數(shù)據(jù)時(shí)從中讀取配置數(shù)據(jù),并發(fā)送到外部被配置FPGA的配置接口中。在配置數(shù)據(jù)發(fā)送完畢后,“配置接口控制器”監(jiān)控外部被配置FPGA的用于表示配置完成狀態(tài)的信號,并把配置結(jié)果反饋給“主狀態(tài)機(jī)”;
[0020]10) “主狀態(tài)機(jī)”在【監(jiān)控配置結(jié)果】狀態(tài)監(jiān)控“配置接口控制器”反饋的配置結(jié)果。若配置成功,則“主狀態(tài)機(jī)”進(jìn)入【發(fā)送被配置FPGA復(fù)位信號】狀態(tài),并轉(zhuǎn)入步驟11);若配置失敗,則“主狀態(tài)機(jī)”進(jìn)入【判斷是否進(jìn)行重試配置】狀態(tài),并轉(zhuǎn)入步驟13);
[0021]11)在【發(fā)送被配置FPGA復(fù)位信號】狀態(tài),“主狀態(tài)機(jī)”向被配置FPGA的重配置過的邏輯發(fā)送復(fù)位信號,然后回到【空閑】狀態(tài);
[0022]12)被配置FPGA在收到復(fù)位信號后,對重配置后的邏輯進(jìn)行復(fù)位,待重配置后的邏輯就緒后,向被配置FPGA向配置控制電路的“寄存器及中斷模塊”發(fā)送邏輯狀態(tài)就緒信號。處理器可通過中斷或者查詢的方式從“寄存器及中斷模塊”獲知被配置FPGA的重配置后的邏輯已就緒(詳見后文“處理器監(jiān)控控制器工作狀態(tài)過程”)。完成整個(gè)重配置過程;
[0023]13)如果在上述步驟6)發(fā)生配置啟動失敗或者在步驟10)發(fā)生配置失敗,則“主狀態(tài)機(jī)”進(jìn)入【判斷是否進(jìn)行重試配置】狀態(tài)。如果還未超過允許的最大重試配置次數(shù),則“主狀態(tài)機(jī)”進(jìn)入【發(fā)起FPGA配置啟動信號】狀態(tài)重新進(jìn)行配置過程,并轉(zhuǎn)入步驟5);如果已經(jīng)超過了允許的最大重試配置次數(shù),則不再進(jìn)行重試配置,“主狀態(tài)機(jī)”進(jìn)入【配置錯(cuò)誤】狀態(tài),并轉(zhuǎn)入步驟14);
[0024]14)在【配置錯(cuò)誤】狀態(tài),記錄配置錯(cuò)誤信息后,“主狀態(tài)機(jī)”回到【空閑】狀態(tài)。
[0025]上述軟件設(shè)置重配置方法包括以下步驟:
[0026]I)若想讓控制器對處理器發(fā)來的軟件重配置命令信號進(jìn)行響應(yīng),需首先使能控制器的軟件重配置功能。處理器可通過“局部總線”對“寄存器及中斷模塊”中的重配置使能寄存器進(jìn)行讀寫,來使能軟件重配置功能。然后處理器再通過“局部總線”對“寄存器及中斷模塊”中的軟件重配置命令寄存器進(jìn)行讀寫,來發(fā)出軟件重配置命令;
[0027]2)當(dāng)控制器處于工作狀態(tài),軟件重配置功能使能并且“主狀態(tài)機(jī)”處于【空閑】狀態(tài)時(shí),若“主狀態(tài)機(jī)”收到“寄存器及中斷模塊”傳來的軟件重配置命令,則“主狀態(tài)機(jī)”進(jìn)入【啟動】狀態(tài),開始重配置工作;
[0028]3)之后步驟與所述硬件觸發(fā)重配置方法的步驟3)到步驟14)相同。
[0029]本發(fā)明的優(yōu)點(diǎn)是:
[0030]I)本控制器的透明性很好。本控制器使得FPGA重配置的過程對于使用者而言是透明的,使用該控制器的設(shè)計(jì)人員只需專注于功能設(shè)計(jì)本身而無需對FPGA的重配置過程細(xì)節(jié)進(jìn)行太多額外的了解與考慮,從而可以提高工作效率。
[0031]2)本控制
當(dāng)前第1頁1 2 3 4 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1
安化县| 长丰县| 彰武县| 广河县| 固阳县| 长宁县| 玉田县| 安陆市| 思南县| 德昌县| 岳池县| 广丰县| 沂水县| 太湖县| 日照市| 建湖县| 哈尔滨市| 乐业县| 淮阳县| 静海县| 玉山县| 扶风县| 鄄城县| 筠连县| 天柱县| 当雄县| 萨嘎县| 南皮县| 京山县| 三都| 灵台县| 宿松县| 江华| 子长县| 玉山县| 荆门市| 凌源市| 元谋县| 邢台县| 洛南县| 高密市|