帶反饋路徑的fpga邏輯單元的制作方法【
技術(shù)領(lǐng)域:
】[0001]本發(fā)明涉及集成電路行業(yè)可編程邏輯口陣列(FPGA)
技術(shù)領(lǐng)域:
,尤其涉及一種帶反饋路徑的FPGA邏輯單元。【
背景技術(shù):
】[0002]現(xiàn)場(chǎng)可編程邏輯口陣列歷經(jīng)多年發(fā)展演變,成為電子電路系統(tǒng)、集成電路設(shè)計(jì)中的重要組成部分?,F(xiàn)場(chǎng)可編程邏輯口陣列(FPGA)的基本邏輯單元模塊,關(guān)系到FPGA性能、面積的優(yōu)化,W及電子設(shè)計(jì)自動(dòng)化巧DA)工具綜合映射模型的建立。目前市面上的FPGA基本邏輯單元模塊多采用孤島式結(jié)構(gòu),即邏輯資源按陣列分布,布線資源將其相互連接。[0003]傳統(tǒng)的邏輯資源構(gòu)成的"孤島"的核必結(jié)構(gòu)如圖1所示,圖中單元11稱為邏輯陣列塊化ogicArrayBlock,簡(jiǎn)稱LAB),共有m個(gè)輸入端。LAB中包含η個(gè)邏輯單元化ogicElement,簡(jiǎn)稱LE)12-1、12-2......12-n,W及左方與LE--對(duì)應(yīng)的η組輸入多路選擇器(I噸utMultiplexer,簡(jiǎn)稱I噸utMux)16-1、16-2......16_n。每組I噸utMux包含k個(gè)(m+n)選1的多路選擇器,產(chǎn)生的k個(gè)輸出送給右邊對(duì)應(yīng)的LE中;η個(gè)LE的輸出端通過(guò)反饋回路17對(duì)應(yīng)的送到I噸utMuxl6-l、16-2......16-n的輸入端,和LAB的m個(gè)輸入端進(jìn)行選通。LE由一個(gè)k輸入單輸出的查找表化ook化T油le,簡(jiǎn)稱LUT)13-l、13-2......13-n和一個(gè)寄存器巧6旨13*6',簡(jiǎn)稱1?6014-1、14-2......14-n級(jí)聯(lián)組成。通過(guò)輸出多路選擇器(0u1:putMultiplexer,簡(jiǎn)稱OutMux)15-1、15-2......15-n選擇把查找表13的輸出或觸發(fā)器14的輸出送到LE輸出端。[0004]隨著集成電路工藝不斷進(jìn)步,連線延時(shí)在關(guān)鍵路徑延時(shí)中所占比例逐漸增大,因此邸A工具在進(jìn)行FPGA的綜合映射及布局布線時(shí),總是盡可能把更多的資源裝入LAB內(nèi)部,減少互聯(lián)通道的使用。為滿足此類需求,LAB的規(guī)模不斷擴(kuò)大,表現(xiàn)在查找表LUT輸入端個(gè)數(shù)k從初期的不到4增加到現(xiàn)在常見的6,從而導(dǎo)致LAB輸入個(gè)數(shù)m和LE個(gè)數(shù)η做相應(yīng)調(diào)整。根據(jù)EliasAhmed和JonathanRose在文章"TheEffectofLUTandClusterSizeonDeep-SubmicronFPGAPerformanceandDensity,',VeryLargeScaleIntegration(化SI)Systems,簡(jiǎn)稱IE邸Transactionson,vol.12,no.3,卵.288-298,2004中所作的研究,m的最佳取值是:[0005](式1)[0006]而k的最佳取值為4到6,η的最佳取值是4到10。取k=4,η=10,則m=22;取k=6,n=8,則m=27。由此可知I噸utMux是一組大扇入Mux,不論采用何種結(jié)構(gòu)實(shí)現(xiàn),或者復(fù)用部分輸入端,延時(shí)都相當(dāng)可觀。因此設(shè)計(jì)者同樣希望把更多的邏輯資源放到LE內(nèi)部,盡可能繞過(guò)I噸utMux的影響。[0007]如圖2是現(xiàn)有技術(shù)常見的一種級(jí)聯(lián)解決方案(參考文獻(xiàn)1),圖中省略了LAB中的InputMux16-1U6-2......16-n和反饋路徑17-1、17-2......17-n,僅畫出核必的LE部分。圖中21-U21-2……21-n是k輸入單輸出查找表,其前方加入2輸入多路選擇器23曰-1、23a-2......23a-n。k個(gè)輸入端中的k-1個(gè)正常輸入到LUT中,而最后一個(gè)輸入端通過(guò)23a-U23a-2......23a-n,與上一級(jí)LUT輸出端的反饋信號(hào)24-U24-2......24-n選通后再輸入到本級(jí)LUT中。例如,對(duì)于LUT21-2,LUT21-1的反饋信號(hào)24-1和LUT21-2的一個(gè)輸入信號(hào)經(jīng)過(guò)多路選擇器23a-2選擇之后輸入到LUT21-2中。同理,22-U22-2……22-n為寄存器,22-1、22-2......22-n的輸入端存在2輸入多路選擇器23b-l、23b-2......23b-n,送些多路選擇器對(duì)LUT輸出端與上一級(jí)REG的輸出端選擇后輸入本級(jí)REG的數(shù)據(jù)端。LUT和REG的輸出端同樣經(jīng)過(guò)2輸入多路選擇器選擇輸入到LE外部。送樣的設(shè)計(jì)能夠使得24-n、25-n構(gòu)成了兩個(gè)獨(dú)立的LUT鏈和REG鏈,當(dāng)需要組合邏輯級(jí)聯(lián)或者移位寄存器的時(shí)候,可W方便地在LE內(nèi)部實(shí)現(xiàn),避免繞道I噸utMux。[0008]圖3是現(xiàn)有技術(shù)對(duì)圖2所示LE結(jié)構(gòu)的進(jìn)一步改進(jìn)(參考文獻(xiàn)2)。在保持前面提到所有結(jié)構(gòu)的前提下,加入REG到本級(jí)LUT輸入端的反饋路徑36-U36-2......36-n。相應(yīng)地,查找表LUT21-U21-2......21-n前方的多路選擇器23a-l、23a-2......23a-n由2輸入增加到3輸入,分別為查找表的某一路輸入、上一級(jí)查找表輸入反饋W及本級(jí)聯(lián)結(jié)構(gòu)中寄存器輸出反饋。該結(jié)構(gòu)保證了當(dāng)要實(shí)現(xiàn)寄存器在前、查找表在后的級(jí)聯(lián)結(jié)構(gòu)時(shí),可W輕易地通過(guò)控制多路選擇器來(lái)實(shí)現(xiàn)。具體實(shí)現(xiàn)方法為;W21-2和22-2為例,23a-2選擇本級(jí)聯(lián)結(jié)構(gòu)中寄存器反饋36-2,23b-2選擇上一級(jí)聯(lián)結(jié)構(gòu)中寄存器22-1的輸出端作為本級(jí)聯(lián)結(jié)構(gòu)中寄存器22-2的輸入,23C-2選擇查找表21-2的輸出端作為最后的輸出。[0009]由上文所述,連線延時(shí)的影響越來(lái)越顯著,EDA工具總是盡可能把更多的邏輯放入單個(gè)邏輯單元中,而減少通道線和InputMux的使用。如圖7所示為幾種映射、裝箱時(shí)常見的情況;(a)查找表后接寄存器;化)寄存器后接查找表;(C)查找表級(jí)聯(lián)鏈;(d)寄存器級(jí)聯(lián)鏈;(e)寄存器前后都連查找表;(f)查找表前后都連寄存器。[0010]前文所述幾種結(jié)構(gòu)中,圖1的基本結(jié)構(gòu)在LE內(nèi)部只能實(shí)現(xiàn)如圖7(a)所示的情況,而其他情況都必須借助反饋路徑17和InputMux16實(shí)現(xiàn)。圖2結(jié)構(gòu)由于引入了查找表和寄存器的級(jí)聯(lián)鏈,可W在LE內(nèi)部實(shí)現(xiàn)圖7(a)(C)(d)Η種情況;圖3結(jié)構(gòu)引入了寄存器到本級(jí)查找表的反饋路徑36,可W進(jìn)一步實(shí)現(xiàn)圖7(b)所示情況。但對(duì)于圖7(e)(f),W上Η種結(jié)構(gòu)均無(wú)法在LE內(nèi)部實(shí)現(xiàn),至少經(jīng)過(guò)一次InputMux。[0011]參考文件:[0012]UFErichGoetting,StephenΜ.Trimberger,Xilinx,Inc,Logiccellfor円eldprogrammableg過(guò)tearr過(guò)yh過(guò)vingoption過(guò)1internalfeedb過(guò)cka打doption過(guò)1c過(guò)sc過(guò)de,US5500608A,1996.3.19;[0013]2、BrucePedersen,AlteraCorporation,Logiccircuitrywithsharedlookuptable,US7317330B2,2008.1.8;【
發(fā)明內(nèi)容】[0014](一)要解決的技術(shù)問(wèn)題[0015]鑒于上述技術(shù)問(wèn)題,本發(fā)明提供了一種帶反饋路徑的FPGA邏輯單元,W盡可能多的實(shí)現(xiàn)邏輯功能。[0016](二)技術(shù)方案[0017]本發(fā)明提供了一種帶反饋路徑的邏輯單元。該邏輯單元包括;η級(jí)的級(jí)聯(lián)結(jié)構(gòu),每一級(jí)的級(jí)聯(lián)結(jié)構(gòu)均包括:k輸入單輸出查找表和寄存器;其中,所述η級(jí)的級(jí)聯(lián)結(jié)構(gòu)中,上一級(jí)的級(jí)聯(lián)結(jié)構(gòu)至下一級(jí)的級(jí)聯(lián)結(jié)構(gòu)之間具有反饋路徑,η>2。[001引(S)有益效果[0019]從上述技術(shù)方案可W看出,本發(fā)明帶反饋路徑的邏輯單元具有W下有益效果:[0020](1)在現(xiàn)有結(jié)構(gòu)的基礎(chǔ)上,增加了上級(jí)級(jí)聯(lián)結(jié)構(gòu)到下級(jí)級(jí)聯(lián)結(jié)構(gòu)的反饋路徑,通過(guò)少許面積增加,能夠在不使用輸入多路選擇器的前提下,在邏輯單元內(nèi)部實(shí)現(xiàn)"查找表-寄存器-查找表"W及"寄存器-查找表-寄存器"結(jié)構(gòu),降低了關(guān)鍵路徑延時(shí),增加了邸A工具映射、裝箱的靈活度。[0021]似另外提出了兩種等價(jià)的替代結(jié)構(gòu)圖5和圖6,其有益效果與圖4完全相同,面積變化稍有不同,可根據(jù)實(shí)際情況在Η種結(jié)構(gòu)中靈活取舍?!靖綀D說(shuō)明】[0022]圖1為現(xiàn)有技術(shù)FPGA基本邏輯單元模塊的核必結(jié)構(gòu)示意圖;[0023]圖2為現(xiàn)有技術(shù)對(duì)圖1所示FPGA基本邏輯單元模塊級(jí)聯(lián)解決方案的示意圖;[0024]圖3為現(xiàn)有技術(shù)對(duì)圖2所示解決方案進(jìn)一步改進(jìn)后的FPGA基本邏輯單元模塊的示意圖;[0025]圖4為根據(jù)本發(fā)明實(shí)施例一帶上級(jí)級(jí)聯(lián)結(jié)構(gòu)中寄存器到下級(jí)級(jí)聯(lián)結(jié)構(gòu)中k輸入單輸出查找表反饋路徑的FPGA邏輯單元的結(jié)構(gòu)示意圖;[0026]圖5為根據(jù)本發(fā)明實(shí)施例二帶上級(jí)級(jí)聯(lián)結(jié)構(gòu)中k輸入單輸出查找表到下級(jí)級(jí)聯(lián)結(jié)構(gòu)中寄存器反饋路徑的FPGA邏輯單元的結(jié)構(gòu)示意圖;[0027]圖6為根據(jù)本發(fā)明實(shí)施例Η帶上級(jí)級(jí)聯(lián)結(jié)構(gòu)輸出到下級(jí)級(jí)聯(lián)結(jié)構(gòu)中k輸入單輸出查找表反饋路徑的FPGA邏輯單元的結(jié)構(gòu)示意圖;[0028]圖7為幾種常見的映射、裝箱情況示意圖?!揪唧w實(shí)施方式】[0029]為使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚明白,W下結(jié)合具體實(shí)施例,并參照附圖,對(duì)本發(fā)明進(jìn)一步詳細(xì)說(shuō)明。需要說(shuō)明的是,在附圖或說(shuō)明書描述中,相似或相同的部分都使用相同的圖號(hào)。附圖中未繪示或描述的實(shí)現(xiàn)方式,為所屬
技術(shù)領(lǐng)域:
中普通技術(shù)人員所知的形式。另外,雖然本文可提供包含特定值的參數(shù)的示范,但應(yīng)了解,參數(shù)無(wú)需確切等于相應(yīng)的值,而是可在可接受的誤差容限或設(shè)計(jì)約束內(nèi)近似于相應(yīng)的值。[0030]本發(fā)明在現(xiàn)有結(jié)構(gòu)的基礎(chǔ)上,通過(guò)在FPGA邏輯當(dāng)前第1頁(yè)1 2 3 4