一种基于超前进位实现快速加法的可编程逻辑单元结构的制作方法

文档序号:14119960阅读:274来源:国知局
一种基于超前进位实现快速加法的可编程逻辑单元结构的制作方法

本发明涉及一种可编程逻辑单元结构,特别涉及一种基于超前进位实现快速加法的可编程逻辑单元结构,属于可编程逻辑器件技术领域。



背景技术:

可编程逻辑器件,当前主流为基于sram设计的fpga芯片,通过相应的软件开发工具,经过设计代码输入、逻辑综合、映射、布局布线和位流生成,快速地将设计编程到fpga器件中,节省大量的非重发性工程成本和电路研发周期,同时可编程逻辑器件是支持多次重复编程的,只需要重新下载编程,即可完成电路的修改。因此可编程逻辑器件具有开发周期短,成本低,风险小,集成度高,灵活性大,且便于电子系统维护和升级等优点,因此受到了广大终端产品用户的青睐,成为了集成电路芯片的主流,且被广泛应用在各种领域如通信、控制、视频、信息处理、电子、互联网、汽车以及航空航天等,同时也广泛应用于集成电路的原型验证,缩短产品开发时间。

当前主流可编程逻辑器件,主要包含可编程逻辑单元、数字信号处理dsp、存储单元bram以及一些高速接口、时钟模块和ip核等,而可编程逻辑单元是可编程逻辑器件中最基本和核心的结构,是可编程逻辑器件中最主要的模块,它在器件中按阵列重复分布,并随着芯片应用规模的增大,而进入千万门级阵列,因此可编程逻辑单元的设计是整个可编程逻辑器件的关键,它的性能决定着整个芯片的性能,如功能、运算能力、可编程灵活性、布通率、面积、速度以及功耗等。



技术实现要素:

本发明所要解决的技术问题是:提供一种基于超前进位实现快速加法的可编程逻辑单元结构,该可编程逻辑单元结构支持4位的超前进位加法,具有速度快的优点,同时支持可编程逻辑单元间的进位级联,快速实现高位宽的加法运算,提高可编程逻辑单元的利用率。

本发明为解决上述技术问题采用以下技术方案:

一种基于超前进位实现快速加法的可编程逻辑单元结构,包括第一至第四非全覆盖的八输入查找表,第一至第九反向器,第一至第六二输入与门,第一至第四三输入与门,第一至第四二输入异或门,第一至第七五输入选择器,第一至第三四输入选择器,第一三输入选择器,第一至第四二输入选择器,第一至第四触发器,时钟信号取反与否选择器,进位输入信号和初始设置值选择器;

第一非全覆盖的八输入查找表包括第一至第八信号输入端、第一至第二信号输出端;第二非全覆盖的八输入查找表包括第一至第八信号输入端、第一至第二信号输出端;第三非全覆盖的八输入查找表包括第一至第八信号输入端、第一至第二信号输出端;第四非全覆盖的八输入查找表包括第一至第八信号输入端、第一至第二信号输出端;所述可编程逻辑单元结构包括第一至第十二信号输出端,第一至第三信号控制端,进位信号输出端;

第一非全覆盖的八输入查找表的第一信号输出端连接第二五输入选择器输入端、第三五输入选择器输入端、第一二输入选择器输入端、第一三输入选择器输入端、第一四输入选择器输入端、第一五输入选择器输入端;第一非全覆盖的八输入查找表的第二信号输出端连接第一二输入异或门输入端、第二五输入选择器输入端、第三五输入选择器输入端、第二信号输出端、第一二输入选择器控制端、第二二输入选择器输入端、第二反向器输入端、第二二输入与门输入端、第五反向器输入端、第二三输入与门输入端、第九反向器输入端、第六二输入与门输入端;

第二非全覆盖的八输入查找表的第一信号输出端连接第四五输入选择器输入端、第五五输入选择器输入端、第一三输入选择器输入端、第一四输入选择器输入端、第一五输入选择器输入端;第二非全覆盖的八输入查找表的第二信号输出端连接第二二输入选择器输入端、第二二输入异或门输入端、第四五输入选择器输入端、第五五输入选择器输入端、第五信号输出端、第一反向器输入端、第一二输入与门输入端、第二二输入与门输入端、第四反向器输入端、第一三输入与门输入端、第二三输入与门输入端、第八反向器输入端、第四三输入与门输入端;

