專利名稱::一種fpga結(jié)構(gòu)的制作方法
技術(shù)領(lǐng)域:
:本發(fā)明涉及集成電路設(shè)計(jì)技術(shù)。
背景技術(shù):
:FPGA是英文FieldProgrammableGateArray的縮寫,即現(xiàn)場(chǎng)可編程門陣列。它是作為專用集成電路(ASIC)領(lǐng)域中的一種半定制電路而出現(xiàn)的,既解決了定制電路的不足,又克服了原有可編程器件門電路數(shù)有限的缺點(diǎn)。FPGA采用了邏輯單元陣列LCA(LogicCellArray)這樣一個(gè)新概念,內(nèi)部包括可配置邏輯模塊CLB(ConfigurableLogicBlock)、輸出輸入模塊IOB(InputOutputBlock)和內(nèi)部連線(Interconnect)三個(gè)部分。采用FPGA設(shè)計(jì)ASIC電路,用戶不需要投片生產(chǎn),就能得到合用的芯片。FPGA內(nèi)部有豐富的觸發(fā)器和I/O引腳,是ASIC電路中設(shè)計(jì)周期最短、開(kāi)發(fā)費(fèi)用最低、風(fēng)險(xiǎn)最小的器件之一。FPGA是由存放在片內(nèi)RAM中的程序來(lái)設(shè)置其工作狀態(tài)的,因此,工作時(shí)需要對(duì)片內(nèi)的RAM進(jìn)行編程。用戶可以根據(jù)不同的配置模式,采用不同的編程方式。加電時(shí),F(xiàn)PGA芯片將電可擦除EPROM中數(shù)據(jù)讀入片內(nèi)編程RAM中,配置完成后,F(xiàn)PGA進(jìn)入工作狀態(tài);掉電后,F(xiàn)PGA恢復(fù)成白片,內(nèi)部邏輯關(guān)系消失,因此,F(xiàn)PGA能夠反復(fù)使用。FPGA的編程無(wú)須專用的FPGA編程器,只須用通用的EPROM、PROM編程器即可。當(dāng)需要修改FPGA功能時(shí),只需換一片EPROM即可。這樣,同一片F(xiàn)PGA,不同的編程數(shù)據(jù),可以產(chǎn)生不同的電路功能。因此,F(xiàn)PGA的使用非常靈活??梢哉f(shuō),F(xiàn)PGA芯片是小批量系統(tǒng)提高系統(tǒng)集成度、可靠性的最佳選擇之一。FPGA的布線延遲已經(jīng)成為提高FPGA結(jié)構(gòu)性能的門檻,也是制約FPGA新結(jié)構(gòu)的一個(gè)難題。XILINX公司提出的基于對(duì)稱陣列的結(jié)構(gòu)在延遲方面做出了較大的改進(jìn),它把集中在FPGA中心的阻塞進(jìn)行了分散,避免了局部延遲過(guò)長(zhǎng)的現(xiàn)象。但是進(jìn)入深亞微米之后,該結(jié)構(gòu)在解決布線延遲方面很難有進(jìn)一歩的發(fā)展?,F(xiàn)在還有一種辦法是通過(guò)改變LUT(查找表)的輸入端來(lái)減小延遲。實(shí)驗(yàn)表明,進(jìn)入深亞微米后6輸入的LUT在減小布線延遲方面有一定改進(jìn)。6輸入的LUT可以實(shí)現(xiàn)很復(fù)雜的邏輯功能,但是采用6輸入的LUT會(huì)造成較大的資源浪費(fèi)。國(guó)內(nèi)外相關(guān)研究如下美國(guó)專利1:專禾U名稱Progammablelogicdevicestructureinstandardcelldevices專利號(hào)US6515509授權(quán)日2003年2月4日該專利提出了對(duì)稱陣列結(jié)構(gòu)的基本框架,在減小延遲方面有較大的改進(jìn),但是不存在進(jìn)一步改進(jìn)的空間。美國(guó)專利2:專禾ll名禾爾Six-inputlook-uptableandassociatedmemorycontrolcurcuitryforuseinafieldprogrammablegatearray專利號(hào)US7075332授權(quán)日2006年7月11日該專利提出了六輸入的LUT,在深亞微米工藝下,在減小延遲方面也有改進(jìn)。6輸入的LUT可以實(shí)現(xiàn)很復(fù)雜的邏輯功能,但是6輸入的LUT會(huì)造成極大的資源浪費(fèi)。
發(fā)明內(nèi)容本發(fā)明所要解決的技術(shù)問(wèn)題是,提供一種新型的FPGA結(jié)構(gòu),能夠有效的降低數(shù)據(jù)傳輸延遲。本發(fā)明解決所述技術(shù)問(wèn)題采用的技術(shù)方案是,一種FPGA結(jié)構(gòu),由多個(gè)節(jié)點(diǎn)排列為同心環(huán),各節(jié)點(diǎn)連接有CLB單元,各層環(huán)通過(guò)環(huán)上的SB對(duì)應(yīng)連接。進(jìn)一步的說(shuō),所述CLB單元包括CLB和CB,CLB通過(guò)CB與節(jié)點(diǎn)連接。在每一層環(huán)上,相鄰節(jié)點(diǎn)之間設(shè)置SB,除了最外層的各層上各個(gè)各SB有一個(gè)連接端與位于相鄰?fù)鈱由系腟B連接。同心環(huán)的中心為一個(gè)SB,與其相鄰?fù)鈱拥母鱾€(gè)SB連接。各節(jié)點(diǎn)為同心圓環(huán)狀排列,或可等效于同心圓環(huán)狀排列。本發(fā)明的有益效果是,在信號(hào)減小延遲方面有很大的改進(jìn)。功能邏輯模塊間的快速通道分散了集中在FPGA中心的延遲,避免了局部延遲過(guò)長(zhǎng)現(xiàn)象,同時(shí)解決了進(jìn)入深亞微米之后,對(duì)稱陣列結(jié)構(gòu)在解決布線延遲方面所遇到的困難。以下結(jié)合說(shuō)明書(shū)附圖和具體實(shí)施方式對(duì)本發(fā)明作進(jìn)一步的說(shuō)明。圖1是作為現(xiàn)有技術(shù)的XILINX公司的陣列式FPGA結(jié)構(gòu)示意圖。圖2是本發(fā)明的實(shí)施例的示意圖。圖3是本發(fā)明的實(shí)施例的等效示意圖。圖4是實(shí)施例在原理上實(shí)現(xiàn)的示意圖,帶&符號(hào)的方框是實(shí)現(xiàn)四輸入乘法的四個(gè)CLB,帶+符號(hào)的是實(shí)現(xiàn)四輸入加法的CLB。圖13中,長(zhǎng)方形代表CB(連結(jié)塊),黑色正方形代表CLB(可重配置邏輯塊),白色正方形代表SB(開(kāi)關(guān)塊)。通道寬度未具體畫出,只用連線代表各個(gè)模塊之間的連接。具體實(shí)施例方式參見(jiàn)圖2。本發(fā)明提供了一種新型的同心環(huán)狀FPGA結(jié)構(gòu)。該環(huán)形FPGA在外觀上與現(xiàn)有的FPGA截然不同。如附圖2所示,該FPGA新結(jié)構(gòu)布線通道由若干同心的環(huán)形通道組成,CLB和SB呈環(huán)形排列,CB將CLB連入布線通道中,CB與CLB按照一定規(guī)律分布在特定的位置上。該結(jié)構(gòu)獨(dú)特的布局走向?qū)a(chǎn)生低延遲特征。本發(fā)明將CLB、SB和CB分別放在特定的位置上,獨(dú)有的環(huán)形結(jié)構(gòu)會(huì)有效的減小布線延遲。作為一個(gè)實(shí)施例,如圖2。本發(fā)明的FPGA結(jié)構(gòu)由多個(gè)節(jié)點(diǎn)排列為同心環(huán),各節(jié)點(diǎn)連接有CLB單元,各層環(huán)通過(guò)環(huán)上的SB對(duì)應(yīng)連接。圖2中,部分節(jié)點(diǎn)以小黑點(diǎn)標(biāo)出。所述CLB單元包括CLB和CB,CLB通過(guò)CB與節(jié)點(diǎn)連接。在每一層環(huán)上,相鄰節(jié)點(diǎn)之間設(shè)置SB,各SB有一個(gè)連接端與位于相鄰?fù)鈱由系腟B連接。本發(fā)明的同心環(huán)在理論上可以有無(wú)限多層,除了最外層,各層都遵循上述規(guī)律。同心環(huán)的中心為一個(gè)SB,與其相鄰?fù)鈱拥母鱾€(gè)SB連接。每一層環(huán)上的節(jié)點(diǎn)數(shù)量為其相鄰?fù)鈱拥?/2。各節(jié)點(diǎn)為同心圓環(huán)狀排列,或可等效于同心圓環(huán)狀排列。即,各節(jié)點(diǎn)的排列方式包括但不限于同心圓環(huán),對(duì)于表現(xiàn)為同心矩形或其他多邊形的實(shí)施方式,其依然屬于本發(fā)明的權(quán)利范圍。并且,各節(jié)點(diǎn)可以以等效于徑向排列的方式排列為各種表現(xiàn)形式。以一個(gè)簡(jiǎn)單的例子來(lái)說(shuō)明該環(huán)形FPGA結(jié)構(gòu)的工作過(guò)程。假設(shè)每個(gè)CLB內(nèi)部?jī)H有一個(gè)四輸入的LUT(lookouttable查找表),這是為了方便說(shuō)明(其實(shí)現(xiàn)在每個(gè)CLB內(nèi)都不只一個(gè)LUT)。F=A1*A2*A3*A4+B1*B2*B3*B4+C1*C2*C3*C4+D1*D2*D3*D4,很容易知道需要5個(gè)CLB來(lái)實(shí)現(xiàn)這個(gè)函數(shù)。本實(shí)施例選擇了l,2,3,4,5這五個(gè)CLB來(lái)實(shí)現(xiàn)這個(gè)函數(shù),之所以選擇5個(gè)相隔這么遠(yuǎn)的CLB是為了說(shuō)明數(shù)據(jù)的流通問(wèn)題。當(dāng)然這個(gè)過(guò)程本應(yīng)由軟件實(shí)現(xiàn),但是此處只是給予一個(gè)選擇思路,這5個(gè)CLB可以通過(guò)極坐標(biāo)來(lái)指定,即可以通過(guò)指定半徑和角度來(lái)定位,半徑可以是層數(shù),例如CLB1可以通過(guò)極坐標(biāo)4Z135加以指定,表示第四層,135度位置的CLB。(傳統(tǒng)的陣列FPGA可通過(guò)直角坐標(biāo)進(jìn)行指定)?,F(xiàn)在討論函數(shù)的實(shí)現(xiàn)問(wèn)題,四輸入的LUT需要16個(gè)SRAM進(jìn)行配置。第一個(gè)LUT的16個(gè)SRAM的配置數(shù)據(jù)為0000,0000,0000,0001。第二個(gè)LUT的16個(gè)SRAM的配置數(shù)據(jù)為0000,0000,0000,0001。第三個(gè)LUT的16個(gè)SRAM的配置數(shù)據(jù)為0000,0000,0000,0001。第四個(gè)LUT的16個(gè)SRAM的配置數(shù)據(jù)為0000,0000,0000,0001。第五個(gè)LUT的16個(gè)SRAM的配置數(shù)據(jù)為0111,1111,1111,1111。就本實(shí)施例而言,由于需要應(yīng)用的CLB不多,可以將數(shù)據(jù)配置完成后的FPGA視為圖3的形式。圖3將未涉及的邏輯資源予以省略,以簡(jiǎn)化形式。關(guān)于輸入輸出的問(wèn)題,在圖2上用IN和OUT標(biāo)出了負(fù)責(zé)輸入和輸出的SB。數(shù)據(jù)首先經(jīng)由I/0模塊(圖上未標(biāo)出,1/0模塊也是按照環(huán)形進(jìn)行排列,且僅與SB進(jìn)行相連)進(jìn)入SB,然后再經(jīng)由其他SB進(jìn)入上面所提到的1,2,3,4這四個(gè)CLB(這四個(gè)CLB負(fù)責(zé)乘法運(yùn)算,這是由上面的配置數(shù)據(jù)決定的),然后這四個(gè)CLB完成運(yùn)算后還是由SB負(fù)責(zé)將結(jié)果輸出到第5個(gè)CLB來(lái)完成加法運(yùn)算,結(jié)果由SB輸出到I/0口。如圖4。經(jīng)測(cè)試,本發(fā)明的環(huán)形FPGA在信號(hào)減小延遲方面有很大的改進(jìn)。功能邏輯模塊間的快速通道分散了集中在FPGA中心的延遲,避免了局部延遲過(guò)長(zhǎng)現(xiàn)象,同時(shí)解決了進(jìn)入深亞微米之后,對(duì)稱陣列結(jié)構(gòu)(XILINX公司3000系列)在解決布線延遲方面所遇到的困難。例如,對(duì)于附圖一中給出的60個(gè)CLB的結(jié)構(gòu),結(jié)構(gòu)中的最長(zhǎng)數(shù)據(jù)通路將跨過(guò)11個(gè)SB,而XILINX公司的類似結(jié)構(gòu),將跨過(guò)15個(gè)SB。隨著CLB數(shù)目的增多,新型環(huán)形結(jié)構(gòu)所用到的CLB數(shù)目將大大少于對(duì)稱陣列結(jié)構(gòu)所用到的CLB數(shù)目,從而極大的節(jié)省了布線長(zhǎng)度,縮短了延遲時(shí)間。隨著半導(dǎo)體制造工藝的不斷進(jìn)步,特別是在進(jìn)入深亞微米后,單位面積上集成的基本單元增多,因此該新結(jié)構(gòu)在大規(guī)模的FPGA方面會(huì)有較好的應(yīng)用。權(quán)利要求1、一種FPGA結(jié)構(gòu),其特征在于,由多個(gè)節(jié)點(diǎn)排列為同心環(huán),各節(jié)點(diǎn)連接有CLB單元,各層環(huán)通過(guò)環(huán)上的SB對(duì)應(yīng)連接。2、如權(quán)利要求1所述FPGA結(jié)構(gòu),其特征在于,所述CLB單元包括CLB禾BCB,CLB通過(guò)CB與節(jié)點(diǎn)連接。3、如權(quán)利要求1所述FPGA結(jié)構(gòu),其特征在于,在每一層環(huán)上,相鄰節(jié)點(diǎn)之間設(shè)置SB,除了最外層的各層上各個(gè)SB有一個(gè)連接端與位于相鄰?fù)鈱由系腟B連接。4、如權(quán)利要求3所述FPGA結(jié)構(gòu),其特征在于,同心環(huán)的中心為一個(gè)SB,與其相鄰?fù)鈱拥母鱾€(gè)SB連接。5、如權(quán)利要求l所述FPGA結(jié)構(gòu),其特征在于,各節(jié)點(diǎn)為同心圓環(huán)狀排列,或可等效于同心圓環(huán)狀排列。6、如權(quán)利要求l所述FPGA結(jié)構(gòu),其特征在于,每一層環(huán)上的節(jié)點(diǎn)數(shù)量為其相鄰?fù)鈱拥?/2。全文摘要一種FPGA結(jié)構(gòu),涉及集成電路設(shè)計(jì)技術(shù)。本發(fā)明由多個(gè)節(jié)點(diǎn)排列為同心環(huán),各節(jié)點(diǎn)連接有CLB單元,各層環(huán)通過(guò)環(huán)上的SB對(duì)應(yīng)連接。本發(fā)明的有益效果是,在信號(hào)減小延遲方面有很大的改進(jìn)。功能邏輯模塊間的快速通道分散了集中在FPGA中心的延遲,避免了局部延遲過(guò)長(zhǎng)現(xiàn)象,同時(shí)解決了進(jìn)入深亞微米之后,對(duì)稱陣列結(jié)構(gòu)在解決布線延遲方面所遇到的困難。文檔編號(hào)H03K19/177GK101179271SQ20071005066公開(kāi)日2008年5月14日申請(qǐng)日期2007年11月30日優(yōu)先權(quán)日2007年11月30日發(fā)明者宋江明,威李,平李,王貽源,謝小東,阮愛(ài)武申請(qǐng)人:電子科技大學(xué)