亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

芯片的布局方法

文檔序號:6503148閱讀:281來源:國知局
芯片的布局方法
【專利摘要】本發(fā)明涉及一種芯片的布局方法,該方法包括:獲取邏輯單元時鐘信號的總數(shù)M和種類L;在芯片的全局時鐘信號個數(shù)N小于獲取到的邏輯單元時鐘信號的總數(shù)M時,根據(jù)邏輯單元時鐘信號的種類L,對邏輯單元進(jìn)行歸類;根據(jù)每類邏輯單元的時鐘信號,從L類邏輯單元中選取N類邏輯單元;將所述N個全局時鐘信號分別作為所選取的N類邏輯單元的時鐘信號;將其余的L-N類邏輯單元分別構(gòu)建為宏模塊;將所述宏模塊布局到芯片上時,選擇所在區(qū)域的一個局部時鐘信號作為所述宏模塊的時鐘信號;根據(jù)所述宏模塊,更新預(yù)設(shè)的網(wǎng)表;根據(jù)更新后的網(wǎng)表建立目標(biāo)函數(shù),計算出所述宏模塊在芯片布局中的位置。本發(fā)明有效地保證了時鐘安全問題,提高了芯片的處理性能。
【專利說明】芯片的布局方法

【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及布局算法,尤其涉及一種芯片的布局方法。

【背景技術(shù)】
[0002]目前,在現(xiàn)場可編程邏輯門陣列(Field Programmable Gate Array, FPGA)應(yīng)用中,要求集成電路具有可編程或可配置的互連網(wǎng)絡(luò),邏輯門通過可配置的互連網(wǎng)絡(luò)而彼此連接。作為獨立芯片或系統(tǒng)中核心部分起作用的FPGA已經(jīng)廣泛被應(yīng)用于大量微電子設(shè)備中。廣義的FPGA的邏輯門的定義,不單指簡單的與非門,也指具有可配置功能的組合邏輯與時序邏輯的邏輯單元或由多個邏輯單元互連而組成的邏輯塊。
[0003]隨著FPGA芯片規(guī)模的擴(kuò)大,布局算法愈發(fā)顯得關(guān)鍵和重要,主要面臨兩方面的挑戰(zhàn):如何應(yīng)對大規(guī)模的布局電路和提高芯片性能。在芯片上全局時鐘個數(shù)有限的情況下,如何保證在處理大規(guī)模電路寄存器具有很多時鐘信號時不會出現(xiàn)時鐘安全問題,成為保證芯片質(zhì)量的關(guān)鍵。
[0004]目前工業(yè)界還沒有提出很好的能夠保證解決設(shè)計多時鐘情況下時鐘安全的方法。


【發(fā)明內(nèi)容】