第三非全覆盖的八输入查找表的第一信号输出端连接第六五输入选择器输入端、第七五输入选择器输入端、第一四输入选择器输入端、第一五输入选择器输入端;第三非全覆盖的八输入查找表的第二信号输出端连接第三二输入选择器输入端、第三二输入异或门输入端、第六五输入选择器输入端、第七五输入选择器输入端、第八信号输出端、第三反向器输入端、第三二输入与门输入端、第一三输入与门输入端、第二三输入与门输入端、第七反向器输入端、第三三输入与门输入端、第四三输入与门输入端;

第四非全覆盖的八输入查找表的第一信号输出端连接第二四输入选择器输入端、第三四输入选择器输入端、第一五输入选择器输入端;第四非全覆盖的八输入查找表的第二信号输出端连接第三二输入选择器输入端、第四二输入异或门输入端、第二四输入选择器输入端、第三四输入选择器输入端、第十一信号输出端、第六反向器输入端、第四二输入与门输入端、第三三输入与门输入端、第四三输入与门输入端;

进位输入信号和初始设置值选择器输出端连接第一二输入异或门输入端、第一二输入选择器输入端、第一三输入选择器输入端、第一四输入选择器输入端、第一五输入选择器输入端;

第一信号控制端连接第二二输入选择器控制端,第二信号控制端连接第四二输入选择器控制端,第三信号控制端连接第三二输入选择器控制端;

第一二输入选择器输出端连接第二二输入异或门输入端、第二五输入选择器输入端、第三五输入选择器输入端;第一二输入异或门输出端连接第二五输入选择器输入端、第三五输入选择器输入端;第二二输入选择器输出端连接第四二输入选择器输入端、第二五输入选择器输入端、第三五输入选择器输入端;第二二输入异或门输出端连接第四五输入选择器输入端、第五五输入选择器输入端;第二反向器输出端连接第一二输入与门输入端,第一反向器输出端、第一二输入与门输出端、第二二输入与门输出端分别连接第一三输入选择器控制端;第一三输入选择器输出端连接第三二输入异或门输入端、第四五输入选择器输入端、第五五输入选择器输入端;第四二输入选择器输出端连接第四五输入选择器输入端、第五五输入选择器输入端;第三二输入异或门输出端连接第六五输入选择器输入端、第七五输入选择器输入端;第四反向器输出端连接第三二输入与门输入端;第五反向器输出端连接第一三输入与门输入端;第三反向器输出端、第三二输入与门输出端、第一三输入与门输出端、第二三输入与门输出端分别连接第一四输入选择器控制端;第一四输入选择器输出端连接第四二输入异或门输入端、第六五输入选择器输入端、第七五输入选择器输入端;第三二输入选择器输出端连接第四二输入选择器输入端、第六五输入选择器输入端、第七五输入选择器输入端;第四二输入异或门输出端连接第二四输入选择器输入端、第三四输入选择器输入端;第四三输入与门输出端连接第五二输入与门输入端、第六二输入与门输入端;第七反向器输出端连接第四二输入与门输入端;第八反向器输出端连接第三三输入与门输入端;第九反向器输出端连接第五二输入与门输入端;第六反向器输出端、第四二输入与门输出端、第三三输入与门输出端、第五二输入与门输出端、第六二输入与门输出端分别连接第一五输入选择器控制端;第一五输入选择器输出端连接第二四输入选择器输入端、第三四输入选择器输入端、进位信号输出端;

