專利名稱:一種對高扇出的可編程門列陣進(jìn)行布局布線的方法
技術(shù)領(lǐng)域:
本發(fā)明涉及集成電路及電子設(shè)計(jì)自動化技術(shù)領(lǐng)域,特別涉及一種對高扇出的可編程門列陣(FPGA)進(jìn)行布局布線的方法。
背景技術(shù):
FPGA是目前市場上廣泛使用的可編程器件,具有開發(fā)周期短和成本低等優(yōu)點(diǎn)。FPGA可以實(shí)現(xiàn)各種各樣的應(yīng)用,在FPGA設(shè)計(jì)的CAD軟件流程中,布局布線是至關(guān)重要的一步。布局方法確定了實(shí)現(xiàn)電路功能需要的各邏輯單元塊在FPGA中的位置,它的優(yōu)化目標(biāo)是把相連的邏輯單元塊靠近放置以最大限度地減少所需要的布線資源,但有時也要平衡FPGA中所需要的布線密度或者最大限度提高電路速度。一旦確定了電路中所有邏輯單元塊的位置,布線器就可打通合適的可編程開關(guān)以連接電路需要的所有邏輯單元塊的輸入和輸出引腳。絕大多數(shù)FPGA的布線器有一套避免擁擠的策略以解決布線資源競爭問題。 在FPGA的應(yīng)用中,高扇出是指在打包之后的網(wǎng)表信息中,一個源端連接多個漏端的情況(通常超過10個,如圖2所示),高扇出一般會對布局布線造成很大的困擾,因?yàn)樗加么罅康牟季€資源,而且在關(guān)鍵路徑中也基本上都包含著具有高扇出的源端。在普通的布局布線過程中并沒有針對高扇出做特別處理,這會導(dǎo)致大量的布線資源浪費(fèi),而且會增大電路的延時,甚至?xí)?dǎo)致電路無法布線成功。絕大多數(shù)的電路都會有高扇出的存在,因此有必要針對高扇出的FPGA的布局布線方法進(jìn)行改進(jìn)。
發(fā)明內(nèi)容
(一 )要解決的技術(shù)問題有鑒于此,本發(fā)明的主要目的在于提供一種對高扇出的可編程門列陣進(jìn)行布局布線的方法,以實(shí)現(xiàn)對高扇出的可編程門列陣的布局布線進(jìn)行改進(jìn)。( 二 )技術(shù)方案為達(dá)到上述目的,本發(fā)明提供了一種對高扇出的可編程門列陣進(jìn)行布局布線的方法,該方法包括讀取可編程門列陣FPGA芯片結(jié)構(gòu)信息和打包之后生成的網(wǎng)表信息;根據(jù)讀取的可編程門列陣FPGA芯片結(jié)構(gòu)信息和網(wǎng)表信息對FPGA進(jìn)行布局; 根據(jù)對FPGA的布局結(jié)果對FPGA進(jìn)行布線;以及生成布局布線結(jié)果,完成對FPGA的布局布線。上述方案中,所述根據(jù)讀取的可編程門列陣FPGA芯片結(jié)構(gòu)信息和網(wǎng)表信息對FPGA進(jìn)行布局的過程中,如果某移動的邏輯模塊的漏端對應(yīng)某高扇出的源端,則該布局包括判斷在移動前此漏端對應(yīng)的邏輯模塊與源端對應(yīng)的邏輯模塊是否處于對齊方向;如果移動前此二者處于對齊方向,則降低此邏輯模塊移動的幾率;
判斷在移動后此漏端對應(yīng)的邏輯模塊與源端對應(yīng)的邏輯模塊是否處于對齊方向;如果移動后此二者處于對齊方向,則提高此邏輯模塊加移動的幾率。上述方案中,所述根據(jù)對FPGA的布局結(jié)果對FPGA進(jìn)行布線的過程中,針對高扇出的源端所對應(yīng)的漏端,該布線包括判斷此漏端是否處于和源端對齊位置;判斷此漏端是否處于關(guān)鍵路徑;判斷在源端的對齊方向上是否有其他對應(yīng)漏端;以及如果有多于一個的漏端處于對齊方向,則增加用長線連接源端與漏端的機(jī)會。上述方案中,所述讀取FPGA芯片結(jié)構(gòu)信息和打包之后生成的網(wǎng)表信息的步驟中, 所述FPGA芯片結(jié)構(gòu)信息包括芯片中各種類型的邏輯單元塊的位置、邏輯單元塊的引腳名稱、引腳位置、邏輯單元塊輸入引腳到輸出引腳的延時、布線通道的寬度、互連線段的分布和延時及布線開關(guān)的位置、類型、延時;所述打包之后生成的網(wǎng)表信息包括打包之后生成的邏輯單元塊的名稱和類型、使用到的邏輯單元塊的引腳、以及所有線網(wǎng)的源端和漏端。上述方案中,所述根據(jù)讀取的可編程門列陣FPGA芯片結(jié)構(gòu)信息和網(wǎng)表信息對FPGA進(jìn)行布局,采用模擬退火算法進(jìn)行,該模擬退火算法是模仿逐漸冷卻熔化金屬以制造金屬材料的退火過程,具有一成本函數(shù)Cost (S),該成本函數(shù)Cost (S)如下Cost(S) = (I-timing_tradeoff-Afac)*bb_cost+timing_tradeoff*timing_cost+Afac*alignment ;其中,timing_tradeoff為時序因子,用來調(diào)節(jié)延時對于布局的影響;bb_cost是線網(wǎng)邊界框的值;timing_cost是時序值,Afac為加入的對齊因子,alignment為對齊值,且alignment初始值為O。所述對齊因子Afac是一個動態(tài)因子,其值與電路的高扇出數(shù)目的平方成反比關(guān)系,與電路的線網(wǎng)數(shù)目成正比關(guān)系。上述方案中,所述根據(jù)對FPGA的布局結(jié)果對FPGA進(jìn)行布線的步驟中,所述布線采用路徑搜索算法,該路徑搜索算法是迷宮式布線器的派生方法,在布線初期假定每條線網(wǎng)都是關(guān)鍵的,不記布線資源的重用問題,反復(fù)的拆線重布電路中的各條線網(wǎng),直到所有的擁擠度問題都得到解決。所述路徑搜索算法采用波前擴(kuò)展方法。上述方案中,所述根據(jù)對FPGA的布局結(jié)果對FPGA進(jìn)行布線的步驟中,所述對FPGA進(jìn)行布局結(jié)束后,該方法還創(chuàng)建二維數(shù)組AlignmentInfo,該二維數(shù)組AlignmentInfo的第一維是線網(wǎng)值,該二維數(shù)組AlignmentInfo的第二維是當(dāng)前線網(wǎng)源端或者漏端的值,二維數(shù)組AlignmentInfo存儲的信息是當(dāng)前漏端是否與源端對齊,水平或者是垂直方向?qū)R,距離源端的距離是多少。上述方案中,所述對FPGA進(jìn)行布線的過程中,如果某線網(wǎng)N的源端是高扇出,則在源端與漏端布線時,先判斷此源端到漏端是否處于關(guān)鍵路徑,如果是,則按常規(guī)布線;如果否,則讀取二維數(shù)組AlignmentInfo ;判斷此漏端是否與源端對齊,如果是,則再讀取此漏端對齊方向上是否有其他的漏端存在;如果有其他漏端存在,則分別估算連接該漏端的各種連接方式的成本,并對該各種連接方式的成本進(jìn)行比較,選用成本較低的連接方式。(三)有益效果從上述技術(shù)方案可以看出,本發(fā)明具有以下有益效果I、本發(fā)明提供的對高扇出的可編程門列陣進(jìn)行布局布線的方法,在布局過程中針對高扇出的漏端所在邏輯模塊,提高此邏輯模塊移動至高扇出源端所在邏輯模塊的對齊位置的幾率,實(shí)現(xiàn)了對高扇出的可編程門列陣的布局布線進(jìn)行改進(jìn)。 2、本發(fā)明提供的對高扇出的可編程門列陣進(jìn)行布局布線的方法,在布線過程中針對高扇出的漏端布線,根據(jù)漏端的實(shí)際情況提高使用長線連接的幾率,實(shí)現(xiàn)了對高扇出的可編程門列陣的布局布線進(jìn)行改進(jìn)。3、本發(fā)明提供的對高扇出的可編程門列陣進(jìn)行布局布線的方法,應(yīng)用于FPGA的布局布線方法,有效地降低了電路延時和減少布線資源的使用。
圖I是依照本發(fā)明實(shí)施例的FPGA布局布線的方法流程圖;圖2是依照本發(fā)明實(shí)施例的FPGA布局中一個簡單的高扇出的示意圖; 圖3是依照本發(fā)明實(shí)施例的FPGA布局中邏輯模塊對齊的示意圖;圖4是依照本發(fā)明實(shí)施例的FPGA布局時交換邏輯模塊的示意圖;圖5是依照本發(fā)明實(shí)施例的FPGA布線方法改進(jìn)前的布線規(guī)則的示意圖;圖6是依照本發(fā)明實(shí)施例的FPGA布線方法改進(jìn)后的布線規(guī)則的示意圖;圖7是依照本發(fā)明實(shí)施例的二維數(shù)組AlignmentInfo存儲內(nèi)容的示意圖。圖8是依照本發(fā)明實(shí)施例的布局布線方法改進(jìn)前后結(jié)果對比示意圖。
具體實(shí)施例方式為使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚明白,以下結(jié)合具體實(shí)施例,并參照附圖,對本發(fā)明進(jìn)一步詳細(xì)說明。本發(fā)明提供的對高扇出的可編程門列陣進(jìn)行布局布線的方法,是在布局過程中如果被移動的邏輯模塊包含某一個高扇出的漏,則有較高幾率將此模塊放置于和此漏對應(yīng)的源所在模塊的對齊方向;在布線過程中如果布線的源端是高扇出,則會檢查在此源端對齊方向的漏端數(shù)目,以便使用長線布線。該方法能夠有效的降低電路的延時,提高布線資源的利用率。如圖I所示,圖I是依照本發(fā)明實(shí)施例的FPGA布局布線的方法流程圖,該方法包括讀取可編程門列陣FPGA芯片結(jié)構(gòu)信息和打包之后生成的網(wǎng)表信息;根據(jù)讀取的可編程門列陣FPGA芯片結(jié)構(gòu)信息和網(wǎng)表信息對FPGA進(jìn)行布局;根據(jù)對FPGA的布局結(jié)果對FPGA進(jìn)行布線;以及生成布局布線結(jié)果,完成對FPGA的布局布線。其中,所述根據(jù)讀取的可編程門列陣FPGA芯片結(jié)構(gòu)信息和網(wǎng)表信息對FPGA進(jìn)行布局的過程中,如果某移動的邏輯模塊的漏端對應(yīng)某高扇出的源端,則該布局包括判斷在移動前此漏端對應(yīng)的邏輯模塊與源端對應(yīng)的邏輯模塊是否處于對齊方向;如果移動前此二者處于對齊方向,則降低此邏輯模塊移動的幾率;判斷在移動后此漏端對應(yīng)的邏輯模塊與源端對應(yīng)的邏輯模塊是否處于對齊方向;如果移動后此二者處于對齊方向,則提高此邏輯模塊加移動的幾率。所述根據(jù)對FPGA的布局結(jié)果對FPGA進(jìn)行布線的過程中,針對高扇出的源端所對應(yīng)的漏端,該布線包括判斷此漏端是否處于和源端對齊位置;判斷此漏端是否處于關(guān)鍵路徑;判斷在源端的對齊方向上是否有其他對應(yīng)漏端;以及如果有多于一個的漏端處于對齊方向,則增加用長線連接源端與漏端的機(jī)會。下面結(jié)合圖I至圖8對本發(fā)明進(jìn)一步詳細(xì)描述。再次參照圖1,圖I是依照本發(fā)明實(shí)施例的FPGA布局布線的方法流程圖,該方法包括以下步驟步驟SI、讀取FPGA芯片結(jié)構(gòu)信息和打包之后生成的網(wǎng)表信息。FPGA芯片結(jié)構(gòu)信息通常包括芯片中各種類型的邏輯單元塊的位置、邏輯單元塊的引腳名稱、引腳位置、邏輯單元塊輸入引腳到輸出引腳的延時、布線通道的寬度、互連線段的分布和延時及布線開關(guān)的位置、類型、延時等。打包之后生成的網(wǎng)表信息包括打包之后生成的邏輯單元塊的名稱和類型、使用到的邏輯單元塊的引腳、以及所有線網(wǎng)的源端和漏端。步驟S2、對FPGA進(jìn)行進(jìn)行布局。在布局過程中采用的是模擬退火算法(simulatedannealing) SA。模擬退火算法是模仿逐漸冷卻熔化金屬以制造金屬材料的退火過程。模擬·退火算法的偽代碼如下
S= RandomPlacementO;
T = InitialTemperatureO;
Rliniit = InitialRlimitO; while (ExitCriterion()=== False) {//外循環(huán) while(InnerLoopCriterion() =iFalse) {//內(nèi)循環(huán) Snew = GenerateViaMove(S,Rlimit);
Δ€ = Cost(Sfiew)-Cost(S); r = random(0,l);
if(r< e_){
S= S ·
}
}//內(nèi)循環(huán)結(jié)束
T = UpdateTemperature();
Rlimit = UpdateRlimitO;
}//外循環(huán)結(jié)束_其中成本函數(shù)Cost (S)對模擬退火的質(zhì)量影響極大,Cost(S)的公式如下Cost (S) = (l-timing_tradeoff)*bb_cost+timing_tradeoff*timing_cost ;上式中timing_tradeoff為時序因子,用來調(diào)節(jié)延時對于布局的影響;bb_cost是線網(wǎng)邊界框的值;timing_cost是時序值。在此成本函數(shù)中,具有高扇出的端點(diǎn)和普通的端點(diǎn)采用相同的處理手段,這會導(dǎo)致在布線階段,高扇出將占用大量的布線資源。因此,在布局階段就考慮到高扇出端點(diǎn)的特性,引入了邏輯模塊對齊概念。如圖3所示,圖3是依照本發(fā)明實(shí)施例的FPGA布局中邏輯模塊對齊的示意圖。與邏輯模塊A處于同一水平或垂直方向的模塊稱為模塊A的對齊模塊,如邏輯模塊I, 2, 3,4。模塊對齊的有兩個優(yōu)點(diǎn)(I)、在布線時,可以減少布線的轉(zhuǎn)彎,降低延時。(2)、在布線時,可以利用長線來進(jìn)行布線,而減少布線資源的使用。因此,需要在布局時候加入一個對齊因子。成本函數(shù)的公式修改如下Cost (S) = (I-timing_tradeoff-Afac)*bb_cost+timing_tradeoff*timing_cost+Afac氺alignment ;其中,Afac (Alignment factor)為加入的對齊因子,alignment為對齊值(alignment 初始值為 O)。 如圖4所示,圖4是依照本發(fā)明實(shí)施例的FPGA布局時交換邏輯模塊的示意圖。邏輯模塊O的源端A為一個高扇出的端點(diǎn),邏輯模塊I的漏端B和邏輯模塊3的漏端C為源端A對應(yīng)的兩個漏端。在布局過程中如果模塊I與模塊2進(jìn)行互換,則模塊I由非對齊模塊成為了對齊模塊,alignment值減1,這樣就可以降低cost的值,使得這次互換的幾率增力口。相反,如果模塊3與模塊4互換,則模塊3由對齊模塊變成了非對齊模塊,alignment的值加1,這樣就增加了 cost的值,使得這次互換的幾率降低。Afac是一個動態(tài)因子,經(jīng)過運(yùn)行大量的例子表明,最佳的Afac的值與電路的高扇出數(shù)目的平方成反比關(guān)系,與電路的線網(wǎng)數(shù)目成正比關(guān)系。步驟S3、對FPGA進(jìn)行布線。在布線過程中采用路徑搜索算法(PathFinder)。路徑搜索算法是迷宮式布線器的派生方法。它的本質(zhì)上式運(yùn)行Dijkstra算法。路徑搜索算法在布線初期假定每條線網(wǎng)都是關(guān)鍵的,不記布線資源的重用問題,反復(fù)的拆線重布電路中的各條線網(wǎng),直到所有的擁擠度問題都得到解決。路徑搜索算法為了加快布線速度,采用了波前擴(kuò)展方法,如圖5所示,圖5是依照本發(fā)明實(shí)施例的FPGA布線方法改進(jìn)前的布線規(guī)則的示意圖。模塊I的漏端B和模塊2的漏端C為模塊O的源端A所對應(yīng)的兩個漏端。在布線前,漏端B和漏端C與源端A無連接。當(dāng)布線開始進(jìn)行時,漏端B先通過布線資源線網(wǎng)I連接到源端A。在進(jìn)行與漏端C布線的過程中,路徑搜索算法并不是重新從源端A開始搜索,而是在源端A連接的所有布線資源中尋找距離漏端C最近的布線資源,于是從線網(wǎng)I開始布線通過線網(wǎng)2連接到漏端C。但是波前擴(kuò)展方法有一個弊端就是不能找到全局最優(yōu)連線。如圖6所示,圖6是依照本發(fā)明實(shí)施例的FPGA布線方法改進(jìn)后的布線規(guī)則的示意圖。如果源端A在連接漏端B的時候采用線網(wǎng)3的話,可以同時連接到漏端C。采用線網(wǎng)3的連接方式比起采用線網(wǎng)I和線網(wǎng)2的連接方式更有效率。因此,對布線過程做以下改進(jìn)(I)、在布局結(jié)束后,創(chuàng)建二維數(shù)組Alighmentlnfo,如圖7所示,圖7是依照本發(fā)明實(shí)施例的二維數(shù)組AlignmentInfo存儲內(nèi)容的示意圖。第一維是線網(wǎng)值,第二維是當(dāng)前線網(wǎng)源端或者漏端的值,二維數(shù)組存儲的信息是當(dāng)前漏端是否與源端對齊,水平或者是垂直方向?qū)R,距離源端的距離是多少。(2)、在布線過程,如果某線網(wǎng)N的源端是高扇出,則在源端與漏端布線時候,先判斷此源端到漏端是否處于關(guān)鍵路徑,如果是,則按常規(guī)布線;如果否,讀取AlignmentInfo數(shù)組;判斷此漏端是否與源端對齊,如果是,再讀取此漏端對齊方向上是否有其他的漏端存在。如果有其他漏端存在,再參照圖6,分別估算使用netl+net2的成本和使用net3的成本,并做比較,如果使用net3的成本較低,則選用net3連接。經(jīng)過此兩步驟,能夠有效的利用長線來連接高扇出對應(yīng)的對齊方向上的漏端,SP能夠節(jié)省布線資源,又能降低延時。步驟S4、生成布局布線結(jié)果。本發(fā)明實(shí)施例提供的針對高扇出的FPGA布局布線改進(jìn)方法具有以下有益效果⑴、降低了電路延時;⑵、提高了布線資源利用率。如圖8所示,圖8是依照本發(fā)明實(shí)施例的布局布線方法改進(jìn)前后結(jié)果對比示意圖。
對比方法改進(jìn)前的布線結(jié)果,延時降低了 6. 97%,布線資源節(jié)省了 I. 01%,運(yùn)行時間基本不變。以上所述的具體實(shí)施例,對本發(fā)明的目的、技術(shù)方案和有益效果進(jìn)行了進(jìn)一步詳細(xì)說明,所應(yīng)理解的是,以上所述僅為本發(fā)明的具體實(shí)施例而已,并不用于限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所做的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
權(quán)利要求
1.一種對高扇出的可編程門列陣進(jìn)行布局布線的方法,其特征在于,該方法包括 讀取可編程門列陣FPGA芯片結(jié)構(gòu)信息和打包之后生成的網(wǎng)表信息; 根據(jù)讀取的可編程門列陣FPGA芯片結(jié)構(gòu)信息和網(wǎng)表信息對FPGA進(jìn)行布局; 根據(jù)對FPGA的布局結(jié)果對FPGA進(jìn)行布線;以及 生成布局布線結(jié)果,完成對FPGA的布局布線。
2.根據(jù)權(quán)利要求I所述的對高扇出的可編程門列陣進(jìn)行布局布線的方法,其特征在于,所述根據(jù)讀取的可編程門列陣FPGA芯片結(jié)構(gòu)信息和網(wǎng)表信息對FPGA進(jìn)行布局的過程中,如果某移動的邏輯模塊的漏端對應(yīng)某高扇出的源端,則該布局包括 判斷在移動前此漏端對應(yīng)的邏輯模塊與源端對應(yīng)的邏輯模塊是否處于對齊方向;如果移動前此二者處于對齊方向,則降低此邏輯模塊移動的幾率; 判斷在移動后此漏端對應(yīng)的邏輯模塊與源端對應(yīng)的邏輯模塊是否處于對齊方向;如果移動后此二者處于對齊方向,則提高此邏輯模塊加移動的幾率。
3.根據(jù)權(quán)利要求I所述的對高扇出的可編程門列陣進(jìn)行布局布線的方法,其特征在于,所述根據(jù)對FPGA的布局結(jié)果對FPGA進(jìn)行布線的過程中,針對高扇出的源端所對應(yīng)的漏端,該布線包括 判斷此漏端是否處于和源端對齊位置; 判斷此漏端是否處于關(guān)鍵路徑; 判斷在源端的對齊方向上是否有其他對應(yīng)漏端;以及 如果有多于一個的漏端處于對齊方向,則增加用長線連接源端與漏端的機(jī)會。
4.根據(jù)權(quán)利要求I所述的對高扇出的可編程門列陣進(jìn)行布局布線的方法,其特征在于,所述讀取FPGA芯片結(jié)構(gòu)信息和打包之后生成的網(wǎng)表信息的步驟中,所述FPGA芯片結(jié)構(gòu)信息包括芯片中各種類型的邏輯單元塊的位置、邏輯單元塊的引腳名稱、引腳位置、邏輯單元塊輸入引腳到輸出引腳的延時、布線通道的寬度、互連線段的分布和延時及布線開關(guān)的位置、類型、延時;所述打包之后生成的網(wǎng)表信息包括打包之后生成的邏輯單元塊的名稱和類型、使用到的邏輯單元塊的引腳、以及所有線網(wǎng)的源端和漏端。
5.根據(jù)權(quán)利要求I所述的對高扇出的可編程門列陣進(jìn)行布局布線的方法,其特征在于,所述根據(jù)讀取的可編程門列陣FPGA芯片結(jié)構(gòu)信息和網(wǎng)表信息對FPGA進(jìn)行布局,采用模擬退火算法進(jìn)行,該模擬退火算法是模仿逐漸冷卻熔化金屬以制造金屬材料的退火過程,具有一成本函數(shù)Cost (S),該成本函數(shù)Cost (S)如下 Cost (S) = (1-timing_tradeoff-Afac)*bb_cost+timing_tradeoff*timing_cost+Afac氺alignment ; 其中,timing_tradeoff為時序因子,用來調(diào)節(jié)延時對于布局的影響;bb_cost是線網(wǎng)邊界框的值;timing_cost是時序值,Afac為加入的對齊因子,alignment為對齊值,且alignment初始值為O。
6.于,所述對齊因子Afac是一個動態(tài)因子,其值與電路的高扇出數(shù)目的平方成反比關(guān)系,與電路的線網(wǎng)數(shù)目成正比關(guān)系。
7.根據(jù)權(quán)利要求I所述的對高扇出的可編程門列陣進(jìn)行布局布線的方法,其特征在于,所述根據(jù)對FPGA的布局結(jié)果對FPGA進(jìn)行布線的步驟中,所述布線采用路徑搜索算法,該路徑搜索算法是迷宮式布線器的派生方法,在布線初期假定每條線網(wǎng)都是關(guān)鍵的,不記布線資源的重用問題,反復(fù)的拆線重布電路中的各條線網(wǎng),直到所有的擁擠度問題都得到解決。
8.根據(jù)權(quán)利要求7所述的對高扇出的可編程門列陣進(jìn)行布局布線的方法,其特征在于,所述路徑搜索算法采用波前擴(kuò)展方法。
9.根據(jù)權(quán)利要求7所述的對高扇出的可編程門列陣進(jìn)行布局布線的方法,其特征在于,所述根據(jù)對FPGA的布局結(jié)果對FPGA進(jìn)行布線的步驟中,所述對FPGA進(jìn)行布局結(jié)束后,該方法還創(chuàng)建二維數(shù)組AlignmentInfo,該二維數(shù)組AlignmentInfo的第一維是線網(wǎng)值,該二維數(shù)組AlignmentInfo的第二維是當(dāng)前線網(wǎng)源端或者漏端的值,二維數(shù)組AlignmentInfo存儲的信息是當(dāng)前漏端是否與源端對齊,水平或者是垂直方向?qū)R,距離源端的距離是多少。
10.根據(jù)權(quán)利要求9所述的對高扇出的可編程門列陣進(jìn)行布局布線的方法,其特征在于,所述對FPGA進(jìn)行布線的過程中,如果某線網(wǎng)N的源端是高扇出,則在源端與漏端布線時,先判斷此源端到漏端是否處于關(guān)鍵路徑,如果是,則按常規(guī)布線;如果否,則讀取二維數(shù)組AlignmentInfo ;判斷此漏端是否與源端對齊,如果是,則再讀取此漏端對齊方向上是否有其他的漏端存在;如果有其他漏端存在,則分別估算連接該漏端的各種連接方式的成本,并對該各種連接方式的成本進(jìn)行比較,選用成本較低的連接方式。
全文摘要
本發(fā)明公開了一種對高扇出的可編程門列陣進(jìn)行布局布線的方法,包括讀取可編程門列陣FPGA芯片結(jié)構(gòu)信息和打包之后生成的網(wǎng)表信息;根據(jù)讀取的可編程門列陣FPGA芯片結(jié)構(gòu)信息和網(wǎng)表信息對FPGA進(jìn)行布局;根據(jù)對FPGA的布局結(jié)果對FPGA進(jìn)行布線;以及生成布局布線結(jié)果,完成對FPGA的布局布線。利用本發(fā)明,能夠有效的降低電路的延時,提高布線資源的利用率。
文檔編號G06F17/50GK102890729SQ20111020109
公開日2013年1月23日 申請日期2011年7月18日 優(yōu)先權(quán)日2011年7月18日
發(fā)明者李明, 李艷, 于芳 申請人:中國科學(xué)院微電子研究所