首页> 中国专利> 压缩器电路、华莱士树电路、乘法器电路、芯片和设备

压缩器电路、华莱士树电路、乘法器电路、芯片和设备

摘要

本申请提供一种压缩器电路、华莱士树电路、乘法器电路、芯片和设备,该压缩器电路包括第一全加器、第二全加器和第一选择电路,所述第一全加器的输出端与所述第一选择电路的输入端连接,所述第一选择电路的输出端与所述第二全加器的输入端连接;所述第一选择电路用于根据第一选择信号确定所述第一选择电路输出给所述第二全加器的输入信号;所述第一选择电路输出给所述第二全加器的输入信号和所述压缩器电路的多位输入信号的最高位信号用于控制所述第二全加器的开启或关闭,可以减少电路功耗和时延。

著录项

  • 公开/公告号CN110190843A

    专利类型发明专利

  • 公开/公告日2019-08-30

    原文格式PDF

  • 申请/专利权人 北京中科寒武纪科技有限公司;

    申请/专利号CN201810316616.8

  • 发明设计人 不公告发明人;

    申请日2018-04-10

  • 分类号H03K19/20(20060101);G06F7/523(20060101);G06F7/501(20060101);

  • 代理机构11606 北京华进京联知识产权代理有限公司;

  • 代理人王程

  • 地址 100191 北京市海淀区科学院南路6号科研综合楼644室

  • 入库时间 2024-02-19 14:12:23

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2020-03-10

    授权

    授权

  • 2020-01-24

    著录事项变更 IPC(主分类):H03K19/20 变更前: 变更后: 申请日:20180410

    著录事项变更

  • 2019-09-24

    实质审查的生效 IPC(主分类):H03K19/20 申请日:20180410

    实质审查的生效

  • 2019-08-30

    公开

    公开

说明书

技术领域

本发明涉及电路领域,特别是涉及一种压缩器电路、华莱士树电路、乘法器电路、芯片和设备。

背景技术

随着人工智能(Artificial Intelligence,AI)技术的发展,AI芯片成为了当前科技产业和社会关注的热点。乘法器(multiplier)电路作为AI芯片的主要电路之一,其性能尤为重要。

通常,压缩器是乘法器中一种非常重要的单元,压缩器的性能和功耗直接影响着乘法器的性能和功耗。图1为现有技术的一种4-2压缩器的电路结构图,如图1所示,该4-2压缩器包括第一全加器和第二全加器,该4-2压缩器通过第一全加器和第二全加器进行运算,将I1、I2、I3、I4四位输入信号变换为进位(carry)与和(sum)这两位输出信号。

然而,在一些小数值运算场景中,现有的压缩器存在功耗与时延都比较高的问题。

发明内容

基于此,有必要针对现有的压缩器存在功耗与时延都比较高的问题,提供一种压缩器电路、华莱士树电路、乘法器电路、芯片和设备。

本申请实施例第一方面提供一种压缩器电路,包括:第一全加器、第二全加器和第一选择电路,所述第一全加器的输出端与所述第一选择电路的输入端连接,所述第一选择电路的输出端与所述第二全加器的输入端连接;

所述第一选择电路用于根据第一选择信号确定所述第一选择电路输出给所述第二全加器的输入信号;所述第一选择电路输出给所述第二全加器的输入信号和所述压缩器电路的多位输入信号的最高位信号用于控制所述第二全加器的开启或关闭。

在本实施例中,压缩器电路包括第一全加器、第二全加器和第一选择电路,第一全加器的输出端与第一选择电路的输入端连接,第一选择电路的输出端与第二全加器的输入端连接;通过配置第一选择信号来控制第一选择电路的输出信号,使得第一选择电路的输出信号在一些场景中为低电平信号,当第一选择器的输出信号和压缩器电路的多位输入信号的最高位信号均为低电平信号时,第二全加器不会进行逻辑电平信号的翻转,相当于第二全加被关闭,第二全加器不会产生能耗和时延,因此,有效降低了压缩器电路的能耗与时延。

在其中一个实施例中,所述压缩器电路还包括第二选择电路;

所述第二选择电路的第一输入端与所述第一全加器的输出端连接,所述第二选择电路的第二输入端与所述第二全加器的输出端连接;

其中,所述第二选择电路根据第二选择信号的高低电平确定自身输出的是所述第一全加器的输出信号或所述第二全加器的输出信号。

在本实施例中,压缩器电路还包括第二选择电路,第二选择电路的第一输入端与第一全加器的输出端连接,第二选择电路的第二输入端与第二全加器的输出端连接,通过配置第二选择信号来控制第二选择电路输出的是第一全加器的输出信号或第二全加器的输出信号,当压缩器电路的多位输入信号的最高位信号为低电平信号时,通过第二选择信号控制第二选择电路输出的是第二全加器的输出信号,尤其的,当压缩器电路的多位输入信号的最高位信号为低电平信号时,通过第二选择信号控制第二选择电路输出的是第一全加器的输出信号,避免了第二全加器的输出信号为低电平信号时,压缩器电路输出的是第二全加器的输出信号的情况,保证了输出信号的准确性。

在其中一个实施例中,所述第一选择电路包括第一选择器和第二选择器;

