CN111752528A - 一种支持高效乘法运算的基本逻辑单元 - Google Patents
一种支持高效乘法运算的基本逻辑单元 Download PDFInfo
- Publication number
- CN111752528A CN111752528A CN202010613251.2A CN202010613251A CN111752528A CN 111752528 A CN111752528 A CN 111752528A CN 202010613251 A CN202010613251 A CN 202010613251A CN 111752528 A CN111752528 A CN 111752528A
- Authority
- CN
- China
- Prior art keywords
- input
- output
- basic logic
- port
- logic unit
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
- G06F7/50—Adding; Subtracting
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Pure & Applied Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computing Systems (AREA)
- Mathematical Optimization (AREA)
- General Engineering & Computer Science (AREA)
- Logic Circuits (AREA)
Abstract
本发明公开了一种支持高效乘法运算的基本逻辑单元,涉及可编程逻辑技术领域,该基本逻辑单元内包括查找表和两条加法进位链,通过查找表实现与逻辑产生部分积,第一加法进位链对部分积进行一次求和,第二加法进位链可以对第一加法进位链的求和结果与外部输入的部分积进行二次求和,该基本逻辑单元内部包含两条加法进位链可以实现两次加法运算,在实现乘法运算的部分积压缩时会用到两条加法进位链,有效提高乘法运算效率,无论在面积上还是速度上都具有较大优势,在面积上更少的基本逻辑单元可以实现相同的乘法运算,且两条加法进位链直接相连,距离更近速度更快,可以有效提高部分积加法运算效率,从而实现高效率的乘法运算。
Description
技术领域
本发明涉及可编程逻辑技术领域,尤其是一种支持高效乘法运算的基本逻辑单元。
背景技术
现场可编程门阵列,也成为了FPGA,是一种支持硬件编程的集成电路芯片,可以通过相应的软件开发工具经过代码输入、逻辑综合、映射、布局布线和位流生成,快速地将设计编程下载到FPGA中,节省工程成本和研发时间。同时FPGA作为一种可编程逻辑器件,其支持多次重复编程,只需要重新下载编程即可完成电路的修改,具有开发周期短、成本低、风险小、灵活性大等优点,因此被广泛应用于通信、大数据处理、人工智能以及航空航天等领域,同时也广泛应用于集成电路的原型验证,缩短产品开发时间。
当前主流的可编程逻辑器件内部主要包括可编程逻辑单元(CLB)、数字信号处理(DSP)、存储单元(BRAM)以及一些高速接口、时钟模块和其他IP核。可编程逻辑单元是可编程逻辑器件中最基本也是最核心的单元,是可编程逻辑器件中最主要的模块,它在可编程逻辑器件中按阵列分布,随着器件应用规模的增大,可编程逻辑单元的规模也达到千万门级。因此可编程逻辑单元的设计水平是整个可编程逻辑器件的关键,它的性能决定着整个芯片的性能,比如功能、运算能力、可编程灵活性、布通率、面积、速度以及功耗等。随着人工智能的快速发展,深度学习成为当前的热门研究领域,FPGA由于其可编程性,广泛应用于人工智能领域,如何充分利用FPGA内部的可编程逻辑资源以提高其乘法运算能力具有重要的现实意义。
发明内容
本发明人针对上述问题及技术需求,提出了一种支持高效乘法运算的基本逻辑单元,本发明的技术方案如下:
一种支持高效乘法运算的基本逻辑单元,该基本逻辑单元内部包括部分积产生器、n个一级加法器和n个二级加法器,每个一级加法器分别与一个二级加法器对应,n个一级加法器通过进位输入输出端依次相连形成第一加法进位链,n个二级加法器通过进位输入输出端依次相连形成第二加法进位链,部分积产生器由查找表实现,部分积产生器连接基本逻辑单元的输入端口并根据输入信号实现与逻辑产生若干个部分积;
n个一级加法器的两个加法输入端均连接部分积产生器,每个一级加法器对加法输入端获取到的两个部分积进行一次求和,一级加法器的加法输出端连接对应的二级加法器的一个加法输入端,二级加法器的另一个加法输入端连接基本逻辑单元的输入端口,每个二级加法器对加法输入端获取到的两个部分积进行二次求和;
每个一级加法器的加法输出端及其对应的二级加法器的加法输出端分别连接到一个第一两输入选择器的两个输入端,第一两输入选择器的输出端连接至基本逻辑单元的一个输出端口。
其进一步的技术方案为,每个第一两输入选择器的输出端通过对应的触发器和第二两输入选择器连接至基本逻辑单元的一个输出端口,第一两输入选择器的输出端分别连接至对应的触发器的输入端和第二两输入选择器的一个输入端,触发器的输出端连接第二两输入选择器的另一个输入端,第二两输入选择器的输出端连接至基本逻辑单元的输出端口;
第二两输入选择器选择将第一两输入选择器的输出信号直接输出到基本逻辑单元的输出端口,或者,选择将第一两输入选择器的输出信号经过触发器后寄存输出到基本逻辑单元的输出端口。
其进一步的技术方案为,基本逻辑单元的至少一个输入端口通过触发器直接连接到输出端口。
其进一步的技术方案为,基本逻辑单元还包括第三两输入选择器,其中一个第一两输入选择器的输出端通过第三两输入选择器连接至对应的触发器的输入端和第二两输入选择器的一个输入端,第三两输入选择器的一个输入端连接第一两输入选择器的输出端、另一个输入端连接基本逻辑单元的一个输入端口,第三两输入选择器选择直接将基本逻辑单元的一个输入端口的信号经过触发器寄存输出。
其进一步的技术方案为,基本逻辑单元还包括第四两输入选择器,与第三两输入选择器相连的基本逻辑单元的输入端口还连接第四两输入选择器的一个输入端,与第三两输入选择器相连的基本逻辑单元的输出端口连接第四两输入选择器的另一个输入端,第四两输入选择器的输出端连接至对应的部分积产生器提供输入信号;
第四两输入选择器选择将基本逻辑单元的输入端口的信号直接输入到部分积产生器中或者经过触发器后输入到部分积产生器中。
其进一步的技术方案为,基本逻辑单元还包括连接第一加法进位链的输入端的第一进位输入端口以及连接第一加法进位链的输出端的第一进位输出端口,还包括连接第二加法进位链的输入端的第二进位输入端口以及连接第二加法进位链的输出端的第二进位输出端口,基本逻辑单元通过第一进位输入端口连接上一级基本逻辑单元的第一进位输出端口、通过第一进位输出端口连接下一级基本逻辑单元的第一进位输入端口、通过第二进位输入端口连接上一级基本逻辑单元的第二进位输出端口、通过第二进位输出端口连接下一级基本逻辑单元的第二进位输入端口,基本逻辑单元内部的第一加法进位链与其他基本逻辑单元内部的第一加法进位链形成级联结构,基本逻辑单元内部的第二加法进位链与其他基本逻辑单元内部的第二加法进位链形成级联结构。
其进一步的技术方案为,基本逻辑单元包括八个输入端口分别为A、B、C、D、E、F、G、H,基本逻辑单元内包括四个4输入查找表、两个第一两输入选择器、两个一级加法器以及两个二级加法器,每个4输入查找表用于实现两输入与逻辑产生一个部分积,每条加法进位链支持两位加法运算;四个4输入查找表分别为第一查找表、第二查找表、第三查找表和第四查找表,两个第一两输入选择器分别为MUX9和MUX10,两个一级加法器分别为第一一级加法器和第二一级加法器,两个二级加法器分别为第一二级加法器和第二二级加法器;
四个4输入查找表共用输入端口A和输入端口B,第一查找表和第二查找表还共用输入端口G和输入端口H,第三查找表和第四查找表还共用输入端口C和输入端口D;
第一一级加法器的两个加法输入端分别连接第一查找表的输出端和第二查找表的输出端,第一一级加法器的加法输出端连接第一二级加法器的一个加法输入端,第一二级加法器的另一个加法输入端连接输入端口F,第一一级加法器的加法输出端和第一二级加法器的加法输出端分别连接到MUX9的两个输入端,MUX9的输出端连接至基本逻辑单元的一个输出端口;
第二一级加法器的两个加法输入端分别连接第三查找表的输出端和第四查找表的输出端,第二一级加法器的加法输出端连接第二二级加法器的一个加法输入端,第二二级加法器的另一个加法输入端连接输入端口E,第二一级加法器的加法输出端和第二二级加法器的加法输出端分别连接MUX10的两个输入端,MUX10的输出端连接至基本逻辑单元的另一个输出端口。
其进一步的技术方案为,基本逻辑单元包括四个输出端口分别为O1、O2、O3和O4,基本逻辑单元内部包括四个第五两输入选择器与一个第六两输入选择器,四个4输入查找表与四个第五两输入选择器共同形成一个6输入逻辑函数或者两个非全覆盖的5输入逻辑函数;四个第五两输入选择器分别为MUX11、MUX12、MUX13和MUX14,第六两输入选择器为MUX16;
MUX11的两个输入端分别连接第一查找表的输出端和第二查找表的输出端、输出端连接至输出端口O1;
MUX9的输出端连接至输出端口O2;
MUX12的两个输入端分别连接第一查找表的输出端和第二查找表的输出端、输出端连接至MUX14;MUX13的两个输入端分别连接第三查找表的输出端和第四查找表的输出端,MUX13的输出端分别连接至MUX14以及MUX16,MUX16的另一个输入端连接MUX10的输出端;MUX14的输出端连接至输出端口O3,MUX16的输出端连接至输出端口O4;
输入端口F同时连接MUX11和MUX14的控制端,输入端口E同时连接MUX12和MUX13的控制端,四个输出端口用于实现6输入逻辑函数的输出、两个非全覆盖的5输入逻辑函数的输出以及各个加法器的输出。
其进一步的技术方案为,基本逻辑单元内包括四个第二两输入选择器分别为MUX22、MUX23、MUX24和MUX25,还包括四个触发器分别为第一触发器、第二触发器、第三触发器和第四触发器;
MUX11的输出端连接第一触发器的输入端和MUX22的一个输入端,第一触发器的输出端连接MUX22的另一个输入端,MUX22的输出端连接输出端口O1;
MUX9的输出端连接第二触发器的输入端和MUX23的一个输入端,第二触发器的输出端连接MUX23的另一个输入端,MUX23的输出端连接输出端口O2;
MUX14的输出端连接第三触发器的输入端和MUX24的一个输入端,第三触发器的输出端连接MUX24的另一个输入端,MUX24的输出端连接输出端口O3;
MUX16的输出端连接第四触发器的输入端和MUX25的一个输入端,第四触发器的输出端连接MUX25的另一个输入端,MUX25的输出端连接输出端口O4。
其进一步的技术方案为,基本逻辑单元内包括第三两输入选择器为MUX15,MUX9通过MUX15连接第二触发器和MUX23,则MUX15的两个输入端分别连接MUX9的输出端以及基本逻辑单元的输入端口A,MUX15的输出端连接第二触发器和MUX23。
其进一步的技术方案为,基本逻辑单元内包括第四两输入选择器为MUX21,MUX21的两个输入端分别连接输入端口A以及输出端口O2,MUX21的输出端连接至四个4输入查找表的输入端;MUX21选择将输入端口A的输入信号直接输入到四个4输入查找表内或者经过第二触发器后输入到四个4输入查找表内。
本发明的有益技术效果是:
本申请公开了一种支持高效乘法运算的基本逻辑单元,该基本逻辑单元内部包含两条加法进位链可以实现两次加法运算,在实现乘法运算的部分积压压缩时会用到两条加法进位链,有效提高乘法运算效率,无论在面积上还是速度上都具有较大优势,在面积上更少的基本逻辑单元可以实现相同的乘法运算,且两条加法进位链直接相连,距离更近速度更快。
该基本逻辑单元内还设置有触发器增加整个现场可编程门阵列器件中寄存器资源,每个加法器的输出可以选择是否寄存输出,这样可以有效提高更高位宽乘法运算效率。且多个基本逻辑单元之间的两条加法进位链可以分别级联用于实现更高位宽的加法运算。
该基本逻辑单元内还涉及LUT输入经过触发器直接到LUT输出的路径,这样可以通过在长互连线中间绕进本申请的基本逻辑单元增加寄存器解决互连线延迟过大问题,从而使器件工作在较高的工作频率。
附图说明
图1是在长互连线中间接入本申请的基本逻辑单元以解决延时过大问题的示意图。
图2是本申请的基本逻辑单元的内部结构图。
图3是多个本申请的基本逻辑单元之间的两条加法进位链的级联示意图。
图4是多个本申请的基本逻辑单元实现更高位逻辑函数的连接示意图。
具体实施方式
下面结合附图对本发明的具体实施方式做进一步说明。
本申请公开了一种支持高效乘法运算的基本逻辑单元,该基本逻辑单元内部包括部分积产生器、n个一级加法器和n个二级加法器,每个一级加法器分别与一个二级加法器对应,n个一级加法器通过进位输入输出端依次相连形成第一加法进位链,n个二级加法器通过进位输入输出端依次相连形成第二加法进位链,部分积产生器由查找表实现,部分积产生器连接基本逻辑单元的输入端口并根据输入信号实现两输入与逻辑产生若干个部分积。
n个一级加法器的两个加法输入端均连接部分积产生器,每个一级加法器对加法输入端获取到的两个部分积进行一次求和,一级加法器的加法输出端连接对应的二级加法器的一个加法输入端,二级加法器的另一个加法输入端连接基本逻辑单元的输入端口,每个二级加法器对加法输入端获取到的两个部分积进行二次求和。二级加法器可以通过基本逻辑单元的输入端口获取到外部输入的部分积,该部分积可以是来自于另一个基本逻辑单元的一级加法器的输出或者二级加法器的输出。
每个一级加法器的加法输出端及其对应的二级加法器的加法输出端分别连接到一个第一两输入选择器的两个输入端,第一两输入选择器的输出端连接至基本逻辑单元的一个输出端口,第一两输入选择器选择输出一级加法器的输出或者二级加法器的输出。
本申请的基本逻辑单元内部设计两条加法进位链从而可以实现两次加法运算,无论在面积上还是速度上都具有较大优势,在面积上更少的基本逻辑单元可以实现相同的乘法运算,且两条加法进位链直接相连,距离更近速度更快。且基本逻辑单元之间的加法进位链是可以直接级联的,从而可以实现更高位宽的加法运算,也即:基本逻辑单元还包括连接第一加法进位链的输入端的第一进位输入端口Cin1以及连接第一加法进位链的输出端的第一进位输出端口Cout1,还包括连接第二加法进位链的输入端的第二进位输入端口Cin2以及连接第二加法进位链的输出端的第二进位输出端口Cout2,基本逻辑单元通过第一进位输入端口Cin1连接上一级基本逻辑单元的第一进位输出端口Cout1、通过第一进位输出端口Cout1连接下一级基本逻辑单元的第一进位输入端口Cin1、通过第二进位输入端口Cin2连接上一级基本逻辑单元的第二进位输出端口Cout2、通过第二进位输出端口Cout2连接下一级基本逻辑单元的第二进位输入端口Cin2,该基本逻辑单元内部的第一加法进位链与其他基本逻辑单元内部的第一加法进位链形成级联结构,基本逻辑单元内部的第二加法进位链与其他基本逻辑单元内部的第二加法进位链形成级联结构。
另外,该基本逻辑单元内包括触发器和第二两输入选择器,每个第一两输入选择器的输出端通过对应的触发器和第二两输入选择器连接至基本逻辑单元的一个输出端口,第一两输入选择器的输出端分别连接至对应的触发器的输入端和第二两输入选择器的一个输入端,触发器的输出端连接第二两输入选择器的另一个输入端,第二两输入选择器的输出端连接至基本逻辑单元的输出端口。基于此结构,第一两输入选择器选择输出一级加法器的输出或者二级加法器的输出,然后第二两输入选择器选择将第一两输入选择器的输出信号直接输出到基本逻辑单元的输出端口,或者,选择将第一两输入选择器的输出信号经过触发器后寄存输出到基本逻辑单元的输出端口,这样可以有效提高更高位宽乘法运算效率。
本申请的基本逻辑单元内还设计有输入端口经过触发器直接到输出端口的路径,也即输入端口连接至查找表将输入信号输入到查找表中同时通过触发器直接连接到输出端口,通过多路选择器选通输入端口经过触发器的路径使得输入信号直接到输出端口输出,因为当前随着FPGA规模的不断增加,互连延迟越来越突出,成为限制设计的性能瓶颈,这种结构可以有效解决这个问题。众所周知,流水线设计是计算机设计中的经典规则,也是集成电路设计中最常用的提高系统工作频率的方式,本申请的基本逻辑单元具有输入端口的信号通过触发器输出的特性,通过插入触发器实现流水,可以有效解决互连线延时大、影响设计性能的问题,让设计工作在更高频率。如图1所示,当设计中SRC点到DST点的延时过大时,设计很难工作在较高频率,此时可以将该互连线在中间地方接入本申请的基本逻辑单元,并选通输入端口经过触发器直接输出基本逻辑单元的路径,这样就可以通过插入触发器实现流水操作,使设计工作在更高工作频率,满足当前主流应用需求。本申请为了减少基本逻辑单元内部的器件,因此输入端口与输出端口之间的触发器与其中一个第一两输入选择器和输出端口之间的触发器共用同一个触发器,则基本逻辑单元还包括第三两输入选择器,其中一个第一两输入选择器的输出端通过第三两输入选择器连接至对应的触发器的输入端和第二两输入选择器的一个输入端,第三两输入选择器的一个输入端连接第一两输入选择器的输出端、另一个输入端连接基本逻辑单元的一个输入端口,第三两输入选择器选择输出第一两输入选择器的信号或者选择直接将基本逻辑单元的一个输入端口的信号经过触发器寄存输出。
当基本逻辑单元内包括输入端口经过触发器直接到输出端口的路径时,基本逻辑单元内还包括一个第四两输入选择器,输入端口经过该第四两输入选择器连接至查找表,也即该输入端口连接第四两输入选择器的一个输入端,该输入端口经过其相连的触发器后连接第四两输入选择器的另一个输入端,第四两输入选择器的输出端连接至对应的部分积产生器提供输入信号。第四两输入选择器可以选择输入端口直接将输入信号输入到部分积产生器中也即输入到查找表内,或者经过触发器寄存后将输入信号输入到部分积产生器中也即输入到查找表内,在大规模设计时,可以插入寄存器,平衡流水线,提高设计频率。
在本申请的一个具体结构中,请参考图2,该基本逻辑单元包括八个输入端口分别为A、B、C、D、E、F、G、H,基本逻辑单元内包括四个4输入查找表、两个第一两输入选择器、两个一级加法器以及两个二级加法器,每个4输入查找表用于实现两输入与逻辑产生一个部分积,每条加法进位链支持两位加法运算。四个4输入查找表分别为第一查找表1、第二查找表2、第三查找表3和第四查找表4并作为最基本的函数发生器,根据配置可以实现全覆盖的4输入逻辑函数。四个4输入查找表共用输入端口A和输入端口B,第一查找表1和第二查找表2还共用输入端口G和输入端口H,第三查找表3和第四查找表4还共用输入端口C和输入端口D,因此第一查找表1和第二查找表2可以分别实现全覆盖的4输入逻辑函数ABGH,第三查找表3和第四查找表4可以分别实现全覆盖的4输入逻辑函数ABCD。两个一级加法器分别为第一一级加法器5和第二一级加法器6,两个二级加法器分别为第一二级加法器7和第二二级加法器8。两个第一两输入选择器分别为MUX9(图中仅以标号9表示)和MUX10(图中仅以标号10表示)。则该基本逻辑单元还包括与第一一级加法器5和第二一级加法器6形成的第一加法进位链相连的第一进位输入端口Cin1和第一进位输出端口Cout1,还包括连接第一二级加法器7和第二二级加法器8形成的第二加法进位链的第二进位输入端口Cin2和第二进位输出端口Cout2。
第一一级加法器5的两个加法输入端分别连接第一查找表1的输出端和第二查找表2的输出端,第一一级加法器5的加法输出端连接第一二级加法器7的一个加法输入端,第一二级加法器7的另一个加法输入端连接输入端口F。第一一级加法器5的加法输出端和第一二级加法器7的加法输出端分别连接到MUX9的两个输入端,MUX9的输出端连接至基本逻辑单元的一个输出端口O2。MUX9可以选通输出第一一级加法器5的输出也即第一加法进位链的高位输出,或者,可以选通输出第一二级加法器7的输出也即第二加法进位链的高位输出。
第二一级加法器6的两个加法输入端分别连接第三查找表3的输出端和第四查找表4的输出端,第二一级加法器6的加法输出端连接第二二级加法器8的一个加法输入端,第二二级加法器8的另一个加法输入端连接输入端口E。第二一级加法器6的加法输出端和第二二级加法器8的加法输出端分别连接MUX10的两个输入端,MUX10的输出端连接至基本逻辑单元的另一个输出端口O4。MUX10可以选通输出第二一级加法器6的输出也即第一加法进位链的低位输出,或者,可以选通输出第二二级加法器8的输出也即第二加法进位链的低位输出。
该基本逻辑单元内部还包括四个第五两输入选择器与一个第六两输入选择器,四个第五两输入选择器分别为MUX11、MUX12、MUX13和MUX14(图中分别以标号11~14依次进行表示),第六两输入选择器为MUX16(图中以标号16表示)。四个4输入查找表与四个第五两输入选择器共同形成一个6输入逻辑函数(ABCDEF)或者两个非全覆盖的5输入逻辑函数(ABCDE和ABFGH)。则该基本逻辑单元包括四个输出端口分别为O1、O2、O3和O4。MUX11的两个输入端分别连接第一查找表1的输出端和第二查找表2的输出端、输出端连接至输出端口O1。MUX9的输出端连接至输出端口O2。MUX12的两个输入端分别连接第一查找表1的输出端和第二查找表2的输出端、输出端连接至MUX14。MUX13的两个输入端分别连接第三查找表3的输出端和第四查找表4的输出端,MUX13的输出端分别连接至MUX14以及MUX16,MUX16的另一个输入端连接MUX10的输出端。MUX14的输出端连接至输出端口O3,MUX16的输出端连接至输出端口O4。输入端口F同时连接MUX11和MUX14的控制端,输入端口E同时连接MUX12和MUX13的控制端。则四个输出端口O1、O2、O3和O4用于实现6输入逻辑函数的输出、两个非全覆盖的5输入逻辑函数的输出以及各个加法器的输出。
四个输出端口O1、O2、O3和O4处都设置有触发器和第二两输入选择器用于选择直接输出或寄存输出。则该基本逻辑单元内包括四个第二两输入选择器分别为MUX22、MUX23、MUX24和MUX25(图中分别以22、23、25和25表示),还包括四个触发器分别为第一触发器17、第二触发器18、第三触发器19和第四触发器20。MUX11的输出端连接第一触发器17的输入端和MUX22的一个输入端,第一触发器17的输出端连接MUX22的另一个输入端,MUX22的输出端连接输出端口O1。MUX9的输出端连接第二触发器18的输入端和MUX23的一个输入端,第二触发器18的输出端连接MUX23的另一个输入端,MUX23的输出端连接输出端口O2。MUX14的输出端连接第三触发器19的输入端和MUX24的一个输入端,第三触发器19的输出端连接MUX24的另一个输入端,MUX24的输出端连接输出端口O3。MUX16的输出端连接第四触发器20的输入端和MUX25的一个输入端,第四触发器20的输出端连接MUX25的另一个输入端,MUX25的输出端连接输出端口O4,MUX16选择MUX13的信号连接到第四触发器20或者选择MUX10的信号连接到第四触发器20。
该基本逻辑单元内包含输入端口A通过触发器直接连接到输出端口O2的路径,则该基本逻辑单元内还包括第三两输入选择器为MUX15(图中以标号15表示),MUX9通过MUX15连接第二触发器18和MUX23,也即:MUX15的两个输入端分别连接MUX9的输出端以及输入端口A,MUX15的输出端连接第二触发器18和MUX23。MUX15选择MUX9的信号连接到第二触发器18或者选择输入端口A的信号直接连接到第二触发器18。则四个输出端口O1、O2、O3和O4用于实现6输入逻辑函数的输出、两个非全覆盖的5输入逻辑函数的输出、各个加法器的输出以及输入端口A的输出。
该基本逻辑单元内包括第四两输入选择器为MUX21(图中以标号21表示),MUX21的两个输入端分别连接输入端口A以及输出端口O2,MUX21的输出端连接至四个4输入查找表的输入端。MUX21选择将输入端口A的输入信号直接输入到四个4输入查找表内或者经过第二触发器18后输入到四个4输入查找表内。
该基本逻辑单元实际还包括触发器的控制信号SR、CE和时钟信号CLK,本申请未详细介绍图中也未示出,另外相关配置输入信号也未示出。此时多个基本逻辑单元之间的两条加法进位链的级联示意图请参考图3。
图2所示的基本逻辑单元可以实现6输入逻辑函数,多个这样结构的基本逻辑单元可以结合更多个两输入选择器实现更高输入的逻辑函数,比如如图4所示,4个本申请的基本逻辑单元结合3个两输入选择器可以实现全覆盖的7输入逻辑函数(ABCDEFI)和全覆盖的8输入逻辑函数(ABCDEFIJ)。
以上所述的仅是本申请的优选实施方式,本发明不限于以上实施例。可以理解,本领域技术人员在不脱离本发明的精神和构思的前提下直接导出或联想到的其他改进和变化,均应认为包含在本发明的保护范围之内。
Claims (11)
1.一种支持高效乘法运算的基本逻辑单元,其特征在于,所述基本逻辑单元内部包括部分积产生器、n个一级加法器和n个二级加法器,每个一级加法器分别与一个二级加法器对应,n个一级加法器通过进位输入输出端依次相连形成第一加法进位链,n个二级加法器通过进位输入输出端依次相连形成第二加法进位链,所述部分积产生器由查找表实现,所述部分积产生器连接所述基本逻辑单元的输入端口并根据输入信号实现与逻辑产生若干个部分积;
所述n个一级加法器的两个加法输入端均连接所述部分积产生器,每个所述一级加法器对加法输入端获取到的两个部分积进行一次求和,所述一级加法器的加法输出端连接对应的二级加法器的一个加法输入端,所述二级加法器的另一个加法输入端连接所述基本逻辑单元的输入端口,每个所述二级加法器对加法输入端获取到的两个部分积进行二次求和;
每个所述一级加法器的加法输出端及其对应的二级加法器的加法输出端分别连接到一个第一两输入选择器的两个输入端,所述第一两输入选择器的输出端连接至所述基本逻辑单元的一个输出端口。
2.根据权利要求1所述的基本逻辑单元,其特征在于,
每个所述第一两输入选择器的输出端通过对应的触发器和第二两输入选择器连接至所述基本逻辑单元的一个输出端口,所述第一两输入选择器的输出端分别连接至对应的触发器的输入端和第二两输入选择器的一个输入端,所述触发器的输出端连接所述第二两输入选择器的另一个输入端,所述第二两输入选择器的输出端连接至所述基本逻辑单元的输出端口;
所述第二两输入选择器选择将所述第一两输入选择器的输出信号直接输出到所述基本逻辑单元的输出端口,或者,选择将所述第一两输入选择器的输出信号经过触发器后寄存输出到所述基本逻辑单元的输出端口。
3.根据权利要求1所述的基本逻辑单元,其特征在于,所述基本逻辑单元的至少一个输入端口通过触发器直接连接到输出端口。
4.根据权利要求2所述的基本逻辑单元,其特征在于,所述基本逻辑单元还包括第三两输入选择器,其中一个第一两输入选择器的输出端通过所述第三两输入选择器连接至对应的触发器的输入端和第二两输入选择器的一个输入端,所述第三两输入选择器的一个输入端连接所述第一两输入选择器的输出端、另一个输入端连接所述基本逻辑单元的一个输入端口,所述第三两输入选择器选择直接将所述基本逻辑单元的一个输入端口的信号经过所述触发器寄存输出。
5.根据权利要求4所述的基本逻辑单元,其特征在于,所述基本逻辑单元还包括第四两输入选择器,与所述第三两输入选择器相连的所述基本逻辑单元的输入端口还连接所述第四两输入选择器的一个输入端,与所述第三两输入选择器相连的所述基本逻辑单元的输出端口连接所述第四两输入选择器的另一个输入端,所述第四两输入选择器的输出端连接至对应的部分积产生器提供输入信号;
所述第四两输入选择器选择将所述基本逻辑单元的输入端口的信号直接输入到部分积产生器中或者经过触发器后输入到部分积产生器中。
6.根据权利要求1所述的基本逻辑单元,其特征在于,所述基本逻辑单元还包括连接所述第一加法进位链的输入端的第一进位输入端口以及连接所述第一加法进位链的输出端的第一进位输出端口,还包括连接所述第二加法进位链的输入端的第二进位输入端口以及连接所述第二加法进位链的输出端的第二进位输出端口,所述基本逻辑单元通过所述第一进位输入端口连接上一级基本逻辑单元的第一进位输出端口、通过所述第一进位输出端口连接下一级基本逻辑单元的第一进位输入端口、通过所述第二进位输入端口连接上一级基本逻辑单元的第二进位输出端口、通过所述第二进位输出端口连接下一级基本逻辑单元的第二进位输入端口,所述基本逻辑单元内部的第一加法进位链与其他基本逻辑单元内部的第一加法进位链形成级联结构,所述基本逻辑单元内部的第二加法进位链与其他基本逻辑单元内部的第二加法进位链形成级联结构。
7.根据权利要求1-6任一所述的基本逻辑单元,其特征在于,所述基本逻辑单元包括八个输入端口分别为A、B、C、D、E、F、G、H,所述基本逻辑单元内包括四个4输入查找表、两个所述第一两输入选择器、两个所述一级加法器以及两个所述二级加法器,每个所述4输入查找表用于实现两输入与逻辑产生一个部分积,每条加法进位链支持两位加法运算;所述四个4输入查找表分别为第一查找表、第二查找表、第三查找表和第四查找表,两个第一两输入选择器分别为MUX9和MUX10,两个所述一级加法器分别为第一一级加法器和第二一级加法器,两个二级加法器分别为第一二级加法器和第二二级加法器;
四个4输入查找表共用输入端口A和输入端口B,所述第一查找表和第二查找表还共用输入端口G和输入端口H,所述第三查找表和第四查找表还共用输入端口C和输入端口D;
所述第一一级加法器的两个加法输入端分别连接所述第一查找表的输出端和所述第二查找表的输出端,所述第一一级加法器的加法输出端连接所述第一二级加法器的一个加法输入端,所述第一二级加法器的另一个加法输入端连接输入端口F,所述第一一级加法器的加法输出端和所述第一二级加法器的加法输出端分别连接到MUX9的两个输入端,MUX9的输出端连接至所述基本逻辑单元的一个输出端口;
所述第二一级加法器的两个加法输入端分别连接所述第三查找表的输出端和所述第四查找表的输出端,所述第二一级加法器的加法输出端连接所述第二二级加法器的一个加法输入端,所述第二二级加法器的另一个加法输入端连接输入端口E,所述第二一级加法器的加法输出端和所述第二二级加法器的加法输出端分别连接MUX10的两个输入端,MUX10的输出端连接至所述基本逻辑单元的另一个输出端口。
8.根据权利要求7所述的基本逻辑单元,其特征在于,所述基本逻辑单元包括四个输出端口分别为O1、O2、O3和O4,所述基本逻辑单元内部包括四个第五两输入选择器与一个第六两输入选择器,四个4输入查找表与四个第五两输入选择器共同形成一个6输入逻辑函数或者两个非全覆盖的5输入逻辑函数;四个第五两输入选择器分别为MUX11、MUX12、MUX13和MUX14,所述第六两输入选择器为MUX16;
MUX11的两个输入端分别连接所述第一查找表的输出端和所述第二查找表的输出端、输出端连接至输出端口O1;
MUX9的输出端连接至输出端口O2;
MUX12的两个输入端分别连接所述第一查找表的输出端和所述第二查找表的输出端、输出端连接至MUX14;MUX13的两个输入端分别连接所述第三查找表的输出端和所述第四查找表的输出端,MUX13的输出端分别连接至MUX14以及MUX16,MUX16的另一个输入端连接MUX10的输出端;MUX14的输出端连接至输出端口O3,MUX16的输出端连接至输出端口O4;
输入端口F同时连接MUX11和MUX14的控制端,输入端口E同时连接MUX12和MUX13的控制端,所述四个输出端口用于实现6输入逻辑函数的输出、两个非全覆盖的5输入逻辑函数的输出以及各个加法器的输出。
9.根据权利要求8所述的基本逻辑单元,其特征在于,所述基本逻辑单元内包括四个第二两输入选择器分别为MUX22、MUX23、MUX24和MUX25,还包括四个触发器分别为第一触发器、第二触发器、第三触发器和第四触发器;
MUX11的输出端连接所述第一触发器的输入端和MUX22的一个输入端,所述第一触发器的输出端连接MUX22的另一个输入端,MUX22的输出端连接输出端口O1;
MUX9的输出端连接所述第二触发器的输入端和MUX23的一个输入端,所述第二触发器的输出端连接MUX23的另一个输入端,MUX23的输出端连接输出端口O2;
MUX14的输出端连接所述第三触发器的输入端和MUX24的一个输入端,所述第三触发器的输出端连接MUX24的另一个输入端,MUX24的输出端连接输出端口O3;
MUX16的输出端连接所述第四触发器的输入端和MUX25的一个输入端,所述第四触发器的输出端连接MUX25的另一个输入端,MUX25的输出端连接输出端口O4。
10.根据权利要求9所述的基本逻辑单元,其特征在于,所述基本逻辑单元内包括第三两输入选择器为MUX15,MUX9通过MUX15连接所述第二触发器和MUX23,则MUX15的两个输入端分别连接MUX9的输出端以及所述基本逻辑单元的输入端口A,MUX15的输出端连接所述第二触发器和MUX23。
11.根据权利要求10所述的基本逻辑单元,其特征在于,所述基本逻辑单元内包括第四两输入选择器为MUX21,MUX21的两个输入端分别连接输入端口A以及输出端口O2,MUX21的输出端连接至四个4输入查找表的输入端;MUX21选择将输入端口A的输入信号直接输入到四个4输入查找表内或者经过所述第二触发器后输入到四个4输入查找表内。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010613251.2A CN111752528B (zh) | 2020-06-30 | 2020-06-30 | 一种支持高效乘法运算的基本逻辑单元 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010613251.2A CN111752528B (zh) | 2020-06-30 | 2020-06-30 | 一种支持高效乘法运算的基本逻辑单元 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111752528A true CN111752528A (zh) | 2020-10-09 |
CN111752528B CN111752528B (zh) | 2021-12-07 |
Family
ID=72678338
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010613251.2A Active CN111752528B (zh) | 2020-06-30 | 2020-06-30 | 一种支持高效乘法运算的基本逻辑单元 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111752528B (zh) |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5487025A (en) * | 1993-11-15 | 1996-01-23 | Intergraph Corporation | Carry chain adder using regenerative push-pull differential logic |
CN101010665A (zh) * | 2004-08-26 | 2007-08-01 | 松下电器产业株式会社 | 乘法装置 |
US20080133627A1 (en) * | 2006-12-05 | 2008-06-05 | Altera Corporation | Large multiplier for programmable logic device |
CN104461449A (zh) * | 2014-11-14 | 2015-03-25 | 中国科学院数据与通信保护研究教育中心 | 基于向量指令的大整数乘法实现方法及装置 |
CN104572010A (zh) * | 2013-10-11 | 2015-04-29 | 京微雅格(北京)科技有限公司 | 基于fpga芯片的乘法器 |
CN107861756A (zh) * | 2011-12-22 | 2018-03-30 | 英特尔公司 | 具有独立进位链的加法指令 |
CN107885485A (zh) * | 2017-11-08 | 2018-04-06 | 无锡中微亿芯有限公司 | 一种基于超前进位实现快速加法的可编程逻辑单元结构 |
CN110007908A (zh) * | 2019-03-07 | 2019-07-12 | 中科亿海微电子科技(苏州)有限公司 | 具有双进位链结构的双输出查找表及可编程逻辑单元 |
CN110780845A (zh) * | 2019-10-17 | 2020-02-11 | 浙江大学 | 一种用于量化卷积神经网络的可配置近似乘法器及其实现方法 |
CN210129212U (zh) * | 2019-05-16 | 2020-03-06 | 何群 | 宽字高速分段式进位加法器、计数器及乘法器 |
-
2020
- 2020-06-30 CN CN202010613251.2A patent/CN111752528B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5487025A (en) * | 1993-11-15 | 1996-01-23 | Intergraph Corporation | Carry chain adder using regenerative push-pull differential logic |
CN101010665A (zh) * | 2004-08-26 | 2007-08-01 | 松下电器产业株式会社 | 乘法装置 |
US20080133627A1 (en) * | 2006-12-05 | 2008-06-05 | Altera Corporation | Large multiplier for programmable logic device |
CN107861756A (zh) * | 2011-12-22 | 2018-03-30 | 英特尔公司 | 具有独立进位链的加法指令 |
CN104572010A (zh) * | 2013-10-11 | 2015-04-29 | 京微雅格(北京)科技有限公司 | 基于fpga芯片的乘法器 |
CN104461449A (zh) * | 2014-11-14 | 2015-03-25 | 中国科学院数据与通信保护研究教育中心 | 基于向量指令的大整数乘法实现方法及装置 |
CN107885485A (zh) * | 2017-11-08 | 2018-04-06 | 无锡中微亿芯有限公司 | 一种基于超前进位实现快速加法的可编程逻辑单元结构 |
CN110007908A (zh) * | 2019-03-07 | 2019-07-12 | 中科亿海微电子科技(苏州)有限公司 | 具有双进位链结构的双输出查找表及可编程逻辑单元 |
CN210129212U (zh) * | 2019-05-16 | 2020-03-06 | 何群 | 宽字高速分段式进位加法器、计数器及乘法器 |
CN110780845A (zh) * | 2019-10-17 | 2020-02-11 | 浙江大学 | 一种用于量化卷积神经网络的可配置近似乘法器及其实现方法 |
Also Published As
Publication number | Publication date |
---|---|
CN111752528B (zh) | 2021-12-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7765382B2 (en) | Propagating reconfiguration command over asynchronous self-synchronous global and inter-cluster local buses coupling wrappers of clusters of processing module matrix | |
CN103762974B (zh) | 多功能可配置的六输入查找表结构 | |
CN105874714B (zh) | 支持多模式可配置的六输入查找表结构和fpga器件 | |
CN113986815B (zh) | 一种基于多粒度查找表结构的可编程逻辑块 | |
CN107885485B (zh) | 一种基于超前进位实现快速加法的可编程逻辑单元结构 | |
CN111047034B (zh) | 一种基于乘加器单元的现场可编程神经网络阵列 | |
CN111258538A (zh) | 一种基于fpga的大位宽的高性能加法器结构 | |
CN111752529B (zh) | 支持高效乘累加运算的可编程逻辑单元结构 | |
Yaswanth et al. | Design and analysis of high speed and low area vedic multiplier using carry select adder | |
CN111752528B (zh) | 一种支持高效乘法运算的基本逻辑单元 | |
CN103176766A (zh) | 基于增强型lut5结构的二进制加减法器 | |
KR20180116117A (ko) | 프로그래밍가능 게이트 어레이에 대한 로직 블록 아키텍처 | |
WO2016090599A1 (zh) | 一种可扩展可配置的逻辑元件和fpga器件 | |
CN113872608B (zh) | 一种基于Xilinx FPGA原语的Wallace树压缩器 | |
CN1770635B (zh) | 预置值流水线结构相位累加器 | |
CN203204600U (zh) | 基于增强型lut5结构的二进制加减法器 | |
CN105471422A (zh) | 集成辅助逻辑运算单元的可编程逻辑模块 | |
Tapadar et al. | Power and area aware improved SQRT carry select adder (CSIA) | |
Imtiaz et al. | Design of energy-efficient full adder using Hybrid-cmos logic style | |
Hänninen et al. | Irreversible bit erasures in binary adders | |
WO2005038644A1 (ja) | データ処理装置 | |
Dayall et al. | Multiplexer-Based Design of Adders for Low Power VLSI Applications | |
Kalaiselvi et al. | Area efficient high speed and low power MAC unit | |
CN117034827B (zh) | 一种用于eFPGA的多路选择器、互连开关及外围接口电路 | |
Pritha et al. | Enhancing the Efficiency of Wallace Tree Multipliers Through Optimized ECSLA Design |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |