專利名稱:Fpga可配置五輸入查找表結構的制作方法
技術領域:
本發明屬于FPGA器件技術領域,具體涉及一種FPGA查找表結構。
背景技術:
基于查找表的可編程邏輯單元是將所要實現的邏輯函數真值表的值存儲在可編 程控制的SRAM中,根據輸入選擇相應的函數輸出。或者將查找表看作一個存儲器,函數真 值表在邏輯編程時存入,查找表的輸入相當于存儲器的地址輸入,查找表的輸出相當于存 儲器的數據輸出。目前,主流的商用FPGA器件,如Xilinx公司的Virtex和Spartan系列 [1] [2] ,Altera 公司的 Stratix 和 Cyclone 系列[3] [4]以及 Lattice 公司的 EC 和 ECP 系 列[5],均是采用基于查找表的可編程邏輯單元。研究表明[6],輸入端數目為4至6的查 找表具有最佳的面積和延時性能。此類可編程邏輯單元的邏輯粒度中等、功能靈活、電路面 積和速度均較為適中。傳統的三輸入或四輸入查找表邏輯資源的密度較低且配置固定不靈活,在配置較 復雜的邏輯函數時會降低互聯資源的有效利用率。故設計一種可在三輸入、四輸入查找表 和五輸入查找表之間進行選擇配置的新型查找表結構,在不增加互連資源復雜性的前提 下,增加邏輯資源的密度,提高配置的靈活性,從而可以根據用戶的需要更加充分地利用可 編程邏輯資源和互連資源。
發明內容
本發明的目的在于提供一種可提高配置的靈活性、邏輯資源的密度和互連資源的 有效利用率的FPGA查找表結構。本發明以基于四輸入查找表的SLICE為例,在基于2個四輸入查找表的SLICE結 構的基礎上,增加兩個同樣的四輸入查找表,并和原先已經存在的四輸入查找表復用輸入 端口。利用SLICE已經存在的BX和BY兩個輸入分別作為SLICE中兩個查找表的第五個輸 入,從而在一個可編程邏輯單元中提供兩個等價五輸入查找表的硬件支持。如圖2所示,原有的查找表分別為F和G,其結果輸入到多路選擇器MUX (如圖中 虛線框所示)的DO端,由編程點控制是否輸出到X和Y (實現四輸入查找表功能)。加入兩 個新的四輸入查找表F-new和G-new后,其結果輸入到MUX擴展輸入端F4AUX。當配置成五 輸入查找表結構時,MUX允許BX在F和F-new的結果之間、BY在G和G_new的結果之間進 行選擇,即在DO和F4AUX兩個輸入端之間進行選擇,從而實現四輸入查找表到五輸入查找 表的轉變。即通過編程點和譯碼控制電路選擇將查找表配置成四輸入或者五輸入模式。已有查找表結構包括三輸入查找表和四輸入查找表,上面僅以四輸入查找表為例 說明,本發明同樣可用于基于三輸入查找表的SLICE。即本發明可以根據用戶應用的需要在 已有查找表(包括三輸入查找表和四輸入查找表)和五輸入查找表之間靈活地進行選擇配 置。技術效果
3采用了這種改進的查找表結構以后,就可以同時為用戶提供傳統的四輸入查找表和等 價五輸入查找表的硬件上的支持,并且可以根據用戶的要求進行靈活的配置。同時由于這 種等價的五輸入查找表并不改變原先四輸入查找表的結構(即輸入端口數),所以不會增加 互連資源的復雜性。在配置較復雜的邏輯函數時可以更加充分地利用可編程邏輯資源,從 而更加有效地利用互連資源以減輕布局布線程序的負擔。
圖1為基于四輸入查找表的SLICE總體構架。圖2為新型五輸入查找表的結構。圖3為四輸入和五輸入查找表可配置電路原理。
具體實施例方式傳統的可編程邏輯單元的一個SLICE中可配置的查找表的大小是固定的,例如基 于四輸入查找表的結構,如圖1所示。一個SLICE中含有2個四輸入的查找表,最大可以通 過增加BX作為第五個輸入配置成五輸入的查找表(F5輸出)。其優點是采用了當前主流商 用FPGA經速度、面積、功耗綜合考慮而折中使用的四輸入查找表結構,且較少的輸入引腳 節省了大量的互連資源;其缺點是邏輯資源的密度較低且配置固定不靈活,在配置較復雜 的邏輯函數時會降低互聯資源的有效利用率。新型可配置五輸入查找表結構如圖2所示, 其結構是對已經存在的2個四輸入查找表F和G,分別增加一個新的四輸入查找表F-new、 G-new,且新的查找表和已有的查找表共用四個輸入端,即四輸入查找表F和新增加的四輸 入查找表F-new共用四個輸入端F [4:1];四輸入查找表G和新增加的四輸入查找表G-new 共用四個輸入端G [4:1];對原有的MUX進行擴展,增加一個輸入端F4AUX (連接到新增查找 表的結果),并通過復用已有的SLICE輸入端口 BX(BY)作為第五個輸入以實現五輸入查找 表的功能。這種結構的配置不是固定的,而是在硬件上增加了對五輸入查找表功能的支持, 通過三個編程點S2、S1和SO值的不同組合,可以根據需要在四輸入查找表和五輸入查找表 之間進行靈活的配置,同時這種結構不增加SLICE的輸入引腳數,在增加邏輯資源密度的 同時節約了互聯資源。圖3顯示了實現核心功能的擴展后MUX的內部結構原理。查找表結果(不管是四 輸入還是五輸入)之外的信號通過一個Decoder的譯碼模塊進行選擇,輸出為X (或Y) 1 ; 查找表結果的數據通路是由編程點Sl和復用的已有的輸入端BX(BY)控制的一個二選一 MUX,輸出為X(或Y)0。由編程點S2及其反信號S2B控制的輸出二選一 MUX決定了輸出信 號的類型,真值表如表1所示當S2為0時,輸出X(或Y)0,即用作查找表;當S2為1時, 輸出Χ(或Y) 1,即配置成查找表之外的功能,而具體功能的選擇已經在上一個Decoder譯 碼模塊中完成。輸出編程點Sl決定了當使用查找表功能時,是配置成五輸入查找表還是 四輸入查找表,如表2所示當Sl為0時,配置成傳統的四輸入查找表,由原有的四輸入 查找表的輸出F或G給出結果,此時BX(或BY)不起作用;當Sl為1時,BX(或BY)起到 在兩個四輸入查找表的結果(F和F-new (G或G-new))當中進行選擇的作用,由原來的從
個存儲單元進行選擇(四輸入查找表)轉為從25個存儲單元進行選擇,從而實現五輸入 查找表的功能。
表 1
S2S2Bχσ)01X(Y)O10X(Y)I
表2
SlBX (BY)X(Y)O0XDO10DO11F4AUX
參考文獻Xilinxj Inc., Spartan/Spartan-II/Spartan-3 FPGA Family Complete Data SheetXilinxj Inc., Virtex/Virtex-II/Virtex-4/Virtex-5 FPGA Family Complete Data SheetAltera Corp., Cyclone/CycIone-II Device HandbookAltera Corp., Stratix/Stratix-II/Stratix-III Device HandbookLattice Semiconductor Corp., LatticeECP/EC Family Data Sheet, May 2005E. Ahmed and J. Rose, "The Effect of LUT and Cluster Size on Deep-Submicron FPGA Performance and Density, ” [C] Proc. of ACM Int. Symp. on FPGAs, pp. 3-12,Feb. 2000。
權利要求
一種FPGA可配置五輸入查找表結構,其特征在于在基于2個四輸入查找表的可編程邏輯單元的SLICE中,對于2個四輸入查找表分別加入1個同樣的四輸入查找表;加入的1個四輸入查找表和原先已經存在的一個四輸入查找表復用輸入端口,并且分別利用SLICE中已經存在的兩個輸入端口BX和BY作為SLICE中兩個查找表的第五個輸入端口。
2.根據權利要求1所述的FPGA可配置五輸入查找表結構,其特征在于設原有的四輸 入查找表分別為F和G,其結果分別輸入到多路選擇器MUX的DO端,由編程點控制是否輸 出到X和Y ;新加入2個四輸入查找表F-new和G-new后,其結果輸入到多路選擇器MUX擴 展輸入端F4AUX ;當配置成五輸入查找表結構時,多路選擇器MUX允許BX在F和F-new的 結果之間、BY在G和G-new的結果之間進行選擇,即在DO和F4AUX兩個輸入端之間進行選 擇,從而實現四輸入查找表到五輸入查找表的轉變。
3.根據權利要求1所述的FPGA可配置五輸入查找表結構,其特征在于適用于基于三 輸入查找表的可編程邏輯單元的SLICE中。
全文摘要
本發明屬于FPGA器件技術領域,具體為一種FPGA可配置五輸入查找表結構。本發明是在基于2個四輸入查找表的可編程邏輯單元的SLICE中,分別加入1個同樣的四輸入查找表;加入的1個四輸入查找表和原先已經存在的一個四輸入查找表復用輸入端口,并且分別利用SLICE中已經存在的兩個輸入端口BX和BY作為SLICE中兩個查找表的第五個輸入端口。這種改進并不增加FPGA互聯資源的復雜性。在用戶電路中實現較復雜的邏輯函數時,可提高邏輯資源和互連資源的利用率以及芯片面積的利用率,并減輕布局布線軟件的負擔。本發明可以根據用戶應用的需要在已有查找表(包括三輸入查找表和四輸入查找表)和五輸入查找表之間靈活地進行選擇配置。
文檔編號H03K19/173GK101969306SQ201010273730
公開日2011年2月9日 申請日期2010年9月7日 優先權日2010年9月7日
發明者來金梅, 毛志東, 王健, 王元, 陳利光 申請人:復旦大學