所述第一选择器的输出端与所述第二全加器的第三输入端连接,所述第二全加器的第一输入端与所述第二选择器的输出端连接,所述第二全加器的第二输入端用于接收所述最高位信号,所述第二全加器的输出端与所述第二选择电路的第二输入端连接,所述第一全加器的输出端分别与所述第二选择器的第一输入端和所述第二选择电路的第一输入端连接。

在本实施例中,第一选择电路包括第一选择器和第二选择器,通过配置各自的选择信号来控制第一选择器和第二选择器的输出信号,从而控制第二全加器的开启或关闭,尤其是在压缩器电路的输入信号的最高位信号为0时,使得第二全加器相当于关闭状态,节省了压缩器电路的能耗和延迟。而且,采用第一选择器和第二选择器构成第一选择电路,结构简单,易于实现,而且,成本较低。

在其中一个实施例中,所述第一选择电路包括第一与门电路和第二与门电路;

所述第一与门电路的输出端与所述第二全加器的第三输入端连接,所述第二全加器的第一输入端与所述第二与门电路的输出端连接,所述第二全加器的第二输入端用于接收所述最高位信号,所述第二全加器的输出端与所述第二选择电路的第二输入端连接,所述第一全加器的输出端分别与所述第二与门电路的第一输入端和所述第二选择电路的第一输入端连接。

在本实施例中,第一选择电路包括第一与门电路和第二与门电路,通过配置选择信号来控制第一与门电路和第二与门电路的输出信号,从而控制第二全加器的开启或关闭,尤其是在压缩器电路的输入信号的最高位信号为0时,使得第二全加器相当于关闭状态,节省了压缩器电路的能耗和延迟。而且,采用第一与门电路和第二与门电路构成第一选择电路,结构简单,易于实现,而且,成本较低。

在其中一个实施例中,所述第二选择电路包括第三选择器和第四选择器;

所述第三选择器的第一输入端与所述第一全加器的第一输出端连接,所述第三选择器的第二输入端与所述第二全加器的第一输出端连接;

所述第四选择器的第一输入端与所述第一全加器的第二输出端连接,所述第四选择器的第二输入端与所述第二全加器的第二输出端连接。

在本实施例中,第二选择电路包括第三选择器和第四选择器,通过配置各自的选择信号控制第三选择器和第四选择器,从而控制压缩器电路的输出信号,在第二全加器的输出信号为0时,压缩器电路最终输出的是第一全加器的输出信号第二全加器的输出信号不为0时,压缩器电路最终输出的是第二全加器的输出信号,保证了输出信号的准确性。而且,采用第一选择器和第二选择器构成第一选择电路,结构简单,易于实现,而且,成本较低。

在其中一个实施例中,所述第一选择信号和所述第二选择信号均为以下信号中的任意一种:

根据所述多位输入信号的最高位信号确定的信号、预设的可翻转逻辑电平信号、根据历史选择信号预测获得的信号、所述压缩器电路所在的乘法器电路中的编码器确定的信号。

在本实施例中,采用多种方式灵活的确定第一选择信号和第二选择信号,可以适用于多种场景,尤其是在输入信号为小数值的场景中,当输入的最高位信号为0时,通过第一选择信号控制第二全加器的输入信号和输出信号均为0,相当于第二全加器被关闭,有效节省了能耗与延迟。

本申请实施例第二方面提供一种华莱士树电路,包括至少一个如第一方面任一项所述的压缩器电路。

在本实施例中,华莱士树电路可以采用一个压缩器电路或者是多个压缩器电路组合实现,华莱士树电路用于对每个部分积的列进行累加,得到两路输出信号。对于由压缩器电路所组成的华莱士树电路,第一层级(或第一流水级)的压缩器电路中均有可能关闭一个全加器,从而达到降低能耗的目的。

本申请实施例第三方面提供一种压缩树电路,包括至少一个如第二方面所述的华莱士树电路。

本申请实施例第四方面提供一种乘法器电路,包括:部分积电路和如第三方面所述的压缩树电路,所述部分积电路的输出端与所述压缩树电路的输入端连接。

在本实施例中,乘法器电路包括部分积电路和压缩树电路,部分积电路的输出端与压缩树电路的输入端连接,压缩树电路包括至少如第二方面所述的华莱士树电路,华莱士树电路包括第一方面任一实施例所述的压缩树电路,可以通过配置第一选择信号来控制压缩器电路的第一选择电路的输出信号,使得第一选择电路的输出信号在一些场景中为低电平信号,当第一选择器的输出信号和压缩器电路的多位输入信号的最高位信号均为低电平信号时,第二全加器不会进行逻辑电平信号的翻转,相当于第二全加被关闭,第二全加器不会产生能耗和时延,因此,有效降低了压缩器电路的能耗与时延,从而降低的乘法器电路的功耗和时延。

在其中一个实施例中,所述乘法器电路还包括编码电路,所述编码电路的输出端与所述部分积电路的输入端连接。

在本实施例中,编码电路用于对乘法器电路的第一输入信号进行编码,可以减少部分积的个数,从而减少后续压缩树电路的功耗,并且,可以提高压缩树电路的效率,减少时延。

在其中一个实施例中,所述乘法器电路还包括加法电路,所述压缩树电路的输出端与所述加法电路的输入端连接;

所述加法电路包括至少一个加法器。

本申请实施例第五方面提供一种芯片,包括至少一个如第四方面任一项所述的乘法器电路。

