專利名稱:電路布置以及設(shè)計(jì)電路布置的方法
技術(shù)領(lǐng)域:
本發(fā)明一般地涉及集成電路以及集成電路設(shè)計(jì),尤其涉及使用標(biāo)準(zhǔn)邏輯單元的集成電路設(shè)計(jì)綜合。
背景技術(shù):
隨著電路制造工藝的進(jìn)步,電子集成電路或者“芯片”已經(jīng)變得更加復(fù)雜。對于集成電路包含數(shù)以百萬的晶體管,以及相對等數(shù)量的互連或者信號通道共同集成在一塊不超過硬幣大小的硅片襯底上也并非罕見。另外,以前需要多個(gè)芯片的相同功能現(xiàn)在通??梢约傻酵恍酒?,這個(gè)概念通常被稱為“系統(tǒng)級芯片”技術(shù)。
隨著復(fù)雜度的增加,集成電路的設(shè)計(jì)同樣變得更加困難。然而,早期芯片經(jīng)常逐個(gè)門電路進(jìn)行設(shè)計(jì),包含數(shù)百萬門電路的更高級集成電路對早期設(shè)計(jì)方法是太艱巨了。類似地,集成電路設(shè)計(jì)的另一個(gè)重要方面是測試和驗(yàn)證集成電路設(shè)計(jì),這兩者都出于驗(yàn)證設(shè)計(jì)將在邏輯上按照預(yù)期進(jìn)行工作、以及確保設(shè)計(jì)將符合任何集成電路中所固有的物理限制、也就是確保滿足所有定時(shí)和延時(shí)約束的觀點(diǎn)。
其結(jié)果是,已經(jīng)開發(fā)出了多種軟件設(shè)計(jì)應(yīng)用或者工具,以協(xié)助設(shè)計(jì)者進(jìn)行集成電路設(shè)計(jì)和測試。
通常,在使用這些工具時(shí),總設(shè)計(jì)過程用兩個(gè)階段代表。第一階段稱為邏輯設(shè)計(jì),在此對集成電路的期望功能操作進(jìn)行初始地定義和測試。第二階段稱為物理設(shè)計(jì),在此對邏輯設(shè)計(jì)階段產(chǎn)生的邏輯設(shè)計(jì)進(jìn)行處理,以選擇實(shí)際電路成分來實(shí)現(xiàn)邏輯設(shè)計(jì)中所定義的功能,以及在集成電路中對成分進(jìn)行布局并對其間的互連進(jìn)行布線(route)。電路元件之間的互連通常稱為網(wǎng)(net),一般是在將電路成分布置在集成電路的具體位置之后對網(wǎng)進(jìn)行布線。
通常,自動設(shè)計(jì)工具依賴于標(biāo)準(zhǔn)化電路成分,稱為邏輯單元,其是代表具體的更高層功能的自包含、可再利用、預(yù)測試的電路設(shè)計(jì)。邏輯單元簡化了多個(gè)設(shè)計(jì)步驟。例如,只要邏輯綜合工具能夠利用較少的更復(fù)雜的功能構(gòu)造電路,就能夠簡化邏輯設(shè)計(jì)。此外,通常對物理設(shè)計(jì)和驗(yàn)證進(jìn)行簡化,這是因?yàn)檫壿媶卧δ芑蚨嗷蛏俚仡愃埔粋€(gè)“黑盒子”,而邏輯單元中所有單獨(dú)門電路和互連已經(jīng)相對彼此進(jìn)行了布置并預(yù)先進(jìn)行了測試。
另外,可將一些邏輯單元配置為取決于它與其它電路成分如何互連來提供不同的邏輯響應(yīng)。例如,邏輯單元可用于提供通用功能,例如A與B與C與D與E,其中A-E是不同的輸入。假如一個(gè)特定設(shè)計(jì)只需實(shí)現(xiàn)功能A與B與C,則D和E輸入可以簡單地連接到邏輯值1,以有效地從功能中除去那些輸入。類似地,當(dāng)在不同的設(shè)計(jì)中只需要諸如A與B的功能,則C、D和E輸入可以連接到邏輯值1,得到具有不同于第一示例中的邏輯響應(yīng)的相同邏輯單元。
但是,使用邏輯單元的傳統(tǒng)邏輯設(shè)計(jì)具有多個(gè)缺點(diǎn)。通常邏輯單元在大小和形狀上有所不同,這會在將其布置于設(shè)計(jì)中時(shí)導(dǎo)致低效的空間利用率。此外,互連以及時(shí)鐘信號的布線經(jīng)常是雜亂且不規(guī)則的,在很多情況下會產(chǎn)生定時(shí)問題,例如偏差和抖動,需要進(jìn)行額外的測試和重新設(shè)計(jì)。
另外,傳統(tǒng)設(shè)計(jì)方法和工具通常被限于使用靜態(tài)邏輯實(shí)現(xiàn)的邏輯單元。但是,近來由于較快的速度、較低的電源消耗和降低的門電路數(shù)量,動態(tài)邏輯已經(jīng)在電路設(shè)計(jì)中使用。利用動態(tài)邏輯,在時(shí)鐘的預(yù)充電階段期間,時(shí)鐘信號用于將多個(gè)門電路組成的電路預(yù)處理為穩(wěn)態(tài),然后在時(shí)鐘的計(jì)算階段期間,對電路輸入的布爾函數(shù)進(jìn)行計(jì)算并由電路輸出。
傳統(tǒng)上,邏輯綜合工具已不能有效地利用動態(tài)邏輯,一部分原因在于動態(tài)邏輯相關(guān)聯(lián)的更困難更嚴(yán)格的定時(shí)約束。在很多情況下,時(shí)鐘和互連信號的自動布線簡直太不規(guī)則,以致不能滿足動態(tài)電路的嚴(yán)格的定時(shí)要求。
當(dāng)在開發(fā)周期的后續(xù)階段需要邏輯設(shè)計(jì)有所變化時(shí),就產(chǎn)生了傳統(tǒng)設(shè)計(jì)方法的另一個(gè)缺點(diǎn)。通常,可在設(shè)計(jì)中包含空單元,以考慮電路中要實(shí)現(xiàn)的邏輯功能將在設(shè)計(jì)過程的后續(xù)點(diǎn)上進(jìn)行變化的可能性。但是,如果從不使用這種空單元,則分配給空單元的空間就會被浪費(fèi),從而增加了設(shè)計(jì)的尺寸以及全部成本。
因此,繼續(xù)存在對于一種電路設(shè)計(jì)方法的需要,其支持在電路設(shè)計(jì)中使用動態(tài)邏輯,同時(shí)降低與傳統(tǒng)方法和工具相關(guān)聯(lián)的不規(guī)則性和低效率。
發(fā)明內(nèi)容
本發(fā)明針對與現(xiàn)有技術(shù)相關(guān)聯(lián)的這些以及其它問題,提供了一種電路布置、集成電路設(shè)備、裝置、程序產(chǎn)品以及方法,其使用功能可互換動態(tài)邏輯單元陣列以在集成電路設(shè)計(jì)中實(shí)現(xiàn)專用邏輯功能。每個(gè)功能可互換動態(tài)邏輯單元包括動態(tài)邏輯電路以及輸出鎖存器,其中將該動態(tài)邏輯電路配置為作為多個(gè)輸入的函數(shù)來生成輸出,以及將該輸出鎖存器配置為對邏輯電路生成的輸出進(jìn)行鎖存。功能可互換動態(tài)邏輯單元陣列用于通過在至少一個(gè)功能可互換動態(tài)邏輯單元子集的輸入和輸出之間對多個(gè)導(dǎo)體進(jìn)行布線,在具體邏輯設(shè)計(jì)中實(shí)現(xiàn)專用邏輯功能。
本發(fā)明所特有的這些以及其它優(yōu)勢和特征在所附權(quán)利要求書中描述并且構(gòu)成本發(fā)明的一部分。但是,為了更好地理解本發(fā)明以及通過使用本發(fā)明所達(dá)到的優(yōu)勢和目的,應(yīng)當(dāng)參考附圖以及描述本發(fā)明示例性實(shí)施方式的所附描述部分。
圖1是依照本發(fā)明的功能可互換動態(tài)邏輯單元的功能框圖。
圖2是包含圖1中功能可互換動態(tài)邏輯單元陣列的集成電路設(shè)備的框圖。
圖3是功能可互換動態(tài)邏輯單元的示例性陣列的框圖,將時(shí)鐘分配電路與設(shè)置于示例性陣列外圍的本地時(shí)鐘緩沖器陣列相結(jié)合。
圖4是功能可互換動態(tài)邏輯單元的另一個(gè)示例性陣列的框圖,將時(shí)鐘分配電路與置于示例性陣列內(nèi)的本地時(shí)鐘緩沖器陣列相結(jié)合。
圖5是圖1中功能可互換動態(tài)邏輯單元示例性實(shí)現(xiàn)方式的電路圖。
圖6是圖1中功能可互換動態(tài)邏輯單元另一個(gè)示例性實(shí)現(xiàn)方式的電路圖。
圖7是包含有集成電路設(shè)計(jì)工具的裝置框圖,該裝置適用于以依照本發(fā)明的方式進(jìn)行集成電路設(shè)計(jì)過程。
圖8是說明使用圖7的集成電路設(shè)計(jì)工具所進(jìn)行的集成電路設(shè)計(jì)過程的流程圖。
具體實(shí)施例方式
在此詳述的各實(shí)施方式使用功能可互換動態(tài)邏輯單元陣列,在集成電路設(shè)計(jì)中實(shí)現(xiàn)專用邏輯功能。
依照本發(fā)明的功能可互換動態(tài)邏輯單元包含使用靜態(tài)邏輯實(shí)現(xiàn)的輸出鎖存器,以在單元的動態(tài)節(jié)點(diǎn)處捕獲由動態(tài)邏輯電路生成的邏輯狀態(tài)。由此,該單元提供了穩(wěn)定的存儲元件。
另外,依照本發(fā)明的動態(tài)邏輯單元在某種程度上是功能可互換的,即每個(gè)邏輯單元實(shí)現(xiàn)相同的邏輯功能,使得在將所期望的專用邏輯功能映射到邏輯單元陣列時(shí),陣列中的任何邏輯單元可代替陣列中的另一個(gè)邏輯單元。雖然在很多實(shí)施方式中每個(gè)功能可互換動態(tài)邏輯單元可能在物理設(shè)計(jì)和布局上也是相同的,但是在其它實(shí)施方式中,只要其實(shí)現(xiàn)相同的邏輯功能,不同的單元可以具有不同的物理設(shè)計(jì)。還將了解到,可以使用多種類型的陣列,包括一維和二維陣列,以及規(guī)則和不規(guī)則陣列。例如,在很多實(shí)施方式中,希望實(shí)現(xiàn)矩形或正方形而且彼此尺寸相同并且布局在規(guī)則的二維陣列中的邏輯單元。
而且,將了解到,雖然每個(gè)單元實(shí)現(xiàn)相同的邏輯功能,通過不同輸入到不同邏輯信號的互連和/或?qū)⒉煌斎脒B接到代表邏輯值“1”或邏輯值“0”的恒定電壓,可以將每個(gè)單元配置為提供不同的邏輯響應(yīng)。通常是通過在陣列中連接各邏輯單元的互連的具體配置,從由陣列中邏輯單元所實(shí)現(xiàn)的標(biāo)準(zhǔn)邏輯功能中獲得專用邏輯功能。
在下文描述的一個(gè)具體實(shí)現(xiàn)方式中,單個(gè)唯一復(fù)雜邏輯單元放置于規(guī)則二維陣列中,而且是實(shí)現(xiàn)專用邏輯功能時(shí)綜合工具所使用的唯一單元。使用有限切換動態(tài)邏輯(LSDL)配置實(shí)現(xiàn)邏輯單元,其中動態(tài)邏輯電路與為邏輯單元提供輸出的時(shí)鐘鎖存器結(jié)構(gòu)相連。正如以下將變得更明顯的,該唯一單元的邏輯復(fù)雜度提供定制塊和綜合塊之間的良好匹配,而且,規(guī)則陣列結(jié)構(gòu)考慮到牢固的時(shí)鐘分配方案以及鎖存器和本地時(shí)鐘緩沖器的規(guī)則放置。
此外,在上述實(shí)現(xiàn)方式中,不存在單元放置的問題,因?yàn)樗袉卧际窍嗤?。其結(jié)果是,綜合工具不需要將一個(gè)門電路與最接近的具體類型的門電路相連,而是只需連接最接近的可用門電路。另外,由于所有單元是唯一且相同的,在設(shè)計(jì)周期的很晚期執(zhí)行甚至是復(fù)雜的工程更改要求(ECO)也變得相對簡單了。給定每個(gè)邏輯單元的復(fù)雜度,在給定設(shè)計(jì)所實(shí)現(xiàn)功能中的甚至是復(fù)雜的更改可以不必結(jié)合前端修改,而且通常不需要關(guān)于可用于未來ECO的空門電路或單元的優(yōu)化方案。取而代之的是,只是將現(xiàn)有單元重新配置為依照必要的更改實(shí)現(xiàn)不同的功能。
現(xiàn)在參考附圖,其中貫穿多個(gè)視圖,類似的標(biāo)號表示類似的部分。圖1說明依照本發(fā)明的示例性功能可互換動態(tài)邏輯單元10。邏輯單元10包含動態(tài)邏輯電路12,其用于在內(nèi)部動態(tài)節(jié)點(diǎn)處作為在多個(gè)輸入IN0-INx上所接收值的函數(shù)來生成一個(gè)邏輯值,以及靜態(tài)鎖存器14,其用于對動態(tài)負(fù)載上所生成的邏輯值進(jìn)行取樣和鎖存,并且從中輸出一個(gè)輸出信號OUT。雖然未在圖1中表示,但是邏輯單元10除了OUT之外還可輸出反相輸出信號,或者代替OUT輸出反相輸出信號。
邏輯單元10還接收時(shí)鐘信號CLOCK作為輸入,連同VDD和GND輸入。將了解到,在不同的實(shí)施方式中,在邏輯單元中可能提供多個(gè)CLOCK、VDD和/或GND輸入,以便于與周圍電路的互連,而且可能使用多個(gè)時(shí)鐘信號。另外,提供給邏輯單元的輸入的數(shù)量可能不同,這取決于那里的動態(tài)邏輯所實(shí)現(xiàn)的標(biāo)準(zhǔn)化功能。
如上所述,通常在陣列中使用邏輯單元10,以實(shí)現(xiàn)專用邏輯功能。例如,圖2說明集成電路設(shè)備或芯片的一部分16,其包含邏輯單元10的陣列18。陣列18是二維規(guī)則陣列,每個(gè)邏輯單元10是正方形的,并且具有相同的外部尺寸。但是,將了解到,可能使用不同的陣列布局,例如,將單獨(dú)邏輯單元交錯(cuò)放置于相鄰行或列中,將單獨(dú)單元塊放置于其它不同的單獨(dú)單元塊附近,等等。還將了解到,雖然所示陣列18是4×4陣列,但是依照本發(fā)明的陣列可設(shè)置有任意數(shù)量的單元。
陣列18中還包含時(shí)鐘分配網(wǎng)絡(luò)或樹20,其包括多個(gè)時(shí)鐘線路或網(wǎng)22。時(shí)鐘線路22也設(shè)置于規(guī)則陣列中,并且由于邏輯單元10的規(guī)則和重復(fù)特性,可以提前確定時(shí)鐘加載,允許時(shí)鐘分配更加可控且穩(wěn)定,并且允許在布局之前進(jìn)行最優(yōu)化。例如,在很多實(shí)現(xiàn)方式中,邏輯單元陣列和時(shí)鐘分配樹的規(guī)則特性消除了對陣列或時(shí)鐘分配樹進(jìn)行綜合的必要。取而代之的是,綜合主要包括將互連布線至適當(dāng)?shù)倪壿媶卧?,以?shí)現(xiàn)所期望的邏輯功能。
也可能在一些實(shí)現(xiàn)方式中希望在依照本發(fā)明的時(shí)鐘分配網(wǎng)絡(luò)中包括時(shí)鐘緩沖器。而且,假如能夠使用邏輯單元和時(shí)鐘網(wǎng)的規(guī)則陣列,還可能希望在依照本發(fā)明的集成電路設(shè)計(jì)中使用本地時(shí)鐘緩沖器(LCB)的規(guī)則陣列。
例如,圖3說明設(shè)計(jì)30的物理布局,其包含邏輯單元10的規(guī)則二維陣列32。在這個(gè)實(shí)現(xiàn)方式中,時(shí)鐘分配網(wǎng)絡(luò)34包括多個(gè)等距且在水平方向上平行設(shè)置的時(shí)鐘網(wǎng)36。另外,LCB的垂直陣列38沿陣列32每端的外圍設(shè)置,以便為時(shí)鐘網(wǎng)36重新提供電源。
在其它實(shí)現(xiàn)方式中,LCB可能設(shè)置在電路設(shè)計(jì)的其它結(jié)構(gòu)中。例如,圖4說明可替換的設(shè)計(jì)30′,其中時(shí)鐘分配網(wǎng)絡(luò)34′包括LCB的垂直陣列38′,它們插入到邏輯單元10的陣列32之間或者與陣列32交錯(cuò)排列。但是,在一些情況下,由于需要從LCB陣列的一邊傳播至其另一邊的信號會需要相對較長的線,這可能導(dǎo)致定時(shí)問題,因此圖3的實(shí)現(xiàn)方式可能比圖4的實(shí)現(xiàn)方式具有優(yōu)勢。另一方面,由于時(shí)鐘網(wǎng)的長度減少了,圖4的實(shí)現(xiàn)方式可能在較大的陣列中更具優(yōu)勢。
因此,與鎖存器、門電路和緩沖器隨意放置于平面圖(floor plan)上而使時(shí)鐘網(wǎng)也在布線和線路長度上彼此不同的傳統(tǒng)綜合工具相反,所示實(shí)現(xiàn)方式中的時(shí)鐘網(wǎng)更加規(guī)則并且穩(wěn)定,因此使時(shí)鐘延時(shí)變化和時(shí)鐘偏差最小化。
在此描述的動態(tài)邏輯單元與電路布置的生成結(jié)合使用,該電路布置包含有實(shí)現(xiàn)專用邏輯功能的電路設(shè)計(jì)。最后,這種電路布置通常實(shí)現(xiàn)于集成電路設(shè)備或芯片中。但是,還應(yīng)當(dāng)了解,電路布置的設(shè)計(jì)和制造,通常至少部分地使用一個(gè)或多個(gè)在集成電路設(shè)備上定義電路布置的邏輯和/或布局的計(jì)算機(jī)數(shù)據(jù)文件,在這里稱為電路設(shè)計(jì)文件。通常利用多種設(shè)計(jì)工具以已知的方式生成這些文件,并在設(shè)計(jì)過程的不同階段進(jìn)行使用,而且在最后用于生成適合于生成定義應(yīng)用于半導(dǎo)體晶片的電路布置的布局掩模的信息。這些設(shè)計(jì)文件通常存儲在計(jì)算機(jī)可讀介質(zhì)中,并在設(shè)計(jì)過程的不同階段由計(jì)算機(jī)或其它電子設(shè)備讀取和處理;但是,這種文件還可能以程序產(chǎn)品的形式進(jìn)行分配,并且通過傳輸或可記錄類型計(jì)算機(jī)可讀介質(zhì)來承載。
如上所述,說明的實(shí)現(xiàn)方式希望使用有限切換動態(tài)邏輯(LSDL)動態(tài)邏輯單元,例如在美國專利No.6,690,204中的描述,在此其公開內(nèi)容作為參考引入本發(fā)明。一般地,依照本發(fā)明的動態(tài)邏輯單元可實(shí)現(xiàn)任意數(shù)量的復(fù)雜邏輯功能,通常在邏輯單元所實(shí)現(xiàn)的潛在邏輯功能的復(fù)雜度和單元的面積和性能之間存在某種折衷。特別地,所實(shí)現(xiàn)的邏輯功能越復(fù)雜,陣列中一個(gè)或多個(gè)單元的一部分在最終的綜合邏輯設(shè)計(jì)中不被使用的可能性就越大,從而浪費(fèi)了空間,而且不必要地?fù)p失了性能。
例如,圖5和圖6說明兩種可能的邏輯單元實(shí)現(xiàn)方式,代表了復(fù)雜度和性能之間的良好平衡。將了解到,在可選方案中,可能使用無數(shù)的其它設(shè)計(jì)。
圖5特別地說明邏輯單元10電路設(shè)計(jì)的實(shí)現(xiàn)方式,其接收多達(dá)24個(gè)信號(表示為A0-L0以及A1-L1)作為輸入,分為8個(gè)輸入組,每組3個(gè)輸入,并且對每組的輸入一起進(jìn)行邏輯與,再對每個(gè)輸入組的結(jié)果進(jìn)行邏輯或。在數(shù)學(xué)上表示為,根據(jù)以下邏輯功能從輸入得到邏輯單元10的輸出信號OUTOUT=(A0B0C0+D0E0F0+G0H0I0+J0K0L0)+(A1B1C1+D1E1F1+G1H1I1+J1K1L1)使用CMOS邏輯,包括NFET N0-N30和PFET P0-P4來實(shí)現(xiàn)邏輯單元10。使用布爾電路40、42和44在邏輯單元10的動態(tài)邏輯部分實(shí)現(xiàn)邏輯功能,且電路42與中間體P0和N0相連,電路44與中間體P1和N1相連。將電路40、42和44所實(shí)現(xiàn)的布爾函數(shù)的解析保持在圖5中標(biāo)記為DNODE的動態(tài)節(jié)點(diǎn)上。邏輯單元10的靜態(tài)邏輯部分對DNODE所保持的值進(jìn)行鎖存,并且實(shí)現(xiàn)包括P2、P3、P4、N2、N3和N4的反相鎖存。
P0-P2和N0-N2由時(shí)鐘信號CLK驅(qū)動,使得P0、P1和P2在CLK信號的預(yù)充電階段是激活的,而且N0、N1和N2在CLK信號的計(jì)算階段是激活的。P4和N4形成反相器,其與動態(tài)節(jié)點(diǎn)DNODE相連,用于對DNODE處保持的值進(jìn)行反相,并提供輸出信號OUT。OUT被反饋,以驅(qū)動P3和N3,從而實(shí)現(xiàn)靜態(tài)鎖存以在CLK的計(jì)算階段期間保持DNODE上的先前的值。將了解到,也可能在可選方案中使用其它鎖存器實(shí)現(xiàn)方式。
將了解到,P0-P4和N0-N4的電路配置實(shí)現(xiàn)了通用LSDL電路,其能夠取決于電路40、42和44中每一個(gè)的配置(此外,基于與電路40相連的電路例如電路42和44的數(shù)量)實(shí)現(xiàn)任意數(shù)量的布爾邏輯功能。例如,在圖5的配置中,包括P5、P6、N5和N6的電路40對電路42、44中每一個(gè)的輸出進(jìn)行邏輯或以及反相。包括N7-N18的電路42實(shí)現(xiàn)功能A0B0C0+D0E0F0+G0H0I0+J0K0L0,并且,包括N9-N30的電路44實(shí)現(xiàn)功能A1B1C1+D1E1F1+G1H1I1+J1K1L1。將了解到,在每個(gè)電路42、44中,輸入組的數(shù)量和/或每個(gè)輸入組內(nèi)輸入的數(shù)量在不同的實(shí)施方式中會有所不同。
圖6說明功能可互換動態(tài)邏輯單元電路設(shè)計(jì)的替代實(shí)現(xiàn)方式10′,其接收多達(dá)36個(gè)信號(表示為A0-L0、A1-L1以及A2-L2)作為輸入,分為12個(gè)輸入組,每組3個(gè)輸入,并且對每組內(nèi)的輸入一起進(jìn)行邏輯與,對前8個(gè)輸入組的結(jié)果進(jìn)行邏輯或,然后再將這個(gè)結(jié)果與后四個(gè)輸入組的結(jié)果進(jìn)行邏輯與。在數(shù)學(xué)上表示為,根據(jù)以下邏輯功能從輸入得到邏輯單元10′的輸出信號OUTOUT=[(A0B0C0+D0E0F0+G0H0I0+J0K0L0)+(A1B1C1+D1E1F1+G1H1I1+J1K1L1)]*(A2B2C2+D2E2F2+G2H2I2+J2K2L2)使用NFET N0-N44和PFET P0-P8來實(shí)現(xiàn)邏輯單元10′,其中N0-N4和P0-P4與圖5中邏輯單元10的配置方式相似。使用布爾電路50、52、54和56在邏輯單元10′的動態(tài)邏輯部分實(shí)現(xiàn)邏輯功能。將電路50、52、54和56所實(shí)現(xiàn)的布爾函數(shù)的解析保持在圖6中標(biāo)記為DNODE的動態(tài)節(jié)點(diǎn)處。邏輯單元10′的靜態(tài)邏輯部分對在DNODE保持的值進(jìn)行鎖存,并且實(shí)現(xiàn)包括N2-N4以及P2-P4的反相鎖存。
注意,邏輯單元10′的作用方式與圖5的邏輯單元10的方式極為相同,除了添加了電路56、P2和N2以及電路50的配置。具體地,正如電路42和44,包括N9-N20的電路52實(shí)現(xiàn)功能A0B0C0+D0E0F0+G0H0I0+J0K0L0,而包括N21-N32的電路54實(shí)現(xiàn)功能A1B1C1+D1E1F1+G1H1I1+J1K1L1。包括N33-N44的電路56類似地實(shí)現(xiàn)功能A2B2C2+D2E2F2+G2H2I2+J2K2L2。但是,與實(shí)現(xiàn)邏輯或和反相的電路40不同,電路50對電路52和54的輸出進(jìn)行邏輯或,之后對那個(gè)結(jié)果與電路56的輸出執(zhí)行邏輯與。然后由P5和N5實(shí)現(xiàn)的反相器對結(jié)果進(jìn)行反相,以生成輸出信號OUT。
受益于本公開的本領(lǐng)域的技術(shù)人員將了解到,通過選擇適當(dāng)?shù)牟紶栠壿嬰娐酚糜趫D5和圖6通用電路框架內(nèi)的實(shí)現(xiàn)方式,實(shí)際上,任何復(fù)雜的布爾函數(shù)都可在依照本發(fā)明的邏輯單元中實(shí)現(xiàn)。因此,本發(fā)明不限于在此描述的特定實(shí)現(xiàn)方式。而且,將了解到,在此所描述的邏輯單元的邏輯和/或物理設(shè)計(jì)的實(shí)現(xiàn)方式將在受益于本公開的本領(lǐng)域技術(shù)人員的能力范圍內(nèi)。
圖7接著說明適合于依照本發(fā)明的方式實(shí)現(xiàn)邏輯綜合的裝置60的示例性硬件和軟件環(huán)境。為本發(fā)明的目的,裝置60實(shí)際上可代表任何類型的計(jì)算機(jī)、計(jì)算機(jī)系統(tǒng)或其它可編程電子設(shè)備,包括客戶端計(jì)算機(jī)、服務(wù)器計(jì)算機(jī)、便攜式計(jì)算機(jī)、手持計(jì)算機(jī)以及嵌入式控制器等等。而且,可使用例如集群或其它分布式計(jì)算系統(tǒng)中的一個(gè)或多個(gè)網(wǎng)絡(luò)計(jì)算機(jī)實(shí)現(xiàn)裝置60。在下文中,裝置60也稱為“計(jì)算機(jī)”,但是應(yīng)當(dāng)了解到,術(shù)語“裝置”也可能包括依照本發(fā)明的其它合適的可編程電子設(shè)備。
計(jì)算機(jī)60通常包括至少一個(gè)處理器62,其與存儲器64相連。處理器62可代表一個(gè)或多個(gè)處理器(例如,微處理器),并且存儲器64可代表隨機(jī)存取存儲器(RAM)設(shè)備,其包括計(jì)算機(jī)60的主存儲器,以及任何補(bǔ)充級別的存儲器,例如高速緩沖存儲器、非易失性或備份存儲器(例如,可編程或閃存存儲器)、只讀存儲器等等。另外,可認(rèn)為存儲器64包括物理上位于計(jì)算機(jī)60之外位置的存儲存儲器,例如,處理器62中的任何高速緩沖存儲器,以及用作虛擬存儲器的任何存儲容量,例如存儲在大容量存儲設(shè)備66或通過網(wǎng)絡(luò)68與計(jì)算機(jī)60相連的另一個(gè)計(jì)算機(jī)。
計(jì)算機(jī)60通常還接收許多輸入和輸出,用于與外部信息進(jìn)行通信。為了提供與用戶或操作員的接口,計(jì)算機(jī)60可包括一個(gè)或多個(gè)用戶輸入/輸出設(shè)備70(例如,鍵盤、鼠標(biāo)、軌跡球、操縱桿、觸摸板和/或擴(kuò)音器用于輸入;以及CRT監(jiān)控器、LCD顯示板、和/或揚(yáng)聲器用于輸出,及其它)。此外,用戶輸入可通過遠(yuǎn)程終端或工作站72,和/或通過另一個(gè)通過網(wǎng)絡(luò)68與計(jì)算機(jī)60對接的計(jì)算機(jī)進(jìn)行接收。
為了進(jìn)行附加存儲,計(jì)算機(jī)60還可包括一個(gè)或多個(gè)大容量存儲設(shè)備66,例如軟盤或其它可移動磁盤驅(qū)動器、硬盤驅(qū)動器、直接訪問存儲設(shè)備(DASD)、光驅(qū)(例如,CD驅(qū)動器、DVD驅(qū)動器等),和/或磁帶驅(qū)動器,及其它。此外,計(jì)算機(jī)60可包括與一個(gè)或多個(gè)網(wǎng)絡(luò)68(例如LAN、WAN、無線網(wǎng)絡(luò)和/或因特網(wǎng)及其它)的接口,以允許和其它與網(wǎng)絡(luò)相連的計(jì)算機(jī)進(jìn)行信息通信。應(yīng)當(dāng)了解到,如現(xiàn)有技術(shù)中所已知的,計(jì)算機(jī)60通常包括在處理器62和每個(gè)組件64、66、68、70和72之間的適當(dāng)?shù)哪M和/或數(shù)字接口。
正如通常與集成電路設(shè)計(jì)相關(guān)的,計(jì)算機(jī)60通常是多用戶計(jì)算機(jī),例如服務(wù)器、中型計(jì)算機(jī)、大型計(jì)算機(jī),具有用戶輸入和輸出,其由電路設(shè)計(jì)者或測試者通過一個(gè)或多個(gè)通過終端或連網(wǎng)的計(jì)算機(jī)與計(jì)算機(jī)60相連的外部計(jì)算機(jī)進(jìn)行操作。但是,本發(fā)明并不限于這種環(huán)境。
計(jì)算機(jī)60在操作系統(tǒng)80的控制下工作,并且執(zhí)行各種計(jì)算機(jī)軟件應(yīng)用、組件、程序、對象、模塊、數(shù)據(jù)結(jié)構(gòu)等(例如,集成電路設(shè)計(jì)工具82,及其它),或者相反地依賴于它們。而且,各種應(yīng)用、組件、程序、對象、模塊等還可以在通過網(wǎng)絡(luò)68與計(jì)算機(jī)60相連的另一個(gè)計(jì)算機(jī)的一個(gè)或多個(gè)處理器上執(zhí)行,例如在分布式或客戶端-服務(wù)器計(jì)算機(jī)環(huán)境中,因此,實(shí)現(xiàn)計(jì)算機(jī)程序功能所需的處理可以分配到網(wǎng)絡(luò)中的多個(gè)計(jì)算機(jī)。
一般而言,為實(shí)現(xiàn)本發(fā)明各實(shí)施方式而執(zhí)行的例程,不論是作為操作系統(tǒng)的一部分或具體應(yīng)用、組件、程序、對象、模塊或指令序列實(shí)現(xiàn),或甚至作為其一個(gè)子集來實(shí)現(xiàn),在這里都將稱為“計(jì)算機(jī)程序代碼”或簡單地稱為“程序代碼”。程序代碼通常包括一個(gè)或多個(gè)指令,這些指令在不同時(shí)間上駐留于計(jì)算機(jī)的不同存儲器或存儲設(shè)備中,當(dāng)由計(jì)算機(jī)中的一個(gè)或多個(gè)處理器讀取和執(zhí)行該指令時(shí),使得計(jì)算機(jī)執(zhí)行必要的步驟,以執(zhí)行實(shí)現(xiàn)本發(fā)明各方面的步驟或元件。而且,雖然已經(jīng)以及將要在下面對本發(fā)明在全功能計(jì)算機(jī)和計(jì)算機(jī)系統(tǒng)的上下文中進(jìn)行描述,但是本領(lǐng)域的技術(shù)人員將了解,本發(fā)明的各個(gè)實(shí)施方式能夠以多種形式作為程序產(chǎn)品分發(fā),而且不論實(shí)際上用于實(shí)施分發(fā)的計(jì)算機(jī)可讀介質(zhì)的特定類型,本發(fā)明都同樣適用。計(jì)算機(jī)可讀介質(zhì)的示例包括但不限于可記錄類型介質(zhì),例如易失性以及非易失性存儲器設(shè)備、軟盤和其它可移動磁盤、硬盤驅(qū)動器、磁帶、光盤(例如,CD-ROM,DVD等)及其它,以及傳輸類型介質(zhì),例如,數(shù)字和模擬通信鏈路。
另外,基于在本發(fā)明具體實(shí)施方式
中所實(shí)現(xiàn)的應(yīng)用或工具,可對在下文中描述的各種程序代碼進(jìn)行識別。但是,應(yīng)當(dāng)了解到,隨后的任何特定程序術(shù)語僅用于簡便目的,從而本發(fā)明不應(yīng)當(dāng)限于僅在由這種術(shù)語所識別和/或指示的任何具體應(yīng)用中使用。此外,假設(shè)通常有無數(shù)種將計(jì)算機(jī)程序組織為例程、過程、方法、模塊、對象等的方式,以及有各種可以將程序功能分配到駐留在典型計(jì)算機(jī)中的各種軟件層(例如,操作系統(tǒng)、庫、API、應(yīng)用、小應(yīng)用程序等)之中的方式,則應(yīng)當(dāng)了解到,本發(fā)明并不限于在此描述的具體程序功能的組織以及分配。
依照本發(fā)明的邏輯綜合通常實(shí)現(xiàn)于集成電路設(shè)計(jì)環(huán)境中,其包括工具82,可用于開發(fā)和測試適合于制造集成電路的電路設(shè)計(jì)84(被顯示駐留在大容量存儲器66中)。但是,應(yīng)當(dāng)了解到,與設(shè)計(jì)和測試集成電路相關(guān)聯(lián)的各種功能可由總體上代表圖7中集成電路設(shè)計(jì)工具功能的不同計(jì)算機(jī)程序進(jìn)行處理。計(jì)算機(jī)程序的不同集合,包含不同設(shè)計(jì)和/或測試功能,可以使用在其它實(shí)施方式中,以及可能是或者可能不是集成在通用工具或套件中。而且,將了解到,電路設(shè)計(jì)84可包括一個(gè)或多個(gè)設(shè)計(jì)文件,其包含任意數(shù)量的不同格式,并適用于電路設(shè)計(jì)過程期間的各個(gè)階段(例如,對硬件描述語言信息、邏輯設(shè)計(jì)信息、布局信息、物理設(shè)計(jì)信息、驗(yàn)證/測試信息等進(jìn)行存儲的不同文件)。因此,本發(fā)明并不限于在此描述的計(jì)算機(jī)程序的特定組合中的實(shí)現(xiàn)。
圖8接著說明使用圖7的集成電路設(shè)計(jì)工具的示例性集成電路設(shè)計(jì)過程100中的主要步驟。為了圖8,假設(shè)使用在此描述的功能可互換動態(tài)邏輯單元實(shí)現(xiàn)整個(gè)電路。但是,將了解到,功能可互換動態(tài)邏輯單元可用于某些環(huán)境中只是為實(shí)現(xiàn)在特定電路設(shè)計(jì)中使用的專用邏輯的子集。例如,其它方法可用于實(shí)現(xiàn)其它專用邏輯,和/或額外設(shè)計(jì)步驟可用于提供最終物理設(shè)計(jì)中所必需的任何支持電路。
此外,如下所詳述,上述功能可互換動態(tài)邏輯單元的規(guī)則陣列的使用,結(jié)合上述規(guī)則時(shí)鐘分配網(wǎng)絡(luò)極大地簡化了設(shè)計(jì)過程中的很多步驟。尤其是,規(guī)則結(jié)構(gòu)的使用允許預(yù)先計(jì)劃綜合邏輯的平面圖,如果需要的話,包括已經(jīng)為預(yù)先計(jì)劃的平面圖優(yōu)化過的時(shí)鐘分配電路,以便邏輯綜合以多種方式縮減為只是在邏輯單元之間尋找適當(dāng)?shù)倪B接,以實(shí)現(xiàn)所期望的專用邏輯功能。此外,由于上述動態(tài)邏輯單元包含靜態(tài)鎖存器,從邏輯綜合的角度來說,每個(gè)單元作為鎖存器工作,從而適合與多個(gè)基于靜態(tài)邏輯的傳統(tǒng)方法一起使用。
過程100開始于框102,其響應(yīng)于例如來自電路設(shè)計(jì)者的用戶輸入開始設(shè)計(jì)電路。接下來,在框104中,為電路設(shè)計(jì)生成硬件描述語言文件(例如,VHDL)。
接下來,在框106中進(jìn)行邏輯綜合,以從硬件描述語言文件產(chǎn)生網(wǎng)表(netlist)。另外,在這里,邏輯綜合將在硬件描述語言中定義的專用邏輯功能映射到功能可互換動態(tài)邏輯單元。例如,可能使用任意數(shù)量的傳統(tǒng)基于單元的邏輯綜合方法,但是限制只使用一個(gè)或多個(gè)實(shí)現(xiàn)在此描述的功能可互換動態(tài)邏輯單元的標(biāo)準(zhǔn)單元產(chǎn)生網(wǎng)表。例如,在一個(gè)實(shí)施方式中,邏輯綜合工具可用的單元庫可以限于單一標(biāo)準(zhǔn)動態(tài)邏輯單元。
接下來,在框塊108中,使用標(biāo)準(zhǔn)單元對平面圖進(jìn)行初始化。在所示實(shí)現(xiàn)方式中,可能通過平鋪實(shí)現(xiàn)期望的功能所需的足夠多的標(biāo)準(zhǔn)單元來動態(tài)地構(gòu)造平面圖。在可選方案中,可以簡單地獲得具有期望數(shù)量的標(biāo)準(zhǔn)單元的預(yù)設(shè)計(jì)平面圖,并將其布置為單一單元。如果需要,平面圖也可以包括適當(dāng)?shù)碾娫?、地線和時(shí)鐘線路以及LCB陣列。此外,后面的任何或所有的電路元件可以集成在標(biāo)準(zhǔn)單元本身之中。在某些實(shí)現(xiàn)方式中,可能希望在平面圖中包含所有必要的電源和地線連接以及預(yù)先計(jì)劃的優(yōu)化時(shí)鐘分配網(wǎng)絡(luò),使得在平面圖初始化之后很少需要或不需要進(jìn)行電源、地線或時(shí)鐘線路的用戶定制布線。但是,在其它實(shí)施方式中,可能需要在已經(jīng)進(jìn)行了標(biāo)準(zhǔn)單元陣列的布置之后進(jìn)行這些電路元件的一些布線和/或布置。在另外其它實(shí)施方式中,平面圖可包括多個(gè)標(biāo)準(zhǔn)單元,多個(gè)平面圖彼此相連,以提供用于實(shí)現(xiàn)期望的功能的所需數(shù)量的標(biāo)準(zhǔn)單元。
接下來,如果必要的話,可在框112中進(jìn)行的布線之前,在框110中可選地畫出電源和時(shí)鐘的通道。注意,當(dāng)包含預(yù)先計(jì)劃的時(shí)鐘分配網(wǎng)絡(luò)時(shí),則在框114中,創(chuàng)建為驗(yàn)證、制造等目的所需的一個(gè)或多個(gè)視圖,例如布局視圖和示意性視圖。這些視圖的至少一部分用于進(jìn)行驗(yàn)證,如框116所示。如果在驗(yàn)證期間沒有遇到問題,則過程100完成。如果在驗(yàn)證期間檢測到例如定時(shí)問題等問題,則進(jìn)行傳統(tǒng)的重新制作過程,例如通過手動或自動重復(fù)上述設(shè)計(jì)過程中的任意數(shù)目的前述步驟。
在此描述的實(shí)現(xiàn)方式的另一個(gè)好處是甚至能夠在設(shè)計(jì)過程的相對后期處理設(shè)計(jì)更改,例如ECO。由于所有邏輯單元是功能可互換的,所實(shí)現(xiàn)功能的更改通常只需要對連接器進(jìn)行重新布線,而不用添加或刪除單獨(dú)的門電路和/或單元和/或需要前端修改。另外,由于所述實(shí)施方式中的任何“額外”門電路或單元將與其它邏輯單元具有相同的配置,降低或消除了對空門電路或單元的需要,所以ECO可能只需要利用對其的輸入的不同編程來重新使用任何給定單元。因此,還如圖8的框118中所示,上述設(shè)計(jì)過程還可用于僅通過對設(shè)計(jì)的現(xiàn)有硬件描述語言信息進(jìn)行修改來實(shí)現(xiàn)設(shè)計(jì)更改,如框120中所示,之后重復(fù)開始于框106處的步驟。
將了解到,在某些實(shí)現(xiàn)方式中可能需要與集成電路設(shè)計(jì)、驗(yàn)證和/或制造過程相關(guān)的附加步驟,但是為了方便說明并未在圖8中示出。例如,當(dāng)使用不同的工具進(jìn)行不同的步驟時(shí),可能在過程中使用某些工具之前需要進(jìn)行數(shù)據(jù)轉(zhuǎn)換。而且,當(dāng)其它方法用于集成電路設(shè)備的其它功能時(shí),例如當(dāng)功能可互換動態(tài)邏輯單元用于僅實(shí)現(xiàn)設(shè)備中的部分邏輯時(shí),可能使用其它傳統(tǒng)的過程步驟。
還將了解到,在這里描述的設(shè)計(jì)過程的實(shí)現(xiàn)方式將完全在受益于本公開的本領(lǐng)域技術(shù)人員的能力范圍內(nèi)。例如,將了解到,多個(gè)傳統(tǒng)的基于靜態(tài)邏輯的設(shè)計(jì)工具、過程和方法可以方便地在利用這里描述的功能可互換動態(tài)邏輯單元設(shè)計(jì)集成電路時(shí)使用。在某些實(shí)現(xiàn)方式中,現(xiàn)有工具和方法可簡單地使用僅包含單一功能可互換動態(tài)邏輯單元的標(biāo)準(zhǔn)單元庫,使得各種設(shè)計(jì)過程以與傳統(tǒng)設(shè)計(jì)過程非常相同的方式運(yùn)行,但是使用在此描述的動態(tài)邏輯單元實(shí)現(xiàn)所有設(shè)置的邏輯。
可對依照本發(fā)明的所示實(shí)施方式進(jìn)行各種修改。例如,在此描述的邏輯單元電路設(shè)計(jì)實(shí)現(xiàn)了相對基本的LSDL結(jié)構(gòu)。因此,其它已知的LSDL或例如對于抗擾度、門電路穩(wěn)定性等的其它改進(jìn)可以如所需地包含在邏輯單元中。
可以對所示各實(shí)施方式進(jìn)行各種附加修改而不偏離本發(fā)明精神和范圍。因此,本發(fā)明取決于以下所附的權(quán)利要求書。
權(quán)利要求
1.一種電路布置,包括設(shè)置于陣列中的多個(gè)功能可互換動態(tài)邏輯單元,每個(gè)功能可互換動態(tài)邏輯單元包括多個(gè)輸入,邏輯電路以及輸出鎖存器,其中將該邏輯電路配置為使用動態(tài)邏輯、作為該多個(gè)輸入的函數(shù)來生成輸出,以及將該輸出鎖存器配置為對該邏輯電路的輸出進(jìn)行鎖存;以及多個(gè)導(dǎo)體,對該功能可互換動態(tài)邏輯單元的至少一個(gè)子集的輸入和輸出進(jìn)行電互連,以將該多個(gè)功能可互換動態(tài)邏輯單元配置為共同實(shí)現(xiàn)專用邏輯功能。
2.根據(jù)權(quán)利要求1所述的電路布置,其中該多個(gè)導(dǎo)體配置該功能可互換動態(tài)邏輯單元的子集中的每一個(gè),以單獨(dú)實(shí)現(xiàn)專用邏輯功能的一部分。
3.根據(jù)權(quán)利要求1所述的電路布置,其中該多個(gè)導(dǎo)體的其中至少一個(gè)將至少一個(gè)該功能可互換動態(tài)邏輯單元的至少一個(gè)輸入與恒定電壓相連。
4.根據(jù)權(quán)利要求1所述的電路布置,其中每個(gè)動態(tài)邏輯單元中的多個(gè)輸入包括多個(gè)輸入組,以及其中將每個(gè)動態(tài)邏輯單元的該邏輯電路配置為對每個(gè)輸入組的輸入一起進(jìn)行邏輯與,以生成其輸出信號,以及對該多個(gè)輸入組的輸出信號進(jìn)行邏輯或,以生成該邏輯電路的輸出。
5.根據(jù)權(quán)利要求4所述的電路布置,其中該多個(gè)輸入包括八個(gè)輸入組,以及其中每個(gè)輸入組包括三個(gè)輸入。
6.根據(jù)權(quán)利要求1所述的電路布置,其中每個(gè)動態(tài)邏輯單元中的該多個(gè)輸入包括多個(gè)輸入組,其中每個(gè)動態(tài)邏輯單元包括第一、第二和第三動態(tài)邏輯電路,其中將該第一、第二和第三動態(tài)邏輯電路中的每個(gè)分別配置為對輸入組中的一個(gè)子集的輸入一起進(jìn)行邏輯與,以生成其輸出信號,以及對輸入組的各子集的輸出信號進(jìn)行邏輯或,以分別生成第一、第二和第三輸出,以及其中將該邏輯電路配置為對該第一輸出與該第二和第三輸出的邏輯或進(jìn)行邏輯與。
7.根據(jù)權(quán)利要求6所述的電路布置,其中每個(gè)輸入組包括三個(gè)輸入,以及其中將該第一、第二和第三動態(tài)邏輯電路中的每一個(gè)配置為接收四個(gè)輸入組。
8.根據(jù)權(quán)利要求1所述的電路布置,其中每個(gè)功能可互換動態(tài)邏輯單元包括有限切換動態(tài)邏輯(LSDL)電路。
9.根據(jù)權(quán)利要求1所述的電路布置,其中該多個(gè)功能可互換動態(tài)邏輯單元彼此相同。
10.根據(jù)權(quán)利要求1所述的電路布置,其中該多個(gè)功能可互換動態(tài)邏輯單元設(shè)置于二維規(guī)則陣列中,以及其中該電路布置進(jìn)一步包括時(shí)鐘分配電路,其包括在第一維中延伸的多個(gè)時(shí)鐘網(wǎng)以及在通常與該第一維正交的第二維中延伸的多行本地時(shí)鐘緩沖器。
11.根據(jù)權(quán)利要求10所述的電路布置,其中該多行本地時(shí)鐘緩沖器包括分別設(shè)置于該功能可互換動態(tài)邏輯單元陣列對面端的第一和第二行。
12.根據(jù)權(quán)利要求10所述的電路布置,其中該多行本地時(shí)鐘緩沖器包括至少一行與該功能可互換動態(tài)邏輯單元陣列相互交錯(cuò)。
13.根據(jù)權(quán)利要求1所述的電路布置,進(jìn)一步包括時(shí)鐘分配電路,其包括與該多個(gè)功能可互換動態(tài)邏輯單元的時(shí)鐘輸入相連的時(shí)鐘網(wǎng)的規(guī)則陣列。
14.根據(jù)權(quán)利要求1所述的電路布置,其中僅使用該多個(gè)功能可互換動態(tài)邏輯單元實(shí)現(xiàn)該專用邏輯功能。
15.根據(jù)權(quán)利要求1所述的電路布置,其中該多個(gè)功能可互換動態(tài)邏輯單元具有大約相同的外部尺寸。
16.一種集成電路設(shè)備,包括如權(quán)利要求1所述的電路布置。
17.一種程序產(chǎn)品,包括電路設(shè)計(jì)數(shù)據(jù),其定義了如權(quán)利要求1所述的電路布置;以及承載該電路設(shè)計(jì)數(shù)據(jù)的計(jì)算機(jī)可讀介質(zhì),其中該計(jì)算機(jī)可讀介質(zhì)包括傳輸類型介質(zhì)和可記錄介質(zhì)的其中至少一個(gè)。
18.一種設(shè)計(jì)電路布置的方法,該方法包括對功能可互換動態(tài)邏輯單元陣列進(jìn)行布局,其中每個(gè)功能可互換動態(tài)邏輯單元包括多個(gè)輸入,邏輯電路以及輸出鎖存器,其中將該邏輯電路配置為使用動態(tài)邏輯、作為該多個(gè)輸入的函數(shù)來生成輸出,以及將該輸出鎖存器配置為對邏輯電路的輸出進(jìn)行鎖存;以及通過對多個(gè)導(dǎo)體進(jìn)行布線以對該功能可互換動態(tài)邏輯單元的至少一個(gè)子集的輸入和輸出進(jìn)行電互連,將該功能可互換動態(tài)邏輯單元陣列配置為共同實(shí)現(xiàn)專用邏輯功能。
19.根據(jù)權(quán)利要求18所述的方法,其中每個(gè)功能可互換動態(tài)單元包括時(shí)鐘分配電路的一部分,使得對該功能可互換動態(tài)邏輯單元陣列的布局包括對時(shí)鐘分配電路的布局。
20.根據(jù)權(quán)利要求18所述的方法,其中對該功能可互換動態(tài)邏輯單元陣列的布局包括初始化平面圖,該平面圖包括功能可互換動態(tài)邏輯單元的規(guī)則陣列以及與其所集成的預(yù)先計(jì)劃的規(guī)則時(shí)鐘分配電路。
21.根據(jù)權(quán)利要求20所述的方法,進(jìn)一步包括在對該功能可互換動態(tài)邏輯單元進(jìn)行布局之前,優(yōu)化該預(yù)先計(jì)劃的規(guī)則時(shí)鐘分配電路。
22.根據(jù)權(quán)利要求20所述的方法,其中功能可互換動態(tài)邏輯單元的該規(guī)則陣列是二維陣列,以及其中該預(yù)先計(jì)劃的規(guī)則時(shí)鐘分配電路包括在第一維中延伸的多個(gè)時(shí)鐘網(wǎng)以及在通常與該第一維正交的第二維中延伸的多行本地時(shí)鐘緩沖器。
23.根據(jù)權(quán)利要求18所述的方法,其中對該多個(gè)導(dǎo)體進(jìn)行布線以對該功能可互換動態(tài)邏輯單元的至少一個(gè)子集的輸入和輸出進(jìn)行互連包括將功能可互換動態(tài)邏輯單元的至少一個(gè)輸入與恒定電壓相連。
24.根據(jù)權(quán)利要求18所述的方法,其中每個(gè)動態(tài)邏輯單元中的該多個(gè)輸入包括多個(gè)輸入組,以及其中將每個(gè)動態(tài)邏輯單元的該邏輯電路配置為對每個(gè)輸入組的輸入一起進(jìn)行邏輯與,以生成其輸出信號,以及對該多個(gè)輸入組的該輸出信號進(jìn)行邏輯或,以生成該邏輯電路的輸出。
25.根據(jù)權(quán)利要求18所述的方法,其中每個(gè)動態(tài)邏輯單元中的該多個(gè)輸入包括多個(gè)輸入組,其中每個(gè)動態(tài)邏輯單元包括第一、第二和第三動態(tài)邏輯電路,其中將該第一、第二和第三動態(tài)邏輯電路中的每一個(gè)分別配置為對輸入組的一個(gè)子集的輸入一起進(jìn)行邏輯與,以生成其輸出信號,以及對輸入組的各子集的輸出信號進(jìn)行邏輯或,以分別生成第一、第二和第三輸出,以及其中將邏輯電路配置為對該第一輸出與該第二和第三輸出的邏輯或進(jìn)行邏輯與。
26.根據(jù)權(quán)利要求18所述的方法,其中每個(gè)功能可互換動態(tài)邏輯單元包括有限切換動態(tài)邏輯(LSDL)電路。
27.根據(jù)權(quán)利要求18所述的方法,進(jìn)一步包括,在將該功能可互換動態(tài)邏輯單元陣列配置為共同實(shí)現(xiàn)該專用邏輯功能之后,通過對該多個(gè)導(dǎo)體的其中至少一個(gè)子集進(jìn)行重新布線,將該功能可互換動態(tài)邏輯單元陣列重新配置為共同實(shí)現(xiàn)修改的專用邏輯功能。
28.一種通過如權(quán)利要求18所述方法而設(shè)計(jì)的集成電路設(shè)備。
29.一種程序產(chǎn)品,包括程序代碼,被配置為通過對功能可互換動態(tài)邏輯單元陣列進(jìn)行布局來設(shè)計(jì)電路布置,其中每個(gè)功能可互換動態(tài)邏輯單元包括多個(gè)輸入,邏輯電路以及輸出鎖存器,其中將該將該邏輯電路配置為使用動態(tài)邏輯、作為該多個(gè)輸入的函數(shù)來生成輸出,并且將該輸出鎖存器配置為對邏輯電路的輸出進(jìn)行鎖存,以及其中該程序代碼被進(jìn)一步配置為,通過對多個(gè)導(dǎo)體進(jìn)行布線以對該功能可互換動態(tài)邏輯單元的至少一個(gè)子集的輸入和輸出進(jìn)行電互連,將該功能可互換動態(tài)邏輯單元陣列配置為共同實(shí)現(xiàn)專用邏輯功能;以及承載該程序代碼的計(jì)算機(jī)可讀介質(zhì)。
30.一種裝置,包括如權(quán)利要求14所述的程序產(chǎn)品,其中該計(jì)算可讀介質(zhì)包括至少一個(gè)存儲器設(shè)備,以及其中該裝置進(jìn)一步包括至少一個(gè)與該至少一個(gè)該存儲器設(shè)備相連的處理器,并且該處理器被配置為執(zhí)行該程序代碼。
全文摘要
一種電路布置、集成電路設(shè)備、裝置、程序產(chǎn)品以及方法,使用功能可互換動態(tài)邏輯單元陣列在集成電路設(shè)計(jì)中實(shí)現(xiàn)專用邏輯功能。每個(gè)功能可互換動態(tài)邏輯單元包括動態(tài)邏輯電路以及輸出鎖存器,其中將該邏輯電路配置為使用動態(tài)邏輯、作為該多個(gè)輸入的函數(shù)來生成輸出,以及將該輸出鎖存器配置為對邏輯電路的輸出進(jìn)行鎖存。功能可互換動態(tài)邏輯單元陣列用于通過在功能可互換動態(tài)邏輯單元的至少一個(gè)子集的輸入和輸出之間對多個(gè)導(dǎo)體進(jìn)行布線,在具體邏輯設(shè)計(jì)中實(shí)現(xiàn)專用邏輯功能。
文檔編號H03K19/173GK1862968SQ20061005699
公開日2006年11月15日 申請日期2006年3月7日 優(yōu)先權(quán)日2005年5月12日
發(fā)明者克里斯托弗·羅伯特·特雷茲 申請人:國際商業(yè)機(jī)器公司