CN115099176A - 优化电路的方法、电子设备及存储介质 - Google Patents

优化电路的方法、电子设备及存储介质 Download PDF

Info

Publication number
CN115099176A
CN115099176A CN202210590373.3A CN202210590373A CN115099176A CN 115099176 A CN115099176 A CN 115099176A CN 202210590373 A CN202210590373 A CN 202210590373A CN 115099176 A CN115099176 A CN 115099176A
Authority
CN
China
Prior art keywords
adder
carry
input
circuit
multiplier
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.)
Pending
Application number
CN202210590373.3A
Other languages
English (en)
Inventor
李超凡
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Xinhuazhang Technology Co ltd
Original Assignee
Xinhuazhang Technology Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Xinhuazhang Technology Co ltd filed Critical Xinhuazhang Technology Co ltd
Priority to CN202210590373.3A priority Critical patent/CN115099176A/zh
Publication of CN115099176A publication Critical patent/CN115099176A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/32Circuit design at the digital level
    • G06F30/337Design optimisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2115/00Details relating to the type of the circuit
    • G06F2115/12Printed circuit boards [PCB] or multi-chip modules [MCM]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)

Abstract

本公开提供一种优化电路的方法、电子设备及存储介质。该方法包括:获取第一电路的描述;在所述第一电路中确定第一数据通路,其中所述第一数据通路包括乘法器和加法器,所述乘法器包括两个第一输入,所述乘法器的第一输出为所述加法器的第二输入,所述加法器还包括第三输入和第二输出;生成第二数据通路,其中所述第二数据通路的输入为所述乘法器的所述两个第一输入和所述加法器的所述第三输入,所述第二数据通路的输出与所述第一数据通路中的所述加法器的所述第二输出相同;以及使用所述第二数据通路替换所述第一数据通路,以得到第二电路。

Description