本申请实施例第六方面提供一种电子设备,包括如第五方面所述的芯片。

附图说明

图1为现有技术的一种4-2压缩器的电路结构图;

图2为本申请一实施例提供的一种压缩器电路的结构图;

图3为本申请另一实施例提供的一种压缩器电路的结构图;

图4为本申请另一实施例提供的一种压缩器电路的结构图;

图5为本申请另一实施例提供的一种压缩器电路的结构图;

图6为本申请另一实施例提供的一种压缩器电路的结构图;

图7为本申请实施例提供的一种华莱士树电路示意图;

图8为本申请实施例提供的一种华莱士树电路的结构图;

图9为本申请实施例提供的另一种华莱士树电路的结构图;

图10为本申请实施例提供的另一种华莱士树电路的结构图;

图11为本申请一实施例提供的一种乘法器电路的结构图;

图12为本申请另一实施例提供的一种乘法器电路的结构图;

图13为本申请实施例提供的又一种华莱士树电路的结构图。

附图标记说明:

1:第一全加器;2:第二全加器;

3:第一选择电路;4:第二选择电路;

5:第一选择器;6:第二选择器;

7:第三选择器;8:第四选择器;

11:第一全加器的输出端; 12:第一全加器的第一输出端;

13:第一全加器的第二输出端; 21:第二全加器的输入端;

22:第二全加器的输出端; 23:第二全加器的第一输入端;

24:第二全加器的第二输入端; 25:第二全加器的第三输入端;

26:第二全加器的第一输出端; 27:第二全加器的第二输出端;

31:第一选择电路的输入端; 32:第一选择电路的输出端;

41:第二选择电路的第一输入端; 42:第二选择电路的第二输入端;

51:第一选择器的输出端; 52:第一选择器的第二输入端;

53:第一选择器的第一输入端; 61:第二选择器的第一输入端;

62:第二选择器的第二输入端; 63:第二选择器的输出端;

71:第三选择器的第一输入端; 72:第三选择器的第二输入端;

81:第四选择器的第一输入端; 82:第四选择器的第二输入端;

101:部分积电路;102:压缩树电路:

103:压缩器电路;104:编码电路;

105:加法电路;106:华莱士树电路;

220:第一与门电路;210:第二与门电路;

54:第一与门电路的第一输入端; 64:第二与门电路的第一输入端;

55:第一与门电路的第二输入端; 65:第二与门电路的第二输入端;

56:第一与门电路的输出端; 66:第二与门电路的输出端;

1011:部分积电路的输出端; 1021:压缩树电路的输入端;

1022:压缩树电路的输出端; 1041:编码电路的输出端;

1051:加法电路的输入端;

I1、I2、I3、I4、I6、I7、…、I15:输入信号; Carry、Sum:输出信号;

Cin、Ci0、Ci1、Ci2、Ci3、Ci4、Ci5、…、Ci13:进位输入;

Cout、Co0、Co1、Co2、Co3、Co4、Co5、…、Co13:进位输出。

具体实施方式

为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。

本申请提供的压缩器电路、乘法器电路可应用于AI芯片、现场可编程门阵列FPGA(Field-Programmable Gate Array,FPGA)芯片、或者是其它的硬件电路设备中进行运算处理。

图2为本申请一实施例提供的一种压缩器电路的结构图。如图2所示,该压缩器电路包括第一全加器1、第二全加器2和第一选择电路3,第一全加器的输出端11与第一选择电路的输入端31连接,第一选择电路的输出端32与第二全加器的输入端21连接;第一选择电路3用于根据第一选择信号确定第一选择电路3输出给第二全加器2的输入信号;第一选择电路3输出给第二全加器2的输入信号和压缩器电路的多位输入信号的最高位信号用于控制第二全加器2的开启或关闭。

在本实施例中,第一全加器1和第二全加器2是用门电路实现二进制数相加并求出和的组合电路,可以对压缩器电路多位输入信号进行处理,以将多位输入信号变换为两位输出信号。第一全加器1和第二全加器2可以是相同结构和功能的全加器,也可以为不同结构、功能或逻辑的全加器,本领域技术人员可以根据实际需求来选择。

第一选择电路3可以为多个选择器(multiplexer,MUX)构成的电路,可以通过配置第一选择信号(sel信号)来控制第一选择电路3的输出信号。例如,对于二路选择器,包括第一输入信号及第二输入信号,当二路选择器的选择信号为0时,选中第一输入信号作为输出信号,当选择信号为1时,选中第二输入信号作为输出信号。也就是说,二路选择器的输出结果是通过选择信号在二路输入信号中进行选择。而且,选择器的逻辑是可以灵活设置的,在上面的例子中,选择信号为0选中第一输入信号作为二路选择器的输出,选择信号为1选中第二输入信号作为二路数据选择器的输出。在其他实施例中,也可以是选择信号为1选中第一输入信号作为二路数据选择器的输出,选择信号为0选中第二输入信号作为二路数据选择器的输出。

