本發(fā)明總體涉及集成電路技術,并且更具體地涉及用于集成電路的存儲器初始化的系統(tǒng)和方法。
背景技術:
如今,為了實現(xiàn)低功耗,集成電路(例如,專用集成電路(asic)、包括asic的片上系統(tǒng)(soc)等)通常被設計成使得所述電路的多部分可基于操作需求而被選擇性地斷電。為了促進選擇性通電和斷電,此類集成電路可包括多個電力區(qū)域,其中與某個電力區(qū)域相關聯(lián)的多個電路可獨立于與另一電力區(qū)域相關聯(lián)的多個電路而被斷電。
圖1a所示為一種具有多個電力區(qū)域的集成電路100的一個實例。如圖1a所示,集成電路100還包括與電力區(qū)域116相關聯(lián)的存儲器塊112和邏輯塊114、與電力區(qū)域126相關聯(lián)的存儲器塊122和邏輯塊124,以及與電力區(qū)域136相關聯(lián)的存儲器塊132和邏輯塊134。存儲器塊112、122和132可包括任何種類的片上存儲器,例如靜態(tài)隨機訪問存儲器(sram)。邏輯塊114、124和134可包括任何種類的電路,例如多個互補金屬氧化物半導體(cmos)電路。
集成電路100還包括一個電力管理單元(pmu)102,所述電力管理單元還可包括cmos電路并且可個別地啟用(或禁用)電力區(qū)域116、126和136中的任一個。電力區(qū)域在被啟用時進入通電狀態(tài),并且在被禁用時進入斷電狀態(tài)。電力區(qū)域116、126和136中的每一個可選擇性地與電壓軌150相耦合,所述電壓軌可配置為電源。pmu102可通過將電力禁用信號(圖1a中未示出,如圖1b中所示)設定為某個電壓電平來選擇性地啟用(或禁用)供應到特定電力區(qū)域的電源。作為說明性實例,當電力禁用信號達到表示邏輯“0”的電壓電平時,可啟用與所述電力禁用信號相耦合的電力區(qū)域。
當根據(jù)電力管理方案禁用供應到一個電力區(qū)域的電源時,所述電力區(qū)域的存儲器塊和邏輯塊還可展現(xiàn)出某些行為。例如,當禁用所述電力區(qū)域時,在禁用所述電力區(qū)域之前不久寫入所述存儲器塊中的數(shù)據(jù)將會被擦除。當再次啟用供應到所述電力區(qū)域的電源時,在所述存儲器塊中寫入任何數(shù)據(jù)之前,所述存儲器塊中的初始數(shù)據(jù)可為某些模式。例如,所述存儲器塊中的初始數(shù)據(jù)在啟用所述電力區(qū)域之后可全部為邏輯“1”或全部為邏輯“0”。
另外,還可控制這些邏輯塊以在根據(jù)電力管理方案禁用供應到相關電力區(qū)域的電源時展現(xiàn)出某些行為。例如,如圖1a所示,電力區(qū)域可與本地復位信號和隔離啟用信號相耦合。本地復位信號可配置成當所述電力區(qū)域在斷電狀態(tài)時將一些類型的邏輯電路(例如,時序邏輯電路,諸如觸發(fā)器和鎖存器)的邏輯狀態(tài)設定為某個預定義狀態(tài)。隔離啟用信號可配置成啟用與所述電力區(qū)域相關聯(lián)的一個或多個隔離單元(“iso單元”)。當禁用供應到所述電力區(qū)域的電源時,這些iso單元可為至少一些邏輯電路(其可包括時序邏輯電路和組合邏輯電路兩種)設定輸入的邏輯狀態(tài)。運用此設置,當禁用供應到多個相關電力區(qū)域的電源時,可定義邏輯塊114、124和134的邏輯狀態(tài),從而當所述邏輯塊的相關電力區(qū)域從斷電狀態(tài)轉變?yōu)橥姞顟B(tài)時可最小化所述邏輯塊的非預期行為的可能性。
通常,如圖1b所示,電力區(qū)域的隔離啟用操作和復位操作發(fā)生在斷電瞬間,在該斷電瞬間期間,供應到電力區(qū)域的電源仍然是啟用的(例如,電力禁用信號具有低邏輯狀態(tài)),因而所述電力區(qū)域的邏輯塊仍然被供電。當斷電瞬間結束后,電力禁用信號轉變?yōu)楦哌壿嫚顟B(tài)以禁用供應到電力區(qū)域的電源。
再次參考圖1a,集成電路100還可接收系統(tǒng)復位信號152和系統(tǒng)時鐘154。系統(tǒng)復位信號152可配置成將集成電路100的所有邏輯設定為一個或多個邏輯狀態(tài)的信號。系統(tǒng)復位信號152通常在集成電路100加電時對集成電路100進行復位,并且通常在集成電路的個別電力區(qū)域處于斷電狀態(tài)時不活動。系統(tǒng)時鐘154可為以預定頻率(例如,10mhz)觸發(fā)的信號。系統(tǒng)時鐘154可配置成將多個電力區(qū)域之間和多個電力區(qū)域內部的一些邏輯電路(例如,時序邏輯電路)和存儲器塊的操作進行同步。系統(tǒng)時鐘154還可用于通過pmu102將隔離啟用信號、本地復位信號和電力禁用信號的生成同步。進一步地,電力區(qū)域116、126和136中的每一個可包括一個可選擇性地與系統(tǒng)時鐘154相耦合的本地時鐘。pmu102可在一電力區(qū)域啟用時將所述電力區(qū)域的本地時鐘耦合至系統(tǒng)時鐘154,且在所述電力區(qū)域禁用時可將本地時鐘從系統(tǒng)時鐘154中解耦。當本地時鐘從系統(tǒng)時鐘154中解耦時,其可停止觸發(fā),且可進一步降低由于開關功率所產(chǎn)生的功耗。在一些情況中,本地時鐘信號與系統(tǒng)時鐘154的耦合和從系統(tǒng)時鐘154中的解耦可基于圖1b所示的電力禁用信號。
可使用現(xiàn)場可編程門陣列(fpga)對集成電路100的一些行為進行仿真,以用于原型測試和/或驗證asic設計。fpga通常包括可編程邏輯塊的陣列,其通常可包括一組查找表、觸發(fā)器、存儲器塊以及路由矩陣,所述路由矩陣可使用硬件描述語言(hdl)(諸如超高速集成電路硬件描述語言(vhdl)、verilog等)配置以實施某些邏輯和存儲功能。當使用fpga以原型測試asic設計時,hdl可配置成描述asic上的某些邏輯塊和存儲器塊的行為。軟件編譯器可編譯包括與這些邏輯塊和存儲器塊相關聯(lián)的hdl的程序文件,并且生成一組低級編程指令。低級編程指令可配置fpga的該組查找表、觸發(fā)器、存儲器塊以及路由矩陣以實施邏輯塊和存儲器塊的邏輯和存儲功能。其次,經(jīng)配置的fpga可在某個操作條件(例如,具有輸入信號的某個組合)下生成輸出。然后,fpga的輸出可與asic設計的期望輸出相比較。此外,可使用比較結果來驗證asic設計,并且提高根據(jù)設計所制造的asic在所述操作條件下生成期望輸出的可能性。
發(fā)明者在此已經(jīng)認識到了使用fpga來仿真集成電路的行為的常規(guī)方法的一些技術問題。例如,根據(jù)現(xiàn)有技術,當選擇性地啟用或禁用供應到集成電路的某些電力區(qū)域的電源時,在對集成電路的行為進行仿真時,fpga中的可編程邏輯塊將無法在用戶的控制下實現(xiàn)個別地通電或斷電(例如,選擇性地將一個邏輯塊從電源中解耦)。例如,參考圖1b,當實際asic接收到隔離啟用信號、復位和配置成禁用供應到某個電力區(qū)域的電源的電力禁用的邏輯值的某個組合時(例如,當隔離啟用信號和電力禁用是邏輯“1”且復位是邏輯“0”時),由于所述電力區(qū)域的存儲器塊從電源中解耦,之前存儲在所述存儲器塊中的數(shù)據(jù)將會被擦除(并且用具體模式(諸如全為邏輯“1”或全為邏輯“0”)進行替換)。然而,在fpga的情況中,選擇性地將一個電力區(qū)域從電源中解耦將不會擦除一個經(jīng)仿真的存儲器塊的內容,這是由于fpga中不允許此類解耦。因此,當仿真某個asic電力區(qū)域從斷電狀態(tài)轉變?yōu)橥姞顟B(tài)的情形時,fpga中的一個經(jīng)仿真的存儲器塊中的初始數(shù)據(jù)在啟用所述電力區(qū)域時可能會不同于相同操作條件下的asic存儲器塊中的初始數(shù)據(jù),從而造成不精確的驗證和原型測試。
技術實現(xiàn)要素:
本發(fā)明的實施方式除其他外還表示上述技術問題的解決方案的技術改進。
例如,在一個實施方式中,提供了一種用于電路的存儲器初始化的方法。所述方法包括:識別配置為一存儲器設備的所述電路的一部分;檢測包括所述存儲器設備的所述電路內的一電力區(qū)域的斷電狀態(tài)的開始;當檢測到所述斷電狀態(tài)的開始后,執(zhí)行寫入操作以將一預定模式的數(shù)據(jù)寫入至所述存儲器設備;以及在所述斷電狀態(tài)結束之后,提供存儲在所述存儲器設備的所述數(shù)據(jù)用于讀取操作。
在另一實施方式中,提供了一種非暫時性計算機可讀介質,用于存儲配置一集成電路以執(zhí)行用于所述集成電路的存儲器初始化的方法的編程指令集。所述存儲器初始化的方法包括:識別配置為一存儲器設備的所述電路的一部分;檢測包括所述存儲器設備的所述電路內的一電力區(qū)域的斷電狀態(tài)的開始;當檢測到所述斷電狀態(tài)的開始后,執(zhí)行寫入操作以將一預定模式的數(shù)據(jù)寫入至所述存儲器設備;以及在所述斷電狀態(tài)結束之后,提供存儲在所述存儲器設備的所述數(shù)據(jù)用于讀取操作。
在另一實施方式中,提供了一種包括多個晶體管的集成電路。所述集成電路配置為:識別配置為一存儲器設備的所述集成電路的一部分;檢測包括所述存儲器設備的所述集成電路內的一電力區(qū)域的斷電狀態(tài)的開始;當檢測到所述斷電狀態(tài)的開始后,執(zhí)行寫入操作以將一預定模式的數(shù)據(jù)寫入至所述存儲器設備;以及在所述斷電狀態(tài)結束之后,提供存儲在所述存儲器設備的所述數(shù)據(jù)用于讀取操作。
應理解的是,上文的總體描述和下文的詳細描述均僅在于例示和解釋,而不在于限制所要求保護的發(fā)明。
附圖說明
所附各圖并入本發(fā)明之內并構成本發(fā)明的一部分,用于說明例示實施方式并且與說明書一起解釋所公開的原理。
圖1a和圖1b所示為常規(guī)電力管理方案。
圖2所示為一種根據(jù)本發(fā)明的實施方式的用于存儲器初始化操作的例示系統(tǒng)。
圖3所示為一種根據(jù)本發(fā)明的實施方式的圖2的例示存儲器初始化單元的框圖。
圖4所示為一種根據(jù)本發(fā)明的實施方式的例示存儲器初始化方法。
圖5為一種用于實施符合本發(fā)明的實施方式的例示系統(tǒng)的框圖。
具體實施方式
參考附圖描述例示實施方式。在圖中,附圖標記的最左側數(shù)字標示其中附圖標記首次出現(xiàn)時所在的圖號。為了方便起見,所有附圖中使用相同的附圖標記來指代相同或相似部分。雖然本文描述了所公開的原理的實例和特征,但是在不脫離所公開的實施方式的精神和范圍的情況下,修改、調整和其他實施是可行的。以下詳述旨在僅被視為例示,其中真正范圍和精神由以下權利要求書說明。
下文列出本發(fā)明的說明性實施方式。在一個實施方式中,提供了一種用于電路的存儲器初始化方法。所述方法包括:識別配置為第一存儲器設備的所述第一電路的一部分;檢測包括所述第一存儲器設備的所述第一電路內的一個電力區(qū)域的斷電狀態(tài)的開始;一旦檢測到所述斷電狀態(tài)的開始,就執(zhí)行寫入操作以將預定模式的數(shù)據(jù)寫入至所述第一存儲器設備;以及在所述斷電狀態(tài)結束之后提供存儲在所述第一存儲器設備中的所述數(shù)據(jù)用于讀取操作。
運用本發(fā)明的實施方式,當對電力管理操作進行仿真時,在fpga中的一個電力區(qū)域處于斷電狀態(tài)時可將預定模式的數(shù)據(jù)寫入至所述電力區(qū)域的仿真存儲器塊中。因此,當對其中一個asic電力區(qū)域從斷電狀態(tài)轉變?yōu)橥姞顟B(tài)的情形進行仿真時,在啟用所述電力區(qū)域時,fpga中的仿真存儲器塊中的初始數(shù)據(jù)可與相同操作條件下的asic存儲器塊中的初始數(shù)據(jù)相同,從而可提高驗證和原型測試的精確度。雖然說明書將對fpga使用電力區(qū)域仿真的實施方式描述為實例,但是應當理解的是,所公開的實施方式不限于fpga或甚至不限于仿真,并且可在預期存儲器內容初始化的任何集成電路中實施。
圖2所示為一種根據(jù)本發(fā)明的一些實施方式的、用于存儲器初始化操作的例示集成電路200。在一些實施方式中,集成電路200可為一種用于對圖1的集成電路100的至少一些行為進行仿真的fpga,且在對集成電路100的電力管理方案進行仿真時可由集成電路200執(zhí)行存儲器初始化操作。然而,還應理解的是,集成電路200還可為一種asic,且可為了除仿真電力管理方案外的其他目的執(zhí)行所述存儲器初始化操作。
如圖2中所示,集成電路200包括一個pmu202以及電力區(qū)域216和226。電力區(qū)域216包括存儲器塊212、存儲器初始化單元213以及邏輯塊214,電力區(qū)域226包括存儲器塊222、存儲器初始化單元223以及邏輯塊224。每個電力區(qū)域還包括一個或多個隔離單元(圖2中未示出)。存儲器塊212和222可包括任何種類的片上存儲器,例如,靜態(tài)隨機訪問存儲器(sram)。存儲器塊212和222可包括其中提供單獨端口用于讀取和寫入操作的雙端口存儲器和/或其中提供同一個端口用于讀取和寫入操作的單端口存儲器。pmu202、存儲器初始化單元213和223以及邏輯塊214和224可包括任何種類的電路,例如,cmos電路。電力區(qū)域216和226均可與電壓軌150相耦合。
在一些實施方式中,可使用硬件描述語言(hdl)(諸如vhdl、verilog等)生成集成電路200。軟件編譯器可編譯包括與所述pmu、存儲器初始化單元、存儲器塊和邏輯塊相關聯(lián)的hdl的程序文件,并且生成一個低級編程指令集。在一些實施方式中,可通過電子設計自動化(eda)工具將與所述儲存器初始化單元相關聯(lián)的hdl語言指令添加至所述程序文件。這些低級編程指令可用于配置fpga的查找表、路由矩陣、存儲器塊和觸發(fā)器,以實施所述pmu、存儲器初始化單元、存儲器塊和邏輯塊的邏輯和存儲功能。所述低級編程指令還可通過多種綜合工具來生成用于asic制造的網(wǎng)表信息。
在一些實施方式中,pmu202可生成用于使得一電力區(qū)域進入斷電狀態(tài)的隔離啟用信號、本地復位信號和電力禁用信號。這些信號可基于系統(tǒng)時鐘信號154生成。正如下文將要討論的,當電力區(qū)域216和226處于斷電狀態(tài)但是仍然與電壓軌150相耦合時,所述隔離啟用信號、所述本地復位信號和所述電力禁用信號中的至少一個還可使得存儲器初始化單元213和223將預定模式的數(shù)據(jù)分別寫入至存儲器塊212和222中。這可發(fā)生于這樣的情況下:集成電路200是一種用于對在斷電狀態(tài)與通電狀態(tài)之間轉變的電力區(qū)域的行為進行仿真的fpga。集成電路200還可接收系統(tǒng)復位152,當集成電路200加電時系統(tǒng)復位152可將其進行復位。
圖3所示為根據(jù)本發(fā)明的實施方式的圖2的存儲器初始化單元223的框圖。如圖3所示,存儲器初始化單元223可包括多路復用器223a至223f、地址計數(shù)器223g、寫入啟用生成器223h以及啟用生成器223i。
在一些實施方式中,多路復用器223a至223f可配置成選擇性地將存儲器塊222與邏輯塊224相耦合或將存儲器塊222從邏輯塊224中解耦。通常,存儲器塊222可從邏輯塊224接收許多信號來執(zhí)行寫入操作。例如,如圖3所示,存儲器塊222可接收將要寫入至所述存儲器塊內的某個位置中的寫入數(shù)據(jù)以及一個指示所述存儲器塊內所述用于寫入所述數(shù)據(jù)的位置的地址。存儲器塊222還可接收配置所述存儲器塊用于寫入操作的寫入啟用信號,以及啟用其余存儲器塊電路的邏輯啟用信號。存儲器塊222還可接收時鐘信號和復位信號以操作所述存儲器塊中的某些時序邏輯電路(例如,用于存儲所接收到的信號(例如地址、啟用信號等)的時序邏輯電路,諸如觸發(fā)器和鎖存器)。
多路復用器223a至223f可配置成將接收自邏輯塊224的所述寫入數(shù)據(jù)、地址、寫入啟用信號、邏輯啟用、時鐘信號和復位信號轉發(fā)至存儲器塊222,或轉發(fā)從不同源生成的對應信號,由此將邏輯塊224從存儲器塊222中解耦。多路復用器的配置可經(jīng)由,例如,來自pmu202的電力禁用信號而完成,使得多路復用器可在通電狀態(tài)期間將邏輯塊224與存儲器塊222相耦合,且在斷電狀態(tài)期間使邏輯塊224與存儲器塊222解耦。例如,如圖3所示,在通電狀態(tài)期間,多路復用器223a至223d可將接收自邏輯塊224的寫入數(shù)據(jù)、地址、寫入啟用信號和邏輯啟用信號轉發(fā)至存儲器塊222,使得邏輯塊224能夠將數(shù)據(jù)寫入至存儲器塊222中。另一方面,在斷電狀態(tài)期間,多路復用器223a至223d可將作為寫入數(shù)據(jù)的本地存儲的全邏輯0或全邏輯1數(shù)據(jù)、由地址計數(shù)器223g生成的地址、由寫入啟用生成器223h生成的寫入啟用信號以及由啟用生成器223i生成的邏輯信號轉發(fā)至存儲器塊222。因為僅允許存儲器初始化單元223在斷電狀態(tài)期間將數(shù)據(jù)寫入至存儲器塊222中,所以在斷電狀態(tài)至通電狀態(tài)之間的過渡期間,存儲在所述存儲器塊222中的所述數(shù)據(jù)可變得更具有確定性。
進一步地,多路復用器223e還可配置成在通電狀態(tài)期間將來自邏輯塊224的本地時鐘(未圖示)轉發(fā)至存儲器塊222,且在斷電狀態(tài)期間將系統(tǒng)時鐘154信號轉發(fā)至存儲器塊222。如之前所討論,當禁用供應到相關電力區(qū)域的電源時,可將本地時鐘從系統(tǒng)時鐘154中解耦。因此,在斷電狀態(tài)期間,來自邏輯塊224的所述本地時鐘有可能停止觸發(fā)。通過將多路復用器223e配置成向存儲器塊222供應所述系統(tǒng)時鐘154,作用于所述時鐘信號上的存儲器塊222的時序邏輯電路在斷電狀態(tài)期間可保持運行,且可不受將本地時鐘從系統(tǒng)時鐘154中解耦的影響。另外,如圖3所示,作用于一個時鐘信號上的存儲器初始化單元223的組件(例如地址計數(shù)器223g、寫入啟用生成器223h和啟用生成器223i)還可接收系統(tǒng)時鐘154。
另外,多路復用器223f還可配置成在通電狀態(tài)期間將來自邏輯塊224的本地復位信號轉發(fā)至存儲器塊222,且在斷電狀態(tài)期間將系統(tǒng)復位信號152轉發(fā)至存儲器塊222。如之前所討論,在一電力區(qū)域進入斷電狀態(tài)時,所述本地復位信號將所述電力區(qū)域內的邏輯塊進行復位,而系統(tǒng)復位信號152在斷電狀態(tài)期間通常保持不活動。為了在斷電狀態(tài)期間防止所述本地復位信號將所述存儲器塊222電路復位并且干擾對存儲器塊222的寫入操作,多路復用器223f可配置成在斷電狀態(tài)期間將所述系統(tǒng)復位信號152轉發(fā)至存儲器塊222。另外,如圖3所示,存儲器初始化單元223的組件,包括地址計數(shù)器223g、寫入啟用生成器223h和啟用生成器223i,還可接收系統(tǒng)復位信號152,以在斷電狀態(tài)期間防止所述邏輯復位信號干擾存儲器初始化單元223的運行。
如之前所討論,地址計數(shù)器223g配置成生成地址,所述地址用于指示所述存儲器塊內用于寫入所述預定義數(shù)據(jù)模式(例如,全邏輯0或全邏輯1)的位置。地址計數(shù)器223g可接收關于以所述數(shù)據(jù)模式(例如,以存儲器塊的地址范圍的形式)將被寫入的所述存儲器塊的一部分的信息,并且根據(jù)所述信息依次生成地址。生成新地址的頻率可基于寫入操作所持續(xù)的時鐘周期數(shù),而所生成的新地址的值可基于所述寫入操作覆蓋的存儲器位置的數(shù)量。例如,在對存儲器塊222的單次寫入操作持續(xù)系統(tǒng)時鐘154的一個周期且每次寫入操作均將數(shù)據(jù)寫入至單個存儲器位置的情況下,地址計數(shù)器223g可通過使當前地址在系統(tǒng)時鐘154的每個周期遞增1而生成新地址。接著可利用這些生成的新地址依次執(zhí)行寫入操作。
寫入啟用生成器223h和啟用生成器223i配置成分別生成與寫入操作相關聯(lián)的多個寫入啟用信號和多個邏輯啟用信號。寫入啟用信號和邏輯啟用信號可基于各種信號,例如,電力禁用信號和由地址計數(shù)器223g生成的地址而生成。在一些實施方式中,寫入啟用生成器223h和啟用生成器223i均可實施為具有多個用于存儲邏輯狀態(tài)的時序邏輯元件(例如,觸發(fā)器)的有限狀態(tài)機,且可基于所述狀態(tài)生成寫入啟用信號和邏輯啟用信號。例如,當所述電力禁用信號指示所述電力區(qū)域進入斷電狀態(tài)時,寫入啟用生成器223h和啟用生成器223i均可進入啟用狀態(tài)以生成某種邏輯狀態(tài)下的寫入啟用信號和邏輯啟用信號來啟用對存儲器塊222的寫入操作。另一方面,當由地址計數(shù)器223g生成的所述地址是用于寫入操作的地址范圍內的最后一個地址時,寫入啟用生成器223h和啟用生成器223i均可進入禁用狀態(tài)以生成另一種邏輯狀態(tài)下的寫入啟用信號和邏輯啟用信號,以在完成用于最后一個地址的寫入操作之后禁用寫入操作。寫入啟用生成器223h和啟用生成器223i的時序邏輯可操作于系統(tǒng)時鐘154上,并且可由系統(tǒng)復位信號152進行復位。
在一些實施方式中,存儲器初始化單元還可與多個存儲器塊相連接。在此類情況下,所述存儲器初始化單元可識別要寫入的存儲器塊,并且對所述存儲器塊執(zhí)行多次寫入操作。所述識別可基于各種信息。例如,所述存儲器初始化單元可從邏輯塊接收指令,以對一特定的存儲器塊執(zhí)行寫入操作。所述存儲器初始化單元還可識別與其連接的所有存儲器塊,并且依次對每個存儲器塊執(zhí)行寫入操作。
圖4所示為一種根據(jù)本發(fā)明的實施方式的例示存儲器初始化方法400。在一些實施方式中,可由存儲器初始化單元(例如圖2的存儲器初始化單元213和223)執(zhí)行方法400。
在步驟402中,所述存儲器初始化單元可識別一個存儲器塊以接收初始化數(shù)據(jù)。所述識別可基于,例如,來自邏輯塊的對一特定的存儲器塊執(zhí)行寫入操作的指令。所述存儲器初始化單元還可識別其連接的所有存儲器塊以用于對每個存儲器塊執(zhí)行寫入操作。
在步驟404中,所述存儲器初始化單元可檢測包括所述存儲器塊的電力區(qū)域的斷電狀態(tài)的開始??苫谔峁┲了鲭娏^(qū)域的隔離啟用信號、本地復位信號和電力禁用信號中的至少一個信號執(zhí)行所述檢測。
在步驟406中,如果所述存儲器初始化單元檢測到斷電狀態(tài)的開始,那么所述存儲器初始化單元可進行至步驟408,以將所述存儲器塊與可選擇地與所述存儲器塊相耦合的邏輯塊解耦。所述解耦可包括,例如,將一個或多個電路組件配置成轉發(fā)由所述存儲器初始化單元生成的寫入操作相關信號(例如,寫入數(shù)據(jù)、地址、寫入啟用和邏輯啟用等)而不是轉發(fā)由所述邏輯塊生成的對應寫入操作相關信號。所述解耦還可包括將一個或多個電路組件配置成將系統(tǒng)復位信號和系統(tǒng)時鐘(而非本地復位信號和本地時鐘)轉發(fā)至所述存儲器塊。在一些實施方式中,所配置的電路組件可包括所述存儲器初始化單中所包括的一個或多個多路復用器。另一方面,如果所述存儲器初始化單元并未檢測到斷電狀態(tài)的開始,那么其返回至步驟404。
在步驟408中,在將所述存儲器塊從所述邏輯塊中解耦之后,所述存儲器初始化單元可進行至步驟410以執(zhí)行一個或多個寫入操作,以將初始化數(shù)據(jù)寫入至所述存儲器塊。所述寫入操作可包括,例如,生成寫入操作相關信號,例如寫入數(shù)據(jù)、地址、寫入啟用和邏輯啟用等,以及經(jīng)由前述提及的電路組件(例如,多路復用器)轉發(fā)所述信號。在一些實施方式中,可基于一個用于接收所述初始化數(shù)據(jù)的存儲器塊的預定地址范圍生成所述地址。所述寫入啟用信號和邏輯啟用信號可基于指示斷電狀態(tài)開始(例如,電力禁用)的多個信號而生成,并且可在所生成的地址中改變。所述初始化數(shù)據(jù)可包括一特定的模式,例如全邏輯1或全邏輯0。
在步驟410中完成寫入操作之后,所述存儲器初始化單元可檢測斷電狀態(tài)的結束。所述檢測也可基于提供至所述電力區(qū)域的隔離啟用信號、本地復位信號和電力禁用信號中的至少一個。當在步驟414中檢測到斷電狀態(tài)的結束之后,所述存儲器初始化單元可進行至步驟416以通過配置前述提及的電路組件(例如,多路復用器)將所述存儲器塊與所述邏輯塊相耦合。另一方面,如果所述存儲器初始化單元并未檢測到斷電狀態(tài)結束,那么其返回至步驟414。在步驟416中將所述存儲器塊與所述邏輯塊相耦合之后,所述存儲器初始化單元可進行至步驟418以提供寫入至所述存儲器塊的所述初始化數(shù)據(jù)以供,例如,所述邏輯塊訪問。
計算機系統(tǒng)
圖5為一種用于實施符合本發(fā)明的實施方式的例示計算機系統(tǒng)的框圖。計算機系統(tǒng)501的多種變形可用于實施本文所公開的設備和系統(tǒng)。計算機系統(tǒng)501可包括一個中央處理單元(“cpu”或“處理器”)502。處理器502可包括用于執(zhí)行多個程序組件的至少一個數(shù)據(jù)處理器,這些程序組件用于執(zhí)行用戶或系統(tǒng)生成的多個請求。用戶可包括個人、使用諸如包括本發(fā)明所述的設備的個人或此設備本身。所述處理器可包括專用處理單元,諸如集成系統(tǒng)(總線)控制器、存儲器管理控制單元、浮點單元、圖形處理單元、數(shù)字信號處理單元等。所述處理器可包括微處理器,諸如amd速龍(athlon)、毒龍(duron)或皓龍(opteron)、arm的應用處理器、嵌入式或安全處理器、ibmpowerpc、英特爾公司(intel)的core、安騰(itanium)、至強(xeon)、賽揚(celeron)或其他處理器產(chǎn)品線等。所述處理器502可使用主機、分布式處理器、多核、并行、網(wǎng)格或其他架構實施。一些實施方式可利用多種嵌入式技術,例如專用集成電路(asic)、數(shù)字信號處理器(dsp)、現(xiàn)場可編程門陣列(fpga)等。
處理器502可設置為經(jīng)由輸入/輸出(i/o)接口503與一個或多個i/o設備進行通信。所述i/o接口503可采用通信協(xié)議/方法,例如但不限于,音頻、模擬、數(shù)字、單聲道、rca、立體聲、ieee-1394、串行總線、通用串行總線(usb)、紅外、ps/2、bnc、同軸、組件、復合、數(shù)字視頻接口(dvi)、高清晰度多媒體接口(hdmi)、射頻天線、s-視頻、vga、ieee802.11a/b/g/n/x、藍牙、蜂窩(例如碼分多址(cdma)、高速分組接入(hspa+)、全球移動通信系統(tǒng)(gsm)、長期演進(lte)、wimax等)等。
使用所述i/o接口503,所述計算機系統(tǒng)501可與一個或多個i/o設備進行通信。例如,所述輸入設備504可為一種天線、鍵盤、鼠標、操縱桿、(紅外)遙控器、攝像頭、讀卡器、傳真機、加密狗、生物計量閱讀器、麥克風、觸摸屏、觸摸板、軌跡球、傳感器(例如加速度計、光傳感器、gps、陀螺儀、接近傳感器等)、觸控筆、掃描儀、存儲器設備、收發(fā)器、視頻設備/視頻源、多個護目鏡等。輸出設備505可為一種打印機、傳真機、視頻顯示器(例如陰極射線管(crt)、液晶顯示器(lcd)、發(fā)光二極管(led)、等離子體等)、音頻揚聲器等。在一些實施方式中,一個收發(fā)器506可被設置為與所述處理器502連接。所述收發(fā)器可促進各類無線傳輸或接收。例如,所述收發(fā)器可包括一種被有效地連接至收發(fā)器芯片的天線(例如德州儀器公司(texasinstruments)的wilinkwl1283、博通公司(broadcom)的bcm4750iub8、英飛凌科技(infineontechnologies)公司的x-gold618-pmb9800等),從而提供ieee802.11a/b/g/n、藍牙、頻率調制(fm)、全球定位系統(tǒng)(gps)、2g/3ghsdpa/hsupa通信等。
在一些實施方式中,所述處理器502可設置為經(jīng)由網(wǎng)絡接口507與通信網(wǎng)絡508進行通信。所述網(wǎng)絡接口507可與所述通信網(wǎng)絡508通信。所述網(wǎng)絡接口可采用多種連接協(xié)議,包括但不限于,直接連接、以太網(wǎng)(例如雙絞線10/100/1000baset)、傳輸控制協(xié)議/因特網(wǎng)協(xié)議(tcp/ip)、令牌環(huán)、ieee802.11a/b/g/n/x等。通信網(wǎng)絡508可包括,但不限于,直接互連、局域網(wǎng)(lan)、廣域網(wǎng)(wan)、無線網(wǎng)絡(例如使用無線應用協(xié)議)、因特網(wǎng)等。使用所述網(wǎng)絡接口507和所述通信網(wǎng)絡508,所述計算機系統(tǒng)501可與設備510、511和512通信。這些設備可包括,但不限于,個人計算機、服務器、傳真機、打印機、掃描儀以及各種移動設備,諸如手機、智能手機(例如蘋果公司(apple)的iphone、黑莓手機(blackberry)、基于安卓(android)系統(tǒng)的手機等)、平板電腦、電子書閱讀器(亞馬遜公司(amazon)的kindle,nook等)、膝上型計算機、筆記本電腦、游戲主機(微軟公司(microsoft)的xbox、任天堂公司(nintendo)的ds,索尼公司(sony)的playstation等)等。在一些實施方式中,所述計算機系統(tǒng)501本身可體現(xiàn)這些設備中的一個或多個。
在一些實施方式中,所述處理器502可設置為經(jīng)由存儲接口512與一個或多個存儲器設備(例如ram513、rom514等)進行通信。所述存儲接口可采用諸如串行高級技術附件(sata)、集成驅動電子設備(ide)、ieee-1394、通用串行總線(usb)、光纖通道、小型計算機系統(tǒng)接口(scsi)等連接協(xié)議連接至多個存儲器設備,這些存儲器設備包括,但不限于,存儲驅動器、可移動磁盤驅動器等。這些存儲驅動器還可包括一種磁鼓、磁盤驅動器、磁光驅動器、光盤驅動器、獨立磁盤冗余陣列(raid)、固態(tài)存儲器設備、固態(tài)驅動器等。存儲器設備的多種變形可用于實施,例如,本文所公開的這些數(shù)據(jù)庫。
這些存儲器設備可存儲一系列程序或數(shù)據(jù)庫組件,包括但不限于,一個操作系統(tǒng)516、用戶界面應用程序517、網(wǎng)頁瀏覽器518、郵件服務器519、郵件客戶端520、用戶/應用程序數(shù)據(jù)521(例如基于hdl寫入的、描述圖2的集成電路200的行為的程序文件、將hdl轉譯為用于配置fpga和/或asic制造的數(shù)據(jù)的應用程序等)等。所述操作系統(tǒng)516可促進資源管理和計算機系統(tǒng)501的操作。操作系統(tǒng)的實例包括,但不限于,蘋果公司的麥金塔(macintosh)osx、unix、類unix系統(tǒng)套件(例如伯克利軟件套件(bsd)、freebsd、netbsd、openbsd等)、linux套件(例如紅帽(redhat)、ubuntu、kubuntu等)、ibmos/2、微軟windows(xp,vista/7/8等)、蘋果ios、谷歌公司(google)的安卓、黑莓操作系統(tǒng)等。用戶界面517可促進多個程序組件通過多個文本或圖形工具進行顯示、執(zhí)行、交互、操控或操作。例如,多個用戶界面可在一種可有效地被連接至所述計算機系統(tǒng)501的顯示系統(tǒng)上提供多個計算機交互界面元件,諸如光標、圖標、復選框、菜單、滾動條、窗口、小部件等??刹捎枚喾N圖形用戶界面(gui),包括但不限于,蘋果公司macintosh操作系統(tǒng)的aqua、ibmos/2、微軟公司的windows(例如aero、metro等)、unixx-windows、網(wǎng)頁界面庫(例如activex、java、javascript、ajax、html、adobeflash等)等。
在一些實施方式中,所述計算機系統(tǒng)501可執(zhí)行網(wǎng)頁瀏覽器518存儲的程序組件。所述網(wǎng)頁瀏覽器可為超文本瀏覽應用程序,諸如微軟因特網(wǎng)瀏覽器(internetexplorer)、谷歌(google)瀏覽器(chrome)、謀智火狐(mozillafirefox)、蘋果瀏覽器(safari)等。可使用安全超文本傳輸協(xié)議(https)、安全套接字層(ssl)、安全傳輸層(tls)協(xié)議等提供安全網(wǎng)頁瀏覽。網(wǎng)頁瀏覽器可利用多種工具,諸如ajax、dhtml、adobeflash、javascript、java、應用程序編程接口(api)等。在一些實施方式中,所述計算機系統(tǒng)501可執(zhí)行郵件服務器519存儲的程序組件。郵件服務器可為因特網(wǎng)郵件服務器,諸如微軟exchange等。郵件服務器可使用多種工具,諸如asp、activex、ansic++/c#、微軟.net、cgi腳本、java、javascript、perl、php、python、webobjects等。郵件服務器可使用多種通信協(xié)議,諸如因特網(wǎng)消息訪問協(xié)議(imap)、消息傳遞應用程序編程接口(mapi)、微軟exchange、郵局協(xié)議(pop)、簡單郵件傳輸協(xié)議(smtp)等。在一些實施方式中,所述計算機系統(tǒng)501可執(zhí)行郵件客戶端520存儲的程序組件。所述郵件客戶端可為蘋果公司的mail、微軟公司的entourage、微軟公司的outlook、謀智公司的thunderbird等郵件查看應用程序。
在一些實施方式中,所述計算機系統(tǒng)501可存儲用戶/應用程序數(shù)據(jù)521,諸如本發(fā)明中所述的數(shù)據(jù)、變量、記錄等。此類數(shù)據(jù)庫可被實施為容錯、關系、可擴展、安全數(shù)據(jù)庫,諸如甲骨文(oracle)或賽貝斯(sybase)?;蛘撸祟悢?shù)據(jù)庫可使用多種標準化數(shù)據(jù)結構,諸如數(shù)組、散列、鏈表、結構、結構化文本文件(例如xml)、表格等,或面向對象的數(shù)據(jù)庫(例如使用objectstore、poet、zope等)實施。此類數(shù)據(jù)庫可為合并式或分布式,有時分布于本發(fā)明所討論的上述各種計算機系統(tǒng)之間。應理解的是,可通過任何工作組合對任何計算機或數(shù)據(jù)庫組件的結構及操作進行組合、合并或分布。
本說明書已描述了多種用于一種集成電路的存儲器初始化的方法和系統(tǒng)。所說明的步驟用于解釋所示出的例示實施方式,并且應當預想到的是,隨著技術的不斷發(fā)展,特定功能的執(zhí)行方式也將發(fā)生改變。本文所呈現(xiàn)的這些實例用于說明而非限制目的。另外,為了便于描述,本文對功能構建塊邊界的定義為任意性的。只要適當執(zhí)行替代邊界的指定功能及其關系,便可定義替代邊界?;诒疚乃虒?,替代方案(包括本文所述方案的等同方案、擴展方案、變形方案、偏差方案等)對于相關領域技術人員將是顯而易見的。此類替代方案均落入所公開實施方式的范圍和精神內。另外,“包括”、“具有”、“含有”和“包含”等詞以及其他類似形式在意義方面旨在同等且為開放式詞語,跟隨這些詞語當中任何一個之后的單個或多個物件并不意在對此類單個或多個物件的詳盡列舉,也不意在僅局限于所列出的所述單個或多個物件。還必須注意的是,如本文和所附權利要求書中所使用,除非上下文另有明確說明,否則單數(shù)形式“一”、“一個”和“所述”也包括復數(shù)意義。
另外,一個或多個計算機可讀存儲介質可用于實施符合本發(fā)明的實施方式。一個計算機可讀存儲介質是指上面可存儲可由處理器讀取的信息或數(shù)據(jù)的、任何類型的物理存儲器。因此,計算機可讀存儲介質可存儲指令以供一個或多個處理器執(zhí)行,這些指令包括用于使得處理器執(zhí)行符合本文所述的實施方式的步驟或階段的指令。“計算機可讀介質”一詞應理解為包括有形物件且不包括載波和瞬態(tài)信號,即為非暫時性介質。實例包括隨機訪問存儲器(ram)、只讀存儲器(rom)、易失性存儲器、非易失性存儲器、硬盤驅動器、光盤只讀存儲器(cd-rom)、數(shù)字化視頻光盤(dvd)、閃存驅動器、磁盤以及其他任何已知物理存儲介質。
本發(fā)明和實例旨在僅被視為例示性的,所公開實施方式的真正范圍和精神由以下權利要求書說明。