一种基于fgpa的高性能查找表电路的制作方法

文档序号:7542806阅读:401来源:国知局
一种基于fgpa的高性能查找表电路的制作方法
【专利摘要】本发明属于集成电路【技术领域】,具体为一种基于FPGA的高性能查找表电路。本发明采用逻辑门单元和传输门混合设计;以4输入查找表电路为例,由三个反相器,2个CMOS传输门以及一个与非门组成。本发明将电路关键路径上的传输管由4级减到2级,极大的降低了关键路径的延时;采用低阈值CMOS传输门,避免阈值损失造成的延时不对称,从而降低对后续时序电路设计的困难;将CMOS传输管中的PMOS和NMOS管的尺寸设计为相同,使传输管部分PMOS管的面积减小50%。本发明通过对电路架构的改进,在速度、功耗和面积三方面的性能上都有明显的提高,使得在查找表逻辑所支持的可编程逻辑资源能有更加广泛的运用。
【专利说明】—种基于FGPA的高性能查找表电路
【技术领域】
[0001]本发明属于FPGA电路【技术领域】,具体涉及一种高性能的查找表电路。
技术背景
[0002]作为被广泛应用于集成电路设计和验证的FPGA,由于其强大的可编程特性以及不断加入Block RAM、DSP、高速IO以及PLL等IP核而逐渐强大的备选功能系统,使得其在今后的集成电路设计领域占有举足轻重的地位。但是随着工艺尺寸的不断减小,数字集成电路的规模越来越大,功能集成度的要求和芯片性能的要求也越来越高。为了能对功能更全面、性能要求更高的设计进行验证,FPGA经过几十年的发展,结构已经发生了较大的变化,规模也增加了几个数量级,应用范围也越来越广,FPGA的设计在追求更完善的存储、运算、通信功能的同时,对性能的不断提升确是又一个不容忽视的挑战。
[0003]FPGA是一种能根据位流信息来配置内部编程点实现任意输入函数发生并将其构成各种组合或者时序逻辑电路的阵列,而能实现各种函数发生功能的单元,可编程逻辑块,正是这个现场可编程门阵列的核心和重要组成部分。典型的可编程逻辑块(以下简称CLB)主要是由三部分组成:查找表电路、触发器电路和其他组合逻辑电路。触发器电路是为实现时序逻辑提供的时序单元,而其他组合逻辑则是配合查找表电路实现一些输入较少的组合逻辑,比如,2输入与逻辑、2输入异或逻辑。而实现任意输入的函数发生功能的单元则是查找表电路。所以,对查找表电路的优化,在速度、功耗、面积等方面各项性能的提升对实现高速低功耗的FPGA有着重要意义。
[0004]查找表电路通常由4到6个用户输入、相应的译码电路和SRAM存储点构成,可以实现任意的4到6输入I输出的组合逻辑或ROM功能;在FPGA过去的发展中,查找表的结构有几种,图1为一个三输入的查找表结构,是一种由NMOS传输管做成的八选一的译码器,传输管的数量是以二进制树的拓扑结构展开的。随着查找表输入端数目的增加,其电路规模将按2k规律急剧增加,因此高输入查找表电路并不具备实用价值。图2为基于CMOS传输管的查找表结构,可以避免使用NMOS单管传输造成的阈值损失问题,但通常Q端要驱动很大的负载(可编程互连线),所以最后一级的反相器通常做得很大,加上多级级联的CMOS传输门,使SRAM输出的反相器的负载很大,这样会极大的增加电路的延时。

【发明内容】