优化电路的方法、电子设备及存储介质
技术领域
本公开涉及电路领域,尤其涉及一种优化电路的方法、电子设备及存储介质。
背景技术
在对芯片设计进行综合时,设计人员需要通过硬件描述语言综合器(synthesizer)将硬件描述语言(Hardware Description Language,HDL)描述的设计综合为数字电路设计。
综合的过程中,一般会分开生成相连接的乘法器和加法器,乘法器中可以用到加法器。通常,硬件描述语言综合器还需要对综合出的含有运算器的网表进行优化。其中,针对乘法器的优化一般只是对其中的加法器进行优化。乘法器完成全部计算后才将最终计算结果输出,这使得与其连接的加法器的执行依赖于乘法器的最终结果。
发明内容
有鉴于此,本公开提出了一种优化电路的方法、电子设备及存储介质。
本公开第一方面,提供了一种优化电路的方法,包括:获取第一电路的描述;在所述第一电路中确定第一数据通路,其中所述第一数据通路包括乘法器和加法器,所述乘法器包括两个第一输入,所述乘法器的第一输出为所述加法器的第二输入,所述加法器还包括第三输入和第二输出;生成第二数据通路,其中所述第二数据通路的输入为所述乘法器的所述两个第一输入和所述加法器的所述第三输入,所述第二数据通路的输出与所述第一数据通路中的所述加法器的所述第二输出相同;以及使用所述第二数据通路替换所述第一数据通路,以得到第二电路。
本公开第二方面,提供了一种优化电路的电子设备,包括:存储器,用于存储一组指令;以及至少一个处理器,配置为执行该组指令以使得所述电子设备执行如第一方面所述的方法。
本公开第三方面,提供了一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储电子设备的一组指令,该组指令用于使所述电子设备执行如第一方面所述的方法。
本公开提供的一种优化电路的方法、电子设备及存储介质,在硬件描述语言综合器综合电路的过程中,通过生成新的数据通路实现对相连接的乘法器和加法器的联合优化,使得加法器的执行不依赖于乘法器的最终计算结果,并且移除了乘法器中最终的加法器。
附图说明
为了更清楚地说明本公开或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本公开,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出了根据本公开实施例的示例性电子设备的结构示意图。
图2A示出了根据本公开实施例的示例性硬件描述语言综合器的示意图。
图2B示出了示例性综合过程的示意图。
图3A示出了根据本公开实施例的示例性第一数据通路的示意图。
图3B示出了根据本公开实施例的示例性第二数据通路的示意图。
图3C示出了根据本公开实施例的示例性进位储存加法过程的示意图。
图4示出了根据本公开实施例的示例性优化电路的方法的流程图。
具体实施方式
为使本公开的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本公开进一步详细说明。
需要说明的是,除非另外定义,本公开使用的技术术语或者科学术语应当为本公开所属领域内具有一般技能的人士所理解的通常意义。本公开中使用的“第一”、“第二”以及类似的词语并不表示任何顺序、数量或者重要性,而只是用来区分不同的组成部分。“包括”或者“包含”等类似的词语意指出现该词前面的元件或者物件涵盖出现在该词后面列举的元件或者物件及其等同,而不排除其他元件或者物件。“连接”或者“相连”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电性的连接,不管是直接的还是间接的。
如上所述,对于硬件描述语言综合器所综合出的相连接的乘法器和加法器进行优化时,通常只是对其中的加法器进行优化。同时,乘法器完成全部计算后才将最终计算结果输出,这使得与其连接的加法器的执行依赖于乘法器的最终结果。目前,尚没有有效的针对相连接的乘法器和加法器进行联合优化的方法。
有鉴于上述问题,本公开提供一种优化电路的方法、电子设备及存储介质,在硬件描述语言综合器综合电路的过程中,通过生成新的数据通路实现对相连接的乘法器和加法器的联合优化,使得加法器的执行不依赖于乘法器的最终计算结果,并且移除了乘法器中最终的加法器。
图1示出了根据本公开实施例的示例性电子设备100的结构示意图。
电子设备100例如可以是主机计算机。电子设备100可以包括:处理器102、存储器104、网络接口106、外围接口108和总线110。其中处理器102、存储器104、网络接口106和外围接口108可以通过总线110实现彼此之间在电子设备100内部的通信连接。
处理器102可以是中央处理器(Central Processing Unit,CPU)、图像处理器、神经网络处理器、微控制器、可编程逻辑器件、数字信号处理器、应用专用集成电路(Application Specific Integrated Circuit,ASIC)、或一个或多个集成电路。处理器102可以用于进行与本公开描述的技术相关的功能。在一些实施例中,处理器102还可以包括集成为单一逻辑组件的多个处理器。如图1所示,处理器102可以包括多个处理器102a、102b和102c。
存储器104可以配置为存储数据(例如,指令集、计算机代码、中间数据等)。例如,如图1所示,存储的数据可以包括程序指令(例如,用于实现本公开的技术的程序指令)以及待处理的数据(例如,存储器104可以存储在编译过程产生的临时代码)。处理器102也可以访问存储的程序指令和数据,并且执行程序指令以对待处理的数据进行操作。存储器104可以包括非暂态计算机可读存储介质,例如易失性存储装置或非易失性存储装置。在一些实施例中,存储器104可以包括随机访问存储器(RAM)、只读存储器(ROM)、光盘、磁盘、硬盘、固态硬盘(SSD)、闪存、存储棒等。
网络接口106可以配置为使电子设备100能够经由网络与一个或多个其他外部装置进行通信。该网络可以是能够传输和/或接收数据的任何有线或无线的网络。例如,该网络可以是有线网络、本地无线网络(例如,蓝牙、WiFi、近场通信(NFC)等)、蜂窝网络、因特网、或上述的组合。可以理解的是,网络的类型不限于上述具体示例。在一些实施例中,网络接口106可以包括任意数量的网络接口控制器(NIC)、射频模块、接收发器、调制解调器、路由器、网关、适配器、蜂窝网络芯片等的任意组合。
外围接口108可以配置为将电子设备100与一个或多个外围装置连接,以实现信息输入及输出。例如,外围装置可以包括键盘、鼠标、触摸板、触摸屏、麦克风、各类传感器等输入装置以及显示器、扬声器、振动器、指示灯等输出装置。
总线110可以被配置为在电子设备100的各个组件(例如,处理器102、存储器104、网络接口106和外围接口108)之间传输信息,并且例如可以是内部总线(例如,处理器-存储器总线)、外部总线(USB端口、PCI-E总线)等。
在一些实施例中,除了图1所示出的以及上述所描述的处理器102、存储器104、网络接口106、外围接口108和总线110之外,电子设备100还可以包括实现正常运行所需的一个或多个其他组件和/或实现本公开的实施例的解决方案所必需的一个或多个其他组件。在一些实施例中,电子设备100可能不包含图1中所示的一个或多个组件。
需要说明的是,尽管上述电子设备100的构成架构仅示出了处理器102、存储器104、网络接口106、外围接口108和总线110,但是在具体实施过程中,该电子设备100的构成架构还可以包括实现正常运行所必需的其他组件。此外,本领域的技术人员可以理解的是,上述电子设备100的构成架构中也可以仅包含实现本公开实施例方案所必需的组件,而不必包含图中所示的全部组件。
图2A示出了根据本公开实施例的示例性硬件描述语言综合器200的示意图。硬件描述语言综合器200可以是运行在电子设备100上的计算机程序。
在芯片设计领域,通常可以利用硬件描述语言综合器200综合出芯片的电路。硬件描述语言综合器200可以直接接收源代码204(例如,Verilog HDL、VHDL等硬件描述语言),然后根据源代码204进行综合,并输出电路网表206。例如,硬件描述语言综合器200可以将电路网表206经由图1的外围接口108输出到输出设备上(例如,显示在显示器上)。硬件描述语言综合器200还可以对电路网表206进行优化。可以理解的是,优化可以是先生成电路网表再进行优化,或者是在生成电路网表的过程中同时进行优化。
图2B示出了示例性综合过程210的示意图。
通常,硬件描述语言综合器200可以对源代码204例如可以是Verilog HDL进行逻辑优化,得到含有运算器的网表。硬件描述语言综合器200可以对含有运算器的网表进行数据通路优化,从而得到合并运算器的网表。最后经过工艺映射,硬件描述语言综合器200可以输出工艺映射后的网表,即,电路网表206。
可以理解的是,逻辑优化过程后还可以得到比特流或寄存器传输级(RegisterTransport Level,RTL)等描述。网表、比特流、寄存器传输级等描述都可以描述电路。
图3A示出了根据本公开实施例的示例性第一数据通路300的示意图。
在一些实施例中,硬件描述语言综合器200可以从含有运算器的网表中确定包括相连接的乘法器302和加法器304的第一数据通路300,其中,乘法器302的输出连接到加法器304的一个输入。
如图3A所示,乘法器302可以包括两个第一输入。乘法器302的输出可以连接到加法器304的一个输入,也就是说,乘法器302的输出作为加法器304的一个输入。因此,加法器304的执行依赖于乘法器302的结果。加法器304的另一个输入可以是第三输入。第三输入可以是直接施加到加法器304的信号,或者是多个输入信号经过特定电路(例如,另一个乘法器)的运算后产生的输出信号。其中,第一输入和第三输入可以是具有一定位宽的信号值。乘法器302的两个第一输入和加法器304的第三输入可以是第一数据通路300的输入,加法器304的输出可以是第一数据通路300的输出。
在一些实施例中,乘法器302内部可以包括多个加法器,在末端会使用加法器来累加乘法器302在运行中产生的部分积,以得到乘法器302的最终结果。
在一些实施例中,硬件描述语言综合器200可以对第一数据通路300进行优化。
图3B示出了根据本公开实施例的示例性第二数据通路310的示意图。
在一些实施例中,硬件描述语言综合器200可以生成与第一数据通路300相对应的第二数据通路310。可以理解的是,第一数据通路300和第二数据通路310对应于相同的一段HDL代码。如图3B所示,第二数据通路310的输入、输出可以与第一数据通路300的输入、输出相同,即,第二数据通路310的输入可以为两个第一输入和第三输入,第二数据通路310的输出可以为第二输出。
在一些实施例中,第二数据通路310可以包括子电路3102、进位储存加法器312和进位传送加法器314。在一些实施例中,子电路3102可以包括多个与门。子电路3102可以根据两个第一输入确定部分积。硬件描述语言综合器200可以临时储存子电路3102确定的部分积,而不执行部分积的加法运算。这些部分积可以与第三输入一起作为进位储存加法器312的输入。进位储存加法器312可以多次执行进位储存加法,以得到两个输出。
图3C示出了根据本公开实施例的示例性进位储存加法过程320的示意图。
进位存储加法器312可以先将数A、B、C同一个比特位上的数进行加和得到一个和Sum与一个进位Carry。进位存储加法器312可以将进位Carry存储起来,而不是直接进位并与下一个比特位相加。图3C所示的过程即为一次进位储存加法过程。和Sum与进位Carry可以和下一个数再次进行进位储存加法,直到最终只剩两个数。
回到图3B,在一些实施例中,进位储存加法器312可以顺序执行进位储存加法。进位储存加法器312可以在接收到的子电路3102输出的部分积中确定三个部分积执行进位储存加法,得到两个第三输出。进位储存加法器312可以在剩下的部分积中确定一个与前述得到的两个第三输出一起作为输入,再次执行进位储存加法,得到新的两个第三输出。依此类推,进位储存加法器312可以多次执行进位储存加法,直至剩余的部分积的数量为0。此时,进位储存加法器312可以将得到的新的两个第三输出与第三输入一起作为输入,执行进位储存加法,得到两个第四输出。
在另一些实施例中,进位储存加法器312可以在接收到的子电路3102输出的部分积和第三输入的集合中确定三个作为输入,执行进位储存加法,得到两个第五输出。可以理解的是,这里所确定的是作为输入的三个数不一定都是部分积,可以是第三输入和两个部分积。将得到的两个第五输出、剩下的部分积和第三输入的集合作为一个新的集合,进位储存加法器312可以从这个新的集合中确定三个作为输入,执行进位储存加法,得到两个新的第五输出。依此类推,进位储存加法器312可以将得到的两个新的第五输出加入前述新的集合中,多次执行进位储存加法,直至剩下的部分积与第三输入的总数量为0,即,新的集合中只剩下这两个新的第五输出。
进位传送加法器314可以将上述两个第四输出或上述两个新的第五输出作为输入,执行进位传送加法,得到第二输出,该第二输出即为子电路3102输出的部分积与第三输入的和。
在另一些实施例中,进位传送加法器314可以使用进位链替代。进位链例如可以是Xilinx的CARRY8 primitive。可以理解的是,这里的进位储存加法器312、进位传送加法器314、进位链仅仅是示例,其作用是得到部分积与第三输入的和。本公开并不限制第二数据通路310中执行加法运算的运算器类型。
因此,第二数据通路310可以得到与第一数据通路300相同的运算结果。在第二数据通路310中,乘法器和加法器不再是分立的两个运算器,加法器的执行不需要依赖于乘法器的最终结果。也就是说,加法器可以在乘法器运行到中途时就介入,只要得到部分积即可执行后续的加法运算。此时,乘法器和加法器已经可以是一个不可分割的整体。
硬件描述语言综合器200可以使用生成的第二数据通路310替换第一数据通路300,以得到新的电路。
可以理解的是,图3A中所示出的相连接的一个乘法器和一个加法器是可以进行优化的最小数据通路。加法器还可以与多个乘法器相连接,其中该多个乘法器的输出是该加法器的输入。这种情况下,本公开所提出的方法也同样适用。
这样,在硬件描述语言综合器综合电路的过程中,通过生成新的数据通路实现对相连接的乘法器和加法器的联合优化,从而使得加法器的执行不依赖于乘法器的最终计算结果,并且移除了乘法器中最终的加法器。
图4示出了根据本公开实施例的示例性优化电路的方法400的流程图。方法400可以由图1的电子设备100执行。更具体地,方法400可以由在电子设备100上运行的硬件描述语言综合器200执行。方法400可以包括如下步骤。
在步骤S402,硬件描述语言综合器200可以获取第一电路的描述(例如,HDL源代码、含有运算器的网表、比特流、寄存器传输级(RTL)等描述)。可以理解的是,对于网表或比特流这类可以直接与电路对应的第一电路的描述,硬件描述语言综合器200可以直接对电路进行优化。对于HDL源代码或RTL代码之类的描述,硬件描述语言综合器200可以在生成电路的过程中对电路进行优化。
在步骤S404,硬件描述语言综合器200在该第一电路中可以确定第一数据通路(例如,图3A的第一数据通路300),其中该第一数据通路包括乘法器(例如,图3A的乘法器302)和加法器(例如,图3A的加法器304),该乘法器包括两个第一输入,该乘法器的第一输出为该加法器的第二输入,该加法器还包括第三输入和第二输出。
在步骤S406,硬件描述语言综合器200可以生成第二数据通路(例如,图3B的第二数据通路310),其中该第二数据通路的输入为该乘法器(例如,图3A的乘法器302)的该两个第一输入和该加法器(例如,图3A的加法器304)的该第三输入,该第二数据通路的输出与该第一数据通路(例如,图3A的第一数据通路300)中的该加法器的该第二输出相同。
在一些实施例中,该第二数据通路可以被配置为:根据该乘法器的所述两个第一输入确定部分积;储存该部分积;在该加法器处计算该部分积与该第三输入的和;以及将该部分积与该加法器的该第三输入的该和作为该第二数据通路的输出。
在一些实施例中,硬件描述语言综合器200可以在该部分积中确定三个执行进位储存加法,得到两个第三输出;在剩下的该部分积中可以确定一个与该两个第三输出共同执行进位储存加法,得到新的两个第三输出;响应于剩下的该部分积的数量为0,可以将该新的两个第三输出与该加法器的该第三输入共同执行进位储存加法,得到两个第四输出;以及针对该两个第四输出执行进位传送加法,得到该部分积与该加法器的该第三输入的和。
在另一些实施例中,硬件描述语言综合器200可以在该部分积与该第三输入中确定三个执行进位储存加法,得到两个第五输出;在该两个第五输出、剩下的该部分积与该第三输入中可以确定三个执行进位储存加法,得到新的两个第五输出;以及响应于剩下的该部分积与该第三输入的总数量为0,针对该新的两个第五输出执行进位传送加法,得到该部分积与该加法器的该第三输入的和。
在一些实施例中,该第二数据通路可以包括子电路(例如,图3B的子电路3102)和进位储存加法器(例如,图3B的进位储存加法器312)。其中,该子电路可以配置为根据所述乘法器的两个第一输入确定该部分积;该进位储存加法器可以配置为执行进位储存加法。在一些实施例中,该子电路可以包括多个与门。
在一些实施例中,该第二数据通路还可以包括进位传送加法器(例如,图3B的进位传送加法器314)或进位链(例如,Xilinx的CARRY8 primitive)。该进位传送加法器或进位链可以配置为执行进位传送加法。
在步骤S408,硬件描述语言综合器200可以使用该第二数据通路替换该第一数据通路,以得到第二电路。
这样,在硬件描述语言综合器综合电路的过程中,通过生成新的数据通路实现对相连接的乘法器和加法器的联合优化,从而使得加法器的执行不依赖于乘法器的最终计算结果,并且移除了乘法器中最终的加法器。
本公开还提供了一种优化电路的电子设备。该电子设备可以是图1所示的电子设备100。硬件描述语言综合器200可以被配置为执行存储在存储器104中的计算机程序以实现与本公开一致的优化电路的方法,诸如上述示例性方法(例如,图4中所示的方法400)。此处不再赘述。
本公开还提供了一种非暂态计算机可读存储介质。非暂态计算机可读存储介质存储计算机程序。当由硬件描述语言综合器200执行时,计算机程序使硬件描述语言综合器200实现与本公开一致的优化电路的方法,诸如上述示例性方法(例如,图4中所示的方法400)。此处不再赘述。
本实施例的计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。
上述对本公开特定实施例进行了描述。其他实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
所属领域的普通技术人员应当理解:以上任何实施例的讨论仅为示例性的,并非旨在暗示本公开的范围(包括权利要求)被限于这些例子;在本公开的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,步骤可以以任意顺序实现,并存在如上所述的本公开的不同方面的许多其它变化,为了简明它们没有在细节中提供。
另外,为简化说明和讨论,并且为了不会使本公开难以理解,在所提供的附图中可以示出或可以不示出与集成电路(IC)芯片和其它部件的公知的电源/接地连接。此外,可以以框图的形式示出装置,以便避免使本公开难以理解,并且这也考虑了以下事实,即关于这些框图装置的实施方式的细节是高度取决于将要实施本公开的平台的(即,这些细节应当完全处于本领域技术人员的理解范围内)。在阐述了具体细节(例如,电路)以描述本公开的示例性实施例的情况下,对本领域技术人员来说显而易见的是,可以在没有这些具体细节的情况下或者这些具体细节有变化的情况下实施本公开。因此,这些描述应被认为是说明性的而不是限制性的。
尽管已经结合了本公开的具体实施例对本公开进行了描述,但是根据前面的描述,这些实施例的很多替换、修改和变型对本领域普通技术人员来说将是显而易见的。例如,其它存储器架构(例如,动态RAM(DRAM))可以使用所讨论的实施例。
本公开旨在涵盖落入所附权利要求的宽泛范围之内的所有这样的替换、修改和变型。因此,凡在本公开的精神和原则之内,所做的任何省略、修改、等同替换、改进等,均应包含在本公开的保护范围之内。

