一種fpga的加載方法和裝置的製作方法
2023-08-03 15:06:46 1
專利名稱:一種fpga的加載方法和裝置的製作方法
技術領域:
本發明涉及電子技術領域,尤其涉及一種FPGA的加載方法和裝置。
背景技術:
現場可編程門陣列(Field Programmable Gate Array, FPGA)具有編程靈活性和 硬體高速性,因此,得到越來越廣泛的應用。隨著半導體工藝的發展,FPGA的集成度越來越 高,FPGA的功耗也越來越大。隨著社會的不斷進步與科學技術的不斷發展,現在人們充分認識到了環境對人類 發展的重要性,各國都在採取積極有效的措施改善環境,減少汙染,其中最為重要也是最為 緊迫的問題就是能源問題,除了尋找新的能源,節能是關鍵的也是目前最直接有效的重要 措施。FPGA的功耗越來越大,不但增大了能量消耗,而且加速了 FPGA設備的老化,因此, 如何降低FPGA的功耗成為一個技術熱點和難點。
發明內容
本發明實施例提供了一種FPGA的加載方法和裝置,可降低FPGA的功耗。本發明實施例提供了一種現場可編程門陣列FPGA的加載方法,包括加載所述FPGA的部分內容,此時所述FPGA無法完成加載內容的檢驗;監測是否需要使用所述FPGA,如果是,則加載所述FPGA的剩餘內容。本發明實施例還提供了一種FPGA的加載裝置,其特徵在於,包括第一加載單元,用於加載所述FPGA的部分內容,此時所述FPGA無法完成加載內容 的檢驗;第一監測單元,用於監測是否需要使用第一加載單元加載後的FPGA ;第二加載單元,用於在所述第一監測單元監測到需要使用FPGA時,加載FPGA的剩 餘內容。由以上技術方案可知,本發明實施例中首先加載所述FPGA的部分內容,然後監測 是否需要使用所述FPGA,如果是,則加載所述FPGA的剩餘內容。在需要使用FPGA之前, FPGA僅加載了部分內容,此時FPGA的功耗非常小,在監測到需要使用FPGA時,僅僅需要 加載FPGA的剩餘內容,可以在很短的時間內完成加載,從而在不犧牲效率的情況下降低了 FPGA的功耗。
圖1是本發明實施例提供的一種FPGA的加載方法流程圖;圖2是本發明實施例提供的另一種FPGA的加載方法流程圖;圖3是本發明實施例提供的再一種FPGA的加載方法流程圖;圖4是本發明實施例提供的再一種FPGA的加載方法流程圖5是本發明實施例提供的一種FPGA的加載裝置結構圖;圖6是本發明實施例提供的另一種FPGA的加載裝置結構圖;圖7是本發明實施例提供的再一種FPGA的加載裝置結構圖;圖8是本發明實施例提供的再一種FPGA的加載裝置結構圖。
具體實施例方式為了更清楚地描述本發明,下面結合附圖和實施例,對本發明的具體實施方式
作 進一步詳細描述如圖1所示,為本發明實施例提供的一種FPGA的加載方法,包括S100,加載所述FPGA的部分內容;只加載了部分內容,FPGA無法完成加載內容的檢驗FPGA的功耗和擦除狀態基本 相同,處於低功耗狀態。S102,監測是否需要使用所述FPGA,如果是,則跳轉S104,如果否,則繼續監測;可以由CPU監測FPGA是否需要使用,如果不需要使用,則繼續監測,保持S102的 狀態,如果需要使用,則跳轉S104。S104,加載所述FPGA的剩餘內容。監測到FPGA需要使用後,開始加載FPGA的剩餘內容,由於FPGA剩餘內容比較小, 所以完成加載的時間比較短,不會影響客戶體驗。如果把FPGA邏輯實現所有功能時的功耗設定為100%,經過研究發現FPGA邏輯加 載完成但沒有實現任何功能時的功耗大約為77%,復位時的功耗大約為60%,加載沒有完 成時的功耗大約為6%,該現象經過實驗證實。本實施例中,上電後直接實施S 100,在另一個實施例中,為了保證FPGA加載成 功,上電後首先擦除FPGA,然後實施S100,在另一個實施例中,不需要使用FPGA時,擦除 FPGA,然後實施S100。通常情況下,加載內容,即邏輯文件的最後部分包含校驗欄位,FPGA只有完成加載 內容的校驗才會運行邏輯,故可以在FPGA完成加載內容的校驗前停止加載,剩餘內容的大 小可以根據FPGA對校驗欄位長度的要求來確定,例如可以是IK Byte0本實施例中,在需要使用FPGA之前,FPGA僅加載了部分內容,此時FPGA的功耗非 常小,在監測到需要使用FPGA時,僅僅需要加載FPGA的剩餘內容,可以在很短的時間內完 成加載,從而在不犧牲效率的情況下降低了 FPGA的功耗。如圖2所示,為本發明實施例提供的一種FPGA的加載方法,包括S200,加載所述FPGA的部分內容;只加載了部分內容,FPGA的功耗和擦除狀態基本相同,處於低功耗狀態。S202,監測是否需要使用所述FPGA,如果是,則跳轉S204,如果否,則繼續監測;可以由CPU監測FPGA是否需要使用,如果不需要使用,則繼續監測,保持S202的 狀態,如果需要使用,則跳轉S204。S204,加載所述FPGA的剩餘內容;監測到FPGA需要使用後,開始加載FPGA的剩餘內容,由於FPGA剩餘內容比較少, 所以完成加載的時間比較短,不會影響客戶體驗。
S206,初始化所述 FPGA ;完成FPGA剩餘內容的加載後,可以進行FPGA的初始化操作,例如,CPU寫FPGA寄
存器等。初始化後可以實現更多的功能,可以採用現有技術,在此不再贅述。S208,進行 FPGA 的配置。可以是相關業務的配置,相關業務可以是FPGA所在單板支持的業務類型。配置後可以實現更多的功能,可以採用現有技術,在此不再贅述。本實施例中,在需要使用FPGA之前,FPGA僅加載了部分內容,此時FPGA的功耗非 常小,在監測到需要使用FPGA時,僅僅需要加載FPGA的剩餘內容,可以在很短的時間內完 成加載,從而在不犧牲效率的情況下降低了 FPGA的功耗。如圖3所示,為本發明實施例提供的一種FPGA的加載方法,包括S300,加載所述FPGA的部分內容;只加載了部分內容,FPGA的功耗和擦除狀態基本相同,處於低功耗狀態。S302,監測是否需要使用所述FPGA,如果是,則跳轉S304,如果否,則繼續監測;可以由CPU監測FPGA是否需要使用,如果不需要使用,則繼續監測,保持S302的 狀態,如果需要使用,則跳轉S304。S304,加載所述FPGA的剩餘內容;監測到FPGA需要使用後,開始加載FPGA的剩餘內容,由於FPGA剩餘內容比較小, 所以完成加載的時間比較短,不會影響客戶體驗。S306,初始化所述 FPGA ;完成FPGA剩餘內容的加載後,可以進行FPGA的初始化操作,例如,CPU寫FPGA寄
存器等。初始化後可以實現更多的功能。S308,進行 FPGA 的配置。可以是相關業務的配置,相關業務可以是FPGA所在單板支持的業務類型。配置後可以實現更多的功能。S310,監測是否需要使用所述FPGA,如果否,則跳轉S312 ;如果否,則跳轉S312,如果是,則繼續監測。S312,擦除所述FPGA的內容,跳轉S300。把FPGA的內容擦掉,FPGA—般有用於擦除內容的硬體管腳,使能該管腳即可將 FPGA的內容擦除。擦除FPGA的內容後跳轉S300,重新加載FPGA的部分內容,需要使用FPGA時可以 迅速加載完成。本實施例中,在需要使用FPGA之前,FPGA僅加載了部分內容,此時FPGA的功耗非 常小,在監測到需要使用FPGA時,僅僅需要加載FPGA的剩餘內容,可以在很短的時間內完 成加載,從而在不犧牲效率的情況下降低了 FPGA的功耗。如圖4所示,為本發明實施例提供的一種FPGA的加載方法,包括S400,加載所述FPGA的部分內容;只加載了部分內容,FPGA的功耗和擦除狀態基本相同,處於低功耗狀態。
S402,監測是否需要使用所述FPGA,如果是,則跳轉S404,如果否,則繼續監測;可以由CPU監測FPGA是否需要使用,如果不使用,則繼續監測,保持S402的狀態, 如果需要使用,則跳轉S404。S404,加載所述FPGA的剩餘內容;監測到FPGA需要使用後,開始加載FPGA的剩餘內容,由於FPGA剩餘內容比較小, 所以完成加載的時間比較短,不會影響客戶體驗。S406,初始化所述 FPGA ;完成FPGA剩餘內容的加載後,可以進行FPGA的初始化操作,例如,CPU寫FPGA寄
存器等。初始化後可以實現更多的功能。S408,進行 FPGA 的配置。可以是相關業務的配置,相關業務可以是FPGA所在單板支持的業務類型。配置後可以實現更多的功能。S410,監測是否需要使用所述FPGA,如果否,則跳轉S412 ;S412,判斷不需要使用FPGA的時間是否超過預設的值,如果是,則跳轉S414,如果 否,則繼續判斷;預設的值可以根據需求設定,例如可以是一分鐘或一小時等。S414,擦除所述FPGA的內容,跳轉S400。把FPGA的內容擦掉,FPGA—般有用於擦除內容的硬體管腳,使能該管腳即可將 FPGA的內容擦除。擦除FPGA的內容後跳轉S400,重新加載FPGA的部分內容,需要使用FPGA時可以 迅速加載完成。本實施例中,在需要使用FPGA之前,FPGA僅加載了部分內容,此時FPGA的功耗非 常小,在監測到需要使用FPGA時,僅僅需要加載FPGA的剩餘內容,可以在很短的時間內完 成加載,從而在不犧牲效率的情況下降低了 FPGA的功耗。如圖5所示,為本發明實施例提供的一種FPGA的加載裝置,包括第一加載單元500,用於加載所述FPGA的部分內容,此時FPGA無法完成加載內容 的檢驗;第一監測單元502,用於監測是否需要使用第一加載單元500加載後的FPGA ;第二加載單元504,用於在所述第一監測單元502監測到需要使用FPGA時,加載 FPGA的剩餘內容。本實施例中,FPGA的加載裝置在需要使用FPGA之前,FPGA僅加載了部分內容,此 時FPGA的功耗非常小,在監測到需要使用FPGA時,僅僅需要加載FPGA的剩餘內容,可以在 很短的時間內完成加載,從而在不犧牲效率的情況下降低了 FPGA的功耗。如圖6所示,為本發明實施例提供的一種FPGA的加載裝置,包括第一加載單元600,用於加載所述FPGA的部分內容,此時FPGA無法完成加載內容 的檢驗;第一監測單元602,用於監測是否需要使用第一加載單元600加載後的FPGA ;第二加載單元604,用於在所述第一監測單元602監測到需要使用FPGA時,加載FPGA的剩餘內容;初始化單元606,用於初始化第二加載單元604加載後的FPGA ;配置單元608,用於進行初始化單元606初始化後的FPGA的配置。本實施例中,FPGA的加載裝置在需要使用FPGA之前,FPGA僅加載了部分內容,此 時FPGA的功耗非常小,在監測到需要使用FPGA時,僅僅需要加載FPGA的剩餘內容,可以在 很短的時間內完成加載,從而在不犧牲效率的情況下降低了 FPGA的功耗。如圖7所示,為本發明實施例提供的一種FPGA的加載裝置,包括第一加載單元700,用於加載所述FPGA的部分內容,此時FPGA無法完成加載內容 的檢驗;第一監測單元702,用於監測是否需要使用第一加載單元700加載後的FPGA ;第二加載單元704,用於在所述第一監測單元702監測到需要使用FPGA時,加載 FPGA的剩餘內容;初始化單元706,用於初始化第二加載單元704加載後的FPGA ;配置單元708,用於進行初始化單元706初始化後的FPGA的配置;第二監測單元710,用於監測是否需要使用配置單元708配置後FPGA ;第一擦除單元712,用於第二監測單元710監測到不需要使用FPGA時,擦除FPGA 的內容。第三加載單元714,用於加載擦除內容後的FPGA的部分內容,此時所述FPGA無法 完成加載內容的檢驗;第四監測單元716,用於監測是否需要使用第三加載單元714加載後的FPGA ;第四加載單元718,用於在所述第四監測單元716監測到需要使用FPGA時,加載 FPGA的剩餘內容。其中,第三加載單元714和第一加載單元700可以是同一個單元,也可以是不同的 單元,加載的部分內容的大小可以不同;第四監測單元716和第一監測單元702可以是同一 個單元,也可以是不同的單元;第四加載單元718和第二加載單元704可以是同一個單元, 也可以是不同的單元。本實施例中,FPGA的加載裝置在需要使用FPGA之前,FPGA僅加載了部分內容,此 時FPGA的功耗非常小,在監測到需要使用FPGA時,僅僅需要加載FPGA的剩餘內容,可以在 很短的時間內完成加載,從而在不犧牲效率的情況下降低了 FPGA的功耗。如圖8所示,為本發明實施例提供的一種FPGA的加載裝置,包括第一加載單元800,用於加載所述FPGA的部分內容,此時FPGA無法完成加載內容 的檢驗;第一監測單元802,用於監測是否需要使用第一加載單元800加載後的FPGA ;第二加載單元804,用於在所述第一監測單元監測到需要使用FPGA時,加載FPGA 的剩餘內容;初始化單元806,用於初始化第二加載單元804加載後的FPGA ;配置單元808,用於進行初始化單元806初始化後的FPGA的配置;第三監測單元810,用於監測是否需要使用配置單元808配置後FPGA ;第二擦除單元812,用於根據第三監測單元810的監測結果,如果不需要使用FPGA的時間超過預設的值,則擦除FPGA的內容。第三加載單元814,用於加載擦除內容後的FPGA的部分內容,此時所述FPGA無法 完成加載內容的檢驗;第四監測單元816,用於監測是否需要使用第三加載單元814加載後的FPGA ;第四加載單元818,用於在所述第四監測單元監測到需要使用FPGA時,加載FPGA 的剩餘內容。其中,第三加載單元814和第一加載單元800可以是同一個單元,也可以是不同的 單元;第四監測單元816和第一監測單元802可以是同一個單元,也可以是不同的單元;第 四加載單元818和第二加載單元804可以是同一個單元,也可以是不同的單元。本實施例中,FPGA的加載裝置在需要使用FPGA之前,FPGA僅加載了部分內容,此 時FPGA的功耗非常小,在監測到需要使用FPGA時,僅僅需要加載FPGA的剩餘內容,可以在 很短的時間內完成加載,從而在不犧牲效率的情況下降低了 FPGA的功耗。上述裝置內各模塊之間的信息交互,執行過程等內容,由於與本發明方法實施例 基於同一構思,具體內容可參見本發明方法實施例中的敘述,此處不再贅述。通過以上的實施方式的描述,本領域的技術人員可以清楚地了解到各實施方式可 藉助軟體加必需的通用硬體平臺的方式來實現,當然也可以通過硬體。基於這樣的理解,上 述技術方案本質上或者說對現有技術做出貢獻的部分可以以軟體產品的形式體現出來,該 計算機軟體產品可以存儲在計算機可讀存儲介質中,如ROM/RAM、磁碟、光碟等,包括若干指 令用以使得一臺計算機設備(可以是個人計算機,伺服器,或者網絡設備等)執行各個實施 例或者實施例的某些部分所述的方法。最後應說明的是以上實施例僅用以說明本發明的技術方案,而非對其限制;盡 管參照前述實施例對本發明進行了詳細的說明,本領域的普通技術人員應當理解其依然 可以對前述各實施例所記載的技術方案進行修改,或者對其中部分技術特徵進行等同替 換;而這些修改或者替換,並不使相應技術方案的本質脫離本發明各實施例技術方案的精 神和範圍。
權利要求
1.一種現場可編程門陣列FPGA的加載方法,其特徵在於,包括加載所述FPGA的部分內容,此時所述FPGA無法完成加載內容的檢驗; 監測是否需要使用所述FPGA,如果是,則加載所述FPGA的剩餘內容。
2.根據權利要求1所述的方法,其特徵在於,根據所述FPGA對校驗欄位長度的要求確 定所述剩餘內容的大小。
3.根據權利要求1所述的方法,其特徵在於,加載所述FPGA的剩餘內容後還包括 初始化所述FPGA ;進行FPGA的配置。
4.根據權利要求3所述的方法,其特徵在於,進行FPGA的配置後還包括 監測是否需要使用所述FPGA ;如果否,則擦除所述FPGA的內容。
5.根據權利要求3所述的方法,其特徵在於,進行FPGA的配置後還包括 監測是否需要使用所述FPGA ;如果不需要使用所述FPGA的時間超過預設的值,則擦除所述FPGA的內容。
6.根據權利要求4或5所述的方法,其特徵在於,擦除所述FPGA的內容後還包括 加載所述FPGA的部分內容,此時所述FPGA無法完成加載內容的檢驗;監測是否需要使用所述FPGA,如果是,則加載所述FPGA的剩餘內容。
7.—種FPGA的加載裝置,其特徵在於,包括第一加載單元,用於加載所述FPGA的部分內容,此時FPGA無法完成加載內容的檢驗; 第一監測單元,用於監測是否需要使用第一加載單元加載後的FPGA ; 第二加載單元,用於在所述第一監測單元監測到需要使用FPGA時,加載FPGA的剩餘內容。
8.根據權利要求7所述的裝置,其特徵在於,還包括 初始化單元,用於初始化第二加載單元加載後的FPGA ; 配置單元,用於進行初始化單元初始化後的FPGA的配置。
9.根據權利要求8所述的方法,其特徵在於,還包括 第二監測單元,用於監測是否需要使用配置單元配置後FPGA ;第一擦除單元,用於第二監測單元監測到不需要使用FPGA時,擦除FPGA的內容。
10.根據權利要求8所述的方法,其特徵在於,還包括 第三監測單元,用於監測是否需要使用配置單元配置後FPGA ;第二擦除單元,用於根據第三監測單元的監測結果,如果不需要使用FPGA的時間超過 預設的值,則擦除FPGA的內容。
11.根據權利要求9或10所述的方法,其特徵在於,還包括第三加載單元,用於加載擦除內容後的FPGA的部分內容,此時所述FPGA無法完成加載 內容的檢驗;第四監測單元,用於監測是否需要使用第三加載單元加載後的FPGA ; 第四加載單元,用於在所述第四監測單元監測到需要使用FPGA時,加載FPGA的剩餘內
全文摘要
本發明公開了一種FPGA的加載方法,包括加載所述FPGA的部分內容,此時所述FPGA無法完成加載內容的檢驗;監測是否需要使用所述FPGA,如果是,則加載所述FPGA的剩餘內容。本發明還公開了一種FPGA的加載裝置。在需要使用FPGA之前,FPGA僅加載了部分內容,此時FPGA的功耗非常小,在監測到需要使用FPGA時,僅僅需要加載FPGA的剩餘內容,可以在很短的時間內完成加載,從而在不犧牲效率的情況下降低了FPGA的功耗。
文檔編號H03K19/177GK102118157SQ20091023886
公開日2011年7月6日 申請日期2009年12月30日 優先權日2009年12月30日
發明者昌詩範, 林曉鑫 申請人:華為技術有限公司