CN101969306B - Fpga可配置五输入查找表结构 - Google Patents
Fpga可配置五输入查找表结构 Download PDFInfo
- Publication number
- CN101969306B CN101969306B CN 201010273730 CN201010273730A CN101969306B CN 101969306 B CN101969306 B CN 101969306B CN 201010273730 CN201010273730 CN 201010273730 CN 201010273730 A CN201010273730 A CN 201010273730A CN 101969306 B CN101969306 B CN 101969306B
- Authority
- CN
- China
- Prior art keywords
- input
- look
- tables
- fpga
- new
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
- 230000009466 transformation Effects 0.000 claims description 2
- 230000000694 effects Effects 0.000 description 3
- 102100026816 DNA-dependent metalloprotease SPRTN Human genes 0.000 description 2
- 101710175461 DNA-dependent metalloprotease SPRTN Proteins 0.000 description 2
- 241000220317 Rosa Species 0.000 description 1
- 238000011982 device technology Methods 0.000 description 1
- 238000000034 method Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
Images
Landscapes
- Logic Circuits (AREA)
Abstract
本发明属于FPGA器件技术领域,具体为一种FPGA可配置五输入查找表结构。本发明是在基于2个四输入查找表的可编程逻辑单元的SLICE中,分别加入1个同样的四输入查找表;加入的1个四输入查找表和原先已经存在的一个四输入查找表复用输入端口,并且分别利用SLICE中已经存在的两个输入端口BX和BY作为SLICE中两个查找表的第五个输入端口。这种改进并不增加FPGA互联资源的复杂性。在用户电路中实现较复杂的逻辑函数时,可提高逻辑资源和互连资源的利用率以及芯片面积的利用率,并减轻布局布线软件的负担。本发明可以根据用户应用的需要在已有查找表(包括三输入查找表和四输入查找表)和五输入查找表之间灵活地进行选择配置。
Description
技术领域
本发明属于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(如图中虚线框所示)的D0端,由编程点控制是否输出到X和Y(实现四输入查找表功能)。加入两个新的四输入查找表F-new和G-new后,其结果输入到MUX扩展输入端F4AUX。当配置成五输入查找表结构时,MUX允许BX在F和F-new的结果之间、BY在G和G-new的结果之间进行选择,即在D0和F4AUX两个输入端之间进行选择,从而实现四输入查找表到五输入查找表的转变。即通过编程点和译码控制电路选择将查找表配置成四输入或者五输入模式。
已有查找表结构包括三输入查找表和四输入查找表,上面仅以四输入查找表为例说明,本发明同样可用于基于三输入查找表的SLICE。即本发明可以根据用户应用的需要在已有查找表(包括三输入查找表和四输入查找表)和五输入查找表之间灵活地进行选择配置。
技术效果
采用了这种改进的查找表结构以后,就可以同时为用户提供传统的四输入查找表和等价五输入查找表的硬件上的支持,并且可以根据用户的要求进行灵活的配置。同时由于这种等价的五输入查找表并不改变原先四输入查找表的结构(即输入端口数),所以不会增加互连资源的复杂性。在配置较复杂的逻辑函数时可以更加充分地利用可编程逻辑资源,从而更加有效地利用互连资源以减轻布局布线程序的负担。
附图说明
图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和S0值的不同组合,可以根据需要在四输入查找表和五输入查找表之间进行灵活的配置,同时这种结构不增加SLICE的输入引脚数,在增加逻辑资源密度的同时节约了互联资源。
图3 显示了实现核心功能的扩展后MUX的内部结构原理。查找表结果(不管是四输入还是五输入)之外的信号通过一个Decoder的译码模块进行选择,输出为X(或Y)1;查找表结果的数据通路是由编程点S1和复用的已有的输入端BX(BY)控制的一个二选一MUX,输出为X(或Y)0。由编程点S2及其反信号S2B控制的输出二选一MUX决定了输出信号的类型,真值表如表1所示:当S2为0时,输出X(或Y)0,即用作查找表;当S2为1时,输出X(或Y)1,即配置成查找表之外的功能,而具体功能的选择已经在上一个Decoder译码模块中完成。输出编程点S1决定了当使用查找表功能时,是配置成五输入查找表还是四输入查找表,如表2所示:当S1为0时,配置成传统的四输入查找表,由原有的四输入查找表的输出F或G给出结果,此时BX( 或BY)不起作用;当S1为1时,BX(或BY)起到在两个四输入查找表的结果(F和F-new(G或G-new))当中进行选择的作用,由原来的从 个存储单元进行选择(四输入查找表)转为从个存储单元进行选择,从而实现五输入查找表的功能。
表1:
S2 | S2B | X(Y) |
0 | 1 | X(Y)0 |
1 | 0 | X(Y)1 |
表2:
S1 | BX(BY) | X(Y)0 |
0 | X | D0 |
1 | 0 | D0 |
1 | 1 | F4AUX |
参考文献:
[1] Xilinx, Inc., Spartan/Spartan-II/Spartan-3 FPGA Family Complete Data Sheet
[2] Xilinx, Inc., Virtex/Virtex-II/Virtex-4/Virtex-5 FPGA Family Complete Data Sheet
[3] Altera Corp., Cyclone/Cyclone-II Device Handbook
[4] Altera Corp., Stratix/Stratix-II/Stratix-III Device Handbook
[5] Lattice Semiconductor Corp., LatticeECP/EC Family Data Sheet, May 2005
[6] E. 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。
Claims (2)
1.一种FPGA可配置五输入查找表装置,其特征在于在基于2个四输入查找表的可编程逻辑单元的SLICE中,设原有的四输入查找表分别为F和G,对于原有的2个四输入查找表F和G,分别加入1个同样的四输入查找表F-new和G-new,原有的2个四输入查找表F和G的结果分别输入到第一多路选择器的D0端和第二多路选择器的D0端,由第一多路选择器的编程点控制是否输出四输入查找表F的结果,由第二多路选择器的编程点控制是否输出四输入查找表G的结果;加入的2个四输入查找表F-new和G-new的结果分别输入到第一多路选择器的F4AUX扩展输入端和第二多路选择器的F4AUX扩展输入端;四输入查找表F和F-new复用4个输入端口F[4:1],四输入查找表G和G-new复用4个输入端口G[4:1],并且分别利用SLICE中已经存在的两个输入端口BX和BY作为第五个输入端口以实现五输入查找表的功能;当配置成五输入查找表装置时,第一多路选择器和第二多路选择器分别允许BX在F和F-new的结果之间进行选择、BY在G和G-new的结果之间进行选择,即在D0和F4AUX两个输入端之间进行选择,从而实现四输入查找表到五输入查找表的转变。
2.根据权利要求1所述的 FPGA可配置五输入查找表装置,其特征在于适用于基于三输入查找表的可编程逻辑单元的SLICE中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201010273730 CN101969306B (zh) | 2010-09-07 | 2010-09-07 | Fpga可配置五输入查找表结构 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201010273730 CN101969306B (zh) | 2010-09-07 | 2010-09-07 | Fpga可配置五输入查找表结构 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101969306A CN101969306A (zh) | 2011-02-09 |
CN101969306B true CN101969306B (zh) | 2013-01-02 |
Family
ID=43548416
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 201010273730 Expired - Fee Related CN101969306B (zh) | 2010-09-07 | 2010-09-07 | Fpga可配置五输入查找表结构 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101969306B (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102147720B (zh) * | 2011-03-18 | 2014-04-09 | 深圳市国微电子有限公司 | 用查找表实现多输入逻辑项之间的运算的装置及方法 |
CN103746686B (zh) * | 2014-01-26 | 2017-07-07 | 中国电子科技集团公司第五十八研究所 | 二维可扩展多路复用器的级联结构 |
CN105530006B (zh) * | 2014-09-29 | 2018-03-30 | 京微雅格(北京)科技有限公司 | 基于fpga的多路选择器的工艺映射方法 |
CN105447217B (zh) * | 2014-09-29 | 2019-01-22 | 京微雅格(北京)科技有限公司 | 基于fpga的四选一选择器的工艺映射方法 |
WO2016090599A1 (zh) * | 2014-12-11 | 2016-06-16 | 京微雅格(北京)科技有限公司 | 一种可扩展可配置的逻辑元件和fpga器件 |
CN104617928B (zh) * | 2015-01-13 | 2017-10-10 | 复旦大学 | 基于fpga硬件结构的时钟网络遍历测试方法 |
CN105187050B (zh) * | 2015-07-23 | 2018-02-02 | 深圳市紫光同创电子有限公司 | 一种可配置的五输入查找表电路 |
CN109714042A (zh) * | 2018-11-16 | 2019-05-03 | 京微齐力(北京)科技有限公司 | 一种查找表的复用方法 |
CN110601692B (zh) * | 2019-09-11 | 2022-10-14 | 江苏芯盛智能科技有限公司 | 查找表电路、数据查找方法、集成电路芯片和存储介质 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6798240B1 (en) * | 2003-01-24 | 2004-09-28 | Altera Corporation | Logic circuitry with shared lookup table |
-
2010
- 2010-09-07 CN CN 201010273730 patent/CN101969306B/zh not_active Expired - Fee Related
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6798240B1 (en) * | 2003-01-24 | 2004-09-28 | Altera Corporation | Logic circuitry with shared lookup table |
Non-Patent Citations (1)
Title |
---|
Adrian Cosoroaba等."使用Virtex-5系列FPGA获得更高系统性能".《http://china.xilinx.com/support/documentation/white_papers/c_wp245.pdf》.2006,第1-12页. |
Also Published As
Publication number | Publication date |
---|---|
CN101969306A (zh) | 2011-02-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101969306B (zh) | Fpga可配置五输入查找表结构 | |
US9075930B2 (en) | Configurable embedded memory system | |
US7385417B1 (en) | Dual slice architectures for programmable logic devices | |
US7890910B1 (en) | Programmable logic device having logic elements with dedicated hardware to configure look up tables as registers | |
US8856711B2 (en) | Apparatus and methods for time-multiplex field-programmable gate arrays | |
US20080218202A1 (en) | Reconfigurable array to compute digital algorithms | |
CN105164921B (zh) | Fpga互连中的细粒度功率门控 | |
US9768783B1 (en) | Methods for operating configurable storage and processing blocks at double and single data rates | |
CN109933301B (zh) | 可扩展可编程逻辑单元及可编程逻辑块结构 | |
US20130278289A1 (en) | Method and Apparatus for Improving Efficiency of Programmable Logic Circuit Using Cascade Configuration | |
US10630269B2 (en) | Multiple mode device implementation for programmable logic devices | |
CN104424367A (zh) | 一种优化寄存器控制信号的工艺映射方法及集成电路 | |
CN105391443B (zh) | 用于可编程逻辑装置的逻辑单元 | |
US7696784B1 (en) | Programmable logic device with multiple slice types | |
US9553590B1 (en) | Configuring programmable integrated circuit device resources as processing elements | |
JP2008278216A (ja) | 再構成可能集積回路 | |
CN103390071A (zh) | 一种可重构算子阵列的层次化互连结构 | |
CN203520396U (zh) | 一种优化寄存器控制信号的集成电路 | |
US8482312B1 (en) | Logic structures for ternary addition in logic devices | |
CN105610427B (zh) | 一种基于与或非结构的可编程逻辑单元 | |
Amouri et al. | Efficient multilevel interconnect topology for cluster-based mesh fpga architecture | |
CN103390070A (zh) | 一种可重构算子阵列结构 | |
Zhao et al. | A logic cell architecture exploiting the shannon expansion for the reduction of configuration memory | |
CN105471422A (zh) | 集成辅助逻辑运算单元的可编程逻辑模块 | |
CN105610429B (zh) | 一种基于与或非结构的可编程逻辑单元 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20130102 |