例如,可以采用多个二路选择器构成第一选择电路,预先对第一选择电路进行配置,当第一选择信号为低电平信号时,第一选择电路选择输出低电平信号,即第一选择信号为0,第一选择电路的输出信号也为0,或者,当第一选择信号为高电平信号时,第一选择电路选择输出的是第一全加器的输出信号,即第一选择信号为1,第一选择电路的输出信号为第一全加器的输出信号;或者,也可以是第一选择信号为低电平信号时,第一选择电路选择输出的是第一全加器的输出信号,第一选择信号为高电平信号时,第一选择电路选择输出低电平信号,第一选择信号的配置保证当压缩电路的多位输入信号的最高位信号为0时,第一选择电路选择输出信号为0即可。

或者,第一选择电路的输入信号并不依赖于外界的信号,而是集成在第一选择电路中,并预先配置输入信号与第一选择信号之间的映射关系,例如,第一选择电路内部集成了低电平信号0和高电平信号1,当第一选择信号为0时,第一选择电路输出低电平信号0,当第一选择信号为1时,第一选择电路输出高电平信号1;或者,当第一选择信号为1时,第一选择电路输出低电平信号0,当第一选择信号为0时,第一选择电路输出高电平信号1;或者,第一选择电路内部还可以集成其它类型的信号,与第一选择信号建立相应的映射关系即可。

其中,第一选择信号可以采用多种方式来获取,例如,预先设置一个默认信号作为第一选择信号,或者,根据历史输入的一定数量的选择信号来预测第一选择信号,或者,将压缩器电路的输入信号的最高位信号作为第一选择信号等,本领域技术人员可以根据实际的应用场景和需求来获取选择信号。

该压缩器电路的主要原理是,通过配置第一选择信号来控制第一选择电路3的输出信号,将第一选择电路3的输出信号和压缩器电路的多位输入信号的最高位信号作为第二全加器2的输入信号,以控制第二全加器2开启或关闭。

例如,在神经网络运算中,神经网络运算数据为零或接近零的数据比较多,经过稀疏化和/或压缩后为零或接近零的数据会更多。神经网络运算数据中大量数据转换为二进制数据后,对应的多位输出信号的最高位信号为低电平信号,可以将第一选择信号也设置为低电平信号,也即,压缩器电路的多位输入信号的最高位信号为0,可以将第一选择信号也设置为0,使得第二全加器的输入信号均为0,则第二全加器的输出信号也为0,第二全加器的输入和输出均为0,第二全加器在处理该输入信号时不会出现逻辑电平信号的翻转,相当于第二全加器被关闭。在本实施例中,最高位信号为0时,第一选择信号也可以设置为1,只需要配置第一选择电路以保证当第一选择信号为1时,第一选择电路的输出信号为0即可,也即,对于第一选择信号的设置并不以本实施例为限,保证第一选择电路在逻辑上选择输出与实际需求相对应的信号即可,

若压缩器电路的多位输入信号的最高位信号为高电平信号,可以将第一选择信号也设置为高电平信号,也即,压缩器电路的多位输入信号的最高位信号为1,第一选择信号也为1,使得第二全加器的输入信号非0,则第二全加器的输出信号也非0,第二全加器在处理该输入信号时需要进行逻辑电平信号的翻转,相当于第二全加器被开启。其中,第二全加器的输入信号非0指的是第二全加器的输入信号中的至少一路信号非0,第二全加器的输出信号非0指的是第二全加器的输出信号中的至少一路信号非0,例如,多位输入信号的最高位信号为第二全加器的一路输入信号,当最高位信号为1时,不论其它输入信号是否为0,第二全加器的输入信号非0。

需要说明的是,本申请实施例中所述第二全加器的开启和关闭并不是类似通电、断电之类的状态转换,第二全加器开启指的是第二全加器在处理输入信号时需要进行逻辑电平信号的翻转,比如,将逻辑电平信号0翻转为逻辑电平信号1,或者,将逻辑电平信号1翻转为逻辑电平信号0。第二全加器关闭指的是第二全加器在处理输入信号时不进行逻辑电平信号的翻转,比如,输入的所有逻辑电平信号均为0,第二全加器不要进行逻辑电平信号的翻转,输出的逻辑电平信号也均为0。并且,在本申请实施例中,0代表低电平信号,1代表高电平信号。

本申请实施例提供的压缩器电路,包括第一全加器、第二全加器和第一选择电路,第一全加器的输出端与第一选择电路的输入端连接,第一选择电路的输出端与第二全加器的输入端连接;通过配置第一选择信号来控制第一选择电路的输出信号,使得第一选择电路的输出信号在一些场景中为低电平信号,当第一选择器的输出信号和压缩器电路的多位输入信号的最高位信号均为低电平信号时,第二全加器不会进行逻辑电平信号的翻转,相当于第二全加器被关闭,第二全加器不会产生能耗和时延,因此,有效降低了压缩器电路的能耗与时延。

可选地,在本申请实施例中,第一选择信号为以下信号中的任意一种:根据多位输入信号的最高位信号确定的信号、预设的可翻转逻辑电平信号、根据历史选择信号预测获得的信号、压缩器电路所在的乘法器电路中的编码器确定的信号。

若第一选择信号为根据多位输入信号的最高位信号确定的信号,其确定规则为:若最高位信号为高电平信号,则第一选择信号为高电平信号,若最高位信号为低电平信号,则第一选择信号为低电平信号。该方法尤其适用于压缩器电路的输入信号为小数值的场景中,当输入的最高位信号为0时,第一选择信号也为0,则第二全加器2的输入信号和输出信号均为0,相当于第二全加器被关闭,有效节省了能耗与延迟。

