亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

一種基于fpga動態(tài)部分可重構技術的局部熱點緩和系統(tǒng)的制作方法

文檔序號:6327864閱讀:274來源:國知局
專利名稱:一種基于fpga動態(tài)部分可重構技術的局部熱點緩和系統(tǒng)的制作方法
技術領域
本發(fā)明屬于嵌入式系統(tǒng)領域,具體涉及一種防止現(xiàn)場可編程門陣列(FPGA)在運行過程中,長時間運行某一特定功能區(qū)域導致局部區(qū)域過熱而引發(fā)FPGA局部區(qū)域運行異常的系統(tǒng)。
背景技術
現(xiàn)場可編程門陣列(FPGA)具有良好的可編程特性,其不僅有專用集成電路的運行速度和可靠性,而且具有通用處理器的靈活性。因此基于FPGA的嵌入式系統(tǒng)具有高能效、低功耗、開發(fā)周期短等特性,且隨著FPGA嵌入式系統(tǒng)開發(fā)成本的不斷降低、FPGA集成度越來越高使其能解決更復雜的邏輯功能,在很多場合取代了 ASIC產(chǎn)品,廣泛應用于無線通信、航空航天、消費電子、工業(yè)控制、測量測試等領域。但是隨著對現(xiàn)場可編程門陣列(FPGA) 性能要求的不斷提高,通過提升FPGA內(nèi)邏輯器件的密度,提高其運行速度,增加運行的硬件行任,使FPGA局部溫度上升更加迅速。FPGA設備溫度上升會對FPGA設備產(chǎn)生一系列不良的影響1)FPAG溫度的升高可導致漏電功耗的急劇上升,導致FPGA功耗的升高。2)溫度的上升對FPGA設備的使用壽命也有巨大的影響,減少10°C設備操作溫度能延長設備2倍的使用壽命。然而對于傳統(tǒng)的嵌入式系統(tǒng)而言,其硬件平臺是不能更改的,因此長時間運行嵌入式系統(tǒng)中的某一硬件功能模塊,最終會使該硬件模塊的溫度不斷積累上升超過FPGA設備正常運行的區(qū)域范圍。持續(xù)的高溫運行功能模塊可導致FPGA嵌入式系統(tǒng)局部功能區(qū)域的損壞,導致整個系統(tǒng)癱瘓。尤其在復雜、惡劣的環(huán)境,比如深海區(qū)域,外太空等等,F(xiàn)PGA設備溫度更加難以控制,并且在這樣的環(huán)境中人為也難以實時檢測設備的溫度,或更新設備硬件。因此本文的發(fā)明應用有著重要的意義和實際使用價值。雖然FPAG嵌入式系統(tǒng)可使用靜態(tài)全局可重構方法,燒寫不同布局布線的比特流文件,但是使用這種方法將要求整個系統(tǒng)停止工作且重新燒寫時間長較長,這會大大降低系統(tǒng)的性能和靈活性,實時性更難得到保證。