[0005]本发明的目的在于提供一种能够降低查找表电路级数、减小关键路径延时、降低漏电电流,从而解决上升下降时间不对称等问题的基于FPGA的查找表电路。
[0006]本发明提供的基于FPGA的查找表电路(即FPGA中可编程逻辑块(ConfigurationLogic Block,简称CLB)中的查找表电路),通过改进查找表电路的结构、采用低阈值管构成的CMOS传输管,并且优化MOS管尺寸,来降低查找表电路级数,减小关键路径延时,降低漏电电流,解决上升下降时间不对称等问题,使得FPGA中查找表电路能够支持更加高性能的数字电路设计和验证。[0007]本发明设计的查找表电路,采用逻辑门单元和CMOS传输管混合设计。以 4输入查找表为例,由一级反相器、一级缓冲器、两级CMOS低阈值传输管以及一 个与非门组成。如图3所示,由两个反相器构成的缓冲器116设置于查找表输 出端Q前,一级反相器10?115,设置于查找表的数据存储单兀SRAM的反相输出
P0?后;两级CMOS低阈值传输管C(TC15和C16?C19分别设置于一级反相器I(Tll5后
和缓冲器116前。一级与非门输出设置于CMOS低阈值传输管的控制端。
[0008]设:P0、P1?P15代表16个SRAM编程点的存储值,但是编程点的值都是从SRAM
的反相端输出端,即两?MI ;A1、A2、A3、A4代表查找表的4个函数输入端,A1B、A2B、A3B、
A4B依次代表查找表的4个函数输入端A1、A2、A3、A4取反之后的信号,Q是查找表输出端; 对输入AfA4的译码采用两位译码的方式,即查找表的函数输入端A1、A2,以及取反之后的 信号A1B和A2B的组合经过一个与门实现对第一级CMOS低阈值传输管电路C(TC15的控制, 查找表的函数输入端A3、A4,以及取反之后的信号A3B和A4B的组合经过一个与门实现对 第二级CMOS低阈值传输管电路C16?C19的控制;其中,CMOS低阈值传输管C(TC19是由低 阈值NM0S管和PM0S并联而成,并且NM0S管和PM0S管尺寸相同。最后,SRAM存储的值经
过反相端输出两?FM,经过1级反相器I(TI15和1级缓冲器116 (缓冲器116由2个反
相器组成),2级CMOS低阈值传输管C(TC15、C16飞19,最终到达查找表输出端Q。
[0009]在电路设计上考虑到了一种将本设计扩展为带控制功能的查找表电路的设计方 法。当查找表电路中出现一个置位信号时,传统的方法如图5中在Q端加入一个与门E1实 现置位功能,而本设计则是将图3中的一个反相器115改为一个如图4中的与非门D1,将 置位信号加入到与门的一个输入端。这样只要A4?A1输入为全1从而R1=1、R5=1选通C15 和C16两个CMOS传输管,则置位信号SET即可对输出端Q进行置位了。本设计相比于图5 的传统加入控制信号的方法减少了关键路径上一级与门的延时。
[0010]设计的速度优化说明
本设计的查找表电路中,对于速度优化的考虑有以下几个方面:
(1)在电路结构上,改变了传统的对4位输入按位译码的方式,本发明变为了对4位输 入按两位译码的方式。具体来说,传统的译码方式是逐个根据A1到A4的0/1的值控制传 输管的开关,总共需要进行4级传输管译码来完成相应的函数发生。而本发明则是同时考 虑两位地址,用与非门进行一次初步译码,再将初步译码后的值来控制CMOS传输管,实现 SRAM数据的选择,这时,数据只需要经过两级CMOS传输管即可输出。从而将关键路径上的 传输管从4级降低为2级,这减小了关键路径延时,提高了查找表的速度。
[0011](2)在电路设计时,考虑到CMOS传输门在多级级联时驱动能力会存在很大的问 题,从而影响到数据传输速度。所以需要在关键路径上插入了反相器以提高驱动能力,但是 反相器是会改变信号极性的,所以必须成对插入。为了减小多级反相器所造成的延迟,本发
明在SRAM存储点的输出,采用从反相端输出,即两到输出。相反如果从SRAM存储点的
正相端输出(P0到P15)的话,则数据传输路径上就需要4级反相器。通过从SRAM反相端输出这样的设计,可以减少一级数据传输路径的一级反相器,提高数据从存储单元到Q的延时,对查找表的速度做到一定的提高。
[0012](3)在电路设计上,在考虑到反相器可以解决CMOS传输管驱动能力弱这个问题的同时,还有一个扩展应用,对比图4和图5。当查找表电路中出现一个置位信号时,如果将置位信号单独以一级与门/或门加入到Q端,这样会增加一级关键路径延时。本发明的考虑,若要将使能信号并入某一个反相器,那么会选择并入第一个反相器,因为,Q端的一级缓冲器由于考虑到后续电路可能有大的负载,那么尺寸会设计的比较大,所以并入最后一级缓冲器会造成面积的大大增加。而第一级反相器的负载很小,尺寸也就很小,那么将其做成一个与门或者或门将控制信号并入,不仅可以减小一级门级延迟,也可以做到面积只有少量的增加。只是当置位信号有效时,4输入端就应该为某个固定的值以保证置位信号传输到Q端。
[0013](4)在CMOS传输管的设计时,本发明采用低阈值管,这样数据传输延时可以做到一定的减小,但是对漏电的影响却是很小的,不会造成功耗的增加。
[0014]设计的功耗和面积优化说明
本设计的查找表电路中,对功耗和面积的优化的考虑有以下几个方面:
(I)在电路结构上,与图2对比,本发明选用CMOS传输管电路而不是NMOS传输管,避免了由NMOS传输管的阈值损失而造成的信号延时不对称的问题和漏电引起的功耗增加的问题。
[0015](2)在尺寸设计上,一般来说,CMOS传输管的PMOS尺寸会是NMOS管的2?3倍,以使得电路的上升和下降时间保持对称,但这样会大大地增加查找表的版图面积。由于Q端加入了一级缓冲器116,如图3,我们可以不用保证电路的上升下降时间的对称问题,而把PMOS和NMOS的尺寸做到一样大。这样极大的减小了查找表的面积。
[0016]技术效果
本发明通过改进查找表电路的结构、采用低阈值管构成的CMOS传输管并且优化MOS管尺寸的方法,设计出了一种高性能查找表电路。速度上,在65nm SMIC工艺下,该查找表电路的延时可以达到只有0.22ns;在250MHZ工作频率下,动态漏电流可以只有82.5uA。面积上,对晶体管尺寸的优化,使得PMOS管所占的面积缩小了 30%到50%。
【专利附图】

【附图说明】
[0017]图1三输入查找表结构。
[0018]图2基于CMOS传输管的查找表结构。
[0019]图3本发明的查找表结构。
[0020]图4置位信号嵌入反相器的查找表结构。
[0021]图5置位信号加入单独一级逻辑门的查找表结构。
[0022]图6SRAM存储单元结构。
【具体实施方式】
[0023]以4输入查找表为例,如图3,通过按Al到A4四位地址的逻辑值来控制CMOS传输门的开关,使得SRAM端到Q端出现一条导通路径,从而Q端输出所需要实现的函数值。[0024]原理上,16个SRAM编程点就构成了任意4输入组合逻辑的真值表。以查找表实现一个4输入异或逻辑为例,4个输入信息与16个编程点的存储信息如表1,当有效的Al到A4输入时,Q才输出对应的SRAM的存储点的值。
[0025]FPGA中查找表的功能实现过程如下:
首先,在FPGA下载位流的过程中,就会通过字线和位线对设计会使用到的查找表的这16个存储点进行写入,SRAM存储单元结构如图6。
[0026]下载完成后,如图3,16个SRAM单元这时按位存储着待实现函数的真值表的值,SRAM单元的正相输出端是PO到P15,SRAM单元的反相输出端即是两到FiS。
[0027]这时,在Af A4端加入不同的值,会导致打开不同的CMOS传输管,从而Q端将输出导通的CMOS管所在路径上的SRAM的值。例如图3中,当A1A2A3A4=0011时,
R1=R2=R3=0, R4=l,这使得由R4控制的CMOS传输管打开,从而两的值和Ρ?3的值可以传过
第一级CMOS传输管。由于A3A4=11,所以R6=R7=R8=0,R5=l,这使得由R5控制的CMOS传输
管打开,将传过第一级的FTI的值传到最后两级反相器最终到达Q端输出,而由于R8=0,R8
控制的CMOS传输管关闭,使得已经通过第一级传输管的两的值不能到达Q端输出。这样就实现了一个查找表逻辑。
[0028]另外,如果电路中需要加入置位信号等扩展功能的逻辑,图5说明了在电路中加入置位功能的传统方式。而本发明的方法是,如图4,将数据通路上第一个反相器改为一个与非门。当置位信号有效(O有效)时,将查找表的4个输入Al到A4的值全置为1,则将置位信号所在的通路选通,数据输出端Q则被置为I。这样就实现了支持置位等扩展功能的查找表逻辑。表1为4输入异或逻辑与编程点SRAM值。
[0029]表1
【权利要求】
1.一种基于FPGA的高性能查找表电路,其特征在于采用逻辑门单元和CMOS传输管混合设计,对于4输入查找表,由一级反相器、一级缓冲器、两级CMOS低阈值传输管以及一个与非门组成;其中,所述一级缓冲器(116)由两个反相器构成,设置于查找表输出端Q前;一级反相器(Ι0-Ι15),设置于查找表的数据存储单元SRAM的反相输出两~MS后;两级CMOS低阈值传输管(C(TC15和C16~C19)分别设置于一级反相器(Ι0-?15)后和缓冲器(116)前;一级与非门输出设置于CMOS低阈值传输管的控制端;设:P0、Pl~P15代表16个SRAM编程点的存储值,但是编程点的值都是从SRAM的反相端输出端,即两~M5 ;A1、A2、A3、A4代表查找表的4个函数输入端,A1B、A2B、A3B、A4B依次代表查找表的4个函数输入端Al、A2、A3、A4取反之后的信号,Q是查找表输出端;对4个输入AfA4的译码采用两位译码的方式,即查找表的第一、第二函数输入端(A1、A2),以及取反之后的信号(AlB和A2B)的组合经过一个与门实现对第一级CMOS低阈值传输管电路(C(TC15)的控制,查找表的第三、第四函数输入端(A3、A4),以及取反之后的信号(A3B和A4B)的组合经过一个与门实现对第二级CMOS低阈值传输管电路(C16飞19)的控制;其中,CMOS低阈值传输管(C(TC19)是由低阈值NMOS管和PMOS并联而成,并且NMOS管和PMOS管尺寸相同;SRAM存储的值经过反相端输出而~M5,经过一级反相器(Ι0-Ι 15)和一级缓冲器(I16),2级CMOS低阈值传 输管(C(TC15、C16飞19),最终到达查找表输出端Q。
【文档编号】H03K19/177GK103580678SQ201310536697
【公开日】2014年2月12日 申请日期:2013年11月4日 优先权日:2013年11月4日
【发明者】来金梅, 袁靖茹, 叶海江 申请人:复旦大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1