若第一选择信号为预设的可翻转逻辑电平信号,可以预先设置一个默认信号作为第一选择信号,在电路运行过程中,若检测到输出信号出现连续多次错误,则第一选择电路可以对第一选择信号进行翻转,例如,预先设置的第一选择信号为0,检测到压缩器电路的输出信号连续多次出现错误时,将第一选择信号翻转为1。其中,检测输出信号是否出错,可以是测试人员通过一定的测试工具来测试,也可以是在压缩器电路中设置反馈电路或者控制器来自动检测输出信号是否出错,并在输出信号连续出错的次数超过预设阈值之后,自动翻转第一选择信号。

若第一选择信号为根据历史选择信号预测获得的信号,可以获取预设历史时间段内的所有或部分历史选择信号来预测第一选择信号,预测规则可以根据实际情况和需求来制定,例如,在压缩器电路中设置一个4个状态的状态机来预测第一选择信号。

若第一选择信号为压缩器电路所在的乘法器电路中的编码器确定的信号,一般情况下,乘法器电路中可以包括编码器和压缩器电路,编码器用于对压缩器电路的输入信号进行编码,编码器可以根据编码结果来确定第一选择信号,编码器可以在原有输出信号的基础上额外增加一路输出信号作为第一选择信号。例如,若编码器输出信号的最高位信号为0,则编码器将第一选择信号设置为0;若编码器输出信号的最高位信号为1,则编码器将第一选择信号设置为1,但并不以此为限。

图3为本申请另一实施例提供的一种压缩器电路的结构图。本实施例涉及的是第二选择电路根据选择信号确定压缩器电路最终输出的是第一全加器的输出信号或第二全加器的输出信号的具体实现方式。

在图2所示实施例的基础上,如图3所示,该压缩器电路还包括第二选择电路4,第二选择电路的第一输入端41与第一全加器的输出端11连接,第二选择电路的第二输入端42与第二全加器的输出端22连接,其中,第二选择电路根据第二选择信号的高低电平确定自身的输出是第一全加器的输出信号或第二全加器的输出信号。

在本实施例中,第二选择电路4在第二选择信号为低电平信号时输出的是第一全加器1的输出信号,第二选择电路在第二选择信号为高电平信号时输出的是第二全加器2的输出信号;或者,第二选择电路4在第二选择信号为高电平信号时输出的是第一全加器1的输出信号,第二选择电路在第二选择信号为低电平信号时输出的是第二全加器2的输出信号,第二选择信号的配置仅需要根据实际需求可以满足压缩器电路最终输出正确的结果即可。

在本实施例中,第二选择电路4也可以是由多个数据选择器构成的电路,例如,可以采用两个二路数据选择器构成第二选择电路。第二选择电路4和第一选择电路3可以是功能和结构相同的电路,也可以是功能或结构不同的两个电路,或者,第二选择电路4和第一选择电路3可以是功能相同但逻辑结构不同的两个电路,例如,第二选择电路4在第二选择信号为1时输出信号为0,第一选择电路3在第二选择信号为1时输出信号非0,也可以是其它的情况,本实施例中不加以限制。

通过配置第二选择信号可以控制第二选择电路4选择输出的是第一全加器的输出信号或第二全加器的输出信号。例如,若第二选择信号为高电平信号,则第二选择电路4输出的是第二全加器2的输出信号,若第二选择信号为低电平信号,则第二选择电路4输出的是第一全加器1的输出信号;或者,若第二选择信号为低电平信号,则第二选择电路4输出的是第二全加器2的输出信号,若第二选择信号为高电平信号,则第二选择电路4输出的是第一全加器1的输出信号。

第一选择电路3的选择信号和第二选择电路4的选择信号的逻辑电平一致,例如,第一选择信号和第二选择信号均为高电平;或者,第一选择信号和第二选择信号均为低电平。以图3为例,当压缩器电路的多位输入信号的最高位信号为0时,第一选择信号也为0,使得第一选择电路3的输出信号为0,则第二全加器2的输入信号均为0,使得第二全加器2的输出信号也为0,第二选择信号为0,使得第二选择电路4输出的是第一全加器1的输出信号,经过第一选择电路输出的信号为第一全加器的输出结果,其输出信号可能是0,也可能是1,或者是其它信号;当压缩器电路的多位输入信号的最高位信号为1时,第一选择信号也为1,第一选择电路3的输出的是第一全加器1的输出信号,即第二全加器2的输入信号也是第一全加器1的输出信号,第二选择信号为1,使得第二选择电路4输出的是第二全加器2的输出信号,可以保证压缩器电路输出信号的准确性。

可选地,第一选择信号和第二选择信号的逻辑电平也可以不相同,例如,在最高位信号为1时,第二选择信号为1,第一选择信号为0,两者的逻辑电平可以不一致,第二选择信号与第一选择信号的设置只要保证,在最高位信号为1时第二选择电路选出第二全加器的输出结果即可,上述实施例仅为一个示例性的说明,并不是对本申请实施例的限制。

可选地,在本申请实施例中,第二选择信号为以下信号中的任意一种:根据多位输入信号的最高位信号确定的信号、预设的可翻转逻辑电平信号、根据历史选择信号预测获得的信号、压缩器电路所在的乘法器电路中的编码器确定的信号。具体实现方式可参照图2所示实施例中第一选择信号的获取方式,此处不再赘述。

