用於嵌入式可配置邏輯數組的內電路配置結構的製作方法
2023-04-28 20:13:31 2
專利名稱:用於嵌入式可配置邏輯數組的內電路配置結構的製作方法
技術領域:
本發明是有關於一種系統單晶片集成電路與其它包括嵌入式可配置邏輯數組作為特定用途或客戶晶片邏輯的處理器裝置。
背景技術:
已知的可程序化邏輯裝置(PLD)及場可程序化閘極數組(FPGA)的可配置邏輯數組,以及更廣為熟知的可程序化邏輯數組(PLA),具有愈來愈高密度的設計,配置此類高密度裝置的技術通常需要特定的邏輯在晶片上或在與可配置邏輯數組經系統總線溝通的主機處理器上執行。可配置邏輯數組核心的配置資料管理需要複雜的邏輯,參見頒給Lawman的美國專利第6,049,222號,配置裝置用的特定技術限制該技術可應用的環境。
可配置邏輯數組可經由使用者加載一配置資料以設定在裝置上的可程序化組件的指定配置,並將配置資料交付於其中的可程序化配置點以完成使用者指定的功能,例如場可程序化閘極數組包括一邏輯組件的數組及大量可使用配置資料加以程序化的連線。在晶片中配置資料儲存於以存儲組件所構成的配置點中,通常以靜態隨機存取存儲器(SRAM)之類的存儲單元實現,其它可配置邏輯數組包括非揮發性配置存儲器,使用只讀存儲器(ROM)、快閃記憶體(flash)或可抹除可程序化只讀存儲器(EPROM)之類的存儲單元實現。
可電荷程序化、非揮發性存儲元件已經被用來作為可程序化的開關及可配置邏輯數組中的其它配置點。參見美國專利第5,247,478號、第5,764,096號及第6,122,209號。
有關可配置邏輯數組的一個問題是將配置資料加載安裝在印刷電路板上的晶片或以其它方式結合到功能系統中。參見美國專利第4,879,688號「系統中可程序化的邏輯裝置」、第5,995,744號「可程序化電路的網絡裝置」、第6,028,445號「場可程序化閘極數組結構的解碼器構造與方法」、第6,049,222號「使用嵌入式存儲器配置場可程序化閘極數組」以及第6,102,963號「具有在系統中程序化及確認功能的電氣式可抹除及可程序化的非揮發性整合儲存裝置以支持可程序化邏輯裝置在系統中的再配置」。
系統單晶片(system-on-a-chip;SOC)裝置增加了系統的複雜度,因此SOC系統不易設計且改變費用昂貴。通過在處理器核心增加一可配置邏輯數組與該處理器核心連接可使得改變及設計較為容易,因此,可配置邏輯數組中的邏輯可利用工業上的工具結合可程序化邏輯的使用而進行配置,同時處理器核心可使用已知的軟體程序技術而程序化,但是可配置邏輯數組模塊的配置資料管理的問題依舊存在。系統單晶片技術在複雜系統上遇到的典型問題即是不易設計且改變費用昂貴,將可配置邏輯數組與處理器核心結合在一起,邏輯的組合可隨著處理器的改良而改變,也即經由可程序化邏輯數組的配置工具可達成邏輯的配置。
使系統單晶片在設計上更具彈性,以及改良可配置邏輯中管理配置的技術有所需求。
本發明提供使用嵌入式可配置邏輯的系統單晶片設計的更大的彈性,以及提供可配置邏輯的配置加載。
發明內容
本發明提供一種系統單晶片集成電路,包括一可配置邏輯數組、一處理器核心以及一存儲器用以儲存系統單晶片的任務功能指令與用於經由集成電路上的輸入埠從外部源加載配置資料到集成電路中的配置加載功能指令,處理器從存儲器中呼叫並執行指令。
在一些實施例中,存儲器也儲存了配置功能指令以加載配置資料到可配置邏輯數組中的電氣式可程序化配置點,在另一些實施例中,使用與可配置邏輯數組結合的專用邏輯執行配置功能,一接口介於處理器與晶片中可配置邏輯數組或配置邏輯之間以支持配置功能。
存儲器包括第一存儲數組以儲存配置加載功能指令,在一實施例中該存儲器為非揮發性存儲器,如只讀存儲器、浮動閘極存儲器及氮化金屬氧化半導體(nitride MOS)存儲器等,同樣地,配置功能指令也可儲存於第一存儲數組中,較佳者,配置加載功能指令儲存在可程序化存儲器中,使得在電路中可以改變配置加載功能以適應不同配置資料的遠程源以及與遠程源建立溝通管道的協議。
經由在晶片上提供配置功能及/或配置加載功能指令並由處理器核心執行,本發明的系統單晶片集成電路可以輕易地應用於廣泛的各種希望可配置邏輯數組的配置加載的環境中。
任務功能包括達成系統使用任務的特定使用者及/或特定用途指令。在使用非揮發性存儲器的實施例中,如高速靜態隨機存取存儲器(high-speed SRAM)或動態隨機存取存儲器(DRAM),該存儲器包括一存儲數組以儲存任務功能指令。在其它的實施例中,儲存任務功能指令的存儲器包括非揮發性存儲器,如只讀存儲器、浮動閘極存儲器、氮化金屬氧化半導體存儲器或類似的存儲器。在一些實施例中,儲存任務功能指令的存儲器可能包括揮發性與非揮發性存儲器的組合。
在另外的實施例中,系統中配置加載及任務功能的配置加載的指令均儲存於晶片中的非揮發性存儲器,如此,可配置邏輯數組的配置資料與任務功能指令二者的加載可以被寫入位於電路板或其它系統中的系統單晶片裡。
在一些實施例中,配置加載功能及/或配置功能包括使用看門狗定時器的程序,且集成電路中包括與處理器結合在一起的看門狗定時器電路。
可配置邏輯數組具有一由儲存於可配置邏輯數組內的電氣式可程序化配置點中的配置資料所定義的可程序化配置,例如電氣式可程序化配置點包括浮動閘極存儲單元或其它可電荷程序化、非揮發性存儲單元,在可配置邏輯數組的配置程序中配置資料會轉移到配置點中。
在一些實施例中,可程序化配置存儲器被包含在集成電路上用以儲存配置資料,根據這些實施例,配置功能包括從配置存儲器中轉移配置資料到可配置邏輯數組中的可程序化配置點,同樣地,配置加載功能包括經由在系統單晶片集成電路中的輸入埠從資料的遠程源加載配置資料到配置存儲器中。在一些實施例中,可程序化配置存儲器使用非揮發性、可程序化存儲單元,例如浮動閘極存儲器或其它可電荷程序化非揮發性存儲器。在一些實施例中,使用高速靜態隨機存取存儲器作為可程序化配置存儲器以支持可配置邏輯數組的快速配置改變。同樣地,一些實施例包括非揮發性存儲器與高速揮發性存儲器,以支持配置資料在晶片上的儲存與處理。
在其它的實施例中,處理器核心響應一初始化事件,例如重置以執行配置加載及配置功能。根據本發明的系統單晶片集成電路的一個實施例包括一看門狗定時器,依據該看門狗定時器的時間間隔引發一初始化事件,該配置加載功能包括設定看門狗定時器的時間間隔使其適用於從遠程源接收配置資料的程序,以及若到達時間間隔時則執行包括重試配置加載功能的初始化功能。
在另外的實施例中,存儲器儲存配置加載功能、任務功能及配置功能的指令。在諸如此類的實施例中,第一配置加載功能儲存於免於受配置加載功能而重寫或修改的受保護存儲器中,第一配置加載功能提供一通道以供配置資料從一預設位置嵌入受保護的存儲器中。第二配置加載功能儲存於未受保護的存儲器中,用來和配置資料遠程源溝通,該配置資料可以不在預設位置。假如初始化事件發生於配置加載操作到改變第二配置加載功能的執行期間,則第一配置加載功能可以用來回復配置加載操作。
對於熟習本技藝的人士而言,從以下所作的詳細敘述配合伴隨的圖示,本發明將能夠更清楚地被了解,其上述及其它目的及優點將會變得更明顯,其中圖1是根據本發明的系統單晶片集成電路的一個實施例的簡化方塊圖;圖2是根據本發明的系統單晶片集成電路的另一實施例的簡化方塊圖;
圖3是根據本發明的系統單晶片集成電路的又一實施例的簡化方塊圖;圖4是根據本發明的系統單晶片集成電路的較詳細的功能示意圖;圖5是根據本發明在晶片上包括配置資料存儲器的系統單晶片集成電路的一個實施例的功能示意圖;圖6是根據本發明在晶片上包括配置資料存儲器的系統單晶片集成電路的另一實施例的功能示意圖;圖7是根據本發明在晶片上包括配置資料存儲器並支持加密/解密及/或壓縮/解壓縮的系統單晶片集成電路的一個實施例的功能示意圖;以及圖8是根據本發明所提供系統單晶片集成電路環境部署的理論圖,其中配置資料由遠程源提供且系統單晶片集成電路允許配置加載功能的配置加載,以建立與遠程源的溝通管道。
主要組件符號說明10系統單晶片集成電路11微控制器核心模塊12輸入/輸出結構13受保護存儲器14可程序化存儲器15可配置邏輯數組15A 可配置邏輯數組的程序段16配置存儲器100 微控制器核心101 啟動向量102 定時器103 看門狗定時器104 輸入/輸出埠105 中斷線
106 其他信號輸入與輸出107 第一存儲數組108 第二存儲數組109 第三存儲數組110 可配置邏輯數組111 資料記錄112 配置記錄113 定時記錄114 多工器115 狀態記錄150 可配置邏輯數組151 非揮發性配置資料存儲數組152 控制電路160 可配置邏輯數組161 非揮發性配置資料存儲數組162 控制電路170 資料路徑171 資料路徑172 存儲數組200 非揮發性存儲器202 啟動程序204 公用程序206 內電路程序化操作裝置207 微啟動碼208 隨機存取存儲器210 多工器
212 中央處理器(CPU)214 周邊裝置216 跳躍啟動向量218 內電路程序化/配置加載狀態記錄220 遠程主機地址記錄222 內電路程序化/配置加載看門狗224 定時器226 到期周期記錄228 匹配邏輯230 讀/寫路徑232 重置線234 網際網絡236 遠程主機238 遠程主機240 遠程主機242 磁碟片244 使用者250 配置操作裝置251 可配置邏輯數組具體實施方式
本發明實施例的詳細說明參考圖1-8。一基本的系統單晶片集成電路10如圖1所示,包括微控制器核心模塊11,例如已知標準的8051或先進精簡指令集運算器(ARM)模塊,或者,微控制核心模塊11也可由其它資料處理器核心例如數位訊號處理器核心、高效率精簡指令集運算(high-performance RISC)處理器核心或其它微處理器或數位訊號處理器模塊所取代或補充,受保護存儲器13及可程序化存儲器14包括在集成電路10中,典型的受保護存儲器13儲存啟動功能及其類似功能的指令避免被重寫或修改,典型的可程序化存儲器14儲存集成電路10的任務功能指令,輸出/輸入結構12也包括在集成電路10中,以支持輸入與輸出集成電路10的串聯資料通道及並聯資料通道其中一個或兩個。
在集成電路10中包括可配置邏輯數組15以支持微控制器核心模塊11,可配置邏輯數組15使用場可程序化閘極數組或其它形式的可配置邏輯模塊實現,可配置邏輯數組15包括許多配置點用以儲存可配置邏輯數組15的配置資料並定義其功能,典型地,可配置邏輯數組15包含在一系統單晶片集成電路中以支持任務功能及執行特定的邏輯。根據本發明,受保護存儲器13與可程序化存儲器14其中之一所儲存的指令經由微控制器核心模塊11執行,該指令包括邏輯以完成轉移配置資料到可配置邏輯數組15中的配置點的配置功能,該指令也包含邏輯以完成配置加載以確定經由輸入/輸出結構12從遠程源加載配置資料到集成電路中的溝通管道。
圖2是系統單晶片集成電路10替代實施例的簡化方塊圖,根據圖2的實施例,在晶片上的處理器經由可配置邏輯數組15的程序段15A實現,程序段15A的配置資料儲存在程序段15A中非揮發性配置點或集成電路中受保護存儲器13內,在本實施例中,根據集成電路的初始化,配置資料從受保護存儲器13轉移到程序段15A中,處理器經由可配置邏輯數組的程序段15A實現,其執行指令類似於已知微控制器核心模塊11或其它處理器核心。
圖3是根據本發明的系統單晶片集成電路10另一替代實施例的簡化方塊圖,在圖3的實施例中,一配置存儲器16被包括在晶片中,配置存儲器儲存可配置邏輯數組15的配置資料且該配置資料根據初始化或在微控制器核心模塊11的控制下或其它在晶片上的配置邏輯轉移到可配置邏輯數組中,配置存儲器16可使用只讀存儲器實現,以確定可配置邏輯數組在製造過程中具有最小集合的配置資料。在另一系統中,配置存儲器16是可程序化的且在控制指令經由微控制器核心模塊11執行下可利用配置加載功能從遠程源加載。在另一系統中,配置存儲器16可結合只讀存儲器與可程序化存儲器。
圖4是根據本發明的系統單晶片集成電路實施例的詳細功能圖,根據本發明的較佳實施例,所有在單一集成電路中實施的構成要素如圖4所示,該晶片包括一微控制器核心100,利用一特定目的的電路或如圖2中所述的可配置邏輯數組中的一程序段所實現,微控制器核心100包括啟動向量101及定時器電路102以支持看門狗定時器103,微控制器核心100支持輸入/輸出埠104、至少一中斷線105及其它信號的輸入與輸出106,在集成電路上的存儲器用以儲存指令並經由微控制器核心執行,該存儲器包括第一存儲數組107用以儲存配置操作裝置的指令,其包括配置加載功能及配置功能以支持在集成電路上的可配置邏輯數組110。在一些實施例中,配置操作裝置包括一初始化功能的執行以響應一初始化事件,像是經由一中斷信號或一看門狗定時器重置所引發的重置。該存儲器尚包括第二存儲數組108用以儲存系統單晶片集成電路的任務功能指令,以及第三存儲數組109用以儲存受保護的功能,包括啟動功能、內電路程序化功能及可配置邏輯數組配置加載備份功能。第三存儲數組109被保護免於經由一內電路程序化(ICP)功能而重寫或修改,並在例如重置事件及內電路程序化程序或配置加載程序失敗時的初始化功能期間恢復系統。
該存儲器可使用變化多樣的存儲單元技術,包括屏蔽式只讀存儲器(maskROM)、快閃記憶體、靜態隨機存取存儲器以及類似的適合特定實施裝置來實現,典型的第三存儲數組109經由非揮發性存儲器例如屏蔽式只讀存儲器或快閃記憶體來實現,當經由快閃記憶體或其它電氣式可程序化存儲器所實現時,邏輯結構可保護第三存儲數組109免於因配置加載的操作或意外而被重寫或修改。
在集成電路中可配置邏輯數組110如圖4的實施例,經由一以快閃記憶體為基礎的可配置邏輯數組來實現,在以快閃記憶體為基礎的可配置邏輯數組中,配置點為非揮發性,使得配置資料在重置或斷電時仍會保留下來。
在集成電路中有一接口介於微控制器核心100與可配置邏輯數組110之間,該接口包括其它在此技術中已知的結構,資料記錄111、配置記錄112以及定時記錄113,且該資料、配置資料以及定時信號經由該接口在模塊間進行交換,狀態記錄115經由協議的配置功能確認使用配置資料的可配置邏輯數組的配置成功。
微控制器核心100可經由如多工器114所示的指令路徑從包括存儲數組107、108、109的存儲器中檢索指令,其它包括如靜態隨機存取存儲器或記錄數組的存儲器結構包含在集成電路中,以支持經由微控制器核心100或可配置邏輯數組110的執行功能。
在圖4的實施例中,配置操作裝置的配置加載功能儲存於第一存儲數組107中,以確定介於系統單晶片集成電路與配置資料的遠程源之間的溝通管道,該溝通管道通過輸入/輸出埠104接收配置資料,該配置資料經由在配置操作裝置中的配置功能通過配置記錄112到達在可配置邏輯數組110中以快閃記憶體為基礎的配置點。
在配置加載演算的過程中發生重置的事件或其它初始化事件,則配置加載功能將會重新執行。
一內電路程序化(ICP)程序也可儲存於存儲器中,例如儲存於第三存儲數組109中或其它位置,用於重寫或修改配置操作裝置,使得配置加載功能可適用於從使用者選定的遠程源接收配置資料,根據本發明的這些實施例,可配置邏輯數組的配置加載備份功能儲存於第三存儲數組109中,當儲存於第一存儲數組107中的配置操作裝置發生錯誤時,系統可利用儲存於第三存儲數組109中的功能恢復原狀,根據美國專利第6,401,221號、第6,493,788號以及第5,901,330號中所揭露的內電路程序化功能是適合使用的。
圖5是根據本發明的系統單晶片集成電路的替代結構,相似的構成要素給予圖4中使用的相同編號。根據如圖5所示的替代結構,可配置邏輯數組150不需使用以快閃記憶體或其它非揮發性配置點為基礎的可配置邏輯數組實現,例如,可配置邏輯數組150可使用具有以靜態隨機存取存儲器(SRAM)為基礎的配置點的標準型場可程序化閘極數組(FPGA)來實現。
可配置邏輯數組150的配置資料儲存在非揮發性配置資料存儲數組151中,並由微控制器核心100取得集成電路的部分存儲器而實現,在本實施例中使用控制電路152作為非揮發性配置資料存儲數組151與微控制器核心100之間的接口,在第一存儲數組107中配置操作裝置的配置加載功能用以確定遠程源與非揮發性配置資料存儲數組151間的通道,在配置演算過程中第一存儲數組107中配置操作裝置的配置功能從非揮發性配置資料存儲數組151經過微控制器核心100轉移配置資料到可配置邏輯數組150。
圖6是根據本發明的系統單晶片集成電路的替代結構,相似的構成要素給予圖5中使用的相同編號。根據如圖6所示的替代結構,可配置邏輯數組160可使用可程序化邏輯裝置(PLD)模塊來實現,可配置邏輯數組160的配置資料儲存在非揮發性配置資料存儲數組161中,並由微控制器核心100取得集成電路的部分存儲器而實現,控制電路162作為非揮發性配置資料存儲數組161與可配置邏輯數組160之間的接口,使得第一存儲數組107的配置功能直接經由配置功能專用的資料路徑170、171從非揮發性配置資料存儲數組161轉移配置資料到可配置邏輯數組160中,資料路徑170、171可使用寬頻並聯資料路徑或其它適用於配置功能的高速、特別配置的資料路徑來實現,在本實施例中,第一存儲數組107中的配置功能可以簡化或忽略,且其更多的功能由控制電路162來達成。
在第一存儲數組107中配置操作裝置的配置加載功能用以確定遠程源與非揮發性配置資料存儲數組161間的通道。
圖7是根據本發明的系統單晶片集成電路的替代結構,相似的構成要素給予圖6中使用的相同編號。根據如圖7所示的替代結構,存儲器增加一存儲數組172用以儲存加密/解密功能及壓縮/解壓縮功能指令其中至少之一,根據如圖7所示的實施例,配置加載功能確定一遠程源與非揮發性配置資料存儲數組161間的通道,配置資料以加密形式、壓縮形式或加密及壓縮形式從遠程源接收,當加載配置資料到非揮發性配置資料存儲數組161時,配置加載功能從存儲數組172中進行解密及/或解壓縮功能,或者,當轉移配置資料到可配置邏輯數組中的配置點時,配置加載功能從存儲數組172中進行解密及/或解壓縮功能,增加的存儲數組172儲存加密/解密功能及壓縮/解壓縮功能其中至少之一,以用於不同的系統單晶片集成電路的實施例,包括如圖4及圖5所示的實施例。
圖8是一些與本發明觀點相同的內電路程序化及配置加載的容錯系統的主要功能構成要素的方塊圖,一系統單晶片集成電路包括一處理器核心(CPU212)及一可配置邏輯數組251。內電路程序化程序及配置加載系統包括非揮發性存儲器200、隨機存取存儲器(RAM)208、CPU212及周邊裝置214。該內電路程序化程序及配置加載系統也包括容錯系統的構成要素,包括跳躍啟動向量216、多工器(MUX)210、內電路程序化/配置加載(ICP/CL)狀態記錄218、遠程主機地址記錄220及ICP/CL看門狗222。
更明確地,CPU212是任何形式的處理系統,包括微控制器、微處理器或數位訊號處理器。CPU212與RAM208結合在一起且隨機存取存儲器所包含的編碼及資料經由CPU212執行,此外,CPU212也經過由MUX210所表示的資料路徑與非揮發性存儲器200結合在一起。
非揮發性存儲器200是當系統斷電時仍可保存資料的任何形式的存儲器,包括快閃記憶體、可抹除可程序化只讀存儲器(EPROM)、電氣式可抹除可程序化只讀存儲器(EEPROM)及只讀存儲器,非揮發性存儲器200包括啟動程序202、公用程序204、內電路程序化ICP操作裝置206、配置操作裝置250以及微啟動碼207。啟動程序202包括在系統初始化的程序中執行程序的收集以將系統的硬體及軟體資源初始化,啟動程序202儲存於可程序化存儲器中並可在配置加載的過程中被修正。非揮發性存儲器200也包括公用程序204,該公用程序204在系統的演算過程中包括許多程序經由CPU212執行以完成任務功能,公用程序204也可被包含於經由內電路程序化加載程序中可被程序化的存儲器中。非揮發性存儲器200也包括配置操作裝置250以進行系統的配置加載功能且其可被包含於經由配置加載程序中可被程序化的存儲器中,非揮發性存儲器200中所包括的配置操作裝置250可被包含於經由內電路程序化程序中可被程序化的存儲器中。配置操作裝置250所執行的功能如之前圖4-7所述。
非揮發性存儲器200同時包括位於受保護存儲器內的微啟動碼207,微啟動碼207在相同內電路正常啟動程序化程序與配置操作裝置程序中不會被修改,微啟動碼207可替代系統初始化指令以完成許多如啟動程序202的相同功能,然而,當有一個可能由啟動程序202引起的錯誤發生於內電路程序化程序中,即內電路程序化操作裝置206或配置操作裝置250失敗及不穩定時,微啟動碼207隻是一個跳脫的行為,因此,微激活碼207必須儲存在相同內電路正常啟動程序的程序化過程中不會被修改的存儲器中。在本發明的一個實施例中,當啟動程序202、公用程序204、配置操作裝置250及ICP操作裝置206儲存在可程序化快閃記憶體時,微啟動碼207儲存在屏蔽式只讀存儲器中。
在ICP程序中,CPU212同時結合硬體構成要素以幫助容錯,CPU212結合MUX210作為非揮發性存儲器200及跳躍啟動向量216的輸入且控制從ICP/CL狀態記錄218的輸入,MUX210視ICP/CL狀態記錄218的狀況選擇性切換CPU212於跳躍啟動向量216及非揮發性存儲器200之間,若ICP/CL狀態記錄218是髒的,表示之前的ICP演算或演算修正配置加載運算沒有完成,則CPU212在系統初始化的程序中輸入一個跳躍指令給啟動向量216以指向微啟動碼207,另一方面,若ICP/CL狀態記錄218是乾淨的,表示沒有配置加載運算在進行,則CPU212在系統初始化的程序中輸入非揮發性存儲器200的初始加載,CPU212同時結合遠程主機地址記錄220並包含備份遠程主機地址,避免在內電路程序化程序中發生系統重置,CPU212也通過讀/寫路徑230及重置線232與ICP/CL看門狗222結合,ICP/CL看門狗222包括到期周期(timeout period)記錄226及定時器224與匹配邏輯228,定時器224及到期周期226二者可透過讀/寫路徑230經由CPU212而被初始化,當定時器224的值與到期周期226相同時,匹配邏輯228引發一個重置信號經由重置線232傳送到CPU212。在一實施例中,上述提到的硬體構成要素提供的容錯包括保護可程序化存儲組件免受內電路程序化程序的影響。
此外,CPU212結合周邊裝置214,包括連接系統使用者的輸入及輸出裝置,如圖中周邊裝置214左邊的雙箭號所示,周邊裝置214也包括一接口通過周邊裝置214與網際網絡234、或其它溝通管道或網絡結合。網際網絡234本身結合了遠程主機236、238及240,遠程主機238結合了包含新版本的啟動及公用程序的磁碟片242,包括例如新的內電路程序化功能或新的配置加載功能並經由網際網絡234下載到系統中。
配置加載程序通常運作如下,首先CPU212通過周邊裝置214與使用者244連接,使用者244引發CPU212開始執行配置操作裝置250進行配置加載程序,配置操作裝置250引發通過周邊裝置214到網際網絡234及通過網際網絡234到遠程主機238之間的連接,接著遠程主機238開始從磁碟片242通過網際網絡234下載資料到非揮發性存儲器200中,同時資料開始轉移、在ICP/CL看門狗222中的到期周期226設定一估計值及定時器224開始計時。
若配置加載程序進行順利,則本發明的容錯特徵為非活性化的,另一方面,若在配置加載程序中發生過度延遲,則定時器224最終將與到期周期226相同而引發一重置信號經由重置線232到達CPU212,並引發CPU212開始進行一連串的啟動。若系統在配置加載程序中重新啟動,則ICP/CL狀態記錄218設定為髒的值,因而引發MUX210直接跳躍啟動向量216到CPU212中,使得微啟動碼207代替啟動程序202引發CPU212啟動。若ICP/CL狀態記錄218設定為乾淨的值,表示配置加載程序已全部完成且MUX210從啟動程序202引發CPU212啟動。
微啟動碼207引發CPU212重新開始配置加載程序,是經由從遠程主機地址記錄220的第一個讀取值決定遠程主機的連接以重新開始配置加載程序,然後配置加載程序即重新開始。在另一實施例中,微啟動碼207包括一配置加載程序化的設計,用以從預設位置存取配置資料的設定,例如晶片中的非揮發性存儲器或經由連接一預定的主機與系統單晶片集成電路結合。
ICP程序通常運作如下,首先CPU212通過周邊裝置214與使用者244連接,一些非典型系統單晶片集成電路是經由輸入/輸出埠而與使用者連接,使用者244引發CPU212開始執行ICP裝置206進行ICP程序,ICP裝置206引發通過周邊裝置214到網際網絡234及通過網際網絡234到遠程主機238之間的連接,接著遠程主機238開始從磁碟片242通過網際網絡234下載資料到非揮發性存儲器200中,同時資料開始轉移,在ICP/CL看門狗222中的到期周期226設定一估計值及定時器224開始計時。
若ICP程序進行順利,則本發明的容錯特徵為非活性化的,另一方面,若在ICP程序中發生過度延遲,則定時器224最終將與到期周期226相同而引發一重置信號經由重置線232到達CPU212,並引發CPU212開始進行一連串的啟動。若系統在ICP程序中重新啟動,則ICP/CL狀態記錄218設定為髒的值,因而引發MUX210直接跳躍啟動向量216到CPU212中,使得微啟動碼207代替啟動程序202引發CPU212啟動。若ICP/CL狀態記錄218設定為乾淨的值,表示ICP程序已全部完成,且MUX210從啟動程序202引發CPU212啟動。
微啟動碼207引發CPU212重新開始ICP程序,是經由從遠程主機地址記錄220的第一個讀取值決定遠程主機的連接以重新開始ICP程序,然後ICP程序即重新開始。
在一些實施例中,ICP程序可以重寫或修改配置操作裝置,在這些實施例中,ICP程序首先備份配置操作裝置250到非揮發性存儲器中以確定在系統單晶片上配置加載的二份備份,其中一份備份是修改過的,若修改完全成功則另一份備份會被刪除,不過,若修改沒有完全成功則配置操作裝置的安全備份可用來恢復系統操作。
以上對於本發明的較佳實施例所作的敘述為闡明的目的,而無意限定本發明精確地為所揭露的形式,基於以上的教導或從本發明的實施例學習而作修改或變化是可能的,實施例為解說本發明的原理以及讓熟習該項技術者以各種實施例利用本發明在實際應用上而選擇及敘述,本發明的技術思想由權利要求範圍及其均等來決定。
權利要求
1.一種集成電路,其特徵在於包括一輸入埠,經由該輸入埠從外部源接收資料到該集成電路中;一可配置邏輯數組,具有經由儲存於該可配置邏輯數組中電氣式可程序化配置點的配置資料所定義的可程序化配置;一存儲器,用以儲存該集成電路中任務功能指令及儲存經由該輸入埠接收配置資料的配置加載功能指令以及儲存用於轉移該配置資料到該可配置邏輯數組中的可程序化配置點的配置功能指令;以及一與該存儲器耦合的處理器,用以從該存儲器中取得並執行指令。
2.如權利要求1所述的集成電路,其特徵在於,其中該存儲器包括一非揮發性儲存裝置。
3.如權利要求1所述的集成電路,其特徵在於,其中該存儲器包括一浮動閘極存儲儲存裝置。
4.如權利要求1所述的集成電路,其特徵在於,其中該存儲器包括一隻讀存儲儲存裝置。
5.如權利要求1所述的集成電路,其特徵在於,其中該存儲器包括一第一非揮發性儲存裝置用於該配置功能,以及一第二儲存裝置用於該任務功能。
6.如權利要求1所述的集成電路,其特徵在於,其中該存儲器包括一第一可程序化、非揮發性儲存裝置用於該配置加載功能,以及一第二儲存裝置用於該任務功能。
7.如權利要求1所述的集成電路,其特徵在於,更包括一與該處理器耦合的看門狗定時器,其中該配置功能包括使用該看門狗定時器響應錯誤而產生一重置以及根據該重置重新執行該配置加載功能與該配置功能。
8.如權利要求1所述的集成電路,其特徵在於,更包括一與該處理器耦合的看門狗定時器,其中該配置加載功能包括使用該看門狗定時器響應錯誤而產生一重置以及根據該重置重新執行該配置加載功能。
9.如權利要求1所述的集成電路,其特徵在於,其中該配置加載功能包括經由在該集成電路上的該輸入埠接收加密的配置資料以及將該配置資料進行解密。
10.如權利要求1所述的集成電路,其特徵在於,其中該配置加載功能包括經由在該集成電路上的該輸入埠接收壓縮的配置資料以及將該配置資料進行解壓縮。
11.如權利要求1所速的集成電路,其特徵在於,其中該電氣式可程序化配置點包括浮動閘極存儲單元。
12.如權利要求1所述的集成電路,其特徵在於,其中該電氣式可程序化配置點包括非揮發性、可電荷程序化存儲單元。
13.如權利要求1所述的集成電路,其特徵在於,其中該電氣式可程序化配置點包括非揮發性、可程序化存儲單元。
14.如權利要求1所述的集成電路,其特徵在於,更包括一接口介於該處理器與該可配置邏輯數組之間以支持該配置加載功能。
15.如權利要求1所述的集成電路,其特徵在於,其中該存儲器儲存一內電路程序化功能指令以寫入或修改該配置加載功能指令。
16.如權利要求1所述的集成電路,其特徵在於,其中該存儲器包括一受保護的存儲數組儲存第一配置加載功能指令以及一第二存儲數組儲存一第二配置加載功能指令,其中,該第一存儲數組被保護免於經由內電路程序化功能而改變,以及該第二存儲數組可經由內電路程序化功能而被重寫或修改。
17.如權利要求1所述的集成電路,其特徵在於,其中該處理器包括配置該可配置邏輯數組以執行該指令。
18.一種提供在加載配置資料到集成電路期間錯誤恢復方法,該集成電路包括一處理器、一具有配置點以儲存該配置資料的可配置邏輯數組、以及一存儲器用以儲存可經由該處理器執行的指令,包括用以從外部源加載該配置資料到該集成電路中的配置加載功能指令,其特徵在於該方法包括下列步驟監控使用該配置加載功能的配置資料的加載以偵測從遠程主機傳送該配置資料的延遲;以及當該延遲超出一到期值時,重新啟動該配置加載功能。
19.如權利要求18所述的方法,其特徵在於,其中該監控步驟經由使用一在該集成電路上且與該處理器耦合的看門狗定時器執行。
20.一種配置集成電路的方法,該集成電路包括一處理器、一可配置邏輯數組,具有可經由儲存在該可配置邏輯數組中的電氣式可程序化配置點的配置資料所定義的可程序化配置,以及一存儲器用以儲存可經由該處理器執行的指令,其特徵在於該方法包括下列步驟將用於從外部源接收該配置資料到該集成電路中的配置加載功能指令儲存於該存儲器的第一存儲數組中;將該集成電路的任務功能指令儲存於該存儲器的第二存儲數組中;以及將用於轉移該配置資料到該可配置邏輯數組中的該可程序化配置點的配置功能指令儲存於該存儲器的第三存儲數組中。
21.如權利要求20所述的方法,其特徵在於,其中該存儲器包括一非揮發性儲存裝置。
22.如權利要求20所述的方法,其特徵在於,其中該存儲器包括一浮動閘極存儲儲存裝置。
23.如權利要求20所述的方法,其特徵在於,其中該存儲器包括一隻讀存儲儲存裝置。
24.如權利要求20所述的方法,其特徵在於,其中該存儲器的該第一存儲數組包括一第一非揮發性儲存裝置用於該配置功能,以及該存儲器的該第二存儲數組包括一異於該第一非揮發性儲存裝置的第二儲存裝置用於該任務功能。
25.如權利要求20所述的方法,其特徵在於,其中該存儲器的該第一存儲數組包括一第一可程序化、非揮發性儲存裝置用於該配置功能,以及該存儲器的該第二存儲數組包括一異於該第一非揮發性儲存裝置的第二儲存裝置用於該任務功能。
26.如權利要求20所述的方法,其特徵在於,其中該配置加載功能包括經由在該集成電路上的輸入埠接收加密的配置資料以及將該配置資料進行解密。
27.如權利要求20所述的方法,其特徵在於,其中該配置加載功能包括經由在該集成電路上的該輸入埠接收壓縮的配置資料以及將該配置資料進行解壓縮。
28.如權利要求20所述的方法,其特徵在於,其中該電氣式可程序化配置點包括浮動閘極存儲單元。
29.如權利要求20所述的方法,其特徵在於,其中該電氣式可程序化配置點包括非揮發性、可電荷程序化存儲單元。
30.如權利要求20所述的方法,其特徵在於,其中該電氣式可程序化配置點包括非揮發性、可程序化存儲單元。
31.如權利要求20所述的方法,其特徵在於更包括監控使用該配置加載功能的配置資料的加載以偵測從遠程主機傳送該配置資料的延遲;以及當該延遲超出一到期值時,重新啟動該配置加載功能。
32.如權利要求20所述的方法,其特徵在於更包括使用一在該集成電路上且與該處理器耦合的看門狗定時器在該配置加載功能期間監控配置資料的加載以偵測從遠程主機傳送該配置資料的延遲;以及當該延遲超出一到期值時,重新啟動該配置加載功能。
全文摘要
一系統單晶片集成電路包括一可配置邏輯數組、一處理器核心以及一存儲器用以儲存任務功能指令以及用於經由在集成電路上的輸入埠從外部源加載配置資料到集成電路中的配置加載功能指令,該處理器從該存儲器中取得並執行指令,使用配置加載功能接收的配置資料用於配置該可配置邏輯數組。本發明提供使用嵌入式可配置邏輯的系統單晶片設計的更大的彈性,以及提供可配置邏輯的配置加載。
文檔編號H03K19/173GK1645354SQ20041008091
公開日2005年7月27日 申請日期2004年9月27日 優先權日2003年11月3日
發明者孫駿恭, 許志銘, 陳世梁 申請人:旺宏電子股份有限公司