發(fā)明內(nèi)容
本發(fā)明的目的是針對上述問題,提出一種基于FPGA的動態(tài)部分可重構技術的局部熱點緩和系統(tǒng)。本發(fā)明使用動態(tài)部分可重構技術,在不打斷FPGA嵌入式系統(tǒng)運行的情況下,通過實時操作系統(tǒng)實時調度溫度過高區(qū)域運行任務到溫度較低的可重構區(qū)域。通過使用環(huán)形振蕩器實現(xiàn)FPGA嵌入式系統(tǒng)中各個模塊對自身溫度的檢測,當發(fā)現(xiàn)自身任務模塊運行區(qū)域溫度過高時,通過中斷控制模塊向操作系統(tǒng)發(fā)送溫度過高中斷,操作系統(tǒng)即可調用其上運行的調度策略任務,尋找與溫度過高區(qū)域大小相匹配的可重構區(qū)域,調度溫度過高區(qū)域的可重構任務到溫度較低的可重構區(qū)域,從而緩和FPGA嵌入式系統(tǒng)中局部溫度過高問題,降低FPGA芯片功耗,提高FPGA芯片的硬件生命周期。本發(fā)明的總體技術方案嵌入式系統(tǒng)根據(jù)實現(xiàn)的功能不同可分成各個功能模塊,每個硬件功能模塊可通過硬件描述語言編寫結構體詳細描述其實現(xiàn)邏輯,最后每個功能模塊實體通過在頂層文件中聲明并實例化,描述各個功能模塊之間的端口連接,實現(xiàn)基于FPGA的嵌入式系統(tǒng)硬件平臺的搭建。在本系統(tǒng)中的FPGA嵌入式系統(tǒng)應用了動態(tài)部分可重構功能,因此該硬件平臺可分為 靜態(tài)區(qū)域和動態(tài)可重構區(qū)域兩部分。在硬件靜態(tài)區(qū)域中包含中斷控制模塊,RSIC嵌入式中央處理器,內(nèi)部控制接口配置模塊。動態(tài)可重構區(qū)域中放置需要被調度的硬件可重構任務。 在嵌入式系統(tǒng)硬件平臺上移植實時操作系統(tǒng)用于控制整個嵌入式系統(tǒng)的運行。所述的RSIC嵌入式中央處理器是嵌入到FPGA嵌入式系統(tǒng)上的硬核處理器,用于解釋嵌入式系統(tǒng)中的指令以及處理數(shù)據(jù)。通過CoreCormect總線分別連接各個硬件功能模塊,如串口模塊,總線宏模塊,內(nèi)部控制接口配置模塊。所述的串口模塊用于嵌入式系統(tǒng)與計算機之間的通信。所述的總線宏模塊用于連接靜態(tài)區(qū)域與動態(tài)可重構區(qū)域,實現(xiàn)兩者之間的通信。所述的內(nèi)部控制接口配置模塊用于讀取外部存儲器中的可重構比特流文件,并使用可重構比特流文件實現(xiàn)硬件比特流的配置。所述的實時操作系統(tǒng)是移植在RSIC嵌入式中央處理器上的操作系統(tǒng),并在實時操作系統(tǒng)上運行溫度輪詢?nèi)蝿蘸驼{度策略任務兩個軟件任務。接收來自中斷模塊的中斷信號,運行調度策略任務。所述的溫度輪詢?nèi)蝿胀ㄟ^調用實時操作系統(tǒng)底層接口,查詢在可重構模塊中嵌入的環(huán)形振蕩器所輸出的頻率,通過相應公式獲得可重構模塊的溫度,并將每個可重構模塊的溫度保存在溫度表中供調度策略使用。所述的環(huán)形振蕩器是嵌入在可重構任務模塊中的硬件模塊,在溫度變化的時候其頻率會隨之變化,通過獲得環(huán)形振蕩器的頻率間接得出可重構模塊的溫度。當溫度過高時向中斷控制模塊發(fā)送溫度過高警報。所述的調度策略任務查詢溫度輪詢?nèi)蝿账玫降臏囟缺碇忻總€可重構模塊的溫度,根據(jù)用戶制定的調度策略,將溫度過高的動態(tài)可重構任務調度到溫度相對較低的可重構區(qū)域中。所述的中斷控制模塊用于接收來自可重構模塊的溫度過高警報,并向實時操作系統(tǒng)發(fā)出中斷請求。本發(fā)明可應用于各種具有動態(tài)部分可重構功能的FPGA嵌入式系統(tǒng)中,為實現(xiàn)功能模塊任務調度,每個可重構區(qū)域對應多個嵌入式系統(tǒng)中相應的可重構模塊比特流文件。 使用硬件邏輯資源相近的可重構模塊之間可以通過動態(tài)部分可重構技術實現(xiàn)調換。采用實時操作系統(tǒng),使用中斷控制模塊提高系統(tǒng)的實時性,通過調度決策任務調度溫度過高的可重構模塊運行區(qū)域,降低局部區(qū)域溫度,延長FPGA嵌入式系統(tǒng)硬件的生命周期,提高系統(tǒng)可靠性。本發(fā)明系統(tǒng)設計使用動態(tài)部分可重構技術調度可重構模塊,具有較高的實時性,且也可用于更新硬件模塊任務代碼實現(xiàn)FPGA嵌入式系統(tǒng)更新升級。