[0005]本發(fā)明的目的是提供一種在芯片上全局時鐘個數(shù)有限的情況下,而大規(guī)模集成電路寄存器具有很多時鐘信號時,解決時鐘安全問題的芯片布局方法。
[0006]為實現(xiàn)上述目的,本發(fā)明提供了一種芯片布局的方法,該方法包括:
[0007]獲取邏輯單元時鐘信號的總數(shù)M和種類L ;
[0008]在芯片的全局時鐘信號個數(shù)N小于所述獲取到的邏輯單元時鐘信號的總數(shù)M時,根據(jù)所述邏輯單元時鐘信號的種類L,對所述邏輯單元進(jìn)行歸類,每類邏輯單元具有相同的時鐘信號;
[0009]根據(jù)每類邏輯單元的時鐘信號,從L類邏輯單元中選取N類邏輯單元;將所述N個全局時鐘信號分別作為所選取的N類邏輯單元的時鐘信號;將其余的L-N類邏輯單元分別構(gòu)建為宏模塊;將所述宏模塊布局到芯片上時,選擇所在區(qū)域的一個局部時鐘信號作為所述宏模塊的時鐘信號;
[0010]根據(jù)所述宏模塊,更新預(yù)設(shè)的網(wǎng)表;
[0011]根據(jù)更新后的網(wǎng)表建立目標(biāo)函數(shù),計算出所述宏模塊在芯片布局中的位置。
[0012]在上述方法中,所述方法還包括:
[0013]在所述芯片的全局時鐘信號個數(shù)N大于或等于所述獲取到的所述邏輯單元時鐘信號的總數(shù)M時,將所有邏輯單元直接構(gòu)成所述芯片布局中的基本單位,采用全局時鐘信號作為基本單位的時鐘信號。
[0014]在上述方法中,所述根據(jù)所每類邏輯單元的時鐘信號,從L類邏輯單元中選取N類邏輯單元包括:
[0015]按照每個種類時鐘信號下的邏輯單元的個數(shù),對每個種類時鐘信號進(jìn)行排序;依據(jù)排序結(jié)果,從L類邏輯單元中選取N類邏輯單元。
[0016]在上述方法中,所述根據(jù)所述構(gòu)建的宏模塊,更新預(yù)設(shè)的網(wǎng)表包括:
[0017]將預(yù)設(shè)的網(wǎng)表中組成宏模塊的邏輯單元替換為宏模塊,將所述基本單位和宏模塊表示為節(jié)點;
[0018]根據(jù)所述節(jié)點之間的連接關(guān)系更新所述網(wǎng)表中每個邏輯單元各端口上的連線信肩、O
[0019]在上述方法中,所述根據(jù)更新后的網(wǎng)表建立目標(biāo)函數(shù),求解出所述宏模塊在芯片布局中的位置之后還包括:
[0020]根據(jù)所述求得的宏模塊在芯片布局中的位置和預(yù)設(shè)的宏模塊的大小,依次確定宏模塊中每個邏輯單元在芯片布局中的位置。
[0021]在上述方法中,所述方法還包括:
[0022]判斷布局到芯片上的邏輯單元和宏模塊之間是否有重疊,在有重疊的情況下,將所述宏模塊或邏輯單元移動到重疊位置周圍空閑的位置。
[0023]本發(fā)明通過將時鐘信號下的邏輯單元個數(shù)較小的邏輯單元構(gòu)建宏模塊,有效地保證了時鐘安全問題,從而提高了芯片性能;此外,因為本發(fā)明宏模塊的構(gòu)建,減少了時鐘信號的占用量,因此可以應(yīng)對大規(guī)模的布局電路。

【專利附圖】

【附圖說明】
[0024]圖1為本發(fā)明實施例的芯片布局方法的流程圖;
[0025]圖2為邏輯單元的基本組成結(jié)構(gòu)圖;
[0026]圖3為一種網(wǎng)表的結(jié)構(gòu)示意圖;
[0027]圖4為另一種網(wǎng)表的結(jié)構(gòu)示意圖。

