稀疏查找表及FPGA中逻辑结点的映射方法与流程

文档序号:12596679阅读:370来源:国知局
稀疏查找表及FPGA中逻辑结点的映射方法与流程
本发明涉及现场可编程逻辑门阵列(FPGA)
技术领域
,尤其涉及一种采用常量电平替换部分内部静态随机存储器(SRAM)配置单元的稀疏查找表(SparseLookUpTable,Sparse-LUT)。
背景技术
:查找表(Look-upTable,LUT)作为现场可编程逻辑门阵列(FieldProgrammableGateArrays,FPGAs)架构中的可编程逻辑结构,为FPGA芯片提供用户设计的逻辑实现。最基本的查找表结构如图1所示,由可配置的静态随机存储器(StaticRandomAccessMemory,SRAM)单元11和多级选通器电路(Multiplexer,MUX)12构成,每个查找表的SRAM单元都根据其所实现的功能进行配置,随后,输出端口13根据输入端口14的变化,选择出对应SRAM单元的配置值,从而实现相应逻辑功能的输出。对于一个K输入的查找表单元,一共有2K个SRAM配置位,因此存在22K种不同的配置方案,可以实现22K种不同的功能。然而,查找表具有如此强大的灵活性是以电路面积、延迟和功耗为代价的,并且其单元延迟随着输入数目K的增大呈线性增长,其单元面积则成指数性增大,如何有效地改善查找表结构一直是FPGA结构研究的重点问题。一个K输入查找表的功能集合中包含22K种不同的逻辑功能,但是实际上在如此庞大的功能集合中存在很多不必要的冗余功能:1、某些功能是等价的,比如可以通过引脚的交换来将不同的配置进行等价;2、某些功能在实际的电路中,极少或者根本用不到,造成了配置资源的浪费;以四输入查找表结构在VTR测试电路集中的411,799个逻辑功能的分析结果为例,如图2所示,411,799个查找表所实现逻辑功能的统计中,一共只出现了1,001个不同的逻辑功能,这远远小于216=65,536个功能的表达,证明了查找表的常用功能确实远少于其功能集合。而在这1,001个逻辑功能中,其中出现率最高的前64个逻辑功能就能覆盖78.4%的常用功能,再次映证了查找表需要的常用功能很少,其现有功能过于冗余。表1列举了不同查找表在VTR测试电路集下的常用功能数目和功能覆盖率的关系,从表中的数据可以看出,所有的查找表都存在非常多的功能冗余,并且查找表尺寸越大,功能冗余越多。表1对查找表的功能集合进行合理分析和筛选,选择性的剔除掉那些不必要的冗余功能,只保留最精简常用的逻辑功能。功能缩减的背后就意味着可以大大减少所需要的SRAM配置位的数目,从而非常有效地减小查找表的面积。传统的查找表结构是由SRAM配置位和多级选通器电路构成,表2列举出了现有几种不同查找表的面积组成,其中2级、3级表示的是查找表的电路实现中所采用选通器(MUX)电路的级数。SRAM和MUX面积项中的百分率表示该部分电路占整个查找表电路面积的比率,其中SRAM面积占到整个查找表面积的62-79%。因此,减小SRAM的数目能有效的减小查找表单元的面积。例如,当SRAM数目减少50%时,查找表的面积可以减少31-39%;当SRAM数目减少75%时,查找表的面积将减半。表3列举说明了减少SRAM的数目对减少查找表面积的影响。KSRAM面积MUX面积查找表总面积4(2级)96(62%)60(38%)1566(3级)384(74%)132(26%)5166(2级)384(68%)180(32%)5648(4级)1,536(79%)420(21%)1,9568(2级)1,536(74%)544(26%)2,080表2表3技术实现要素:(一)要解决的技术问题本发明的目的在于,提供一种用于FPGA的稀疏查找表,具有较小的单元面积,从而可以减小整个FPGA芯片的面积。(二)技术方案本发明提供一种用于FPGA的稀疏查找表,包括k个输入端口、多级选通器电路、n个SRAM单元和1个输出端口,多级选通器电路根据所述输入端口的输入,选择相应的配置值,并通过输出端口将配置值输出,多级选通器电路具有k个控制端、2k个输入端和一个输出端,其中,k个输入端口分别与k个控制端连接,输出端与输出端口连接,2k个输入端中的n个输入端分别与所述n个SRAM单元连接,剩下的2k-n个输入端分别与常量电平连接,其中,n和k为大于等于1的整数。根据本发明的一种实施方式,常量电平的电平值为0或1,常量电平数量和电平值的选择是根据稀疏度和稀疏模式来确定的,使用常量电平对SRAM配置单元进行替换,从而实现现有查找表的冗余功能的精简,减小查找表的单元面积,提高其面积效率。多级选通器电路包括多个选通器,其中,该选通器为2m选1电路,m为大于等于1的自然数。本发明还提供一种FPGA中逻辑结点的映射方法,包括:S1,建立数据库,其中,数据库中记录有稀疏查找表所能输出的逻辑功能,稀疏查找表具有k个输入端口;S2,为每个逻辑结点生成一组备选割集合,对每个逻辑结点的备选割集合进行遍历,选择出输入数目小于等于k的备选割,并提取出该备选割的逻辑功能;S3,判断该备选割的逻辑功能是否存在于数据库中,若是,则标识当前备选割为稀疏查找表实现,否则,标识当前结点采用传统查找表实现。(三)有益效果本发明采用常量电平替换部分内部SRAM单元,使得稀疏查找表的单元面积减小,从而可以减小整个FPGA芯片的面积,并使用配套的映射算法,可以使用更少的芯片面积来实现相同用户电路,以稀疏度N=6为例,稀疏查找表面积比常规查找表面积减小38%,实现的用户电路面积减小12%。附图说明图1是现有技术中四输入查找表的逻辑结构示意图。图2是现有技术查找表功能集合中逻辑功能数目和常用功能覆盖率关系曲线。图3是本发明实施例提供的稀疏查找表的结构示意图。具体实施方式为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明进一步详细说明。图3是本发明实施例提供的稀疏查找表的结构示意图,如图3所示,稀疏查找表包括4个输入端口35、二级选通器电路31、8个SRAM单元32和1个输出端口34,二级选通器电路31具有4个控制端、16个输入端和一个输出端,其中,4个输入端口分别与4个控制端连接,输出端与输出端口连接,16个输入端中的8个输入端分别与8个SRAM单元连接,剩下的8个输入端分别与8个常量电平33连接。在本实施例中,二级选通器电路31根据输入端口35的信号值选择出对应的SRAM配置位32的配置值或常量电平(0或1)33,从输出端口34输出,从而实现特定的逻辑功能。通过常量电平33对SRAM配置位32的替换,减少了查找表中的SRAM配置位32数目,从而减小了查找表的单元面积值。FPGA逻辑单元结构对EDA工具映射算法有着决定性的影响。当前学术界流行的映射工具ABC的映射算法认为查找表能够实现任意功能,而稀疏查找表由于功能的精简,必定存在部分无法实现的功能,不能使用传统的映射算法实现映射过程,因此需要与之配套的映射算法来实现稀疏查找表结构的使用。本发明实施例提供一种一种FPGA中逻辑结点的映射方法,包括:S1,根据用户指定的稀疏查找表的稀疏度和SRAM配置位分布模式,建立指定稀疏查找表所能实现功能的数据库;S2,数据库建立完成后,采用传统的映射算法,为每个逻辑结点生成一组备选割(Cut)集合。随后,对每个结点的Cut集合进行遍历,选择出那些输入数目小于等于k且不降低整个映射结果性能和面积的Cut;提取出这些Cut的逻辑功能;S3,判断该备选割的逻辑功能是否存在于数据库中,若是,则标识当前备选割为稀疏查找表实现,否则,标识当前结点采用传统查找表实现;然后进行下一个结点的映射。以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1