用于動(dòng)態(tài)電壓-頻率調(diào)節(jié)的可旁路鐘控存儲(chǔ)電路的制作方法
【專利摘要】用于動(dòng)態(tài)電壓-頻率調(diào)節(jié)的可旁路鐘控存儲(chǔ)電路。提供具有時(shí)序邏輯電路的集成電路。時(shí)序邏輯電路可以包括耦合在速率關(guān)鍵輸入終端和速率關(guān)鍵輸出終端之間的可旁路鐘控存儲(chǔ)元件的鏈。組合邏輯電路可以插入到鏈中的每對相鄰的可旁路鐘控存儲(chǔ)元件之間。動(dòng)態(tài)電壓-頻率調(diào)節(jié)(DVFS)控制電路可以向組合邏輯電路提供可調(diào)節(jié)的電源電壓并可以提供可調(diào)節(jié)的時(shí)鐘信號(hào)以控制鐘控存儲(chǔ)元件。DVFS控制電路可以用來選擇性地使能至少一些可旁路鐘控存儲(chǔ)元件同時(shí)禁能其它可旁路鐘控存儲(chǔ)元件,使得在維持相同的操作頻率的同時(shí)減小電源電壓。可以對電源電壓和時(shí)鐘信號(hào)的頻率進(jìn)行調(diào)節(jié)以提供期望的電壓-頻率平衡。
【專利說明】用于動(dòng)態(tài)電壓-頻率調(diào)節(jié)的可旁路鐘控存儲(chǔ)電路
[0001]本申請要求2013年I月30日提交的美國專利申請N0.13/754, 579的優(yōu)先權(quán),其全文通過引用合并于此。
【背景技術(shù)】
[0002]對數(shù)字集成電路在最小化功率消耗的同時(shí)以較高的速率運(yùn)行的需求不斷增加。為了在功率消耗和跨各種應(yīng)用和運(yùn)行條件的性能之間實(shí)現(xiàn)期望的平衡,有時(shí)為數(shù)字集成電路提供動(dòng)態(tài)電壓-頻率調(diào)節(jié)(DVFS)能力。
[0003]在常規(guī)的動(dòng)態(tài)電壓-頻率調(diào)節(jié)方案中,集成電路能夠在不同的頻率-電壓點(diǎn)運(yùn)行。當(dāng)需要更高的性能時(shí),可以增加電壓來減少門延遲并允許增加計(jì)時(shí)頻率。當(dāng)期望低功耗時(shí),計(jì)時(shí)頻率被減小以允許電壓的減小。根據(jù)當(dāng)前的輸入工作量或運(yùn)行條件的變化,可以將集成電路設(shè)置成這些不同的電壓-頻率狀態(tài)。
[0004]常規(guī)的DVFS方案允許集成電路在不連續(xù)的電壓-頻率點(diǎn)處或在連續(xù)的電壓-頻率范圍內(nèi)運(yùn)行。然而,電壓和頻率之間的關(guān)系在設(shè)計(jì)時(shí)是固定的,并且由特定的電路結(jié)構(gòu)確定。例如,考慮集成電路包含插入在兩個(gè)觸發(fā)器電路之間的組合邏輯的情形,其中當(dāng)利用1.0V的電源電壓為組合邏輯供電時(shí),組合邏輯表現(xiàn)出四納秒的傳播延遲。在該示例中,能夠運(yùn)行觸發(fā)器電路的最大工作頻率被限制在250MHZ。也就是說,給定電壓處的最大工作頻率完全由組合邏輯的電路結(jié)構(gòu)確定,并且更具體地由與組合邏輯相關(guān)聯(lián)的延遲確定,無論是組合邏輯的電路結(jié)構(gòu)還是與組合邏輯相關(guān)聯(lián)的延遲都無法在制造之后調(diào)節(jié)。
【發(fā)明內(nèi)容】
[0005]本發(fā)明通常涉及集成電路,更具體地,涉及具有動(dòng)態(tài)電壓-頻率調(diào)節(jié)能力的集成電路??梢詾榧呻娐?例如,提供有配置數(shù)據(jù)的可編程集成電路)提供插入在數(shù)據(jù)路徑中的邏輯電路。該邏輯電路可以包括如可旁路鐘控存儲(chǔ)元件(有時(shí)也被稱為可旁路寄存器)的時(shí)序邏輯電路和如邏輯延遲元件(例如,邏輯門、可編程互連等)的組合邏輯電路。邏輯延遲元件可以耦合在數(shù)據(jù)路徑中的每對相鄰可旁路寄存器之間。
[0006]集成電路可以運(yùn)行在各種電壓-頻率狀態(tài)中。在第一狀態(tài)中,當(dāng)邏輯電路以給定頻率操作時(shí),可以用控制電路來為邏輯電路提供第一電源電壓。在第二狀態(tài)中,當(dāng)邏輯電路以給定頻率操作時(shí),可以用控制電路來為邏輯電路提供第二電源電壓。在第一狀態(tài)期間,可以將第一數(shù)量的可旁路寄存器切換至使用,而在第二狀態(tài)期間,可以將第二數(shù)量的可旁路寄存器切換至使用。
[0007]也就是說,可以通過選擇性地使能數(shù)據(jù)路徑中的適當(dāng)數(shù)量的可旁路寄存器以固定的工作頻率執(zhí)行電壓調(diào)節(jié)。控制電路可以動(dòng)態(tài)地從第一狀態(tài)切換為第二狀態(tài)而不必用一組新的配置數(shù)據(jù)來重新配置集成電路,并且反之亦然。通常,控制電路可以用來通過向組合邏輯電路提供可調(diào)節(jié)的電源電壓以及向時(shí)序邏輯電路提供可調(diào)節(jié)的頻率時(shí)鐘信號(hào)而實(shí)現(xiàn)動(dòng)態(tài)電壓-頻率調(diào)節(jié)功能。
[0008]如果需要,集成電路可以支持多線程操作來處理帶有反饋環(huán)的邏輯電路。特別地,也可以為帶有反饋環(huán)的邏輯電路提供可旁路寄存器。在不同的多線程模式中,可以使能不同數(shù)量的可旁路寄存器來處理來自相應(yīng)數(shù)量的線程的輸入信號(hào)。通常,將更多的可旁路寄存器切換至使用可以用于以時(shí)延為代價(jià)使能更低的電壓操作(例如,可以通過多線程技術(shù)以反饋電路的固定頻率執(zhí)行電壓調(diào)節(jié))。
[0009]根據(jù)附圖和下文的【具體實(shí)施方式】,本發(fā)明的進(jìn)一步的特征、其本質(zhì)和各種優(yōu)勢將更加明顯。
【專利附圖】
【附圖說明】
[0010]圖1是根據(jù)本發(fā)明實(shí)施例的說明性可編程集成電路的圖示。
[0011]圖2是根據(jù)本發(fā)明的實(shí)施例可以利用邏輯設(shè)計(jì)系統(tǒng)來配置可編程集成電路的說明性系統(tǒng)環(huán)境的圖示。
[0012]圖3是根據(jù)本發(fā)明的實(shí)施例用于生成實(shí)現(xiàn)可編程集成電路中的定制電路設(shè)計(jì)的配置數(shù)據(jù)的邏輯設(shè)計(jì)系統(tǒng)的圖示。
[0013]圖4是根據(jù)本發(fā)明的實(shí)施例可以在邏輯設(shè)計(jì)系統(tǒng)中使用的說明性計(jì)算機(jī)輔助設(shè)計(jì)(CAD)工具的圖示。
[0014]圖5是根據(jù)本發(fā)明的實(shí)施例用于設(shè)計(jì)定制邏輯電路及執(zhí)行時(shí)序分析的說明性步驟的流程圖。
[0015]圖6是根據(jù)本發(fā)明實(shí)施例的可旁路鐘控存儲(chǔ)元件和組合邏輯延遲元件的說明性鏈的圖示。
[0016]圖7和圖8是根據(jù)本發(fā)明實(shí)施例的說明性可旁路鐘控存儲(chǔ)元件的電路圖。
[0017]圖9A、圖9B和圖9C是根據(jù)本發(fā)明的實(shí)施例示出被配置為在不同的電壓-頻率狀態(tài)中運(yùn)行的圖6的可旁路鐘控存儲(chǔ)元件和組合邏輯延遲元件的鏈的圖示。
[0018]圖10是根據(jù)本發(fā)明的實(shí)施例示出次優(yōu)電壓-頻率調(diào)節(jié)配置的圖示。
[0019]圖11是根據(jù)本發(fā)明的實(shí)施例示出最優(yōu)電壓-頻率調(diào)節(jié)配置的圖示。
[0020]圖12是根據(jù)本發(fā)明實(shí)施例的帶有可編程除法器的說明性鎖相環(huán)(PLL)的圖示。
[0021]圖13是根據(jù)本發(fā)明實(shí)施例的說明性時(shí)鐘信號(hào)選擇電路的圖示。
[0022]圖14是根據(jù)本發(fā)明實(shí)施例的說明性可編程電壓調(diào)節(jié)器的圖示。
[0023]圖15是根據(jù)本發(fā)明實(shí)施例的說明性電源電壓選擇電路的圖示。
[0024]圖16是根據(jù)本發(fā)明的實(shí)施例示出具有平衡延遲的兩個(gè)說明性數(shù)據(jù)路徑的圖示。
[0025]圖17是根據(jù)本發(fā)明的實(shí)施例具有耦合到前饋路徑的可旁路鐘控存儲(chǔ)元件的說明性環(huán)電路的圖示。
[0026]圖18是根據(jù)本發(fā)明實(shí)施例的工作在單線程模式中的說明性累加器環(huán)的圖示。
[0027]圖19是根據(jù)本發(fā)明實(shí)施例的工作在雙線程模式中的說明性累加器環(huán)的圖示。
[0028]圖20是根據(jù)本發(fā)明實(shí)施例的可操作以在多線程配置中工作的說明性環(huán)電路的圖
/Jn ο
[0029]圖21是根據(jù)本發(fā)明實(shí)施例的用于執(zhí)行動(dòng)態(tài)電壓-頻率調(diào)節(jié)操作的說明性步驟的流程圖。
【具體實(shí)施方式】[0030]本發(fā)明的各實(shí)施例涉及具有邏輯電路的集成電路。該集成電路可以是任何合適類型的集成電路,例如微處理器、專用集成電路、數(shù)字信號(hào)處理器、存儲(chǔ)器電路或其它集成電路。如果需要,則集成電路可以是包含可編程邏輯電路的可編程集成電路。本發(fā)明將主要在集成電路如作為示例的可編程邏輯器件(PLD)集成電路的背景中描述。
[0031]圖1是說明性集成電路如可編程集成電路10的圖示??删幊唐骷?0可以包括輸入-輸出電路12,其用于通過輸入-輸出引腳14將信號(hào)驅(qū)動(dòng)離開器件10并接收來自其它器件的信號(hào)?;ミB資源16如全局和局部垂直和水平導(dǎo)線以及總線可以用來路由(route)器件10上的信號(hào)?;ミB資源16包括導(dǎo)線和相應(yīng)的導(dǎo)線之間的可編程連接,因此其有時(shí)被稱為可編程互連16。
[0032]可編程器件10可以包括可編程邏輯18,其可以被配置為執(zhí)行定制邏輯功能??删幊踢壿?8可以包括組合邏輯電路和時(shí)序邏輯電路。可編程互連16可以被看作是一種類型的可編程邏輯18。
[0033]器件10也可以包含可編程存儲(chǔ)器元件20??梢岳靡_14和輸入-輸出電路12對存儲(chǔ)器元件20加載配置數(shù)據(jù)(也稱為編程數(shù)據(jù))。一旦被加載,存儲(chǔ)器元件中的每個(gè)都可以提供相應(yīng)的靜態(tài)控制信號(hào),該靜態(tài)控制信號(hào)控制可編程邏輯18中的相關(guān)聯(lián)的邏輯組件的操作。在典型情況下,加載的存儲(chǔ)器元件20的輸出被施加到可編程邏輯18中的金屬氧化物半導(dǎo)體晶體管的柵極以打開或關(guān)閉某些晶體管,并由此配置可編程邏輯18中的邏輯及路由路徑??梢砸赃@種方式控制的可編程邏輯電路元件包括導(dǎo)通晶體管、多路復(fù)用器的部分(例如,用于在可編程互連16中形成路由路徑的多路復(fù)用器)、查找表、邏輯陣列、各種邏輯門等。
[0034]存儲(chǔ)器元件20可以利用任何合適的易失性和/或非易失性存儲(chǔ)器結(jié)構(gòu)如隨機(jī)訪問存儲(chǔ)器(RAM)單元、熔斷器、反熔絲、可編程只讀存儲(chǔ)器存儲(chǔ)單元、掩膜編程和激光編程結(jié)構(gòu)、這些結(jié)構(gòu)的組合等來實(shí)現(xiàn)。由于在編程期間存儲(chǔ)器元件20加載有配置數(shù)據(jù),因此存儲(chǔ)器元件20有時(shí)被稱為配置存儲(chǔ)器、配置RAM (CRAM)或可編程存儲(chǔ)器元件。
[0035]可以利用任何合適的架構(gòu)來組織器件10的電路。作為示例,可以將器件10的邏輯組織在較大可編程邏輯區(qū)域的一系列行和列中,每個(gè)可編程邏輯區(qū)域包含多個(gè)較小的邏輯區(qū)域。較小的邏輯區(qū)域可以是諸如有時(shí)被稱為邏輯元件(LE)的邏輯區(qū)域,每個(gè)邏輯元件都包含查找表(LUT)、一個(gè)或更多寄存器和可編程多路復(fù)用器電路。較小的區(qū)域也可以是諸如有時(shí)被稱為自適應(yīng)邏輯模塊(ALM)的邏輯區(qū)域。每個(gè)自適應(yīng)邏輯模塊都可以包括一對加法器、一對相關(guān)聯(lián)的寄存器以及查找表或共享組合邏輯的其它塊(作為示例)。較大的區(qū)域可以是諸如包含多個(gè)邏輯元件或多個(gè)ALM的邏輯陣列塊(LAB)。在圖1的示例中,說明性邏輯區(qū)域22 (其可以是諸如LE或ALM)顯示在圖1中的可編程邏輯18的較大區(qū)域中。在典型的可編程邏輯器件10中,可能有成百或上千個(gè)較小的邏輯區(qū)域22。圖1中所示的邏輯區(qū)域22僅是說明性的。
[0036]在器件編程期間,配置數(shù)據(jù)被加載到器件10中,該配置數(shù)據(jù)對可編程邏輯區(qū)域22和可編程邏輯區(qū)域18進(jìn)行配置,使得他們的邏輯資源根據(jù)其輸入執(zhí)行期望的邏輯功能并產(chǎn)生期望的輸出信號(hào)。例如,對CRAM單元加載合適的配置數(shù)據(jù)位,以配置器件10上的加法器和其它電路來實(shí)現(xiàn)期望的定制邏輯設(shè)計(jì)。
[0037]可以用可編程互連16來互連如可編程邏輯18的器件10的資源?;ミB16通常包括豎直和水平的導(dǎo)體。這些導(dǎo)體可以包括基本上跨越器件10的全部的全局導(dǎo)線、跨越器件10的一部分的部分線路如半線或四分之一線、特定長度的交錯(cuò)線(例如,足以互連幾個(gè)邏輯陣列塊或其它這樣的邏輯區(qū)域)、更小的局部線路或任何其它合適的互連資源布置。如果需要,器件10的邏輯可以被布置成更多的等級(jí)或?qū)?,在這些更多的等級(jí)或?qū)又校梢詫Χ鄠€(gè)大的區(qū)域進(jìn)行互連來形成邏輯的更大部分。其它器件布置仍然可以使用沒有按行和列布置的邏輯。
[0038]除了圖1中所示的可編程邏輯的相對較大的塊之外,器件10通常也包括一些與器件10上的可編程互連、存儲(chǔ)器以及輸入-輸出電路相關(guān)聯(lián)的可編程邏輯。例如,輸入-輸出電路12可以包含可編程輸入和輸出緩沖器??梢詫⒒ミB16編程為將信號(hào)路由到期望的目的地。
[0039]圖2中示出用于設(shè)計(jì)和配置可編程集成電路10的說明性系統(tǒng)環(huán)境。器件10可以被安裝在系統(tǒng)380的板360上。器件10可以從編程設(shè)備或從任何其它合適的設(shè)備或器件中接收配置數(shù)據(jù)。
[0040]在圖2的示例中,器件10是從相關(guān)聯(lián)的集成電路400接收配置數(shù)據(jù)的一種類型的可編程集成電路。在這種類型的布置下,如果需要,電路400可以安裝在與器件10相同的板360上。電路400可以是將來自外部電可擦除可編程只讀存儲(chǔ)器(EEPRAM)芯片的配置數(shù)據(jù)加載到可編程邏輯器件存儲(chǔ)器的可編程邏輯器件配置數(shù)據(jù)加載芯片、帶有內(nèi)置存儲(chǔ)器的可編程邏輯器件配置數(shù)據(jù)加載芯片(有時(shí)被稱為配置器件)或任何其它合適的器件。當(dāng)系統(tǒng)380啟動(dòng)時(shí)(或在另一合適的時(shí)間),配置數(shù)據(jù)可以從器件400提供給器件10,如由路徑420示意性示出的。提供給器件10的配置數(shù)據(jù)可以存儲(chǔ)在器件10的可編程元件20 (例如,配置隨機(jī)訪問存儲(chǔ)器元件)中。
[0041]系統(tǒng)380可以包括與器件10通信的處理電路440、存儲(chǔ)460以及其它系統(tǒng)組件480。系統(tǒng)380的組件可以位于一個(gè)或更多板(例如,板360)上或其它合適的安裝結(jié)構(gòu)或外殼上。
[0042]可以利用通信路徑將器件10互連到其它組件。例如,可以利用通信路徑370在安裝在板360上的集成電路390和器件10之間傳遞數(shù)據(jù)??梢岳猛ㄐ怕窂?50和500在器件10和組件440、460和480之間傳遞信號(hào)。
[0043]可以通過路徑如路徑520將器件10的配置數(shù)據(jù)提供給配置器件400。例如,配置器件400可以從配置數(shù)據(jù)加載設(shè)備540或在配置器件400中存儲(chǔ)配置數(shù)據(jù)的其它合適的設(shè)備中接收配置數(shù)據(jù)。器件400可以在安裝到板360之前或之后加載數(shù)據(jù)。
[0044]在可編程邏輯器件中設(shè)計(jì)并實(shí)現(xiàn)期望的邏輯電路是一項(xiàng)重要的工作。因此,邏輯設(shè)計(jì)者通常使用基于計(jì)算機(jī)輔助設(shè)計(jì)(CAD)工具的邏輯設(shè)計(jì)系統(tǒng)來幫助他們設(shè)計(jì)電路。邏輯設(shè)計(jì)系統(tǒng)(有時(shí)被稱為電路設(shè)計(jì)系統(tǒng))可以幫助邏輯設(shè)計(jì)者設(shè)計(jì)并測試系統(tǒng)的復(fù)雜電路。當(dāng)設(shè)計(jì)完成時(shí),可以利用邏輯設(shè)計(jì)系統(tǒng)來生成用于電編程適當(dāng)?shù)目删幊踢壿嬈骷呐渲脭?shù)據(jù)。邏輯設(shè)計(jì)系統(tǒng)可以在計(jì)算設(shè)備上實(shí)現(xiàn)。
[0045]如圖2所示,可以通過路徑如路徑580將邏輯設(shè)計(jì)系統(tǒng)560產(chǎn)生的配置數(shù)據(jù)提供給設(shè)備540。設(shè)備540將配置數(shù)據(jù)提供給器件400,使得器件400隨后能夠通過路徑420將該配置數(shù)據(jù)提供給器件10。系統(tǒng)560可以基于一個(gè)或更多計(jì)算機(jī)或一個(gè)或更多軟件程序。通常,軟件和數(shù)據(jù)可以存儲(chǔ)在系統(tǒng)560中并被示意性示為存儲(chǔ)裝置600的任何計(jì)算機(jī)可讀介質(zhì)(存儲(chǔ))上。
[0046]在典型的情形下,邏輯設(shè)計(jì)者使用邏輯設(shè)計(jì)系統(tǒng)560來創(chuàng)建定制電路設(shè)計(jì)。系統(tǒng)560產(chǎn)生提供給配置器件400的相應(yīng)配置數(shù)據(jù)。上電后,可以利用配置器件400和器件10上的數(shù)據(jù)加載電路將配置數(shù)據(jù)加載到器件10的可編程存儲(chǔ)器元件20中。然后,器件10可以用于系統(tǒng)380的正常操作。
[0047]圖3根據(jù)本發(fā)明示出說明性邏輯設(shè)計(jì)系統(tǒng)560。系統(tǒng)560可以基于一個(gè)或更多處理器,例如個(gè)人計(jì)算機(jī)、工作站等。處理器可以使用網(wǎng)絡(luò)(例如,局域網(wǎng)或廣域網(wǎng))來鏈接。這些計(jì)算機(jī)中的存儲(chǔ)器或外部存儲(chǔ)器和存儲(chǔ)設(shè)備如內(nèi)部和/外部硬盤可用來存儲(chǔ)指令和數(shù)據(jù)。
[0048]基于軟件的組件如計(jì)算機(jī)輔助設(shè)計(jì)工具620和數(shù)據(jù)庫630位于系統(tǒng)560上。在操作期間,可執(zhí)行軟件如計(jì)算機(jī)輔助設(shè)計(jì)工具620的軟件在系統(tǒng)560的處理器上運(yùn)行。數(shù)據(jù)庫630用來存儲(chǔ)用于系統(tǒng)560的操作的數(shù)據(jù)。通常,軟件和數(shù)據(jù)可以存儲(chǔ)在系統(tǒng)560中的任何計(jì)算機(jī)可讀介質(zhì)(存儲(chǔ)裝置)中。這種存儲(chǔ)裝置(示意性示為圖2的存儲(chǔ)600)可以包括計(jì)算機(jī)存儲(chǔ)器芯片、可移除和固定介質(zhì)如硬盤驅(qū)動(dòng)器、閃存、光盤(CD)、DVD、其它光學(xué)介質(zhì)和軟盤、磁帶或任何其它合適的存儲(chǔ)器或存儲(chǔ)器件。當(dāng)系統(tǒng)560的軟件被安裝時(shí),系統(tǒng)560的存儲(chǔ)裝置600具有引起系統(tǒng)560中的計(jì)算設(shè)備執(zhí)行各種方法(過程)的指令和數(shù)據(jù)。當(dāng)執(zhí)行這些過程時(shí),計(jì)算設(shè)備被配置為實(shí)現(xiàn)邏輯設(shè)計(jì)系統(tǒng)的功能。
[0049]計(jì)算機(jī)輔助設(shè)計(jì)(CAD)工具620 (其中的一些或全部有時(shí)被統(tǒng)稱為CAD工具)可以由單個(gè)供應(yīng)商或多個(gè)供應(yīng)商提供。工具620可以被提供為工具的一個(gè)或更多套件(例如,用于執(zhí)行與實(shí)現(xiàn)可編程邏輯器件中的電路設(shè)計(jì)相關(guān)聯(lián)的編譯器套件)和/或作為一個(gè)或更多獨(dú)立的軟件組件(工具)。數(shù)據(jù)庫630可以包括僅由特定的一個(gè)或多個(gè)工具訪問的一個(gè)或更多數(shù)據(jù)庫,并可以包括一個(gè)或更多共享數(shù)據(jù)庫。共享數(shù)據(jù)庫可以由多個(gè)工具訪問。例如,第一工具可以為第二工具將數(shù)據(jù)存儲(chǔ)在共享數(shù)據(jù)庫中。第二工具可訪問該共享數(shù)據(jù)庫以獲取由第一工具存儲(chǔ)的數(shù)據(jù)。這允許一個(gè)工具將信息傳遞到另一工具。如果期望的話,工具也可以在彼此之間傳遞信息而不在共享數(shù)據(jù)庫中存儲(chǔ)信息。
[0050]圖4示出可以在如圖2和圖3的系統(tǒng)560的邏輯設(shè)計(jì)系統(tǒng)中使用的說明性計(jì)算機(jī)輔助設(shè)計(jì)工具620。
[0051]設(shè)計(jì)過程一般以闡明邏輯電路功能規(guī)范(例如,邏輯電路的功能描述)開始。邏輯設(shè)計(jì)者可以利用設(shè)計(jì)和約束輸入工具來指定期望的電路應(yīng)當(dāng)如何起作用。設(shè)計(jì)和約束輸入工具664可以包括諸如設(shè)計(jì)和約束輸入幫助666和設(shè)計(jì)編輯器668的工具??梢岳萌鐜椭?66的設(shè)計(jì)和約束輸入幫助來幫助邏輯設(shè)計(jì)者從現(xiàn)有的邏輯設(shè)計(jì)庫中定位期望的設(shè)計(jì),并可以向邏輯設(shè)計(jì)者提供計(jì)算機(jī)輔助協(xié)助以輸入(指定)期望的設(shè)計(jì)。
[0052]作為示例,設(shè)計(jì)和約束輸入幫助666可用于向用戶呈現(xiàn)屏幕選項(xiàng)。用戶可以點(diǎn)擊屏幕上的選項(xiàng)以選擇設(shè)計(jì)的電路是否應(yīng)當(dāng)具有某些特征。設(shè)計(jì)編輯器668可用于輸入設(shè)計(jì)(例如,通過輸入多行硬件描述語言代碼),可用于編輯從庫中得到的設(shè)計(jì)(例如,使用設(shè)計(jì)和約束輸入幫助),或者可幫助用戶選擇并編輯適當(dāng)?shù)念A(yù)封裝/預(yù)打包的代碼/設(shè)計(jì)。
[0053]設(shè)計(jì)和約束輸入工具664可用于允許邏輯設(shè)計(jì)者用任何合適的格式提供期望的邏輯設(shè)計(jì)。例如,設(shè)計(jì)和約束輸入工具664可以包括允許邏輯設(shè)計(jì)者使用真值表輸入邏輯設(shè)計(jì)的工具。真值表可以利用文本文件或時(shí)序圖來指定并可以從庫中導(dǎo)入。真值表邏輯設(shè)計(jì)和約束輸入可以用于大型電路的一部分或用于整個(gè)電路。
[0054]作為另一示例,設(shè)計(jì)和約束輸入工具664可以包括示意性捕獲工具。示意性捕獲工具可以允許邏輯設(shè)計(jì)者根據(jù)構(gòu)成部件如邏輯門和邏輯門的群組可視地構(gòu)建邏輯電路。先前存在的邏輯電路的庫可用于允許使用示意性捕獲工具導(dǎo)入設(shè)計(jì)的期望部分。
[0055]如果期望,設(shè)計(jì)和約束輸入工具664可以允許邏輯設(shè)計(jì)者使用硬件描述語言如Verilog硬件描述語言(HDL)或超高速集成電路硬件描述語言(VHDL)向邏輯設(shè)計(jì)系統(tǒng)560提供邏輯設(shè)計(jì)。邏輯電路的設(shè)計(jì)者可通過使用編輯器668寫入硬件描述語言代碼來輸入邏輯設(shè)計(jì)。代碼塊可以根據(jù)需要從用戶維持的庫或商用庫中導(dǎo)入。
[0056]在利用設(shè)計(jì)和約束輸入工具664輸入設(shè)計(jì)之后,可以利用行為仿真工具672來仿真該設(shè)計(jì)的功能性能。如果該設(shè)計(jì)的功能性能不完整或不正確,則邏輯設(shè)計(jì)者可以利用設(shè)計(jì)和約束輸入工具664來改變設(shè)計(jì)。在使用工具674執(zhí)行合成操作之前,可以利用行為仿真工具672來驗(yàn)證新設(shè)計(jì)的功能操作。如果需要,也可以在設(shè)計(jì)流程中的其它階段(例如,在邏輯合成之后)使用如工具672的仿真工具。可以將行為仿真工具672的輸出以任何合適的格式(例如,真值表、時(shí)序圖等)提供給邏輯設(shè)計(jì)者。
[0057]—旦確定邏輯設(shè)計(jì)的功能操作達(dá)到要求,就可以利用邏輯合成和優(yōu)化工具674在特定的可編程邏輯器件中(即,在特定的可編程邏輯器件產(chǎn)品或產(chǎn)品族的邏輯和互連資源中)實(shí)現(xiàn)該邏輯設(shè)計(jì)。
[0058]工具674試圖基于邏輯設(shè)計(jì)者利用工具664輸入的邏輯設(shè)計(jì)數(shù)據(jù)和約束數(shù)據(jù)通過選擇適當(dāng)?shù)挠布?shí)現(xiàn)邏輯設(shè)計(jì)中的不同邏輯功能來優(yōu)化設(shè)計(jì)。
[0059]在利用工具674進(jìn)行邏輯合成和優(yōu)化之后,邏輯設(shè)計(jì)系統(tǒng)可以使用工具如布局和布線工具676來執(zhí)行物理設(shè)計(jì)步驟(布局合成操作)??梢岳貌季趾筒季€工具676來確定如何在可編程邏輯器件內(nèi)布置每個(gè)邏輯功能的電路。例如,如果兩個(gè)計(jì)數(shù)器彼此交互,則布局和布線工具676可以將這些計(jì)數(shù)器定位在可編程邏輯器件上的相鄰邏輯區(qū)域中以減小互聯(lián)延遲或滿足規(guī)定了允許的最大互聯(lián)延遲的時(shí)序要求。布局和布線工具676為給定的可編程邏輯器件產(chǎn)生邏輯設(shè)計(jì)的有序和有效的實(shí)現(xiàn)。
[0060]如工具674和676的工具可以是編譯器套件的一部分(例如,由可編程邏輯器件銷售商提供的編譯器工具的套件的一部分)。根據(jù)本發(fā)明,如工具674、676和678的工具可以自動(dòng)考慮實(shí)施期望的電路設(shè)計(jì)時(shí)互連之間的串?dāng)_效應(yīng)。工具674、676和678也可以包括時(shí)序分析工具。這使得工具674和676在為編程集成電路如可編程集成電路10生成配置數(shù)據(jù)時(shí)滿足性能要求(例如,時(shí)序要求)。
[0061]在利用布局和布線工具676生成可編程邏輯器件中的期望的邏輯設(shè)計(jì)的實(shí)現(xiàn)之后,可以利用分析工具678對設(shè)計(jì)的實(shí)現(xiàn)進(jìn)行分析和測試。在利用工具620完成滿意的優(yōu)化操作之后,工具620可以為可編程邏輯器件產(chǎn)生配置數(shù)據(jù)。
[0062]圖5中示出使用圖4的工具620產(chǎn)生配置數(shù)據(jù)文件所涉及的說明性操作。如圖5所示,在步驟82中對初始網(wǎng)表80進(jìn)行合成,以產(chǎn)生后合成網(wǎng)表84。在步驟86中,在布局和布線以及優(yōu)化操作期間對用戶輸入88和后合成網(wǎng)表84進(jìn)行處理。在步驟86的操作期間,CAD工具620考慮使用不同的正向電源電壓和/或體偏置電壓的影響,并且通過電源和體偏置水平的適當(dāng)選擇、電路資源的分配以及布局決策,工具620在滿足設(shè)計(jì)約束的同時(shí)降低了功耗。[0063]可以通過使用邏輯設(shè)計(jì)系統(tǒng)560執(zhí)行時(shí)序分析(步驟91)來進(jìn)一步處理產(chǎn)生的網(wǎng)表90。時(shí)序分析可用來幫助確保在配置可編程集成電路10之前最終網(wǎng)表90滿足時(shí)序約束。如果需要,處理可以可選地通過路徑93返回到步驟86,以利用最終網(wǎng)表來執(zhí)行額外的優(yōu)化。例如,邏輯設(shè)計(jì)系統(tǒng)560可以識(shí)別最終網(wǎng)表中不滿足時(shí)序約束的路由路徑并經(jīng)由可選路徑93返回到步驟86來確定替換路由路徑。
[0064]在步驟92中,可以在匯編過程期間進(jìn)一步對最終網(wǎng)表進(jìn)行處理以產(chǎn)生配置數(shù)據(jù)文件輸出(例如,.Pof或.sof文件)。然后,可以將配置數(shù)據(jù)文件輸出加載到可編程器件10上。
[0065]圖6示出本發(fā)明的一個(gè)合適的實(shí)施例,其中器件10包括邏輯數(shù)據(jù)路徑如數(shù)據(jù)路徑100。如圖6所示,數(shù)據(jù)路徑100可以耦合在輸入端102和輸出端104之間。為滿足性能標(biāo)準(zhǔn),將數(shù)據(jù)從輸入端102傳送到輸出端104的速率和在輸出104處生成數(shù)據(jù)的速率可能必須大于預(yù)定的閾值水平。因此,終端102和104有時(shí)可以被分別稱為速率關(guān)鍵輸入端和速率關(guān)鍵輸出端,并且數(shù)據(jù)路徑100可以被稱為關(guān)鍵數(shù)據(jù)路徑。
[0066]可以將多個(gè)存儲(chǔ)元件如鐘控存儲(chǔ)元件110插入終端102和104之間的數(shù)據(jù)路徑100中。在圖6的示例中,有第一鐘控存儲(chǔ)元件110-0(也表示為寄存器R0)、第二鐘控存儲(chǔ)元件110-1 (也表示為寄存器R1)、第三鐘控存儲(chǔ)元件110-2 (也表示為寄存器R2)、第四鐘控存儲(chǔ)元件110-3 (也表示為寄存器R3)、第五鐘控存儲(chǔ)元件110-4 (也表示為寄存器R4)。鐘控存儲(chǔ)元件110 (例如,寄存器R0-R4)可以是通常被稱為寄存器具有輸入A和輸出B的時(shí)序邏輯電路。在一些實(shí)施例中,可以利用有時(shí)被稱為觸發(fā)器的邊沿觸發(fā)寄存器電路(例如,正向邊沿觸發(fā)的觸發(fā)器或負(fù)向邊沿觸發(fā)的觸發(fā)器)來實(shí)現(xiàn)元件110。在其它實(shí)施例中,可以利用電平敏感鎖存器如脈沖鎖存器來實(shí)現(xiàn)元件110。這些示例僅僅是說明性的。如果需要,可以利用其它類型的時(shí)序或時(shí)鐘控制存儲(chǔ)組件來實(shí)現(xiàn)元件110。
[0067]組合邏輯(CL)如組合邏輯延遲元件106可以耦合在相鄰的每對鐘控(時(shí)序)存儲(chǔ)元件110之間。延遲元件可以包括邏輯門、互連路徑和/或其它可編程邏輯電路。在圖6的示例中,第一邏輯延遲元件106可以耦合在寄存器RO的輸出和寄存器Rl的輸入之間的數(shù)據(jù)路徑中,第二邏輯延遲元件106可以耦合在寄存器Rl的輸出和寄存器R2的輸入之間的數(shù)據(jù)路徑中,第三邏輯延遲元件106可以耦合在寄存器R2的輸出和寄存器R3的輸入之間的數(shù)據(jù)路徑中,并且第四邏輯延遲元件106可以耦合在寄存器R3的輸出和寄存器R4的輸入之間的數(shù)據(jù)路徑中。每個(gè)組合邏輯延遲元件106都可以具有能夠通過非關(guān)鍵數(shù)據(jù)路徑接收其它數(shù)據(jù)信號(hào)的其它輸入,例如輸入107。當(dāng)確定器件10的最大工作頻率時(shí),只需要對速率關(guān)鍵數(shù)據(jù)路徑的吞吐量進(jìn)行分析(例如,關(guān)鍵數(shù)據(jù)路徑包括任意兩個(gè)相鄰時(shí)序電路之間的最大組合延遲)。
[0068]根據(jù)本發(fā)明的實(shí)施例,器件10可以提供有動(dòng)態(tài)電壓-頻率調(diào)節(jié)(DVFS)能力。也就是說,可以以各種工作頻率以及不同的電源電壓水平操作數(shù)據(jù)路徑100 (例如,可以在不同的電壓-頻率設(shè)置或“狀態(tài)”上操作器件10上的邏輯電路)。器件10能夠動(dòng)態(tài)地從一個(gè)狀態(tài)切換到另一狀態(tài)而不必用新的配置數(shù)據(jù)組來重新配置集成電路。
[0069]特別地,可以通過操作時(shí)序元件110作為“可旁路”鐘控存儲(chǔ)元件來執(zhí)行固定工作頻率的電壓調(diào)節(jié)。例如,可以將每個(gè)寄存器110都設(shè)置為正常模式或旁路模式。當(dāng)寄存器110設(shè)置為正常模式時(shí),寄存器110被切換至使用并能夠鎖存其輸入端的數(shù)據(jù)并在其輸出端呈現(xiàn)相應(yīng)的鎖存數(shù)據(jù)。當(dāng)寄存器110被設(shè)置為旁路(或透明)模式時(shí),寄存器110被有效地從使用中切換出來,并且在其輸入端呈現(xiàn)的任何數(shù)據(jù)都被直接傳送到其輸出端。為滿足設(shè)計(jì)標(biāo)準(zhǔn),可以通過用設(shè)計(jì)工具620執(zhí)行期望的時(shí)序分析91來驗(yàn)證不同的電壓-頻率操作設(shè)置(假設(shè)合適的鐘控存儲(chǔ)元件已經(jīng)被使能)。
[0070]圖7是示出旁路鐘控存儲(chǔ)元件110的一個(gè)合適的布置的電路圖。如圖7所示,鐘控存儲(chǔ)元件110可以包括由相關(guān)聯(lián)的動(dòng)態(tài)電壓-頻率調(diào)節(jié)(DVFS)控制電路120控制的寄存器114和多路復(fù)用電路112。寄存器114可以是邊沿觸發(fā)的觸發(fā)器或電平敏感鎖存器(例如,脈沖鎖存器)。寄存器114可以具有用作元件110的輸入終端A的數(shù)據(jù)輸入端D、輸出端Q和時(shí)鐘輸入端。多路復(fù)用器112可以具有耦合到寄存器114的數(shù)據(jù)輸入端的第一(O)輸入端、I禹合到寄存器114的輸出端Q的第二( I)輸入端、用作兀件110的輸出終端B的輸出端以及控制輸入端。
[0071]可以利用控制電路120來產(chǎn)生到寄存器114的時(shí)鐘輸入端的可調(diào)節(jié)時(shí)鐘信號(hào)Clk、到多路復(fù)用器112的控制輸入端的控制信號(hào)Ctr以及用于為數(shù)據(jù)路徑100中的電路供電的可調(diào)節(jié)電源電壓Vcc??刂齐娐?20可以使信號(hào)Ctr有效用于將鐘控存儲(chǔ)元件110設(shè)置為正常模式(例如,用于配置多路復(fù)用器112將來自其第二輸入端的信號(hào)路由至其輸出端),并可以使信號(hào)Ctr無效以將鐘控存儲(chǔ)元件110設(shè)置為旁路模式(例如,以配置多路復(fù)用器112以將來自其第一輸入端的信號(hào)路由至其輸出端)。當(dāng)執(zhí)行電壓-頻率調(diào)節(jié)操作時(shí),也可以利用動(dòng)態(tài)電壓-頻率調(diào)節(jié)控制電路120來調(diào)節(jié)信號(hào)Clk的頻率和Vcc的電壓水平。
[0072]圖8是示出旁路鐘控存儲(chǔ)元件110的另一合適的布置的電路圖。如圖8所示,鐘控存儲(chǔ)元件110可以包括邏輯NAND門130、多路復(fù)用器122以及反相器124、126和128。反相器128可以具有用作元件110的輸入終端A的輸入端以及輸出端。多路復(fù)用器122可以具有第一(O)輸入端、f禹合到反相器128的輸出端的第二( I)輸入端、輸出端以及控制輸入端。反相器126可以具有耦合到多路復(fù)用器122的輸出端的輸入端和用作元件110的輸出終端B的輸出端。反相器124可以具有耦合到反相器126的輸出端的輸入端和耦合到多路復(fù)用器122的第一輸入端的輸出端。當(dāng)多路復(fù)用器122被配置為將來自其第一輸入端的信號(hào)路由到其輸出端時(shí),以這種交叉耦合配置連接的反相器124和126可以用作鎖存電路。
[0073]邏輯NAND門可以具有分別從DVFS控制電路120接收時(shí)鐘脈沖信號(hào)Cp和控制信號(hào)Ctr的第一輸入端和第二輸入端,并可以具有耦合到多路復(fù)用器122的控制輸入端的輸出端。控制電路120可以用來生成可調(diào)節(jié)的時(shí)鐘脈沖信號(hào)Cp (例如,具有可調(diào)節(jié)的脈沖寬度的時(shí)鐘信號(hào))、控制信號(hào)Ctr以及用于為數(shù)據(jù)路徑100中的電路供電的可調(diào)節(jié)電源電壓Vcc??刂齐娐?20可以使信號(hào)Ctr有效以將鐘控存儲(chǔ)元件110設(shè)置為正常模式(例如,信號(hào)Cp可以被傳送到多路復(fù)用器122),并可以使信號(hào)Ctr無效以將鐘控存儲(chǔ)元件110設(shè)置為旁路模式(例如,通過使用門130迫使多路復(fù)用器122的控制輸入端處于高電壓水平)。也就是說,當(dāng)元件110被設(shè)置為正常模式時(shí),多路復(fù)用電路122可以被配置為以交叉耦合配置來電氣連接反相器124和126,并且當(dāng)元件110被設(shè)置為旁路模式時(shí),多路復(fù)用電路122可以被配置為暫停該交叉耦合配置。當(dāng)執(zhí)行電壓-頻率調(diào)節(jié)操作時(shí),動(dòng)態(tài)電壓-頻率調(diào)節(jié)控制電路120也可以用來調(diào)節(jié)信號(hào)Clk的頻率和Vcc的電壓水平。
[0074]圖7的布置以基于邊沿觸發(fā)寄存器的實(shí)現(xiàn)為特征,而圖8的布置以基于電平敏感的鎖存器的實(shí)現(xiàn)為特征。這些示例僅是說明性的,并且不用來限制本發(fā)明的范圍。如果需要,可以使用其它合適方式來實(shí)現(xiàn)相似類型的旁路鐘控存儲(chǔ)元件。
[0075]圖9A、圖9B和圖9C是描述如何控制數(shù)據(jù)路徑100以在給定的操作頻率下提供電壓調(diào)節(jié)的圖示。如圖9A所示,可以通過電源線140將1.2V的電源電壓Vcc提供給控制電路120中的邏輯延遲元件106。在圖9A的示例中,當(dāng)用1.2V的Vcc供電時(shí),每個(gè)邏輯延遲元件106都顯示出I納秒的傳播延遲。通過禁能旁路元件R1、R2和R3(S卩,通過將元件R1-R3設(shè)置為旁路模式),輸入寄存器RO和輸出寄存器R4之間的總的傳播延遲因此大約等于4納秒,具有從輸入到輸出的兩個(gè)循環(huán)時(shí)延。結(jié)果,未旁路的寄存器RO和R4可以工作的最大時(shí)鐘頻率是250MHz (I除以4ns)。
[0076]在另一合適的布置中,控制電路120可以將電壓Vcc向下調(diào)節(jié)至1.0V以降低功耗(例如,參見圖9B)。當(dāng)Vcc被降低時(shí),每個(gè)邏輯延遲元件106可以顯示出相對較高的2納秒的傳播延遲。通過選擇性地禁能旁路元件Rl和R3同時(shí)使能元件R0、R2和R4,任意兩個(gè)相鄰的活動(dòng)的(或未禁能的/未旁路的)時(shí)序電路110之間的最大傳播延遲將仍然約等于4納秒,不同之處在于從輸入到輸出有三個(gè)循環(huán)時(shí)延。由于最壞情況的寄存器到寄存器的延遲保持固定在4納秒,因此未旁路的(起作用的)寄存器R0、R2和R4可以工作的最大時(shí)鐘頻率仍然等于250MHz。
[0077]在另一合適的布置中,控制電路120可以將電壓Vcc向下調(diào)節(jié)至0.8V以進(jìn)一步降低功耗(例如,參見圖9C)。當(dāng)Vcc被降低為0.8V時(shí),每個(gè)邏輯延遲元件106可以顯示出甚至更高的4納秒的傳播延遲。通過使能數(shù)據(jù)路徑100中的所有可旁路元件,任何兩個(gè)相鄰的起作用的的時(shí)序電路110之間的最大傳播延遲將仍然約等于4納秒,不同之處在于從輸入到輸出有五個(gè)循環(huán)時(shí)延。由于最壞情況的寄存器到寄存器的延遲保持固定在4納秒,因此起作用的寄存器R0-R4可以操作的最大時(shí)鐘頻率仍然等于250MHz。
[0078]如圖9A、圖9B和圖9C的示例所示,可以在通過選擇性地使能/禁能沿關(guān)鍵數(shù)據(jù)路徑的可旁路鐘控存儲(chǔ)元件110將時(shí)鐘頻率維持在250MHz的同時(shí)執(zhí)行電壓調(diào)節(jié)??梢詣?dòng)態(tài)地執(zhí)行固定頻率下的電壓調(diào)節(jié)而不必用新的配置數(shù)據(jù)組來重新配置集成電路10(作為示例)。將沿著數(shù)據(jù)路徑的更多寄存器110設(shè)置為正常模式有效地提供了額外的管道階段并可以用來以增加的延遲為代價(jià)使能較低的電壓操作。
[0079]如果需要,電壓Vcc可以被進(jìn)一步降低到0.8V以下。由于已經(jīng)使能所有的可旁路元件110,因此將電壓Vcc降低至0.8V以下將需要將操作頻率減小到小于250MHz來滿足數(shù)據(jù)路徑時(shí)序要求(例如,時(shí)鐘速率受任意兩個(gè)相鄰的時(shí)序電路110之間的最大延遲的限制)。例如,將Vcc從0.8V減小至0.6V可以導(dǎo)致性能從250MHz降低為125MHz。
[0080]通常,耦合到速率關(guān)鍵輸入端102的可旁路寄存器元件和耦合到速率關(guān)鍵輸出端104的可旁路寄存器元件不需要被旁路。實(shí)際上,延遲元件106將不會(huì)一直呈現(xiàn)出相同的延遲并且不會(huì)一直隨電壓Vcc的調(diào)節(jié)均勻地縮放。作為示例,互聯(lián)延遲不如邏輯門延遲對電壓變化敏感。
[0081]可以以非對稱的方式使能可旁路鐘控存儲(chǔ)元件110(例如,參見圖10)。如圖10所示,寄存器Rl被使能而寄存器R2和R3被禁能。結(jié)果,起作用的寄存器RO和Rl之間的延遲只有I納秒,而起作用的寄存器Rl和R4之間的延遲等于3納秒。因此,最大操作頻率受兩個(gè)延遲中的最大延遲的限制。在該示例中,由于不對稱地使能可旁路寄存器元件產(chǎn)生實(shí)質(zhì)上不均勻的延遲,因此導(dǎo)致次優(yōu)配置,可以通過使能數(shù)據(jù)路徑中的額外的未使用的寄存器(即,元件R2和R3)來簡單地提高操作頻率。
[0082]然而,在某些情形中,以不對稱的方式使能鐘控存儲(chǔ)元件110可能是需要的。圖11描述了與邏輯元件106相關(guān)聯(lián)的延遲基本上不匹配的情形。如圖11所示,耦合在寄存器R3和R4之間的延遲元件106可以呈現(xiàn)出3納秒的延遲,而耦合在寄存器RO和R3之間的每個(gè)元件106只呈現(xiàn)出I納秒的延遲。通過將寄存器Rl和R2旁路,起作用的寄存器RO和R3之間的延遲為3納秒,而起作用的寄存器R3和R4之間的延遲也等于3納秒。在該示例中,由于不對稱地使能可旁路寄存器元件產(chǎn)生了實(shí)質(zhì)上平衡的延遲,并且相對于Rl和R2不必要地使能的布置降低了時(shí)延,因此與只提供對稱的寄存器使能方案可能獲得的配置相t匕,獲得了更優(yōu)化的配置。
[0083]五個(gè)可旁路鐘控存儲(chǔ)元件耦合在輸入端102和輸出端104之間的示例性數(shù)據(jù)路徑僅是說明性的。如果需要,可以將多于或少于五個(gè)的可旁路鐘控存儲(chǔ)元件110插入到器件10上的任意給定數(shù)據(jù)路徑中。
[0084]如圖7和圖8所示,可以利用DVFS控制電路120來產(chǎn)生可調(diào)節(jié)的時(shí)鐘信號(hào)和/或時(shí)鐘脈沖。在一個(gè)合適的布置中,DVFS控制電路120可以包括用于產(chǎn)生可調(diào)節(jié)時(shí)鐘信號(hào)Clk的可調(diào)節(jié)鎖相環(huán)(PLL)電路150 (例如,參見圖12)。如圖12所示,鎖相環(huán)150可以包括輸入除法器152、相位檢測器154、電荷泵156、環(huán)濾波器158、電壓受控振蕩器(VCO) 160、輸出除法器162以及反饋除法器164。輸入除法器可以接收頻率為fref的參考時(shí)鐘信號(hào)RefClk0相位檢測器154、電荷泵156、環(huán)濾波器158以及VCO 160可以串行耦合在輸入除法器152和輸出除法器162之間。反饋除法器164可以耦合在VCO 160的輸出和相位檢測器154的輸入之間。
[0085]除法器152、162和164可以是可調(diào)節(jié)的除法器電路。例如,除法器152可以接收控制電路120產(chǎn)生的控制信號(hào)CtrN,其中控制電路120調(diào)整由除法器152提供的除法因子N。除法器162可以接收控制電路120產(chǎn)生的控制信號(hào)CtrC,其中控制電路120調(diào)整由除法器162提供的除法因子C。類似地,除法器164可以接收控制電路120產(chǎn)生的控制信號(hào)CtrM,其中控制電路120調(diào)整由除法器164提供的除法因子M。以這種方式控制的鎖相環(huán)150可以輸出輸出頻率等于fref和M的乘積除以N和C的乘積(fref*M/ (N*C))的時(shí)鐘信號(hào) Clk。
[0086]圖13示出輸出可調(diào)節(jié)時(shí)鐘信號(hào)的另一合適的方式。如圖13所示,可以提供時(shí)鐘選擇電路170,其接收多個(gè)具有不同的各自頻率的時(shí)鐘信號(hào)。特別地,時(shí)鐘選擇電路170可以包括多路復(fù)用器172,其具有接收時(shí)鐘信號(hào)ClkO,Clkl, - ,ClkN的輸入端。時(shí)鐘信號(hào)ClkO-ClkN可以表示具有不同頻率的時(shí)鐘信號(hào),這些時(shí)鐘信號(hào)利用片上時(shí)鐘源(例如,PLL電路)產(chǎn)生或從片外時(shí)鐘源接收??梢岳糜煽刂齐娐?20產(chǎn)生的信號(hào)ClkSel對多路復(fù)用器172進(jìn)行控制,從而選擇信號(hào)ClkO-ClkN中的哪一個(gè)信號(hào)被傳送到多路復(fù)用器172的輸出端作為信號(hào)Clk。
[0087]圖12和圖13僅示出了提供可調(diào)節(jié)時(shí)鐘信號(hào)的兩種不同方式。如果需要,也可以以類似的方式產(chǎn)生可調(diào)節(jié)的時(shí)鐘脈沖Cp。如果需要,可以使用在連續(xù)的頻率范圍上產(chǎn)生可調(diào)整周期信號(hào)的其它方式。
[0088]也可以利用控制電路120來產(chǎn)生可調(diào)節(jié)電源電壓Vcc。在一個(gè)合適的布置中,DVFS控制電路120可以包括用于產(chǎn)生可調(diào)節(jié)電源電壓Vcc的可調(diào)整電源電路180 (例如,參見圖14)。如圖14所示,電源電路180可以包括電壓調(diào)節(jié)器182、運(yùn)算放大器184以及晶體管186。電壓調(diào)節(jié)器182可以從片外電源接收輸入電壓Vin,并且可以用來提供調(diào)節(jié)的參考電壓Vref。參考電壓Vref可以具有利用控制信號(hào)CtrV控制的電壓水平,該控制信號(hào)CtrV是利用控制電路120來產(chǎn)生的(作為示例)。控制信號(hào)CtrV可以是數(shù)字控制信號(hào)或模擬控制信號(hào)。
[0089]運(yùn)算放大器184可以具有從調(diào)節(jié)器182接收Vref的第一(正的)輸入端、在其上提供電源電壓Vcc的第二 (負(fù)的)輸入端以及輸出端。該晶體管可以具有接收輸入電壓Vin的第一源-漏極端子、耦合到放大器184的第二輸入端的第二源-漏極端子以及耦合到放大器184的輸出端的柵極終端??梢酝ㄟ^改變Vref的電壓水平來調(diào)整電源電壓Vcc (例如,可以將Vcc的電壓水平設(shè)置為等于Vref的電壓水平)。
[0090]圖15示出為不同的組合邏輯電路106提供不同的電源電壓信號(hào)的一種合適的方式。如圖15所示,可以提供接收多個(gè)具有不同幅值的電源電壓信號(hào)的電壓選擇電路181。特別地,電壓選擇電路181可以包括多個(gè)多路復(fù)用電路190,每個(gè)多路復(fù)用電路190都具有從第一電源線192接收第一電源電壓VccO的第一輸入端、從第二電源線194接收第二電源電壓Vccl的第二輸入端、接收利用控制電路120產(chǎn)生的控制信號(hào)VccSel的控制輸入端以及被饋送至與相應(yīng)的組合邏輯電路106相關(guān)聯(lián)的電源端子的輸出端。電源電壓VccO和Vccl可以具有不同的幅度并可以使用不同的電源電路180來產(chǎn)生或可以從片外電源接收??刂齐娐?20可以將VccSel設(shè)置為低以將VccO路由到每個(gè)延遲元件106,或者可以將VccSel設(shè)置為高以將Vccl路由到每個(gè)延遲元件106。圖15的配置僅是說明性的。如果需要,電壓選擇電路181可以被配置為在多于兩個(gè)的不同電源電壓水平中進(jìn)行選擇以提供更寬的電壓調(diào)節(jié)范圍。如果需要,控制器120也可以產(chǎn)生多個(gè)獨(dú)一無二的VccSel信號(hào),使得不同的組合邏輯塊根據(jù)其性能要求接收不同的電壓。
[0091]圖14和圖15僅示出在器件10上產(chǎn)生/提供多個(gè)電源電壓水平的兩種方式。如果需要,可以使用在連續(xù)的電壓范圍上產(chǎn)生可調(diào)電壓信號(hào)的其它方式。
[0092]對器件I上的不同數(shù)據(jù)路徑而言,顯示出匹配的或“平衡的”延遲可能是期望的。圖16描述其中的第一數(shù)據(jù)路徑200和第二數(shù)據(jù)路徑202中的每個(gè)都包括三個(gè)可旁路鐘控組件110的鏈的情形。特別地,第一數(shù)據(jù)路徑200包括耦合在數(shù)據(jù)路徑輸入InO和數(shù)據(jù)路徑輸出OutO之間的可旁路鐘控組件RO、Rl和R2,其中插入在RO和Rl之間的第一邏輯電路106-1和插入在Rl和R2之間的第二邏輯電路106-1接收0.8V的Vcc,并且每個(gè)都顯示出4ns的傳播延遲。另一方面,第二數(shù)據(jù)路徑202包括耦合在數(shù)據(jù)路徑輸入Inl和數(shù)據(jù)路徑輸出Outl之間的可旁路鐘控組件R0、R1和R2,其中插入在第二數(shù)據(jù)路徑中的RO和Rl之間的第一邏輯電路106-2和插入在第二數(shù)據(jù)路徑中的Rl和R2之間的第二邏輯電路106-2也接收0.8V的Vcc,但是每個(gè)都顯示出僅2ns的傳播延遲。
[0093]在這種情形中,可以將第一數(shù)據(jù)路徑200中的寄存器Rl切換至使用,從而維持此低電壓操作下令人滿意的時(shí)鐘頻率。即使可能沒有必要使能第二數(shù)據(jù)路徑202中的寄存器Rl (例如,因?yàn)樵?06-2的延遲實(shí)質(zhì)上小于元件106-1的延遲),然而仍然可以將第二數(shù)據(jù)路徑中的寄存器Rl切換至使用,從而平衡數(shù)據(jù)路徑200和202的時(shí)延。以這種方式平衡時(shí)延確保器件10上的不同數(shù)據(jù)路徑的相對時(shí)延要求都被滿足。
[0094]到目前為止,結(jié)合圖6、圖9A、圖9B、圖9C、圖10以及圖11所描述的類型的數(shù)據(jù)路徑有時(shí)被稱為前饋數(shù)據(jù)路徑,其中數(shù)據(jù)只沿著從輸入到輸出的方向流動(dòng)。使能和禁能可旁路鐘控存儲(chǔ)元件的使用非常適合主要由前饋數(shù)據(jù)路徑組成的高度流水線的、時(shí)延不敏感的設(shè)計(jì)。
[0095]當(dāng)考慮可旁路鐘控存儲(chǔ)組件的使用時(shí),必須關(guān)注帶有反饋路徑或“環(huán)”的電路。圖17是示出具有環(huán)的示例性電路210的圖示。電路210可以包括加法器電路212和觸發(fā)器214。加法器電路212可以具有從輸入端X接收信號(hào)的第一輸入端、第二輸入端和輸出端。觸發(fā)器214可以具有耦合到加法器212的輸出端的數(shù)據(jù)輸入端和耦合到加法器212的第二輸入端的數(shù)據(jù)輸出端。以這種布置連接后,電路210可以用作累加器電路。假設(shè)設(shè)計(jì)能夠容忍增加的時(shí)延(以及更長的啟動(dòng)延遲)但無功能上的改變,將可旁路鐘控存儲(chǔ)元件與這種類型的環(huán)電路進(jìn)行合并的方式之一是將至少一個(gè)可旁路鐘控存儲(chǔ)元件110插入到前饋輸出路徑(例如,通過在觸發(fā)器214的輸出端和前饋輸出端Y之間插入寄存器110)。
[0096]可替代地,在合成操作期間,最小化環(huán)的使用(參見圖4和圖5)可能是期望的。邏輯設(shè)計(jì)工具620可以被配置為將反饋電路視為更加時(shí)序關(guān)鍵的。結(jié)果,稀缺的快速資源塊只對有環(huán)的電路可用。在布局和布線操作期間,有環(huán)的電路也可以被給定延遲最優(yōu)的布置(即便這意味著總的電路區(qū)域的增加)。以減小的電壓水平滿足反饋電路的時(shí)序要求的其它方式可以包括選擇性地前移環(huán)中的體偏置單元以減小延遲以及向該類型的電路提供固定的額定(非減小的)電壓水平。
[0097]處理帶有環(huán)的電路的另一方式是以多線程機(jī)制操作反饋電路。多線程結(jié)構(gòu)涉及在交錯(cuò)的線程中處理來自不同閾值的數(shù)據(jù),這些不同的線程中沒有任何數(shù)據(jù)依賴性或通信。
[0098]圖18是包括在具有I個(gè)時(shí)鐘周期的最小延遲的單線程模式中操作的累加器環(huán)226的數(shù)據(jù)路徑220的圖示。如圖18所示,累加器環(huán)226可以包括連接在環(huán)中的加法器電路228、觸發(fā)器230以及可旁路鐘控存儲(chǔ)元件110。特別地,當(dāng)數(shù)據(jù)路徑220在多線程模式中操作時(shí),在不改變電路226的功能的情況下,可旁路鐘控存儲(chǔ)元件110可以連接在反饋環(huán)234之前。
[0099]由于數(shù)據(jù)路徑220在單線程模式中操作,因此元件110可以被旁路(如被陰影遮蓋的寄存器元件Iio所示)。耦合到環(huán)226的輸入端的輸入多路復(fù)用器222可以配置為僅路由來自第一線程輸入T0_in的信號(hào)通過環(huán)226,經(jīng)由輸出多路復(fù)用器224至相應(yīng)的第一線程輸出T0_out (例如,多路復(fù)用器222和224都可以接收貫穿整個(gè)單線程操作的低控制信號(hào))。
[0100]圖19是示出操作在雙線程模式中的數(shù)據(jù)路徑220的圖示。在雙線程模式中,可以使能可旁路鐘控存儲(chǔ)元件110并且可以降低操作電壓。也就是說,通過增加活動(dòng)線程的數(shù)量(例如,通過使能環(huán)中額外的可旁路寄存器組件110)可以實(shí)現(xiàn)更低的電壓操作。如之前的情形中,使能鐘控存儲(chǔ)元件110將不會(huì)影響吞吐量(假設(shè)頻率不變),但是將增加時(shí)延,因?yàn)槊總€(gè)線程每兩個(gè)周期才會(huì)被處理一次。
[0101 ] 輸入多路復(fù)用器222可以在路由來自第一線程輸入端T0_in的信號(hào)和路由來自第二線程輸入端Tl_in的信號(hào)至其輸出端之間持續(xù)地切換。類似地,多路復(fù)用器224可以在將信號(hào)輸出至第一線程輸出端T0_out和將信號(hào)輸出至第二線程輸出端Tl_out之間持續(xù)地切換。即,在整個(gè)雙線程操作期間,多路復(fù)用器222和224都可以接收交錯(cuò)的“0101...”控制比特模式,從而處理來自第一和第二線程中的每個(gè)線程的數(shù)據(jù)。[0102]圖20示出涉及在四個(gè)不同的線程之間交替的普通多線程配置。通常,多線程可以被應(yīng)用于包括內(nèi)部狀態(tài)和/或反饋環(huán)的任何時(shí)序電路。在圖20的示例中,四線程操作將需要反饋路徑中的至少四個(gè)可旁路寄存器組件。如果需要,反饋路徑中可以包括任意合適的數(shù)目的可旁路鐘控存儲(chǔ)組件以幫助減小電壓、增大操作頻率或以其它方式優(yōu)化器件10的性能/功率節(jié)省。
[0103]圖21是在器件10上執(zhí)行動(dòng)態(tài)的電壓-頻率調(diào)節(jié)的說明性步驟的流程圖。在步驟250處,控制電路120可以通過調(diào)整時(shí)鐘發(fā)生器來選擇操作頻率,從而將具有所選頻率的相應(yīng)的時(shí)鐘信號(hào)輸出到器件10上的時(shí)序邏輯電路。
[0104]在步驟252處,控制電路120可用于調(diào)節(jié)電源電壓Vcc,以優(yōu)化節(jié)能性能(例如,可以將電源電壓調(diào)節(jié)到期望的電壓水平)。
[0105]在步驟254處,可以選擇性地使能器件10上的不同的數(shù)據(jù)路徑中的可旁路鐘控存儲(chǔ)元件110,從而在保證滿足時(shí)延要求的同時(shí)增加吞吐量。如路徑256所示,處理可以返回到步驟250中,從而動(dòng)態(tài)地調(diào)節(jié)操作頻率。如路徑258所示,處理也可以返回到步驟252,從而動(dòng)態(tài)地調(diào)節(jié)電源電壓。如果需要,可以使能和/或禁能至少一些可旁路寄存器110來幫助確保沿不同的數(shù)據(jù)路徑行進(jìn)的信號(hào)具有匹配的時(shí)延并滿足性能標(biāo)準(zhǔn)(如環(huán)260所示)。
[0106]附加實(shí)施例
[0107]附加實(shí)施例1.一種在至少第一和第二狀態(tài)中操作集成電路的方法,其中所述集成電路包括插入在數(shù)據(jù)路徑中的邏輯電路,所述方法包括:當(dāng)在所述第一狀態(tài)中操作所述集成電路時(shí),以給定的頻率操作所述邏輯電路的同時(shí)利用具有第一電壓水平的第一電源電壓為所述邏輯電路供電;以及當(dāng)在所述第二狀態(tài)中操作所述集成電路時(shí),以所述給定的頻率操作所述邏輯電路的同時(shí)利用具有不同于所述第一電壓水平的第二電壓水平的第二電源電壓為所述邏輯電路供電。
[0108]附加實(shí)施例2.如附加實(shí)施例1所述的方法,其中所述邏輯電路包括插入在所述數(shù)據(jù)路徑中的多個(gè)可旁路鐘控存儲(chǔ)元件,所述方法包括:當(dāng)在所述第一狀態(tài)中操作所述集成電路時(shí),將所述多個(gè)可旁路鐘控存儲(chǔ)元件的第一子集切換為使用;以及當(dāng)在所述第二狀態(tài)中操作所述集成電路時(shí),將所述多個(gè)可旁路鐘控存儲(chǔ)元件的不同于所述第一子集的第二子集切換至使用。
[0109]附加實(shí)施例3.如附加實(shí)施例1所述的方法,其中所述邏輯電路進(jìn)一步包括插入在所述數(shù)據(jù)路徑中的多個(gè)可旁路鐘控存儲(chǔ)元件和多個(gè)組合邏輯延遲元件,所述方法進(jìn)一步包括:當(dāng)在所述第一狀態(tài)中操作所述集成電路時(shí),使能第一數(shù)量的可旁路鐘控存儲(chǔ)元件;當(dāng)在所述第二狀態(tài)中操作所述集成電路時(shí),使能第二數(shù)量的可旁路鐘控存儲(chǔ)元件,其中所述第二數(shù)量大于所述第一數(shù)量,并且其中所述第二電壓水平小于所述第一電壓水平。
[0110]附加實(shí)施例4.如附加實(shí)施例1所述的方法,其中所述集成電路進(jìn)一步包括插入在額外的數(shù)據(jù)路徑中的額外的邏輯電路,并且其中所述邏輯電路和所述額外的邏輯電路中的每個(gè)都包括相應(yīng)的多個(gè)可旁路寄存器電路和組合邏輯延遲元件,所述方法進(jìn)一步包括:使能所述數(shù)據(jù)路徑中的一部分所述可旁路寄存器電路,從而使所述數(shù)據(jù)路徑呈現(xiàn)出給定的數(shù)據(jù)路徑時(shí)延;以及使能所述額外的數(shù)據(jù)路徑中的一部分可旁路寄存器電路,從而使所述額外的數(shù)據(jù)路徑呈現(xiàn)出給定的數(shù)據(jù)路徑時(shí)延,其中與所述數(shù)據(jù)路徑相關(guān)的所述組合邏輯延遲元件呈現(xiàn)出和與所述額外的數(shù)據(jù)路徑相關(guān)聯(lián)的所述組合邏輯延遲元件的延遲不相同的延遲。
[0111]附加實(shí)施例5.如附加實(shí)施例1所述的方法,其中所述邏輯電路包括插入在所述數(shù)據(jù)路徑中的時(shí)序邏輯電路和組合邏輯電路,所述方法進(jìn)一步包括:將所述第一和第二電源電壓中所選擇的一個(gè)提供給所述組合邏輯電路;以及將給定頻率的時(shí)鐘信號(hào)提供給所述時(shí)序邏輯電路。
[0112]附加實(shí)施例6.如附加實(shí)施例1所述的方法,進(jìn)一步包括當(dāng)用所述第一電源電壓為所述邏輯電路供電時(shí),以不同于所述給定頻率的另一頻率操作所述邏輯電路。
[0113]附加實(shí)施例7.如附加實(shí)施例1所述的方法,進(jìn)一步包括:在所述第一和第二狀態(tài)之間動(dòng)態(tài)切換,而不使用新的配置數(shù)據(jù)組來重新配置所述集成電路。
[0114]附加實(shí)施例8.—種集成電路,其包括:數(shù)據(jù)路徑輸入端、數(shù)據(jù)路徑輸出端,以及插入在所述數(shù)據(jù)路徑輸入端和所述數(shù)據(jù)路徑輸出端之間的多個(gè)可旁路鐘控存儲(chǔ)元件。
[0115]附加實(shí)施例9.如附加實(shí)施例8所述的集成電路,進(jìn)一步包括多個(gè)組合邏輯延遲元件,每個(gè)組合邏輯延遲元件都耦合在所述多個(gè)可旁路鐘控存儲(chǔ)元件中的至少相應(yīng)的一對相鄰的可旁路鐘控存儲(chǔ)元件之間。
[0116]附加實(shí)施例10.如附加實(shí)施例9所述的集成電路,進(jìn)一步包括向所述多個(gè)組合邏輯延遲元件提供可調(diào)節(jié)的電源電壓的控制電路。
[0117]附加實(shí)施例11.如附加實(shí)施例9所述的集成電路,進(jìn)一步包括向所述多個(gè)可旁路鐘控存儲(chǔ)元件提供可調(diào)節(jié)的時(shí)鐘信號(hào)的控制電路。
[0118]附加實(shí)施例12.如附加實(shí)施例9所述的集成電路,其中所述多個(gè)可旁路鐘控存儲(chǔ)元件中的至少一個(gè)可旁路鐘控存儲(chǔ)元件包括:具有輸入端和輸出端的邊沿觸發(fā)的觸發(fā)器電路;以及多路復(fù)用電路,所述多路復(fù)用電路具有耦合到所述邊沿觸發(fā)的觸發(fā)器電路的所述輸入端的第一輸入端,耦合到所述邊沿觸發(fā)的觸發(fā)器電路的所述輸出端的第二輸入端以及輸出端,其中所述多路復(fù)用電路被配置為當(dāng)所述至少一個(gè)可旁路鐘控存儲(chǔ)元件被設(shè)置成旁路模式時(shí)將來自第一輸入端的信號(hào)路由至其輸出端,并且其中所述多路復(fù)用電路被配置為當(dāng)所述至少一個(gè)可旁路鐘控存儲(chǔ)元件被設(shè)置成正常模式時(shí)將來自第二輸入端的信號(hào)路由至其輸出端。
[0119]附加實(shí)施例13.如附加實(shí)施例9所述的集成電路,其中所述多個(gè)可旁路鐘控存儲(chǔ)元件中的至少一個(gè)可旁路鐘控存儲(chǔ)元件包括:以交叉耦合配置連接的第一和第二反相器;以及插入在所述一對交叉耦合的反相器中的多路復(fù)用電路,其中所述多路復(fù)用電路被配置為當(dāng)所述至少一個(gè)可旁路鐘控存儲(chǔ)元件被設(shè)置成正常模式時(shí)以所述交叉耦合配置電氣連接所述第一和第二反相器;并且其中所述多路復(fù)用電路被配置為當(dāng)所述至少一個(gè)可旁路鐘控存儲(chǔ)元件被設(shè)置成旁路模式時(shí)暫停所述交叉耦合配置。
[0120]附加實(shí)施例14.如附加實(shí)施例9所述的集成電路,進(jìn)一步包括:向所述多個(gè)組合邏輯延遲元件提供可調(diào)節(jié)的電源電壓并且向所述多個(gè)可旁路鐘控存儲(chǔ)元件提供可調(diào)節(jié)的時(shí)鐘信號(hào)的控制電路,其中所述控制電路適于以固定的操作頻率執(zhí)行動(dòng)態(tài)電壓調(diào)節(jié)。
[0121]附加實(shí)施例15.—種操作集成電路的方法,其中所述集成電路包括插入在數(shù)據(jù)路徑中的具有反饋環(huán)的邏輯電路,所述方法包括:在第一多線程模式中,通過具有所述反饋環(huán)的所述邏輯電路處理來自第一數(shù)量的輸入線程的數(shù)據(jù),同時(shí),用第一電源電壓對所述邏輯電路進(jìn)行供電;以及在第二多線程模式中,通過具有所述反饋環(huán)的所述邏輯電路處理來自不同于所述第一數(shù)量的輸入線程的第二數(shù)量的輸入線程的數(shù)據(jù),同時(shí),用不同于所述第一電源電壓的第二電源電壓對所述邏輯電路進(jìn)行供電。
[0122]附加實(shí)施例16.如附加實(shí)施例15所述的方法,其中所述第二數(shù)量的輸入線程大于所述第一數(shù)量的輸入線程,并且其中所述第二電源電壓小于所述第一電源電壓。
[0123]附加實(shí)施例17.如附加實(shí)施例16所述的方法,其中所述邏輯電路進(jìn)一步包括插入在所述數(shù)據(jù)路徑中的多個(gè)可旁路鐘控存儲(chǔ)元件,進(jìn)一步包括:在所述第一多線程模式中使能所述多個(gè)可旁路鐘控存儲(chǔ)元件中的第一數(shù)量的可旁路鐘控存儲(chǔ)元件;以及在所述第二多線程模式中使能所述多個(gè)可旁路鐘控存儲(chǔ)元件中的第二數(shù)量的可旁路鐘控存儲(chǔ)元件;其中所述第二數(shù)量的可旁路鐘控存儲(chǔ)元件大于所述第一數(shù)量的可旁路鐘控存儲(chǔ)元件。
[0124]附加實(shí)施例18.如附加實(shí)施例16所述的方法,進(jìn)一步包括:在所述第一多線程模式中,以給定頻率操作所述邏輯電路;以及在所述第二多線程模式中,以所述給定頻率操作所述邏輯電路。
[0125]附加實(shí)施例19.如附加實(shí)施例15所述的方法,其中所述邏輯電路進(jìn)一步包括插入在所述數(shù)據(jù)路徑中的多個(gè)可旁路鐘控存儲(chǔ)元件,進(jìn)一步包括在所述第一多線程模式中使能所述多個(gè)可旁路鐘控存儲(chǔ)元件的第一子集;以及在所述第二多線程模式中使能所述多個(gè)可旁路鐘控存儲(chǔ)元件的不同于所述第一子集的第二子集。
[0126]附加實(shí)施例20.如附加實(shí)施例15所述的方法,其中所述集成電路進(jìn)一步包括插入在所述數(shù)據(jù)路徑中的多路復(fù)用電路,所述方法進(jìn)一步包括:在所述第一多線程模式中,用所述多路復(fù)用電路將來自所述第一數(shù)量的輸入線程的數(shù)據(jù)路由至所述邏輯電路;以及在所述第二多線程模式中將所述第二數(shù)量的輸入線程的數(shù)據(jù)路由至所述邏輯電路,其中不同的輸入線程之間沒有數(shù)據(jù)依賴。
[0127]上述內(nèi)容僅僅說明本發(fā)明的原理,并且在不脫離本發(fā)明的范圍和精神的情況下,本領(lǐng)域的技術(shù)人員可以進(jìn)行各種修改。上述實(shí)施例可以單獨(dú)實(shí)施或以任意組合實(shí)施。
【權(quán)利要求】
1.一種在至少第一和第二狀態(tài)中操作集成電路的方法,其中所述集成電路包括插入在數(shù)據(jù)路徑中的邏輯電路,所述方法包括: 當(dāng)在所述第一狀態(tài)中操作所述集成電路時(shí),以給定的頻率操作所述邏輯電路的同時(shí)利用具有第一電壓水平的第一電源電壓為所述邏輯電路供電;以及 當(dāng)在所述第二狀態(tài)中操作所述集成電路時(shí),以所述給定的頻率操作所述邏輯電路的同時(shí)利用具有不同于所述第一電壓水平的第二電壓水平的第二電源電壓為所述邏輯電路供電。
2.如權(quán)利要求1所述的方法,其中所述邏輯電路包括插入在所述數(shù)據(jù)路徑中的多個(gè)可旁路鐘控存儲(chǔ)元件,所述方法包括: 當(dāng)在所述第一狀態(tài)中操作所述集成電路時(shí),將所述多個(gè)可旁路鐘控存儲(chǔ)元件的第一子集切換為使用;以及 當(dāng)在所述第二狀態(tài)中操作所述集成電路時(shí),將所述多個(gè)可旁路鐘控存儲(chǔ)元件的不同于所述第一子集的第二子集切換至使用。
3.如權(quán)利要求1所述的方法,其中所述邏輯電路進(jìn)一步包括插入在所述數(shù)據(jù)路徑中的多個(gè)可旁路鐘控存儲(chǔ)元件和多個(gè)組合邏輯延遲元件,所述方法進(jìn)一步包括: 當(dāng)在所述第一狀態(tài)中操作所述集成電路時(shí),使能第一數(shù)量的可旁路鐘控存儲(chǔ)元件;以及 當(dāng)在所述第二狀態(tài)中操作所述集成電路時(shí),使能第二數(shù)量的可旁路鐘控存儲(chǔ)元件,其中所述第二數(shù)量大于所述第一數(shù)量,并且其中所述第二電壓水平小于所述第一電壓水平。
4.如權(quán)利要求1所述的方法,其中所述集成電路進(jìn)一步包括插入在額外的數(shù)據(jù)路徑中的額外的邏輯電路,并且其中所述邏輯電路和所述額外的邏輯電路中的每個(gè)都包括相應(yīng)的多個(gè)可旁路寄存器電路和組合邏輯延遲元件,所述方法進(jìn)一步包括: 使能所述數(shù)據(jù)路徑中的一部分可旁路寄存器電路,從而使所述數(shù)據(jù)路徑呈現(xiàn)出給定的數(shù)據(jù)路徑時(shí)延;以及 使能所述額外的數(shù)據(jù)路徑中的一部分可旁路寄存器電路,從而使所述額外的數(shù)據(jù)路徑呈現(xiàn)出所述給定的數(shù)據(jù)路徑時(shí)延,其中與所述數(shù)據(jù)路徑相關(guān)的所述組合邏輯延遲元件呈現(xiàn)出和與所述額外的數(shù)據(jù)路徑相關(guān)聯(lián)的所述組合邏輯延遲元件的延遲不相同的延遲。
5.如權(quán)利要求1所述的方法,其中所述邏輯電路包括插入在所述數(shù)據(jù)路徑中的時(shí)序邏輯電路和組合邏輯電路,所述方法進(jìn)一步包括: 將所述第一和第二電源電壓中所選擇的一個(gè)提供給所述組合邏輯電路;以及 將給定頻率的時(shí)鐘信號(hào)提供給所述時(shí)序邏輯電路。
6.如權(quán)利要求1所述的方法,進(jìn)一步包括:當(dāng)用所述第一電源電壓為所述邏輯電路供電時(shí),以不同于所述給定頻率的另一頻率操作所述邏輯電路。
7.如權(quán)利要求1所述的方法,進(jìn)一步包括:在所述第一和第二狀態(tài)之間動(dòng)態(tài)切換,而不使用新的配置數(shù)據(jù)組來重新配置所述集成電路。
8.一種集成電路,其包括: 數(shù)據(jù)路徑輸入端; 數(shù)據(jù)路徑輸出端;以及 插入在所述數(shù)據(jù)路徑輸入端和所述數(shù)據(jù)路徑輸出端之間的多個(gè)可旁路鐘控存儲(chǔ)元件。
9.如權(quán)利要求8所述的集成電路,進(jìn)一步包括:多個(gè)組合邏輯延遲元件,每個(gè)組合邏輯延遲元件都耦合在所述多個(gè)可旁路鐘控存儲(chǔ)元件中的至少相應(yīng)的一對相鄰的可旁路鐘控存儲(chǔ)元件之間。
10.如權(quán)利要求9所述的集成電路,進(jìn)一步包括:向所述多個(gè)組合邏輯延遲元件提供可調(diào)節(jié)的電源電壓的控制電路。
11.如權(quán)利要求9所述的集成電路,進(jìn)一步包括:向所述多個(gè)可旁路鐘控存儲(chǔ)元件提供可調(diào)節(jié)的時(shí)鐘信號(hào)的控制電路。
12.如權(quán)利要求9所述的集成電路,其中所述多個(gè)可旁路鐘控存儲(chǔ)元件中的至少一個(gè)可旁路鐘控存儲(chǔ)元件包括: 具有輸入端和輸出端的邊沿觸發(fā)的觸發(fā)器電路;以及 多路復(fù)用電路,所述多路復(fù)用電路具有耦合到所述邊沿觸發(fā)的觸發(fā)器電路的所述輸入端的第一輸入端,耦合到所述邊沿觸發(fā)的觸發(fā)器電路的所述輸出端的第二輸入端以及輸出端,其中所述多路復(fù)用電路被配置為當(dāng)所述至少一個(gè)可旁路鐘控存儲(chǔ)元件被設(shè)置成旁路模式時(shí)將來自第一輸入端的信號(hào)路由至其輸出端,并且其中所述多路復(fù)用電路被配置為當(dāng)所述至少一個(gè)可旁路鐘控存儲(chǔ)元件被設(shè)置成正常模式時(shí)將來自第二輸入端的信號(hào)路由至其輸出端。
13.如權(quán)利要求9所述的集成電路,其中所述多個(gè)可旁路鐘控存儲(chǔ)元件中的至少一個(gè)可旁路鐘控存儲(chǔ)元件包括: 以交叉耦合配置連接的第一和第二反相器;以及 插入在所述一對交叉耦合的反相器中的多路復(fù)用電路,其中所述多路復(fù)用電路被配置為當(dāng)所述至少一個(gè)可旁路鐘控存儲(chǔ)元件被設(shè)置成正常模式時(shí)以所述交叉耦合配置電氣連接所述第一和第二反相器;并且其中所述多路復(fù)用電路被配置為當(dāng)所述至少一個(gè)可旁路鐘控存儲(chǔ)元件被設(shè)置成旁路模式時(shí)暫停所述交叉耦合配置。
14.如權(quán)利要求9所述的集成電路,進(jìn)一步包括: 向所述多個(gè)組合邏輯延遲元件提供可調(diào)節(jié)的電源電壓并且向所述多個(gè)可旁路鐘控存儲(chǔ)元件提供可調(diào)節(jié)的時(shí)鐘信號(hào)的控制電路,其中所述控制電路適于以固定的操作頻率執(zhí)行動(dòng)態(tài)電壓調(diào)節(jié)。
15.一種操作集成電路的方法,其中所述集成電路包括插入在數(shù)據(jù)路徑中的具有反饋環(huán)的邏輯電路,所述方法包括: 在第一多線程模式中,通過具有所述反饋環(huán)的所述邏輯電路處理來自第一數(shù)量的輸入線程的數(shù)據(jù),同時(shí),用第一電源電壓對所述邏輯電路進(jìn)行供電;以及 在第二多線程模式中,通過具有所述反饋環(huán)的所述邏輯電路處理來自不同于所述第一數(shù)量的輸入線程的第二數(shù)量的輸入線程的數(shù)據(jù),同時(shí),用不同于所述第一電源電壓的第二電源電壓對所述邏輯電路進(jìn)行供電。
16.如權(quán)利要求15所述的方法,其中所述第二數(shù)量的輸入線程大于所述第一數(shù)量的輸入線程,并且其中所述第二電源電壓小于所述第一電源電壓。
17.如權(quán)利要求16所述的方法,其中所述邏輯電路進(jìn)一步包括插入在所述數(shù)據(jù)路徑中的多個(gè)可旁路鐘控存儲(chǔ)元件,進(jìn)一步包括: 在所述第一多線程模式中使能所述多個(gè)可旁路鐘控存儲(chǔ)元件中的第一數(shù)量的可旁路鐘控存儲(chǔ)元件;以及 在所述第二多線程模式中使能所述多個(gè)可旁路鐘控存儲(chǔ)元件中的第二數(shù)量的可旁路鐘控存儲(chǔ)元件;其中所述第二數(shù)量的可旁路鐘控存儲(chǔ)元件大于所述第一數(shù)量的可旁路鐘控存儲(chǔ)兀件。
18.如權(quán)利要求16所述的方法,進(jìn)一步包括: 在所述第一多線程模式中,以給定頻率操作所述邏輯電路;以及 在所述第二多線程模式中,以所述給定頻率操作所述邏輯電路。
19.如權(quán)利要求15所述 的方法,其中所述邏輯電路進(jìn)一步包括插入在所述數(shù)據(jù)路徑中的多個(gè)可旁路鐘控存儲(chǔ)元件,進(jìn)一步包括: 在所述第一多線程模式中使能所述多個(gè)可旁路鐘控存儲(chǔ)元件的第一子集;以及 在所述第二多線程模式中使能所述多個(gè)可旁路鐘控存儲(chǔ)元件的不同于所述第一子集的第二子集。
20.如權(quán)利要求15所述的方法,其中所述集成電路進(jìn)一步包括插入在所述數(shù)據(jù)路徑中的多路復(fù)用電路,所述方法進(jìn)一步包括: 在所述第一多線程模式中,用所述多路復(fù)用電路將來自所述第一數(shù)量的輸入線程的數(shù)據(jù)路由至所述邏輯電路;以及在所述第二多線程模式中將所述第二數(shù)量的輸入線程的數(shù)據(jù)路由至所述邏輯電路,其中不同的輸入線程之間沒有數(shù)據(jù)依賴。
【文檔編號(hào)】G06F1/32GK103970254SQ201410042269
【公開日】2014年8月6日 申請日期:2014年1月28日 優(yōu)先權(quán)日:2013年1月30日
【發(fā)明者】J·C·克勞姆扎克 申請人:阿爾特拉公司