本申请实施例提供的压缩器电路还包括第二选择电路,第二选择电路的第一输入端与第一全加器的输出端连接,第二选择电路的第二输入端与第二全加器的输出端连接,通过配置第二选择信号来控制第二选择电路输出的是第一全加器的输出信号或第二全加器的输出信号,当压缩器电路的多位输入信号的最高位信号为低电平信号时,通过第二选择信号控制第二选择电路输出的是第二全加器的输出信号,尤其的,当压缩器电路的多位输入信号的最高位信号为低电平信号时,通过第二选择信号控制第二选择电路输出的是第一全加器的输出信号,避免了第二全加器的输出信号为低电平信号时,压缩器电路输出的是第二全加器的输出信号的情况,保证了输出信号的准确性。

图4为本申请另一实施例提供的一种压缩器电路的结构图,本实施例涉及的是第一选择电路由两个选择器构成的具体实现方式。如图4所示,第一选择电路3包括第一选择器5和第二选择器6;第一选择器的输出端51与第二全加器的第三输入端25连接,第二全加器的第一输入端23与第二选择器的输出端63连接,第二全加器的第二输入端24用于接收最高位信号(I4),第二全加器的输出端22与第二选择电路的第二输入端42连接,第一全加器的输出端11分别与第二选择器的第一输入端61和第二选择电路的第一输入端41连接。

在图4所示实施例中,I1、I2、I3、I4为压缩器电路的4位输入信号,I4为最高位信号。第一选择器的第一输入端53接收低电平信号0,第一选择器的第二输入端52接收其它电路或设备输出的信号,当第三选择信号为低电平信号0时,第一选择器5输出的是第一选择器的第一输入53的信号0,当第三选择信号为高电平信号1时,第一选择器5输出的是第一选择器的第二输入端52的信号。第二选择器的第二输入端62接收低电平信号0,第二选择器的第一输入端61接收第一全加器1的输出信号,当第四选择信号为低电平信号0时,第二选择器6输出的是第二选择的第二输入端62的信号0,当第四选择信号为高电平信号1时,第二选择器6输出的是第二选择器的第一输入端61的信号。

需要说明的是,上述实施例中,第三选择信号与第四选择信号也可以是其它的配置方式,例如,当第三选择信号为高电平信号1时,第一选择器5输出的是第一选择器的第一输入53的信号0,当第三选择信号为低电平信号0时,第一选择器5输出的是第一选择器的第二输入端52的信号;当第四选择信号为高电平信号1时,第二选择器6输出的是第二选择的第二输入端62的信号0,当第四选择信号为低电平信号0时,第二选择器6输出的是第二选择器的第一输入端61的信号,本实施例中不加以限制。

图5为本申请另一实施例提供的一种压缩器电路的结构图,本实施例涉及的是第一选择电路由两个与门电路构成的具体实现方式。如图5所示,第一选择电路3包括第一与门电路220和第二与门电路210;第一与门电路的输出端56与第二全加器的第三输入端25连接,第二全加器的第一输入端23与第二与门电路的输出端66连接,第二全加器的第二输入端24用于接收最高位信号(I4),第二全加器的输出端22与第二选择电路的第二输入端42连接,第一全加器的输出端11分别与第二与门电路的第一输入端64和第二选择电路的第一输入端41连接。

在图5所示实施例中,I1、I2、I3、I4为压缩器电路的4位输入信号,I4为最高位信号。第一与门电路的第一输入端54接收第七选择信号,第一与门电路的第二输入端55接收其它电路或设备输出的信号,当第七选择信号为0时,第一与门电路的输出端56的输出信号为0。第二与门电路的第一输入端64的输入信号为第一全加器1的输出信号,第二与门电路的第二输入端65的输入信号为第八选择信号,当第八选择信号为0时,第二与门电路的输出端66的输出信号为0。当最高位信号I4为0时,将第七选择信号和第八选择信号均设置为0,则第一与门电路220的输出信号和第二与门电路210的输出信号均为0,则第二全加器2的输入信号均为0,相当于关闭了第二全加器。当最高位信号为1时,将第七选择信号和第八选择信号均设置为1,则第一与门电路220输出的是第一与门电路的第二输入端55的输入信号,第二与门电路210输出的是第二与门电路的第一输入端64的输入信号。

图6为本申请另一实施例提供的一种压缩器电路的结构图,本实施例涉及的是第二选择电路由两个选择器构成的具体实现方式。如图6所示,第二选择电路4包括第三选择器7和第四选择器8;第三选择器的第一输入端71与第一全加器的第一输出端12连接,第三选择器的第二输入端72与第二全加器的第一输出端26连接;第四选择器的第一输入端81与第一全加器的第二输出端13连接,第四选择器的第二输入端82与第二全加器的第二输出端27连接。

在本实施例中,第一选择器5、第二选择器6、第三选择器7和第四选择器8均为二路数据选择器,且这四个选择器的选择信号的逻辑电平可以一致,也可以不一致,四个选择器的选择信号的配置原则为保证选择器正确输出预期信号为准,对于选择信号的配置不加以限制。