【具體實施方式】
[0028]下面通過附圖和實施例,對本發(fā)明的技術(shù)方案做進(jìn)一步的詳細(xì)描述。
[0029]圖1為本發(fā)明實施例的芯片布局方法的流程圖。如圖1所示,本發(fā)明芯片的布局方法包括:
[0030]步驟101,將預(yù)設(shè)的用戶電路進(jìn)行綜合以及庫映射,得到基本單元。
[0031]在步驟101中,預(yù)設(shè)的用戶電路是使用硬件描述語言編譯而成的,將使用高層次的硬件描述語言(verilog)編譯而成的用戶電路綜合成為低層次的門級電路;并將門級電路映射到基本單元中,基本單元可以包括三種基本形式:四輸入的查找表和寄存器、單獨四輸入的查找表、單獨的寄存器。查找表(LUT,Look-Up-Table)本質(zhì)上就是一個隨機存儲器(RAM, Random Access Memory)。目前工業(yè)界FPGA中多使用4輸入的LUT,所以每一個LUT可以看成一個有4位地址線的16x1的RAM。當(dāng)用戶通過原理圖或硬件描述語言(HDL,Hardware Descript1n Language)描述了一個邏輯電路以后,開發(fā)軟件PLD/FPGA會自動計算邏輯電路的所有可能的結(jié)果,并把結(jié)果提前寫入RAM,這樣,每輸入一個信號進(jìn)行邏輯運算就等于輸入一個地址進(jìn)行查表,找出地址對應(yīng)的內(nèi)容,然后輸出即可。
[0032]步驟102,將所述基本單元打包成邏輯單元。
[0033]打包處理的基本單位是查找表和寄存器,打包的目標(biāo)主要是為了解決三個問題:第一,處理布局時的一些查找表級別的約束,例如:某兩個查找表必須要放置在相鄰的位置,某些特殊關(guān)系的查找表和寄存器不能放在一起,一般而言,約束越早處理,處理的難度相對越小;第二,打包時將一些小的邏輯單元組合成一個大的邏輯單元,減少了邏輯單元的數(shù)量級,這樣可以大大減少后面全局布局時的求解規(guī)模,減少了布局時間;第三,可以提高芯片的面積使用效率,芯片上的可編輯可編程邏輯模塊(PLB, Programmable Logic Block)和打包成的邏輯單元是相對應(yīng)的,在打包時可以方便的控制每個邏輯單元的使用率,從而提高芯片面積的使用率。打包的過程主要分為兩步:第一步,將查找表,寄存器,或者查找表和寄存器的組合組成基本單元;第二步,將基本單元組合成邏輯單元。
[0034]圖2為邏輯單元的基本組成結(jié)構(gòu)圖,如圖2所示,一個邏輯單元(LE, LogicElement)由4個基本的可編程邏輯元件(LP, Logic Parcel)、快速跳躍進(jìn)位鏈輸入(Carryskip in)、快速跳躍進(jìn)位鏈輸出(Carry skip out)及局部緩沖LBUF組成。每個LP中包括兩個LUT4、I個LUT4C (帶進(jìn)位鏈的LUT4)和兩個寄存器。I個LE中共計有12個LUT4和8個寄存器,LUT4和寄存器的比例為3:2,快速跳躍進(jìn)位鏈輸入和快速跳躍進(jìn)位鏈輸出用于實現(xiàn)快速跳躍進(jìn)位鏈功能,LBUF用于產(chǎn)生邏輯單元中寄存器的控制信號時鐘。
[0035]回到圖1。步驟103,獲取所述邏輯單元時鐘信號的總數(shù)M和種類L。
[0036]在步驟103中,首先將各邏輯單元、每個邏輯單元的所有端口和以及每個邏輯單元的各個端口上的連線信息記錄到預(yù)設(shè)的網(wǎng)表中,然后根據(jù)預(yù)設(shè)的網(wǎng)表,統(tǒng)計所有邏輯單元的個數(shù),并通過分析各邏輯單元的時鐘(clock)端口上連線的種類確定該邏輯單元對應(yīng)的時鐘信號的種類。
[0037]步驟104,在芯片的全局時鐘信號個數(shù)N小于所述獲取到的邏輯單元時鐘信號的總數(shù)M時,根據(jù)所述邏輯單元時鐘信號的種類L,對所述邏輯單元進(jìn)行歸類,每類邏輯單元具有相同的時鐘信號。
[0038]在步驟104中,芯片的全局時鐘信號個數(shù)是通過硬件固定的,是個確定值。具體地,用N表示芯片的全局時鐘信號個數(shù),用M表示獲取到的邏輯單元時鐘信號的個數(shù)。在芯片的全局時鐘信號個數(shù)N小于所述獲取到的邏輯單元時鐘信號的總數(shù)M時,根據(jù)所述邏輯單元時鐘信號的種類L,對所述邏輯單元進(jìn)行歸類,每類邏輯單元具有相同的時鐘信號。按照每個種類時鐘信號下的邏輯單元的個數(shù),對每個種類時鐘信號按照從大到小的順序進(jìn)行排序,將排序后的邏輯單元時鐘信號表示為CLK1, CLK2,…,CLKm,用CLKi表示第i個種類時鐘信號;依據(jù)排序結(jié)果,從L類邏輯單元中選取N類邏輯單元。將N個全局時鐘信號分別作為所選取的N類邏輯單元的時鐘信號。
[0039]如果芯片的全局時鐘信號個數(shù)N大于或等于獲取到的邏輯單元時鐘信號的總數(shù)M時,將所有邏輯單元直接構(gòu)成所述芯片布局中的基本單位,采用全局時鐘信號作為基本單位的時鐘信號。
[0040]步驟105,將其余的L-N類邏輯單元分別構(gòu)建為宏模塊,將所述宏模塊布局到芯片上時,選擇所在區(qū)域的一個局部時鐘信號作為所述宏模塊的時鐘信號。
[0041]具體地,依據(jù)步驟104的排序結(jié)果,對剩下的L-N類時鐘信號下的邏輯單元分別構(gòu)建L-N個宏模塊,將所述宏模塊布局到芯片上時,選擇所在區(qū)域的一個局部時鐘信號作為所述宏模塊的時鐘信號。舉例為,芯片上有16*32個數(shù)的PLB,整個PLB陣列可以劃分為很多小區(qū)域,其中每2*8區(qū)域可以認(rèn)為是一個小區(qū)域。每一個PLB小區(qū)域可以任意的選擇4條信號線作為clock信號線,當(dāng)宏模塊布局到該PLB小區(qū)域時,可以選擇其中I條信號線作為該宏模塊的時鐘信號。
[0042]步驟106,根據(jù)所述構(gòu)建的宏模塊,更新預(yù)設(shè)的網(wǎng)表。
[0043]預(yù)設(shè)的網(wǎng)表中包括用戶設(shè)計的各邏輯單元、每個邏輯單元的所有端口和以及每個邏輯單元的各個端口上的連線信息,而在步驟105中對部分邏輯單元進(jìn)行了宏模塊的構(gòu)建,因此需要根據(jù)構(gòu)建的宏模塊,更新預(yù)設(shè)的網(wǎng)表;即將預(yù)設(shè)的網(wǎng)表中組成宏模塊的邏輯單元替換為宏模塊,將所述基本單位和宏模塊表示為節(jié)點;根據(jù)所述節(jié)點之間的連接關(guān)系更新所述網(wǎng)表中每個邏輯單元各端口上的連線信息。
[0044]步驟107,根據(jù)更新后的網(wǎng)表建立目標(biāo)函數(shù),求解出所述宏模塊在芯片布局中的位置。圖3為一種網(wǎng)表的結(jié)構(gòu)示意圖,圖中網(wǎng)表中節(jié)點A分別與節(jié)點B、C和D連接。在將節(jié)點A、B、C和D布局到芯片上時,要求節(jié)點A和節(jié)點C之間的連線長度、節(jié)點A和節(jié)點B之間的連線長度、節(jié)點A和節(jié)點D之間的連線長度分別最小。以要求節(jié)點A和節(jié)點C之間的連線長度最小為例。圖3中,把節(jié)點A和節(jié)點C之間的連線長度等效看成節(jié)點A和節(jié)點C兩點組成的矩形框的半周長(HPWL),所以可以將連線長度的優(yōu)化轉(zhuǎn)化為節(jié)點A和節(jié)點C之間HPffL的優(yōu)化。HPWL的增長趨勢又和矩形邊長的平方成正比,因此,又可以將HPWL的優(yōu)化轉(zhuǎn)化為矩形邊長平方的優(yōu)化。同理,節(jié)點A與節(jié)點B,節(jié)點A與節(jié)點D之間的連線長度也可按上述方式進(jìn)行優(yōu)化。最后,列出需要優(yōu)化的最終的目標(biāo)函數(shù),如下公式所示:
[0045]
ψ{χ,>0二 W1IXxj - X1.) + (V,—yB)2] + W2[(? - \ )2 + (yA-yc)2] + W3[(X4 -Xd)2 + (yA — Vd)2](I)
其中,表示需要優(yōu)化的目標(biāo)函數(shù),W1, W2和W3表示網(wǎng)表中的第一、二和三條連接線對應(yīng)的權(quán)值,(χΑ, yA)表示第一、二和三條連接線的起始節(jié)點的坐標(biāo),(xB, yB)、(xc,yc)和(xD,yD)表示第一、二和三條連接線的終止節(jié)點的坐標(biāo)。
[0046]在目標(biāo)函數(shù)確定后,將對其中各節(jié)點坐標(biāo)值進(jìn)行求解。圖4為另一種網(wǎng)表的結(jié)構(gòu)示意圖,該網(wǎng)表中包括節(jié)點A、B、C、D、E和F六個節(jié)點,連接關(guān)系如圖所示;其中,C、D、E和F為網(wǎng)表中的固定節(jié)點,即為輸入輸出設(shè)備1等,固定節(jié)點在芯片中的位置一般是固定的;A和B分別為需要布置到芯片中的邏輯單元或者宏模塊;W為各條邊上的權(quán)值,A-D和B-F之間的權(quán)值為2,其余為I。通常在布局時,X方向和Y方向分開考慮。首先考慮X方向。假設(shè)C和D的X坐標(biāo)都為100,E和F的X坐標(biāo)都為400,則根據(jù)公式I可列出如下目標(biāo)函數(shù):
[0047]
φ{(diào)X) — {-XI ~ 100) + 2(.V I — 100) + (x,j —.,V j) + {Χβ ~ 400) + 2(.-- — 400)^2.)
[0048]對目標(biāo)函數(shù)分別對Xa和Xb求偏導(dǎo)數(shù),求得公式(3)和(4),如下所示:
[0049]
^- = 2(x1-xB) + 6(x1-l00)3 )
Sr4 -'
[0050]
—=2{xb -xa) + 6(xb — 400)( 4
[0051]構(gòu)建矩陣方程為:

【權(quán)利要求】
1.一種芯片的布局方法,其特征在于,該方法包括: 獲取邏輯單元時鐘信號的總數(shù)M和種類L ; 在芯片的全局時鐘信號個數(shù)N小于所述獲取到的邏輯單元時鐘信號的總數(shù)M時,根據(jù)所述邏輯單元時鐘信號的種類L,對所述邏輯單元進(jìn)行歸類,每類邏輯單元具有相同的時鐘信號; 根據(jù)每類邏輯單元的時鐘信號,從L類邏輯單元中選取N類邏輯單元;將所述N個全局時鐘信號分別作為所選取的N類邏輯單元的時鐘信號;將其余的L-N類邏輯單元分別構(gòu)建為宏模塊,將所述宏模塊布局到芯片上時,選擇所在區(qū)域的一個局部時鐘信號作為所述宏模塊的時鐘信號; 根據(jù)所述宏模塊,更新預(yù)設(shè)的網(wǎng)表; 根據(jù)更新后的網(wǎng)表建立目標(biāo)函數(shù),計算出所述宏模塊在芯片布局中的位置。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述方法還包括: 在所述芯片的全局時鐘信號個數(shù)N大于或等于所述獲取到的所述邏輯單元時鐘信號的總數(shù)M時,將所有邏輯單元直接構(gòu)成所述芯片布局中的基本單位,采用全局時鐘信號作為基本單位的時鐘信號。
3.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述根據(jù)所每類邏輯單元的時鐘信號,從L類邏輯單元中選取N類邏輯單元包括: 按照每個種類時鐘信號下的邏輯單元的個數(shù),對每個種類時鐘信號進(jìn)行排序;依據(jù)排序結(jié)果,從L類邏輯單元中選取N類邏輯單元。
4.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述根據(jù)所述構(gòu)建的宏模塊,更新預(yù)設(shè)的網(wǎng)表包括: 將預(yù)設(shè)的網(wǎng)表中組成宏模塊的邏輯單元替換為宏模塊,將所述基本單位和宏模塊表示為節(jié)點; 根據(jù)所述節(jié)點之間的連接關(guān)系更新所述網(wǎng)表中每個邏輯單元各端口上的連線信息。
5.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述根據(jù)更新后的網(wǎng)表建立目標(biāo)函數(shù),求解出所述宏模塊在芯片布局中的位置之后還包括: 根據(jù)所述求得的宏模塊在芯片布局中的位置和預(yù)設(shè)的宏模塊的大小,依次確定宏模塊中每個邏輯單元在芯片布局中的位置。
6.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述方法還包括: 判斷布局到芯片上的邏輯單元和宏模塊之間是否有重疊,在有重疊的情況下,將所述宏模塊或邏輯單元移動到重疊位置周圍空閑的位置。
【文檔編號】G06F17/50GK104182556SQ201310192832
【公開日】2014年12月3日 申請日期:2013年5月22日 優(yōu)先權(quán)日:2013年5月22日
【發(fā)明者】虞健, 咼超, 蔣中華, 劉桂林, 劉明 申請人:京微雅格(北京)科技有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1