Claims (9)

1.一种优化电路的方法,包括:
获取第一电路的描述;
在所述第一电路中确定第一数据通路,其中所述第一数据通路包括乘法器和加法器,所述乘法器包括两个第一输入,所述乘法器的第一输出为所述加法器的第二输入,所述加法器还包括第三输入和第二输出;
生成第二数据通路,其中所述第二数据通路的输入为所述乘法器的所述两个第一输入和所述加法器的所述第三输入,所述第二数据通路的输出与所述第一数据通路中的所述加法器的所述第二输出相同;以及
使用所述第二数据通路替换所述第一数据通路,以得到第二电路。
2.根据权利要求1所述的方法,其中,所述第二数据通路被配置为:
根据所述乘法器的所述两个第一输入确定部分积;
储存所述部分积;
在所述加法器处计算所述部分积与所述第三输入的和;以及
将所述部分积与所述第三输入的所述和作为所述第二数据通路的所述输出。
3.根据权利要求2所述的方法,其中,计算所述部分积与所述第三输入的和进一步包括:
在所述部分积中确定三个执行进位储存加法,得到两个第三输出;
在剩下的所述部分积中确定一个与所述两个第三输出共同执行进位储存加法,得到新的两个所述第三输出;
响应于剩下的所述部分积的数量为0,将所述新的两个所述第三输出与所述加法器的所述第三输入共同执行进位储存加法,得到两个第四输出;以及
针对所述两个第四输出执行进位传送加法,得到所述部分积与所述加法器的所述第三输入的所述和。
4.根据权利要求2所述的方法,其中,计算所述部分积与所述第三输入的和进一步包括:
在所述部分积与所述第三输入中确定三个执行进位储存加法,得到两个第五输出;
在所述两个第五输出、剩下的所述部分积与所述第三输入中确定三个执行进位储存加法,得到新的两个所述第五输出;以及
响应于剩下的所述部分积与所述第三输入的总数量为0,针对所述新的两个所述第五输出执行进位传送加法,得到所述部分积与所述加法器的所述第三输入的所述和。
5.根据权利要求2至4任一项所述的方法,其中,所述第二数据通路进一步包括:
子电路和进位储存加法器,其中,
所述子电路配置为根据所述乘法器的所述两个第一输入确定所述部分积;
所述进位储存加法器配置为执行进位储存加法。
6.根据权利要求5所述的方法,所述第二数据通路进一步包括:
进位传送加法器或进位链,配置为执行进位传送加法。
7.根据权利要求5所述的方法,其中,所述子电路进一步包括多个与门。
8.一种优化电路的电子设备,包括:
存储器,用于存储一组指令;以及
至少一个处理器,配置为执行所述一组指令以使得所述电子设备执行如权利要求1至7任一项所述的方法。
9.一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储电子设备的一组指令,所述一组指令在被执行时使得所述电子设备执行权利要求1至7任一项所述方法。
CN202210590373.3A 2022-05-26 2022-05-26 优化电路的方法、电子设备及存储介质 Pending CN115099176A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210590373.3A CN115099176A (zh) 2022-05-26 2022-05-26 优化电路的方法、电子设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210590373.3A CN115099176A (zh) 2022-05-26 2022-05-26 优化电路的方法、电子设备及存储介质

Publications (1)

Publication Number Publication Date
CN115099176A true CN115099176A (zh) 2022-09-23

Family

ID=83289299

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210590373.3A Pending CN115099176A (zh) 2022-05-26 2022-05-26 优化电路的方法、电子设备及存储介质

Country Status (1)

Country Link
CN (1) CN115099176A (zh)

Similar Documents

Publication Publication Date Title
US20200401414A1 (en) Multiplier-Accumulator Circuitry and Pipeline using Floating Point Data, and Methods of using Same
US10318290B2 (en) Merged floating point operation using a modebit
CN109255436A (zh) 用于机器学习加速的双曲线函数
US8903882B2 (en) Method and data processing unit for calculating at least one multiply-sum of two carry-less multiplications of two input operands, data processing program and computer program product
US10346133B1 (en) System and method of floating point multiply operation processing
Ma et al. Algorithm-hardware co-design of single shot detector for fast object detection on FPGAs
CN111767986A (zh) 一种基于神经网络的运算方法及装置
Khan et al. A high performance processor architecture for multimedia applications
US7725522B2 (en) High-speed integer multiplier unit handling signed and unsigned operands and occupying a small area
CN115293076B (zh) 生成电路的方法、电子设备及存储介质
JP6890741B2 (ja) アーキテクチャ推定装置、アーキテクチャ推定方法、およびアーキテクチャ推定プログラム
US10133552B2 (en) Data storage method, ternary inner product operation circuit, semiconductor device including the same, and ternary inner product arithmetic processing program
CN111931441A (zh) Fpga快速进位链时序模型的建立方法、装置以及介质
CN115099176A (zh) 优化电路的方法、电子设备及存储介质
US20190034562A1 (en) High-level synthesis device, high-level synthesis method, and computer readable medium
KR102208274B1 (ko) 특히 함수 모델을 순수 하드웨어에 기초하여 연산하기 위한 함수 모델 유닛 내에서 사용하기 위한 fma 유닛
US8214419B2 (en) Methods and apparatus for implementing a saturating multiplier
Véstias et al. Efficient design of low bitwidth convolutional neural networks on FPGA with optimized dot product units
Allam et al. Model‐Based Hardware‐Software Codesign of ECT Digital Processing Unit
US20160041947A1 (en) Implementing a square root operation in a computer system
US20200410149A1 (en) High-level synthesis apparatus, high-level synthesis method, and computer readable medium
Murillo et al. Generating Posit-Based Accelerators With High-Level Synthesis
CN115470737B (zh) 生成数据流图的方法、电子设备及存储介质
Rust et al. Approximate computing of two-variable numeric functions using multiplier-less gradients
US20240134608A1 (en) System and method to accelerate microprocessor operations

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