如图6所示,若压缩器电路的最高位信号I4为0,配置第三选择信号、第四选择信号、第五选择信号、第六选择信号均为0,第一选择器的输出端51输出的是第一选择器的第一输出端53的信号0,第二选择器的输出端63输出的是第二选择器的第二输出端的信号0,则第二全加器的三个输入端输入的信号均为0,则第二全加器的两个输出端输出的信号也均为0,第三选择器7输出的是第一全加器的第一输出端12的信号,第四选择器8输出的是第一全加器的第二输出端13的信号,第一全加器的第一输出端12的输出信号Cout还可以作为下一级压缩器电路的进位输入;在该情况下,相当于第二全加器2被关闭,节省了压缩器电路的能耗和延迟。在本实施例中,第三选择信号、第四选择信号、第五选择信号、第六选择信号均为0仅为一种示例性说明,第三选择信号、第四选择信号、第五选择信号、第六选择信号也可以不一致,四个选择信号的配置需保证在最高位信号为0的情况下,第二选择电路最终输出的是第一全加器的输出信号即可,或者。

如图6所示,若压缩器电路的最高位信号I4为1,配置第一选择器5、第二选择器6、第三选择器7和第四选择器8的选择信号均为1,第一选择器的输出端51输出的是第一选择器第二输入端52的信号Cin,第二选择器的输出端63输出的是第二选择器的第一输入端61的信号,则第二全加器的输入信号不为0,则第三选择器7输出的是第二全加器的第一输出端26的信号,第四选择器8输出的第二全加器的第二输出端27的信号,在该情况下,相当于第二全加器2被开启,压缩器电路最终输出的是第二全加器的输出信号,保证了输出信号的准确性。在本实施例中,第三选择信号、第四选择信号、第五选择信号、第六选择信号均为1仅为一种示例性说明,第三选择信号、第四选择信号、第五选择信号、第六选择信号也可以不一致,保证在最高位信号为1的情况下,第二选择电路最终输出的是第二全加器的输出信号即可。

需要说明的是,图4和图6中,第一选择电路和第二选择电路均包括两个二路选择器,在实际场景中,还可以选择其他类型、数目的选择器来构成第一选择电路和第二选择电路,并不以图4和图6为限。

本申请实施例还提供一种华莱士树电路,包括至少一个如图2-图6任一实施例所述的压缩器电路。

在本实施例中,华莱士树电路可以采用一个压缩器电路或者是多个压缩器电路组合实现,当华莱士树电路应用于乘法器电路中时,用于对每个部分积的列进行累加,得到两路输出信号。对于由本申请提供的由压缩器电路所组成的华莱士树电路,第一层级(或第一流水级)的压缩器电路中均有可能关闭一个全加器,从而达到降低能耗的目的。

图7为本申请实施例提供的一种华莱士树电路示意图,如图7所示,该华莱士树电路包括八路个输入I0、I1、I2、I3、I4、I5、I6、I7,两路输出Carry和Sum,五路进位输入Ci0、Ci1、Ci2、Ci3、Ci4,五路进位输出Co0、Co1、Co2、Co3、Co4。

图8为本申请实施例提供的一种华莱士树电路的结构图,图8为图7所示的华莱士树电路的一种可能的实现方式,如图8所示,该华莱士树电路由3个4-2压缩器组合实现,可以将8位输入信号累加成两位输出信号。其中,第一压缩器和第二压缩器可以采用图2-图6任一实施例所述的压缩器电路,第三压缩器可以采用图2-图6任一实施例所述的压缩器电路,第三压缩器也可以采用如图1所示的传统的压缩器电路。

例如,对于未经过编码的8*8的运算,总共产生8个部分积,这8个部分积累加需要16个华莱士树电路,每个华莱士树电路包括如图8所示的3个4-2压缩器电路。8个部分积累加时,每个华莱士树电路都有8位输入(例如为I7I6…..I0),其中小数值的部分积对应的I6,I7位一般是0。因此将I7位和I6位分别作为一个4-2压缩器的高位输入,当I7和I6位是0时,对于第一流水级(第一层)中的两个4-2压缩器电路,其高位输入均为0,则这两个4-2压缩器电路中都有一个全加器处于关闭状态,从而达到了降低能效的目的。

图9为本申请实施例提供的另一种华莱士树电路的结构图,图9为图7或图8所示的华莱士树电路的另一种可能的实现方式,如图9所示,第一压缩器和第二压缩器的压缩电路中,采用两个与门来代替选择器,与图6相比较,相当于采用图9中的与门代替了图6中的第一选择器和第二选择器,并且,进位输出为Co0的与门控制的是第一全加器的一个输出信号。第三压缩器中没有选择器或与门,第三压缩器为传统的压缩器。

图10为本申请实施例提供的另一种华莱士树电路的结构图,如图10所示,在第一压缩器和第二压缩器的压缩电路中,也是采用两个与门来代替选择器,与图9不同的是,图10所示的华莱士电路中还增加了一个半加器,半加器的一路输出信号作为第五全加器的一个输入信号,通过增加该半加器,使得华莱士树电路从图7-图9所示的五路进位输入Ci0、Ci1、Ci2、Ci3、Ci4和五路进位输出Co0、Co1、Co2、Co3、Co4,扩展为六路进位输入Ci0、Ci1、Ci2、Ci3、Ci4、Ci5和六路进位输出Co0、Co1、Co2、Co3、Co4、Co5。