第二五输入选择器输出端连接第一触发器输入端;第三五输入选择器输出端连接第三信号输出端;第四五输入选择器输出端连接第二触发器输入端;第五五输入选择器输出端连接第六信号输出端;第六五输入选择器输出端连接第三触发器输入端;第七五输入选择器输出端连接第九信号输出端;第二四输入选择器输出端连接第四触发器输入端;第三四输入选择器输出端连接第十二信号输出端;时钟信号取反与否选择器输出端连接第一触发器时钟端、第二触发器时钟端、第三触发器时钟端、第四触发器时钟端;第一触发器输出端连接第一信号输出端;第二触发器输出端连接第四信号输出端;第三触发器输出端连接第七信号输出端;第四触发器输出端连接第十信号输出端。

作为本发明的一种优选方案,所述第一非全覆盖的八输入查找表的第二信号输出端、第二非全覆盖的八输入查找表的第二信号输出端分别连接第二二输入选择器输入端,组成一个七输入查找表lut7;第三非全覆盖的八输入查找表的第二信号输出端、第四非全覆盖的八输入查找表的第二信号输出端分别连接第三二输入选择器输入端,组成一个七输入查找表lut7;第二二输入选择器输出端、第三二输入选择器输出端分别连接第四二输入选择器输入端,组成一个八输入查找表lut8。

作为本发明的一种优选方案,所述第一至第九反向器,第一至第六二输入与门,第一至第四三输入与门,第一二输入选择器,第一三输入选择器,第一四输入选择器,第一五输入选择器组成四位超前进位产生逻辑,配合第一至第四非全覆盖的八输入查找表和第一至第四二输入异或门,实现四位超前进位加法运算。

作为本发明的一种优选方案,所述第二至第七五输入选择器,配合第二至第三四输入选择器,作为非全覆盖的八输入查找表的输出控制模块。

作为本发明的一种优选方案,所述第一至第四触发器结构完全相同,实现数据的寄存。

本发明采用以上技术方案与现有技术相比,具有以下技术效果:

1、本发明可编程逻辑单元结构支持4位的超前进位加法,相较于当前主流可编程逻辑器件中普遍采用进位传播加法器,该支持超前进位加法的可编程逻辑单元可以极大的提高运算速度,在级联实现更高位宽的加法运算时,效率提高的更加明显。

2、本发明可编程逻辑单元可配置能力强、灵活性高,其中进位链逻辑可以不通过外围走线资源,通过内部直接级联,快速地实现较宽逻辑函数。

3、本发明采用非全覆盖的八输入查找表lut6结构,可以工作在粗粒度模式或细粒度模式,在粗粒度模式下等效常规lut6,在细粒度模式下可以实现两个完全独立的lut4。

4、本发明超前进位加法器通过配置4个lut6实现产生进位传输信号p和进位产生信号g,同时采用传输门组成的多路选择器实现与或逻辑,产生进位信号,可以进一步提高运算速度。

附图说明

图1是本发明一种基于超前进位实现快速加法的可编程逻辑单元结构的示意图。

图2是本发明在实现超前进位加法时查找表的配置模式示意图。

图3是本发明可编程逻辑结构中所采用的超前进位逻辑结构示意图。

图4是本发明可编程逻辑单元级联连接实现高位宽加法示意图。

图5是本发明可编程逻辑单元结构中非全覆盖的八输入查找表lut6结构示意图。

具体实施方式

下面详细描述本发明的实施方式,所述实施方式的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施方式是示例性的,仅用于解释本发明,而不能解释为对本发明的限制。

一种基于超前进位实现快速加法的可编程逻辑单元结构,包括:4个非全覆盖的八输入查找表1,11,21和31,作为单元的最基本的函数发生器,根据配置可以实现全覆盖的六输入逻辑函数或者两个完全独立的四输入逻辑函数;9个反向器16,17,26,27,28,36,37,38和41,6个二输入与门18,18b,29a,39a,39c和39d,4个三输入与门29b,29c,39b和42,以及4个多路选择器2,12,22和32组成4位超前进位产生逻辑,配合4个查找表和4个二输入异或门3,13,23和33可以实现4位超前进位加法运算;6个五输入选择器4a,4b,14a,14b,24a和24b,配合2个四输入选择器34a和34b作为查找表的输出控制模块,可以根据需要选择对应的信号输出;四个完全相同的触发器dff模块5,15,25,和35,可以实现数据的寄存;宽输入查找表功能实现模块,包括3个二输入选择器43,44和45,可以实现两个7lut或一个8lut逻辑。

可编程逻辑单元结构包含a,b,c,d共4组输入信号:a1~a8,ax,b1~b8,bx,c1~c8,cx,d1~d8,此外还包括触发器控制信号sr,ce和时钟信号clk,同时包含进位输入信号cin和进位输出信号cout。

可编程逻辑单元结构包含a,b,c,d共4组输出信号:aq,a,amux,bq,b,bmux,cq,c,cmux,dq,d,dmux。

可编程逻辑单元结构按功能结构划分可分为luta,lutb,lutc,lutd四组和超前进位加法逻辑,以组luta为例,如图1所示,包括:查找表基本模块1,两个多路选择器4a和4b,一个寄存器5。其它三组lutb,lutc,lutd中内部结构与luta一致。luta中查找表接收八个输入信号a1,a2,a3,a4,a5,a6,a7和a8,可以实现全覆盖的六输入逻辑函数或者两个完全独立的四输入逻辑函数;两个多路选择器4a和4b的输入来自查找表的o6输出、o5输出、超前进位加法逻辑产生的进位和和位信号,多路选择器的选择控制信号来源于配置ram,寄存器5可以实现数据的寄存。组lutb,组lutc,组lutd的内部结构与组luta保持一致。

可编程逻辑单元结构包含四位的超前进位加法逻辑,可以快速实现4位加法运算,查找表可以配置成产生进位传输信号p和进位产生信号g,减少超前进位逻辑规模,节省面积,查找表的配置情况如图2所示。该可编程逻辑结构中的超前4位加法器所采用结构与传统超前加法器结构不同,采用基于传输门的多路选择器实现超前进位逻辑,该结构相对于传统的多输入或门逻辑,可以有效的提高运算速度,结构如图3所示。

如图1所示,一种基于超前进位实现快速加法的可编程逻辑单元结构,包括4个非全覆盖的八输入查找表1,11,21和31,作为单元最基本的函数发生器,分别为luta、lutb、lutc和lutd,luta、lutb、lutc和lutd四个查找表结构一致。以luta为例说明,luta接收八个输入信号a1,a2,a3,a4,a5,a6,a7和a8,根据用户配置,通过配置ram中的地址信号值可以实现全覆盖的六输入逻辑函数或者两个完全独立的四输入逻辑函数;查找表有两个输出,一个为o6,另一个为o5。该可编程逻辑结构同时包含4位超前进位逻辑、多输入选择器4a、4b、14a、14b、24a、24b、34a、34b和输出寄存器5、15、25和35。多输入选择器可以从多个信号源中根据配置ram的值选择一个信号源进行输出。以luta对应的多路选择器为例,两个多路选择器4a和4b的输入来源一样,分别为查找表luta的o6输出、分别为查找表luta的o5输出、最低位和位输出、最低位进位输出和lut7输出,多路选择器4a的输出送往寄存器,输出为aq,多路选择器4b的输出不经过寄存器,输出为amux。lutb、lutc和lutd对应的多路选择器和寄存器连接关系和luta对应的多路选择器和寄存器连接关系一致。

如图1所示,一种基于超前进位实现快速加法的可编程逻辑结构支持7lut和8lut功能,luta和lutb的o6输出端连接两输入选择器43的输入端,组成一个lut7,lutc和lutd的o6输出端连接两输入选择器44的输入端,组成一个lut7,两输入选择器43和44的输出端连接两输入选择器45的输入端,组成一个lut8。

如图1所示,一种基于超前进位实现快速加法的可编程逻辑结构支持4位的超前进位加法。超前进位通过4个非全覆盖的八输入lut6和图1中对应的超前进位逻辑实现,超前进位相对与普通的进位传播加法器,速度大大提高,取消了高位加法对地位进位的等待时间,所以需要进位产生逻辑。超前进位加法普遍采用与或逻辑实现,其中有两个关键信号是进位传输信号p和进位产生信号g,在是的时候通过查找表来配置产生进位传输信号p和进位产生信号g,这样可以节省超前进位产生逻辑,配置如图2所示。该可编程逻辑单元的进位信号可以来自下面可编程逻辑单元的进位输出信号,也可以通过配置ram制定一个初始值,这个功能通过二输入选择器7实现,当通过级联多个多路选择器实现更高位宽的加法运算时,需要将二输入多路选择器7配置成选择选择cin作为低位进位信号。实现更高位宽加法运算时,可编程逻辑单元之间的级联如图4所示连接。

