專利名稱::一種用于邏輯陣列的可編程互聯(lián)網(wǎng)絡的制作方法
技術領域:
:本發(fā)明涉及一種集成電路互連,尤其涉及一種諸如FPGA(現(xiàn)場可編程門陣列)之類的集成電路的可編程互連網(wǎng)絡。
背景技術:
:FPGA是一種其功能由FPGA的用戶來指定的集成電路。用戶對FPGA進行編程,以執(zhí)行用戶所期望的功能。FPGA包括執(zhí)行FPGA功能的邏輯單元和各邏輯單元之間的互連網(wǎng)絡。在現(xiàn)有技術中,互連網(wǎng)絡具有基于樹的層級(hierarchical)架構,其中,樹結(jié)構的互連被用于在行列布局的邏輯單元之間進行連接。在此之前,這種互連網(wǎng)絡被實施為一種四叉樹網(wǎng)絡,即,較高層級的開關盒(switchbox)連接到層級較低層的4個邏輯單元或開關盒,從而產(chǎn)生了一種邏輯單元的數(shù)量合計為4的次方的電路。以5、6和7層數(shù)的分層為例,FPGA可以有1024、4096和16384個邏輯單元。顯然,存在一些應用,它們可能例如需要1500個邏輯單元,但是在FPGA中卻不得不以4096個邏輯單元來實現(xiàn)。也就是說,在這種電路中只有一小部分的邏輯單元被使用到。當前,集成電路在各個領域都有著巨大的應用。在特定環(huán)境下,所要求的邏輯單元的數(shù)量不總是4的次方或接近于4的次方。通過四叉樹互連網(wǎng)絡來構建這樣一種]:C必然會導致芯片面積的無效率使用。而且,具有四叉樹層級互連架構的集成電路必然存在大致為正方形的布局。在通常有一個正方形布局且包含若千集成電路的所謂片上系統(tǒng)(SOC)的情況下,已證明在芯片上安置這樣的集成電路有一定的難度。
發(fā)明內(nèi)容因此,本發(fā)明的目的是提供一種新的互連架構,其克服了上述的任何問題。本發(fā)明提供了一種集成電路,包括元件陣列和用于所述元件陣列的可編程互連網(wǎng)絡,所述可編程互連網(wǎng)絡包括多個開關盒,所述開關盒在基于樹的層級架構中相連并且為響應配置比特為所述元件提供選擇和連接,位于層級最低層的開關盒被連接到所述元件;至少一層中的開關盒與層級中其他層中的開關盒的數(shù)量不同。優(yōu)選地,所述多個開關盒包括多路選擇器、傳輸晶體管或傳輸門。優(yōu)選地,子數(shù)量是從包括4、6和8的群中選擇的。優(yōu)選地,所述集成電路包括FPGA,并且所述元件是邏輯單元。優(yōu)選地,所述集成單元包括SOC。本發(fā)明提供了一種單元數(shù)量多種多樣的層級架構,其使得電路實現(xiàn)變得便利。本發(fā)明還提供了更大的布局靈活性。本發(fā)明的上述及其他目的、特征和優(yōu)點通過參考附圖描述的以下詳細說明而變得明顯,其中,類似的參考標記表示相同或類似的元件。圖1圖解了根據(jù)本發(fā)明一個實施例的用于FP邏輯單元的基于樹的可編程互連網(wǎng)絡的層級架構;圖2圖解了根據(jù)本發(fā)明另一個實施例的用于FP邏輯單元的基于樹的可編程互連網(wǎng)絡的層級架構;圖3圖解了根據(jù)本發(fā)明又一個實施例的基于6層樹的可編程互連網(wǎng)絡;圖4圖解了參數(shù)化的HLBk的框圖;圖5圖解了圖4的HSB的框圖;圖6圖解了具有相同單元數(shù)量3072的不同形狀布局;圖7圖解了在HSB:I內(nèi)用于連接到4個子邏輯單元的布線情況;以及圖8圖解了在HSBi內(nèi)用于連接到6個子邏輯單元的布線情況。具體實施例方式為了更好地說明,由一個HSBi以及通過該HSBi連接的6個LC形成的邏輯塊被稱為層1中的層級邏輯塊(HLB1)。由一個H:SB2以及通過該HS:B2連接的LI中的4個HLB形成的邏輯塊被稱為HSB2。由HSB3以及L2中的4個HSB形成的整個塊被稱為HLB3。左下角的HLB。左下角的HSB2以及HLB3用虛線框出。再次,較低層中的HLB被稱為子HLB,而較高層中由子HLB形成的IILB被稱為父IiLB。從圖1可以指出每個:Hl.A包含6個:HLB。(=LC:邏輯單元),每個HLB2包含4個HLB"而唯一的HLB3包含4個HLB2。換言之,每個H1A有6個子(HLB。),每個HLB2有4個子HLBpHLBs有4個子HLB2。為了便于說明,圖中的HSB用另外的數(shù)字標記。因為在L3層中只有一個HSB,所以沒有對該HSB再進行標記。在L2層中,HSB被標記為HS:B2-M,其中,M是位置索引并且可以從0、1、2和3中取值,視該HSB關于L2中其他3個HSB的位置而定。例如,位置索引"0"表示左上角,"1"表示右上角,"2"表示左下角,"3"表示右下角。在LI層中,HSB被標記為HSB「MN,其中,M表示該HSB連接的IISB2的位置索引,即它的父HSB的號碼,N表示該IISB相對于屬于同一H:SB2(L2中的父HSB)的其他3個HSB的位置索引,并且可以從()、1、2禾P3中取值。借助于由HSB形成的互連網(wǎng)絡,陣列的LC可以被連接到該陣列中的其他任何LC。例如,標記為E(LCE)的LC可連接到L1的HSB「21,然后可連接到標記為F(LCF)的LC。在另-一個例子中,將LCE連接到LCG的路由路徑包括HSB「21、HSB廠2和HSBi-23。在第三個例子中,當從LCE連接到LCH時,路由路徑包括HSB「21、HSB2-2、HSB3、HSB2-1和HSB「10。請注意,圖1具有矩形的形狀,上下方向長,左右方向短,這是因為上下方向放置了是6個LC而不是4個LC。這為芯片中的集成電路布局提供了靈活性。在圖1中,不同數(shù)量(數(shù)量為6)的子被置于最低層L1。然而,它也可以被置于其它層中。圖2示出了用于8*12的LC陣列的基于3層樹的互連網(wǎng)絡,其中,每個H1A有4個子,每個HLB2有6個子,HLB3有4個子。盡管已經(jīng)結(jié)合圖1和圖2描述了針對8*12的LC陣列的基于3層樹的互連網(wǎng)絡,然而根據(jù)本發(fā)明可以適用多于3層的互連網(wǎng)絡。圖3圖解了根據(jù)本發(fā)明另一個實施例的基于6層樹的可編程互連網(wǎng)絡。在圖3中,每個HLB3可以表示圖1或圖2中的整個邏輯塊。L3中的4個鄰接的HLB被連接到層L4中的一個:HSB,即HLB4。層L5中的4個鄰接的H:LB被連接到層L6中的一個H:SB,即:HLB6。左下角中的H1A、左下角中的HLB5和HLB6用虛線框出。換言之,每個HLB4包括4個子(HLB3),每個HLB5包括6個子(HLB4),只有一個HLB6包括4個子(HLB5)。應當理解,盡管圖3中的層級架構只有一層不同數(shù)量的子,然而本發(fā)明不應該被限制于此。例如,根據(jù)本發(fā)明的層級架構可以具有多于2個的不同數(shù)量的子,和/或每個不同數(shù)量可以被安置在層級的1個以上的層中。圖4圖解了參數(shù)化HLBk的框圖。在此,k是IILB層級號,可以取值為1、2、3......詞語"參數(shù)化"意示(1)該HLB能夠被放入k層層級的任何層中。層級不同層中的所有HLB具有類似的結(jié)構,即1個HSB和--定數(shù)量的子HLB,(2)層級中同一層的所有HLB共享完全相同的結(jié)構,即相同的子數(shù)量和相同的布線寬度(wirewidth)。如圖4所示,IILBk包括一個HLBk和6個HLBk—i,分別標記為HLBk—f0、HLBk—「1、HLBtl-2、H:LBh-3、HL:Bh-4、和圧.|.「5。}£為是多路選擇器(MUX),具有上游MUX輸入端umi,上游MUX輸出端umo,下游MUX輸入端dmi。_dmi5和下游MUX輸出端dmo。-dmo5。每個HLBk—i具有一個上游MUX輸入端umi和一個下游MUX輸出端umo。HSBk在umi輸入端從HSBk+1或外部功能塊接收輸入信號WUIk,然后在umo向HSBk+1或外部功能塊輸出信號WU()k。:HSBk還與k-1層的HLB通信數(shù)據(jù)。例如,:HSBk在ctai。從HLB^-0接收輸入信號WDIk,并且在dmo。向HLBk—「0輸出信號。應當注意,盡管圖示了6個子HLBk-l,它也適用于其它數(shù)量的子HLBk—p圖5圖解了圖4的IISB的框圖。該HSB被標記為HSBk,其中,k表示該IISB的層級層次,因此:HSBk可以表示圖1和圖2中的任何H:SB,或者甚至更高層中的:HSB。在圖5中,HSBk包括多個由多路選擇器(MUX)實施的開關單元,即上游MUX開關UMSk,下游MUX開關DMSk-0、DMSk_l、DMSk_2、DMSk_3、DMSk_4和DMSk_5。HSBk有....匕游MUX輸入端i皿i,上游MUX輸出端umo,下游MUX輸入端dmi。-dmi5以及下游MUX輸出端dmo。-dmo5。輸入端dmi。-dmi5將被分別連接到6個子HLB的輸出端,即在k為1時連接到與HSBk相連的6個LC,或者在k為大于1的整數(shù)時連接到與HSBk相連的k_l層的6個HSB。輸出端dm0。-dmo5將被連接到6個子HLB的輸入端,即在k為1時連接到與HSBk相連的6個LC,或者在k為大于1的整數(shù)時連接到與HSBk相連的kl層的6個IISB。輸入端umi將被連接到父HSB的輸出端,即連接到HSBk的k+1層的其中一個HSB,或者如果不存在父HSB則連接到外部功能塊。輸出端umo將被連接到父HSB的輸入端,或者如果不存在父HSB則連接到外部功能塊。[MSk的功能是從輸入端dmi。-ctai5接收輸入信號WDI:k,以及在配置比特的控制下將其中--個輸入信號WDIk選擇為WUOk,然后將其在umo輸出。DMSk_j具有下游MUX反饋輸入端dmfi、上游MUX輸入端umi和下游MUX輸出端dmo,其中j=0,1,2,3,4,或5,并且被配置用于分別從輸入端dmij和umi接收輸入信號WDIk和wu]:k;并且在配置比特的控制下,從輸入信號WDik和wuik選擇信號作為將成為對應dra0j的輸出的WDOk。如上所述,可以由根據(jù)本發(fā)明的HLB和HSB的基于樹的層級架構來形成集成電路。架構可以如圖1到圖3中所示。在該架構中,每個HLB可以是圖4中所示的HLBk,并且具有4、6、8或者其他任意偶數(shù)數(shù)量的子。為了便于建模,該架構應當在相同層中具有對稱結(jié)構,即層級相同層中的HLB具有相同數(shù)量的子。進-步,至少一層的HLB具有與其它層不同數(shù)量的子。結(jié)果的電路可以具有變化的大小。例如,如果層級架構由4個子、6個子和8個子形成,不同層中有不同數(shù)量的子,則電路的單元數(shù)量能夠表示如下1+m+n=t.(1)單元數(shù)量r=41*6m*8n(2)在公式中,"t"是電路中層數(shù)總和;"1"是包含4個子的層級的層數(shù);"m"是包含6個子的層級的層數(shù);"n"是包含8個子的層級的層數(shù)。":1."、"m"和"n"可以是()和"t"之間的任何偶數(shù)。除此之外,最低層和最高層之間的任何層都可以具有6或8個子,例如,4-6-8-4-6或6-8-6-4-4。下表l說明了單元數(shù)量如何隨著這類混合架構中的不同子數(shù)量而變化。請注意,為了說明目的,已將子的數(shù)量選擇為4、6和8,而且只列出了具有4-6層的層級架構。6<table>tableseeoriginaldocumentpage7</column></row><table><table>tableseeoriginaldocumentpage8</column></row><table>為了更好的說明,表被標記為3個部分,第--部分被標記為"1024<=單元數(shù)量<4096"并且列出了單元數(shù)量在1024和4096之間的那些架構;第二部分被標記為"4096<=單元數(shù)量<16384"并且列出了單元數(shù)量在4096和16384之間的那些架構;第三部分被標記為"16384<=單元數(shù)量<65536"并且列出了單元數(shù)量在16384和65536之間的那些架構。從表的第一部分可以看出,借助于在不同層中具有不同子數(shù)量的混合架構,實現(xiàn)了單元數(shù)量在畫和4096之間的14個架構。眾所周知,1024和4096分別對應由每層有4個子的5層架構的單元數(shù)量,由每層有4個子的6層架構的單元數(shù)量。這14個架構提供了8種不同的單元數(shù)量,包括1152、1296、1536、1728、2048、2304、3072和3456,相鄰的單元數(shù)量之間的增長步長約為12%-25%。以1152為例,這個架構由4個子的一層、6個子的二層和8個子的一層形成,它的單元數(shù)量比5層四叉樹層級結(jié)構的單元數(shù)量1024增加了12.5%。單元數(shù)量為3456的架構由有4個子的兩層和有6個子的3層形成,比5層四叉樹的層級架構增加了200%,比單元數(shù)量為3072的相鄰架構增加了12.5%。與相鄰的傳統(tǒng)四叉樹結(jié)構的單元數(shù)量增加300%相比,本發(fā)明采用多變的單元數(shù)量從而為設計集成電路提供了更大的靈活性,從而可以更有效地使用芯片面積。綜上所述,單元數(shù)量在1024到4096之間變化的14個不同架構可以用在不同層中的4、6和8個子的混合架構來實現(xiàn)。從表的第二部分可以看出,盡管在不同層中具有不同子數(shù)量的混合架構中,可以實現(xiàn)具有單元數(shù)量在4096和16384之間的17個不同的架構,相鄰單元數(shù)量之間的增長步長百分比大約是12.5%-20%。從表的第三部分可以看出,通過不同層中具有不同子數(shù)量的混合架構,可以實現(xiàn)單元數(shù)量在16384和65536之間的16個不同的架構,相鄰單元數(shù)量之間的增長步長百分比大約是12.5%-20%。綜上所述,借助于在不同層中具有不同子數(shù)量的基于樹的層級架構,可以用多種單元數(shù)量,而不只是4、6或8的次方的單元數(shù)量來實現(xiàn)集成電路。因此,芯片的空白空間將被最小化。請注意,在上表中,一些不同的架構共享相同的單元數(shù)量,比如1536,2048,2304和3072。例如,單元數(shù)量為3072的架構可以由每層8個子的三層和每層6個子的1層形成,或者替換地由每層4個子的三層,每層6個子的1層和每層8個子的三層形成。前者比后者少一層的層級,產(chǎn)生了芯片面積稍大、為路由邏輯單元所需要的較上層布線稍少的電路,從而延遲較短。而且如上所述,其中具有不同子的架構可以導致不同的布局。對于單元數(shù)量為3072的架構來說,可以有14種實施方式,每種實施對應具體階數(shù)的子數(shù)量。下表2示出這14種實施方式將帶來的布局種類。表2<table>tableseeoriginaldocumentpage10</column></row><table>1青注意從左到右的數(shù)量對應從較低層到高層的子數(shù)量表2--共6列。第--列給出14類實施中每一類的順序編號。第二列示出針對14類實施中每一類的層級中每層中的子數(shù)量。應當指出,在該列中,左邊第一個數(shù)字對應最低層中的子數(shù)量,最后一個數(shù)字對應最高層中的子數(shù)量。第3-6列分別示出了總層數(shù)、布局的大致長度、布局的大致寬度以及每類實施的長度/寬度之比。從表2中應當指出,對于相同單元數(shù)量3072,可以實現(xiàn)5個不同的形狀(比值為0.75、1.3、3、5.3和12),辦法是將不同的子安排到不同的一層或多層中而實現(xiàn)。圖6圖解了這5種不同的形狀。從圖6中,我們注意到這些形狀從大體上的正方形到矩形變化,并進一步變得細長。應當指出,盡管大多數(shù)形狀都是沿左右方向,然而如果布局旋轉(zhuǎn)9()。,則它們可以變更為上下方向。也就是說,通過選擇各層中的LC和HLB的數(shù)量并且通過些LC和HLB在不同方向上的仔細布局,所得到的集成電路形狀可以從正方形向矩形改變。換言之,層級的一層或多層可以被選擇成在其中放置不同的子數(shù)量,以便滿足電路的布局需求。這為一個芯片中的集成電路布局提供了更大的靈活性。另外,因為大量應用只采用了很小數(shù)量的邏輯單元,較低層中的子數(shù)量優(yōu)選地大于較高層,因此實施這些應用的邏輯單元可以被安置在較低層的一個或幾個塊中。在這種情況下,可以在邏輯單元的鄰域安放更多的布線以用于連接,而在有關的較高層則安放更少的布線,從而產(chǎn)生較短的連接,并因此降低了延遲,加快了速度。圖7圖解了HSBi內(nèi)用于連接到4個子HSB的布線情況。圖8圖解了HSBt內(nèi)用于連接到6個子HSB的布線路由。通過對比圖7和圖8,會發(fā)現(xiàn)有4個子的HSBi具有到較高層HSB2的14個輸入/輸出布線,有6個子的HSBt有到較高層HSB2的21個輸入/輸出布線。也就是說,具有不同子數(shù)量的HSB有不同的輸入和輸出布線寬度,并也有不同的多路選擇器的數(shù)量,這將導致不同的芯片大小并嚴重地影響時序。不同的子數(shù)量可以導致布線寬度以及路由邏輯單元所需布線數(shù)量的變化,并因此產(chǎn)生具有不同大小和時序的電路。當前,集成電路的尺寸趨向于擴展,越來越多的布線不得不用在層級的較高層中以進行互連,這嚴重地影響了時序。在層級的較低層中有更多的子將緩解這一壓力。應當指出,上述的開關盒可以通過傳輸晶體管、傳輸門、多路選擇器或可以執(zhí)行邏輯選擇和連接功能的其他元件來實施。多路選擇器(MUX)是優(yōu)選的,因為它們與其他開關盒相比需要更少的空間來存儲配置比特。本發(fā)明還可適用于所謂的片上系統(tǒng)(SOC),其中,取決于正在運行的程序的需要,可以改變集成電路的處理器、存儲器和外圍元件之間的連接。盡管已經(jīng)結(jié)合本發(fā)明的優(yōu)選實施例進行了描述,然而對于本領域的技術人員來說,在不背離本發(fā)明的前提F,顯然可以對其做出各種變化和更改,并且因此要求在所附的權利要求中涵蓋了屬于本發(fā)明的真實精神和范疇的所有這類變化和更改,其中,本發(fā)明的真實精神和范疇由所附權利要求來界定。1權利要求一種集成電路,包括元件陣列和用于所述元件陣列的可編程互連網(wǎng)絡,所述可編程互連網(wǎng)絡包括多個開關盒,所述開關盒按基于樹的層級架構連接并且響應配置比特為所述元件提供選擇和連接,位于樹結(jié)構最低層的開關盒被連接到所述元件;至少一層中的開關盒與層級其它層中的開關盒具有不同的子數(shù)量。2.根據(jù)權利要求1所述的集成電路,其中,所述多個開關盒包括多路選擇器、傳輸晶體管或傳輸門。3.根據(jù)權利要求1所述的集成電路,其中,所述多個開關盒中的每一個包括多個第一開關單元(DMS),所述每個第一開關單元的功能是從父開關盒接收信號并且將其傳遞給子開關盒或元件。4.根據(jù)權利要求1所述的集成電路,其中,所述多個開關盒中的每--個包括多個第二開關單元(DMS),所述每個第二開關單元的功能是從子開關盒或元件接收信號并且將其中一個信號選擇為到另一個子開關盒或元件的輸出。5.根據(jù)權利要求1所述的集成電路,其中,所述多個開關盒中的每一個包括第三開關單元(UMS),所述第三開關單元的功能是從子開關盒或元件選擇信號,并且將所選信號發(fā)送到父開關盒。6.根據(jù)權利要求1所述的集成電路,其中,子的數(shù)量是從包括4、6和8的組中選擇。7.根據(jù)權利要求1所述的集成電路,其中,所述集成電路包括FPGA,所述元件是邏輯單元。8.根據(jù)權利要求1所述的集成電路,其中,所述集成電路包括S0C。9.根據(jù)權利要求1所述的集成電路,其中,最低層的開關盒比較高層的開關盒具有更多的子。10.根據(jù)權利要求1所述的集成電路,其中,在需要大致相等的邏輯單元數(shù)量的情況下,形成了層數(shù)較少的架構。11.根據(jù)權利要求l所述的集成電路,其中,可以選擇一層或多層,在其中放置不同數(shù)量的子,以便滿足電路的布局需求。全文摘要本發(fā)明提供了一種集成電路,包括元件陣列和用于所述元件陣列的可編程互連網(wǎng)絡,所述可編程互連網(wǎng)絡包括多個開關盒,所述開關盒按基于樹的層級架構連接并且響應配置比特為所述元件提供選擇和連接,位于樹結(jié)構最低層的開關盒被連接到所述元件;至少一層中的開關盒與層級其它層中的開關盒具有不同的數(shù)量的子。本發(fā)明提供了一種單元數(shù)量多種多樣的層級架構,便于電路實施。本發(fā)明還提供了更大的布局靈活性。文檔編號H03K19/00GK101743692SQ200780053342公開日2010年6月16日申請日期2007年6月20日優(yōu)先權日2007年6月20日發(fā)明者周文,李楓峰申請人:雅格羅技公司