本申请实施例还提供一种压缩树电路,包括至少一个华莱士树电路。

图11为本申请一实施例提供的一种乘法器电路的结构图。如图11所示,该乘法器电路包括部分积电路101和上述实施例所述的压缩树电路102,部分积电路的输出端1011与压缩树电路的输入端1021连接,压缩树电路102包括至少一个华莱士树电路106,华莱士树电路106包括至少一个如图2-图6任一实施例所述的压缩器电路103。

在本实施例中,部分积电路102用于对乘法器电路的输入信号进行部分积运算,生成多位输入信号,然后再由压缩树电路102将多位输入信号进行处理,获得两位输出信号。相当于部分积电路102将乘数与被乘数生成部分积,然后通过压缩树电路累加部分积,完成乘法运算。

在图11中画出了一个华莱士树电路106,华莱士树电路106中也画出了一个压缩器电路,但压缩树电路还可以包括多个华莱士树电路,每个华莱士树电路也可以包括多个压缩器电路,可以根据实际需求来选择,本申请实施例不加以限制。

本申请实施例提供的乘法器电路,包括部分积电路101和压缩树电路102,部分积电路的输出端1011与压缩树电路的输入端1021连接,压缩树电路102包括至少如图2-图5任一实施例所述的压缩器电路103,可以通过配置选择信号来控制压缩器电路的第一选择电路的输出信号,使得第一选择电路的输出信号在一些场景中为低电平信号,当第一选择器的输出信号和压缩器电路的多位输入信号的最高位信号均为低电平信号时,第二全加器不会进行逻辑电平信号的翻转,相当于第二全加被关闭,第二全加器不会产生能耗和时延,因此,有效降低了压缩器电路的能耗与时延,从而降低的乘法器电路的功耗和时延。

图12为本申请另一实施例提供的一种乘法器电路的结构图。如图12所示,该乘法器电路还包括编码电路104,编码电路的输出端1041与部分积电路的输入端1012连接。

在本实施例中,编码电路用于对乘法器电路的第一输入信号进行编码,从而减少部分积的个数。例如,对于经过编码的8*8的运算,经过编码电路104的编码处理,部分积电路101得到的部分积的个数为4,这种方式下压缩树电路需要16个华莱士树电路组成,每个华莱士树为1个4-2压缩器电路即可实现。可以减少后续压缩树电路的功耗,并且,可以提高压缩树电路的效率,减少时延。

可选地,编码电路可以包括布斯(booth)编码器。

对于经过Booth编码的16位*16位的乘法器电路,会产生8个部分积,压缩树电路需要32个华莱士树电路组成,每个华莱士树电路由如图7-图9任一实施例所示的3个4-2压缩器组合实现。

对于经过Booth编码的32位*32位的乘法器电路,会产生16个部分积,压缩树电路总共需要64个华莱士树电路实现,每个华莱士树电路由如图13所示的华莱士树电路实现,该华莱士树电路包括16路输入I0、…、I15,14路进位输入Ci1、…、Ci13,14路进位输出Co1、…、Co13,两路输出Carry和Sum。

可选地,如图12所示,乘法器电路还包括加法电路105,压缩树电路的输出端1022与加法电路的输入端1051连接;加法电路105包括至少一个加法器。

在本实施例中,还可以在压缩树电路的输出端1022连接加法电路105,对压缩树电路102输出的信号进行累计运算,得到乘法器电路最终的输出信号。该加法电路105可以由至少一个加法器组成。

可选地,加法器可以为先行进位加法器,但不限于先行进位加法器。

本申请实施例还提供一种芯片,包括:至少一个图11或图12实施例所述的乘法器电路。

具体的,芯片可以是CPU(Central Processing Unit,中央处理器单元)、GPU(Graphics Processing Unit,图形处理器单元)、NPU(Neural-Network Processing Unit,神经网络处理器单元)、DSP(Digital Signal Process,数字信号处理)芯片的至少一种。其中,NPU可以通过硬件电路(例如包括但不限于FPGA、CGRA、专用集成电路ASIC、模拟电路和/或忆阻器等)实现。

本申请实施例还提供了一种芯片封装结构,其包括了上述实施例中的芯片。

本申请实施例还提供了一种板卡,其包括了上述实施例中的芯片封装结构。

本申请实施例还提供一种电子设备,包括上述实施例中的芯片。

电子设备可以为数据处理装置、机器人、电脑、打印机、扫描仪、平板电脑、智能终端、手机、行车记录仪、导航仪、传感器、摄像头、服务器、云端服务器、相机、摄像机、投影仪、手表、耳机、移动存储、可穿戴设备、交通工具、家用电器、和/或医疗设备。

所述交通工具包括飞机、轮船和/或车辆;所述家用电器包括电视、空调、微波炉、冰箱、电饭煲、加湿器、洗衣机、电灯、燃气灶、油烟机;所述医疗设备包括核磁共振仪、B超仪和/或心电图仪。

需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的电路组合,但是本领域技术人员应该知悉,本申请并不受所描述的电路组合方式的限制,因为依据本申请,某些电路可以采用其他方式或者结构实现。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于可选实施例,所涉及的器件和模块并不一定是本申请所必须的。

在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。

以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号