圖1動態(tài)部分可重構局部熱點緩和系統(tǒng)框圖; 圖2系統(tǒng)內(nèi)部各個模塊之間的鏈接框3系統(tǒng)硬件平臺比特流生成流程4 FPGA芯片結構及布局示意5操作系統(tǒng)軟件運行流程圖; 圖6軟硬件合并流程圖。
具體實施例方式下面結合附圖對本發(fā)明做進一步的分析和介紹,通過實現(xiàn)詳細分析實施方式。本發(fā)明采用FPGA動態(tài)部分可重構技術,可在系統(tǒng)運行的狀態(tài)下動態(tài)地改變運行的硬件任務所在區(qū)域,能夠有效的解決運行任務所在局部區(qū)域溫度過高的問題。通過調度溫度過高的運行硬件任務到溫度相對較低的可重構區(qū)域,從而有效的降低局部可重構區(qū)域溫度過高的問題。采用本方法可大大提高系統(tǒng)的實時處理能力,在不打斷嵌入式系統(tǒng)運行的情況下緩和局部區(qū)域溫度。本發(fā)明是一種基于動態(tài)部分可重構的局部熱點緩和系統(tǒng),本實例在Xilinx的 Virtex-II Pro平臺上進行開發(fā)和設計。該平臺支持動態(tài)部分可重構技術的實現(xiàn),且其FPGA 內(nèi)部內(nèi)嵌入了兩個Powerpc405 RSIC處理器,可利用CoreConct總線標準技術鏈接多個固核(IP Core)使基于SOPC的動態(tài)部分可重構系統(tǒng)設計和應用更加的靈活方便,該平臺的嵌入式開發(fā)套件中所帶的IP核可以重復的利用更新,從而可以縮短系統(tǒng)的開發(fā)周期,方便地升級系統(tǒng)硬件,大大節(jié)省人力資源和開發(fā)成本。在本發(fā)明中使用的CoreCormect總線規(guī)范包含三種總線架構和兩個轉化橋連,其分別是PLB總線(Processor Local Bus,處理器本地總線)、0ΡΒ 總線(On-chip Peripheral Bus,片上外設總線)、DRC 總線(Device Control Register Bus,設備控制寄存器總線)及 PLB20PB Bridge 和 0PB2DCR Bridge。本實施例是在Xilinx的Virtex-II Pro平臺上進行開發(fā)和設計的,其系統(tǒng)框架如圖1所示,本實施總體上可分以下4部分
1)處理器系統(tǒng)部分其中包括硬件PowerPC405處理器和軟件MC/0S-II操作系統(tǒng);
2)可重構區(qū)域在本實例中采用4個可重構區(qū)域供FPGA嵌入式系統(tǒng)放置硬件功能模塊,其數(shù)目可以根據(jù)具體的設計而定;
3)中斷控制模塊該模塊接收來自可重構模塊的溫度過高警報,向實時操作系統(tǒng)發(fā)送溫度過高中斷,實時操作系統(tǒng)調用調度策略任務,實現(xiàn)局部溫度緩和;
4)調度策略模塊該模塊包含實現(xiàn)系統(tǒng)局部熱點緩和所采用的算法和具體的操作策略,通過調用溫度輪詢?nèi)蝿斋@取可重構模塊的溫度。5)溫度輪詢模塊通過讀取可重構模塊中環(huán)形振蕩器的頻率輸出,經(jīng)過公式轉換為可重構模塊溫度,并將每個可重構模塊的溫度值放入溫度表中。具體實施步驟及說明
1.利用嵌入式開發(fā)套件(EDK)設計系統(tǒng)硬件平臺
如圖2所示是本發(fā)明系統(tǒng)構架的內(nèi)部IP核之間的具體鏈接,選擇POwerPC405處理器, 作為中央處理器控制所有的IP核模塊。采用Virtex-II Pro開發(fā)板作為實例演示平臺,使用Xilinx嵌入式開發(fā)套件中自帶的IP核進行設計,具體使用的IP核包括PLB_v34總線 IP核(硬件版本1. 02. a)、0PB_v20 IP核(硬件版本1. 10. a), PLB_BRAM控制器IP核(硬件版本1. 00. b,軟件驅動版本1. 00. a)、0PB_HWICAP IP核(硬件版本1. 00. b,軟件驅動版本1. 00. c)、PLB20PB bridge IP 核(硬件版本 1· 01. ει,軟件驅動版本 1. 00. a)、OPB_SYSTEMACE IP核(硬件版本,1. 00. c,軟件驅動版本1. 01. a)、0PB_INTC中斷控制器IP核(硬件版本 1. 00. c,軟件驅動版本1. 00. c)、JTAG IP核(硬件版本2. 00. a,軟件驅動版本1. 00. a)、0PB_ UARTLITE串口通信核IP核(硬件版本1. 00. b,軟件驅動版本1. 02. a)。除嵌入式開發(fā)套件中的IP核以外,在圖2所示中還包含部分可重構模塊IP核,該 IP核為用戶根據(jù)嵌入式功能模塊需要實現(xiàn)的功能,使用硬件描述語言編寫,通過使用ISE 軟件生成IP核模塊,掛在OPB總線上。2.系統(tǒng)硬件平臺比特流生成流程
嵌入式系統(tǒng)分割成多個功能模塊后,其功能模塊放入可重構區(qū)域,作為可重構模塊,其他邏輯連接控制部分作為靜態(tài)區(qū)域,即在系統(tǒng)運行時不需要修改的部分,靜態(tài)區(qū)域和可重構區(qū)域之間的連接通過總線宏實現(xiàn)。在FPGA嵌入式系統(tǒng)開發(fā)平臺中通過如圖2所示的IP 核連接方式,在嵌入式開發(fā)套件中連接各個IP核模塊,生成頂層網(wǎng)表文件(top. ngc)。在頂層網(wǎng)表文件中包含靜態(tài)區(qū)域和實例化的可重構區(qū)域實體。因為可重構區(qū)域實體實現(xiàn)的邏輯功能是可變的,所以其作為一個黑盒子放置在頂層文件中,只是描述可重構區(qū)域實體與靜態(tài)區(qū)域通過總線宏端口之間的連接。FPGA嵌入式系統(tǒng)中的可重構功能模塊通過硬件描述語言Verilog編寫,在ISE 9. 1. 021中通過編譯生成可重構功能模塊網(wǎng)表文件。總線宏網(wǎng)表由Xilinx官方提供,根據(jù)開發(fā)平臺Virtex-II Pro選擇適合的網(wǎng)表文件busmacro_xc2vp_ 12r_async_enab 1 e_narrow. nmc,busmacro_xc2vp_l2r_async_enab 1 e_narrow. nmc0 件平臺比特流生成流程如圖3所示。在圖3中的用戶約束文件(ucf )實現(xiàn)時序約束,管腳約束。FPGA嵌入式系統(tǒng)硬件平臺中所使用的時鐘約束,0PB_SYSTEMACE IP核的管腳約束,0PB_UARTLITE串口通信核IP 核的管腳約束等都在用戶約束文件中描述。通過使用planahead軟件,將由嵌入式開發(fā)套件(EDK)產(chǎn)生的頂層網(wǎng)表文件和ISE 產(chǎn)生的可重構功能模塊網(wǎng)表文件,總線宏網(wǎng)表文件和用戶自己編寫的用戶約束文件通過翻譯、映射生成靜態(tài)區(qū)域NCD文件和可重構模塊NCD文件,生成的系統(tǒng)結構布局示意如圖4所示,再通過布局布線生成全局靜態(tài)比特流文件和部分可重構比特流文件。全局比特流文件中包含靜態(tài)區(qū)域邏輯和初始可重構模塊。初始可重構模塊即是可重構區(qū)域初始放置的可重構模塊。3. MC/OS-II實時操作系統(tǒng)的移植及應用程序設計
MC/0S-II是源碼公開的實時搶占式嵌入式操作系統(tǒng),其大部分代碼采用C語言編寫,因此有著很好的移植性。在移植MC/0S-II操作系統(tǒng)時,只需根據(jù)移植的硬件平臺 PowerPC405 處理器修改 0S_CPU. H、0S_CPU_C. C、0S_CPU_A、ASM 三個文件。0S_CPU.H文件移植1)設置堆棧的增長方向。2)定義數(shù)據(jù)類型由于不同的處理器有不同的字長,因此使用定義的數(shù)據(jù)類型可以確保文件的良好移植性。3)中斷宏定義 在保護臨界區(qū)需要在內(nèi)核中禁止中斷,避免MC/0S-II臨界段代碼受到多任務或中斷服務子程序的破壞。0S_CPU_C.C文件移植在此文件中主要實現(xiàn)初始化任務堆棧結構,在函數(shù) OSTaskStkInit ()中實現(xiàn)。雖然其中還包含幾個接口函數(shù),但是在實際中只需聲明并不要求一定包含代碼。
0S_CPU_A、ASM文件移植在本文件中需要編寫4個匯編語言函數(shù) OSStartHighRdy ()、OSCtxSw ()、OSIntCtxSw ()、OSTickISR()。OSStartHighRdy ()函數(shù)負責運行高優(yōu)先級任務,通過獲取優(yōu)先級最高的任務堆棧指針,從新任務的堆棧中恢復出所有寄存器,最后從中斷指令返回。OSCtxSwO通過將當前任務的寄存器壓入當前任務的堆棧中,并將當前任務的堆棧指針保存到當前任務控制塊中,然后調用高優(yōu)先級任務。 OSTickISRO其無需對當前任務寄存器進行保存實現(xiàn)任務切換工作。OSTickISRO提供周期性時鐘源實現(xiàn)時間延遲和超時。在MC/0S-II操作系統(tǒng)上有兩個應用任務,如圖1所示。溫度輪詢?nèi)蝿胀ㄟ^輪詢方式查詢每個硬件可重構模塊的溫度,并將溫度查詢結果放置在溫度表中。在本實例中,調度算法綜合考慮各個可重構區(qū)域中的任務在未來可能運行時間的長短和溫度表中各個區(qū)域中的溫度狀況這兩個因素,以此來決定調度溫度表中溫度過高的可重構任務模塊與哪個溫度相對最低的可重構任務模塊對換,然后繼續(xù)執(zhí)行。操作系統(tǒng)軟件運行流程如圖5所示。4.硬件比特流和軟件任務合并
通過EDK、ISE、planahead軟件生成的硬件全局比特流文件(.bit)和MC/0S-II操作系統(tǒng)及應用程序在PowerPC405上移植編譯以后生成的軟件可執(zhí)行文件(.elf)合并生成最終可以下載到開發(fā)板上運行的比特流文件。使用EDK shell命令合并硬件全局比特流文件和軟件可執(zhí)行文件生成最后的下載比特流文件(.bit)。下載比特流文件生成流程如圖6所示。
權利要求
1. 一種基于FPGA動態(tài)部分可重構技術的局部熱點緩和系統(tǒng),其特征是 在RSIC嵌入式中央處理器上移植實時操作系統(tǒng),利用CoreCormect總線技術連接中斷控制模塊、內(nèi)部控制接口配置模塊、串口 UART模塊;通過在實時操作系統(tǒng)上運行的調度策略任務控制FPGA嵌入式系統(tǒng)中功能模塊的放置和管理,調用溫度輪詢?nèi)蝿?,實現(xiàn)對可重構區(qū)域溫度的監(jiān)測;使用動態(tài)部分可重構技術使嵌入式系統(tǒng)硬件平臺可分為靜態(tài)區(qū)和動態(tài)可重構區(qū)域;在靜態(tài)區(qū)域中包含中斷控制模塊,RSIC嵌入式中央處理器,內(nèi)部控制接口配置模塊;動態(tài)可重構區(qū)域中放置需要被調度的硬件可重構任務;所述的RSIC嵌入式中央處理器是嵌入到FPGA嵌入式系統(tǒng)上的硬核處理器,用于解釋嵌入式系統(tǒng)中的指令以及處理數(shù)據(jù);通過CoreCormect總線分別連接各個硬件功能模塊, 硬件功能模塊包括串口模塊,總線宏模塊,內(nèi)部控制接口配置模塊; 所述的串口模塊用于嵌入式系統(tǒng)與計算機之間的通信; 所述的總線宏模塊用于連接靜態(tài)區(qū)域與動態(tài)可重構區(qū)域,實現(xiàn)兩者之間的通信; 所述的內(nèi)部控制接口用于讀取外部存儲器中的可重構比特流文件,并使用可重構比特流文件實現(xiàn)硬件比特流的配置;所述的實時操作系統(tǒng)是移植在RSIC嵌入式中央處理器上的操作系統(tǒng),并在實時操作系統(tǒng)上運行溫度輪詢?nèi)蝿蘸驼{度策略任務兩個軟件任務;實時操作系統(tǒng)接收來自中斷模塊的中斷信號,運行調度策略任務;所述的溫度輪詢?nèi)蝿胀ㄟ^調用實時操作系統(tǒng)底層接口,查詢在可重構模塊中嵌入的環(huán)形振蕩器所輸出的頻率,通過相應公式獲得可重構模塊的溫度,并將每個可重構模塊的溫度保存在溫度表中供調度策略使用;所述的環(huán)形振蕩器是嵌入在可重構任務模塊中的硬件模塊,在溫度變化的時候其頻率會隨之變化,通過獲得環(huán)形振蕩器的頻率間接得出可重構模塊的溫度;當溫度過高時向中斷控制模塊發(fā)送溫度過高警報;所述的調度策略任務查詢溫度輪詢?nèi)蝿账玫降臏囟缺碇忻總€可重構模塊的溫度,根據(jù)用戶制定的調度策略,將溫度過高的動態(tài)可重構任務調度到溫度相對較低的可重構區(qū)域中;所述的中斷控制模塊用于接收來自可重構模塊的溫度過高警報,并向實時操作系統(tǒng)發(fā)出中斷請求。
全文摘要
本發(fā)明涉及一種基于FPGA動態(tài)部分可重構技術的局部熱點緩和系統(tǒng)。工程應用中,持續(xù)的高溫運行可導致FPGA嵌入式系統(tǒng)局部功能區(qū)域損壞,導致整個系統(tǒng)癱瘓。本發(fā)明通過實時操作系統(tǒng)實時調度溫度過高區(qū)域運行任務到溫度較低的可重構區(qū)域,使用環(huán)形振蕩器實現(xiàn)嵌入式系統(tǒng)中各個模塊對自身溫度的檢測,當發(fā)現(xiàn)自身任務模塊運行區(qū)域溫度過高時,通過中斷控制模塊向操作系統(tǒng)發(fā)送溫度過高中斷,操作系統(tǒng)即調用其上運行的調度策略任務,尋找與溫度過高區(qū)域大小相匹配的可重構區(qū)域,調度溫度過高區(qū)域的可重構任務到溫度較低的可重構區(qū)域。本發(fā)明緩和了FPGA嵌入式系統(tǒng)中局部溫度過高問題,降低FPGA芯片功耗,提高FPGA芯片的硬件生命周期。
文檔編號G05B19/042GK102298344SQ201110115468
公開日2011年12月28日 申請日期2011年5月5日 優(yōu)先權日2011年5月5日
發(fā)明者姚羲, 張佳芳, 戴國駿, 高志剛 申請人:杭州電子科技大學
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1