如图1所示,一种基于超前进位实现快速加法的可编程逻辑结构中的超前进位加法主要由进位信号产生逻辑和和位信号产生逻辑两部分组成。和位信号产生逻辑相对简单,通过异或门实现,四位和位信号分别通过异或门3、13、23和33产生,异或门的输入来源为低位进位信号和本位权对应的进位传输信号p,进位传输信号p由非全覆盖的六输入查找表配置产生,通过o6端口输出,将查找表的o6输出与低位进位信号与异或门的输入连接产生和位信号。进位信号产生逻辑相对复杂,随着位数的增加,逻辑规模大大增加。所以该基于超前进位实现快速加法的可编程逻辑结构中采用四位超前进位加法结构设计,可以很好的实现速度和面积的折中。该基于超前进位实现快速加法的可编程逻辑结构中的进位产生逻辑通过与门和多路选择器实现,采用基于传输门实现的逻辑选择器可以很好的提高进位产生逻辑速度,从而进一步提高运算速度。以最高位进位信号产生逻辑为例进行说明,逻辑连接关系如图3所示,图3中的反向器36、37、38、41、三输入与门42、39b和二输入与门39a、39c和39d产生选择信号,对多路选择器32中的五个传输门进行控制,选择正确的信号源,产生进位信号。a_o6、b_o6、c_o6和d_o6分别为luta、lutb、lutc和lutd的o6输出端,配置成进位传输信号p,当进位传输信号p为0时,进位选择当前进位产生信号g,进位产生信号g对应六输入查找表的o5输出。图3中的a_o5、b_o5、c_o5和d_o5分别为luta、lutb、lutc和lutd的o5输出端,即四位进位产生信号。根据超前进位产生原理可知,当高位进位传输信号为1时,进位信号来自低一级的进位产生信号g,如果低一级的进位传输信号仍为1,则进位信号来自低二级的进位产生信号g,依次类推,当四位进位信号的进位传输信号都为1时,进位来源于cin端口。所以可以根据luta、lutb、lutc和lutd的o6输出端的值,即进位传输信号p的值从luta、lutb、lutc和lutd的o5输出端的值,即进位产生信号g的值中选择正确的值作为最高位的进位信号cout,这样不需要等待低一级进位信号的产生就可以直接根据luta、lutb、lutc和lutd的o6和o5输出端的值来产生最高位进位信号,极大的提高运算速度。同时,图3中的多路选择器采用基于传输门实现的多路选择器,相较于传统使用4输入或门实现可以进一步提高运算速度,提高整个加法运算的效率。

图4所示为两个基于超前进位实现快速加法的可编程逻辑单元结构的上下级联,通过将下面可编程逻辑单元的cout端口与上面可编程逻辑单元的cin端口级联,并配置上面可编程逻辑单元的进位信号选择选择器选择cin,即可实现两个可编程逻辑单元的级联,即两个超前进位4位加法器级联,可以完成8位加法运算,极大的提高运算速度。

图5所示为非全覆盖的八输入查找表lut6结构,该结构在传统六输入lut6结构的基础上进行改进,通过控制信号选择可以工作在粗粒度模式或者细粒度模式。粗粒度模式等效常规的六输入查找表,细粒度模式下可以实现两个完全独立的四输入逻辑函数,可以有效提高逻辑利用率。图5中黑色粗实线条为一个四输入lut,输出为z1,黑色粗虚线条为另一个四输入lut,输出为z0。

以上实施例仅为说明本发明的技术思想,不能以此限定本发明的保护范围,凡是按照本发明提出的技术思想,在技术方案基础上所做的任何改动,均落入本发明保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1