專利名稱:一種現(xiàn)場(chǎng)可編程門陣列內(nèi)部互聯(lián)線的方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種現(xiàn)場(chǎng)可編程門陣列內(nèi)部互聯(lián)線的方法。
背景技術(shù):
FPGA (Field - Programmable Gate Array,即現(xiàn)場(chǎng)可編程門陣列)包括由實(shí)現(xiàn)用戶邏輯的LUT (Lookup Table,即查找表)、觸發(fā)器和鎖存器,以及實(shí)現(xiàn)連接關(guān)系的MUX (Multiplexer,多路選擇器)和互連線。EDA (Electronic Design Automation,即電子設(shè)計(jì)自動(dòng)化)工具要對(duì)要對(duì)FPGA的各個(gè)模塊建模,其中對(duì)FPGA頂層互連建模是重點(diǎn),頂層互連線數(shù)量
COUNTintee -Kintee5^TILEcountx5^TILEcounty (公式 1),
其中TILEkmtx和TILEroum分別表示FPGA的功能單元(內(nèi)部模塊)陣列大小,Kintek是每個(gè)功能單元關(guān)聯(lián)的互連線個(gè)數(shù),與互連線架構(gòu)相關(guān),范圍一般是90至400,例如,在Xilinx 公司的Virtex2系列中,其Kintek約等于300。主流的商用FPGA中,Kintok彡300,TILEcounty * TILEcoimty彡104,且隨著工藝的進(jìn)步,三個(gè)系數(shù)還會(huì)增大。隨著FPGA的內(nèi)部模塊陣列的擴(kuò)大,在幾萬(wàn)甚至幾百萬(wàn)之間線性增長(zhǎng),而且隨著 FPGA結(jié)構(gòu)的復(fù)雜,Kintok變大,增長(zhǎng)的速度變得更快。常規(guī)的互連線模型有兩種一種是對(duì)每根互連線單獨(dú)建模,無(wú)論在空間上或者處理時(shí)間上都不是好的選擇;另一種是合并相同類型的互連線,但是由于互連線邏輯和視圖上的差異,使得處理互連線模型變得復(fù)雜,且很難改善上述問題的復(fù)雜度,很難處理大陣列的商用FPGA。
發(fā)明內(nèi)容
本發(fā)明所要解決的技術(shù)問題是提出一種高效的互連線的方法。對(duì)此,本發(fā)明提供了一種能夠高效進(jìn)行的FPGA內(nèi)部模塊的互聯(lián)線連接方法。一種現(xiàn)場(chǎng)可編程門陣列內(nèi)部互聯(lián)線的方法,包括如下步驟 劃分步驟將現(xiàn)場(chǎng)可編程門陣列的內(nèi)部模塊分別沿其邊緣劃開;
構(gòu)造步驟按照所述內(nèi)部模塊的類型,分別對(duì)其構(gòu)造橫向連接模塊和縱向連接模塊,所述橫向連接模塊和縱向連接模塊分別包括起始都在該內(nèi)部模塊內(nèi)部的內(nèi)部連接線、分別連接該內(nèi)部模塊的內(nèi)部和該內(nèi)部模塊邊緣的接入連接線,和起始都在該內(nèi)部模塊邊緣的穿越連接線中的至少一種;
連接步驟所述內(nèi)部模塊分別通過與其連接橫向連接的橫向連接模塊,以及與其縱向連接的縱向連接模塊依次相互連接;
其中,所述橫向連接模塊上的所述內(nèi)部連接線、接入連接線和穿越連接線的兩端點(diǎn)分別分布于該橫向連接模塊的兩側(cè)邊上;所述縱向連接模塊上的所述內(nèi)部連接線、接入連接線和穿越連接線的兩端點(diǎn)分別分布于該縱向連接模塊的上下兩邊上。與現(xiàn)有技術(shù)相比本發(fā)明的優(yōu)點(diǎn)在于,由于以功能單元為描述的最小單元,其數(shù)量不隨FPGA芯片陣列大小變化,只與器件的種類(Family)相關(guān),這樣能夠最大化的簡(jiǎn)化內(nèi)部模塊連線,極大的提高了連接線的效率。具體來(lái)說,本發(fā)明將互連線片段分成三種類型在功能單元內(nèi)部起始和終止的互連線(LINEINNER),起始于功能單元邊緣終止于功能單元內(nèi)部或者開始于功能單元內(nèi)部結(jié)束于功能單元邊緣的互連線(LINEINTER),起始和終止均在功能單元邊緣的互連線,包括同時(shí)連到功能單元內(nèi)部的互連線(LINETHR0UGH)。描述互連線的模型主要包括兩個(gè)方面,分別是指示互連線邏輯連接關(guān)系的網(wǎng)表和描述互連線在顯示函數(shù)⑶I ()中顯示的樣式(即PATTERN,可參考Xilinx公司的FPGA Editor)。其中互連線邏輯連接關(guān)系是由互連線架構(gòu)師決定,PATTERN的起始和終止點(diǎn)由互連線邏輯連接關(guān)系確定,我們可以修改中間點(diǎn)的位置。本發(fā)明根據(jù)FPGA的陣列高度重復(fù)的特點(diǎn),以功能單元為邊界將互連線斷開,在功能單元內(nèi)部構(gòu)建相同Pattern的互連線片段來(lái)簡(jiǎn)化模型。例如,根據(jù)FPGA的重復(fù)性,將芯片的功能單元?jiǎng)澐譃榕渲眠壿媺K(CLB)、接口塊 (Ι0Β),塊隨機(jī)存儲(chǔ)(BRAM)等功能單元,目標(biāo)是使相同類型的功能單元中的互連線Pattern 一致,并保證在功能單元拼接時(shí)能將互連線片段拼接成完整的互連線。這樣只需描述功能單元中的互連線片段,意味著同一個(gè)Family可以共用這些描述。優(yōu)選的,所述內(nèi)部模塊的類型選擇采用配置邏輯塊,接口塊或塊隨機(jī)存儲(chǔ)。
圖1是業(yè)界常見的Double線簡(jiǎn)化示意圖。圖2是本發(fā)明一種實(shí)施例中劃分功能單元的結(jié)果。圖3是本發(fā)明一種實(shí)施例中兩個(gè)轉(zhuǎn)化器來(lái)實(shí)現(xiàn)橫向(Fl)和縱向(F2)連接模塊。圖4是本發(fā)明一種實(shí)施例中加入橫向和縱向連接模塊的功能單元示意圖。圖5是圖4實(shí)施例中用構(gòu)造的功能單元進(jìn)行拼接的結(jié)果。
具體實(shí)施例方式下面結(jié)合附圖,對(duì)本發(fā)明的較優(yōu)的實(shí)施例作進(jìn)一步的詳細(xì)說明
圖1是常見的Double線示意圖,Double線連接水平方向上三個(gè)MUX,圖中標(biāo)示了每個(gè)MUX發(fā)出N/S/W/E四個(gè)方向上的一根Double線,同時(shí)接收N/S/W/E四個(gè)方向上的兩根 Double線。由圖可知,互連線的樣式(PATTERN)相當(dāng)復(fù)雜,PATTERN總數(shù)與Double線的數(shù)
量相同。圖2是劃分功能單元的結(jié)果,由圖可知 C0UNTC0RNER=0,
C0UNTEDGE=0,
C0UNTNEDGE=C0UNTSEDGE=4, C0UNTEEDGE= COUNTffEDGE = 4, 滿足公式2的要求。圖3是兩個(gè)轉(zhuǎn)化器來(lái)實(shí)現(xiàn)Fl和F2。其中Fl是水平方向即W至E,或者E至W方向的轉(zhuǎn)化器,F(xiàn)2是垂直方向即N至S,或者S至N方向的轉(zhuǎn)化器,交換互聯(lián)線片段的順序可以簡(jiǎn)化轉(zhuǎn)化器的構(gòu)造。在功能單元內(nèi)部,將互連線片段分成三種類型在功能單元內(nèi)部起始和終止的互連線(LINEINNER),起始于功能單元邊緣終止于功能單元內(nèi)部或者開始于功能單元內(nèi)部結(jié)束于功能單元邊緣的互連線(LINEINTER),起始和終止均在功能單元邊緣的互連線,包括同時(shí)連到功能單元內(nèi)部的互連線(LINETHR0UGH)。對(duì)于V Line e LINEINNER,只需要保證相同的功能單元中Pattern —致即可。對(duì)于V Line e LINEINTER,需要保證相同的功能單元中Pattern —致,還要滿足功能單元在邊緣的一個(gè)點(diǎn)要正確的拼接。對(duì)于V Line e LINETHR0UGH,需要保證相同的功能單元中 Pattern —致,還要滿足功能單元在邊緣的多個(gè)點(diǎn)要正確的拼接。前兩種Line的條件較容易滿足,對(duì)于V Line e LINETHR0UGH,在劃分功能單元的時(shí)候,V Line落在功能單元邊緣上的點(diǎn)的數(shù)量要滿足{ C0UNTC0RNER=0 && C0UNTEDGE=0 && C0UNTNEDGE=C0UNTSEDGE &&C0UNTEEDGE=C0UNTffEDGE}(公式2),即對(duì)于任何一個(gè)互連線片段沒有點(diǎn)落在角落上,沒有互連線片段落在邊上,且落在N/S或者W/E方向上的點(diǎn)的數(shù)量要分別相等,這三個(gè)條件基本上可以通過調(diào)整劃分功能單元的位置來(lái)滿足。在拼接功能單元的時(shí)候,要讓互連線片段正確的組合,結(jié)合公式2可知,必存在滿射Fl {NEDGE} -> {SEDGE}和F2: {WEDGE}-> {EEDGE}(公式3)滿足條件。因此可以在功能單元內(nèi)部放置一個(gè)虛擬的轉(zhuǎn)換器來(lái)實(shí)現(xiàn)Fl和 F2,來(lái)滿足拼接時(shí)的條件。圖4是加入兩個(gè)轉(zhuǎn)化器后的功能單元單元,可以看出經(jīng)過轉(zhuǎn)化器后邊緣上的點(diǎn)將與反方向的某一點(diǎn)位于同一行(水平方向)或者同一列(垂直方向)。圖5是用構(gòu)造的功能單元進(jìn)行拼接的結(jié)果,與圖一的互連線等價(jià)。該實(shí)現(xiàn)方案的實(shí)現(xiàn)方法是1.描述頂層互連線的邏輯連接關(guān)系。2.定義各個(gè)最小重復(fù)單元功能單元。3.設(shè)計(jì)水平和垂直轉(zhuǎn)化器。4.拼接各個(gè)功能單元。圖5的實(shí)施例還可以進(jìn)一步進(jìn)行優(yōu)化,減少了互連線之間的交叉,使電路圖更加直觀。以上內(nèi)容是結(jié)合具體的優(yōu)選實(shí)施方式對(duì)本發(fā)明所作的進(jìn)一步詳細(xì)說明,不能認(rèn)定本發(fā)明的具體實(shí)施只局限于這些說明。對(duì)于本發(fā)明所屬技術(shù)領(lǐng)域的普通技術(shù)人員來(lái)說,在不脫離本發(fā)明構(gòu)思的前提下,還可以做出若干簡(jiǎn)單推演或替換,都應(yīng)當(dāng)視為屬于本發(fā)明的保護(hù)范圍。
權(quán)利要求
1.一種現(xiàn)場(chǎng)可編程門陣列內(nèi)部互聯(lián)線的方法,其特征在于,包括如下步驟劃分步驟將現(xiàn)場(chǎng)可編程門陣列的內(nèi)部模塊分別沿其邊緣劃開;構(gòu)造步驟按照所述內(nèi)部模塊的類型,分別對(duì)其構(gòu)造橫向連接模塊和縱向連接模塊,所述橫向連接模塊和縱向連接模塊分別包括起始都在該內(nèi)部模塊內(nèi)部的內(nèi)部連接線、分別連接該內(nèi)部模塊的內(nèi)部和該內(nèi)部模塊邊緣的接入連接線,和起始都在該內(nèi)部模塊邊緣的穿越連接線中的至少一種;連接步驟所述內(nèi)部模塊分別通過與其連接橫向連接的橫向連接模塊,以及與其縱向連接的縱向連接模塊依次相互連接;其中,所述橫向連接模塊上的所述內(nèi)部連接線、接入連接線和穿越連接線的兩端點(diǎn)分別分布于該橫向連接模塊的兩側(cè)邊上;所述縱向連接模塊上的所述內(nèi)部連接線、接入連接線和穿越連接線的兩端點(diǎn)分別分布于該縱向連接模塊的上下兩邊上。
2.如權(quán)利要求1所述的現(xiàn)場(chǎng)可編程門陣列內(nèi)部互聯(lián)線的方法,其特征在于,所述內(nèi)部模塊的類型包括配置邏輯塊、接口塊,塊隨機(jī)存儲(chǔ)。
3.如權(quán)利要求1或2所述的現(xiàn)場(chǎng)可編程門陣列內(nèi)部互聯(lián)線的方法,其特征在于,所述內(nèi)部模塊為矩形。
4.如權(quán)利要求3所述的現(xiàn)場(chǎng)可編程門陣列內(nèi)部互聯(lián)線的方法,其特征在于,所述橫向連接模塊為矩形。
5.如權(quán)利要求3所述的現(xiàn)場(chǎng)可編程門陣列內(nèi)部互聯(lián)線的方法,其特征在于,所述縱向連接模塊為矩形。
全文摘要
本發(fā)明提供一種現(xiàn)場(chǎng)可編程門陣列內(nèi)部互聯(lián)線的方法,包括如下步驟劃分步驟將現(xiàn)場(chǎng)可編程門陣列的內(nèi)部模塊分別沿其邊緣劃開;構(gòu)造步驟按照所述內(nèi)部模塊的類型,分別對(duì)其構(gòu)造橫向連接模塊和縱向連接模塊,所述橫向連接模塊和縱向連接模塊分別包括起始都在該內(nèi)部模塊內(nèi)部的內(nèi)部連接線、分別連接該內(nèi)部模塊的內(nèi)部和該內(nèi)部模塊邊緣的接入連接線,和起始都在該內(nèi)部模塊邊緣的穿越連接線中的至少一種;連接步驟所述內(nèi)部模塊分別通過與其連接橫向連接的橫向連接模塊,以及與其縱向連接的縱向連接模塊依次相互連接。
文檔編號(hào)G06F17/50GK102411655SQ20111025508
公開日2012年4月11日 申請(qǐng)日期2011年8月31日 優(yōu)先權(quán)日2011年8月31日
發(fā)明者孫鐵力 申請(qǐng)人:深圳市國(guó)微電子股份有限公司