CN114816328A - 一种存算融合的乘法器及其控制方法 - Google Patents

一种存算融合的乘法器及其控制方法 Download PDF

Info

Publication number
CN114816328A
CN114816328A CN202210366293.XA CN202210366293A CN114816328A CN 114816328 A CN114816328 A CN 114816328A CN 202210366293 A CN202210366293 A CN 202210366293A CN 114816328 A CN114816328 A CN 114816328A
Authority
CN
China
Prior art keywords
multiplier
module
calculation
memory
circuit
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
CN202210366293.XA
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.)
Sun Yat Sen University
Original Assignee
Sun Yat Sen University
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 Sun Yat Sen University filed Critical Sun Yat Sen University
Priority to CN202210366293.XA priority Critical patent/CN114816328A/zh
Publication of CN114816328A publication Critical patent/CN114816328A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods 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/52Multiplying; Dividing
    • G06F7/523Multiplying only
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/41Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming static cells with positive feedback, i.e. cells not needing refreshing or charge regeneration, e.g. bistable multivibrator or Schmitt trigger
    • G11C11/413Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing, timing or power reduction

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

本发明公开了一种存算融合的乘法器及其控制方法。该系统通过编码电路模块对获取到的乘数进行Booth编码,再将编码后的乘数写入静态随机存取存储器模块中进行保存,当需要计算的时候调用乘数和被乘数,通过乘法器计算模块对乘数和被乘数进行计算。通过将编码电路和存储器相结合,将编码后的数据存在存储器中,并在之后进行计算中读出,对于两个操作数中有一个操作数缓变的乘法计算来说,只需要进行一次编码,有效的解决了Booth乘法器编码电路复杂的问题,有效减少了Booth乘法器计算时的功耗,提高了Booth乘法器计算的速度。本发明可广泛应用于集成电路技术领域内。

Description

一种存算融合的乘法器及其控制方法
技术领域
本发明涉及集成电路技术领域,尤其是一种存算融合的乘法器及其控制方法。
背景技术
乘法器是现代计算机必不可少的一部分,其在数字信号处理,滤波器,处理器,专用加速器中起着非常重要的作用,乘法器的性能和功耗经常决定整个系统的好坏,乘法器性能的性能和功耗的降低是微处理器和加速器设计中的重要设计挑战。微处理器和加速器通常结构复杂,其计算乘累加速度决定整个系统的速度。相关技术中,乘法器存在功耗较大、精度不够和延时过大等问题。
综上所述,相关技术中存在的问题亟需解决。
发明内容
本发明的目的在于至少一定程度上解决现有技术中存在的技术问题之一。
为此,本发明实施例的一个目的在于提供一种存算融合的乘法器及其控制方法,其能够解决乘法器编码电路复杂的问题,有效减少了乘法器计算时的功耗,提高了乘法器计算的速度。
为了达到上述技术目的,本发明实施例所采取的技术方案包括:
一方面,本发明实施例提供了一种存算融合的乘法器,包括:
编码电路模块,所述编码电路模块用于将乘数转换成对应的Booth编码;
静态随机存取存储器模块,所述静态随机存取存储器模块用于写入经过所述编码电路模块编码后的乘数;
乘法器计算模块,所述乘法器计算模块包括部分积生成电路,华莱士树压缩树,超前进位加法器,其中,所述部分积生成电路用于通过所述Booth编码控制,生成部分积;所述华莱士树压缩树将所述部分积进行压缩,所述超前进位加法器用于将压缩后的部分积相加得到最终结果;
所述编码电路模块的输出端与所述静态随机存取存储器模块的输入端连接,所述静态随机存取存储器模块的输出端与所述乘法器计算模块的第一输入端连接,所述乘法器计算模块的第二输入端用于输入被乘数,所述乘法器计算模块的输出端用于输出所述最终结果。
进一步地,所述乘法器还包括触发器模块,所述触发器模块的输入端与所述静态随机存取存储器模块的输出端连接,所述触发器模块的输出端与所述乘法器计算模块的第一输入端连接,所述触发器模块用于对被乘数和编码后的乘数进行同步。
进一步地,所述静态随机存取存储器模块包括写驱动电路,灵敏放大器,所述编码电路模块的输出端与所述写驱动电路的输入端连接,所述写驱动电路的输出端与所述灵敏放大器的输入端连接,所述灵敏放大器的输出端与所述触发器连接。
进一步地,所述静态随机存取存储器模块还包括存储单元,所述编码电路模块的输出端与所述存储单元的输入端连接,所述存储单元的输出端与所述灵敏放大器的输入端连接,所述存储单元用于存储编码后的乘数。
进一步地,所述静态随机存取存储器模块还包括预充电路,所述预充电路与所述存储单元连接,所述预充电路用于对位线进行充电。
进一步地,所述乘法器还包括控制器、按键模块以及显示模块,所述按键模块的输出端与所述控制器的输入端连接,所述控制器用于对所述编码电路模块、所述静态随机存取存储器模块以及所述乘法器计算模块进行控制和工作状态采集,所述控制器的输出端与所述显示模块的输入端连接。
进一步地,所述乘法器还包括通信模块,所述通信模块与所述控制器连接,所述通信模块用于上位机进行通信,所述控制器用于根据所述上位机发出的指令,控制所述乘法器进行工作。
另一方面,本发明实施例提出了一种存算融合的乘法器的控制方法,包括以下步骤:
通过按键模块获取乘数与被乘数;
通过编码电路模块对所述乘数进行编码;
通过乘法器计算模块对所述被乘数和编码后的乘数进行计算。
进一步地,所述控制方法还包括:
通过静态随机存取存储器模块将编码后的乘数进行存储。
进一步地,所述通过编码电路模块对所述乘数进行编码这一步骤,具体包括:
将所有乘数存入队列中;
从所述队列中依次获取乘数,并通过所述编码电路模块对当前乘数进行编码;
直至完成对所有乘数的编码。
本发明公开了一种存算融合的乘法器及其控制方法,具备如下有益效果:
本实施例通过编码电路模块对获取到的乘数进行Booth编码,再将编码后的乘数写入静态随机存取存储器模块中进行保存,当需要计算的时候调用乘数和被乘数,通过乘法器计算模块对乘数和被乘数进行计算。本实施例通过将存储器和计算单元集成在一起,有效减少了数据在存储器和运算器之间的移动,降低访存的时间开销,从而大大提高运算速度,降低运算功耗,本实施例只有在乘数发生变化时才进行读取,减少从存储器中读取的次数,降低了读取数据所需功耗。并且,通过将编码电路和存储器相结合,将编码后的数据存在存储器中,并在之后进行计算中读出,对于两个操作数中有一个操作数缓变的乘法计算来说,只需要进行一次编码,有效的解决了Booth乘法器编码电路复杂的问题,有效减少了Booth乘法器计算时的功耗,提高了Booth乘法器计算的速度。
附图说明
为了更清楚地说明本发明实施例或者现有技术中的技术方案,下面对本发明实施例或者现有技术中的相关技术方案附图作以下介绍,应当理解的是,下面介绍中的附图仅仅为了方便清晰表述本发明的技术方案中的部分实施例,对于本领域的技术人员来说,在无需付出创造性劳动的前提下,还可以根据这些附图获取到其他附图。
图1为本申请实施例中提供的一种存算融合的乘法器的模块框图;
图2为本发明实施例提供的一种存算融合的乘法器的控制方法的流程示意图;
图3为本发明实施例提供的一种存算融合的乘法器的控制方法的预编码流程示意图;
图4为本发明实施例提供的一种存算融合的乘法器的控制方法的乘法计算流程示意图。
具体实施方式
下面结合附图和具体实施例对本发明做进一步的详细说明。对于以下实施例中的步骤编号,其仅为了便于阐述说明而设置,对步骤之间的顺序不做任何限定,实施例中的各步骤的执行顺序均可根据本领域技术人员的理解来进行适应性调整。
在本发明的描述中,多个的含义是两个以上,如果有描述到第一、第二只是用于区分技术特征为目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量或者隐含指明所指示的技术特征的先后关系。此外,除非另有定义,本文所使用的所有的技术和科学术语与本技术领域的技术人员通常理解的含义相同。本文说明书中所使用的术语只是为了描述具体的实施例,而不是为了限制本发明。
对本申请实施例进行进一步详细说明之前,对本申请实施例中涉及的名词和术语进行说明,本申请实施例中涉及的名词和术语适用于如下的解释。
1)静态随机存取存储器(Static Random-Access Memory,SRAM)是随机存取存储器的一种。所谓的“静态”,是指这种存储器只要保持通电,里面储存的数据就可以恒常保持。相对之下,动态随机存取存储器(DRAM)里面所储存的数据就需要周期性地更新。然而,当电力供应停止时,SRAM储存的数据还是会消失(被称为volatile memory),这与在断电后还能储存资料的ROM或闪存是不同的。
2)乘法器(multiplier)是一种完成两个互不相关的模拟信号相乘作用的电子器件。它可以将两个二进制数相乘,它是由更基本的加法器组成的。乘法器可以通过使用一系列计算机算数技术来实现。乘法器不仅作为乘法、除法、乘方和开方等模拟运算的主要基本单元,而且还广泛用于电子通信系统作为调制、解调、混频、鉴相和自动增益控制;另外还可用于滤波、波形形成和频率控制等场合,因此是一种用途广泛的功能电路。
乘法器是现代计算机必不可少的一部分,其在数字信号处理,滤波器,处理器,专用加速器中起着非常重要的作用,乘法器的性能和功耗经常决定整个系统的好坏,乘法器性能的性能和功耗的降低是微处理器和加速器设计中的重要设计挑战。微处理器和加速器通常结构复杂,其计算乘累加速度决定整个系统的速度。
为此,参照图1,本申请提出了一种存算融合的乘法器及其控制方法,系统包括编码电路模块,所述编码电路模块用于将乘数转换成对应的Booth编码;静态随机存取存储器模块,所述静态随机存取存储器模块用于写入经过所述编码电路模块编码后的乘数;乘法器计算模块,所述乘法器计算模块包括部分积生成电路,华莱士树压缩树,超前进位加法器,其中,所述部分积生成电路用于通过所述Booth编码控制,生成部分积;所述华莱士树压缩树将所述部分积进行压缩,所述超前进位加法器用于将压缩后的部分积相加得到最终结果;
所述编码电路模块的输出端与所述静态随机存取存储器模块的输入端连接,所述静态随机存取存储器模块的输出端与所述乘法器计算模块的第一输入端连接,所述乘法器计算模块的第二输入端用于输入被乘数,所述乘法器计算模块的输出端用于输出所述最终结果。
本申请通过编码电路模块对获取到的乘数进行Booth编码,再将编码后的乘数写入静态随机存取存储器模块中进行保存,当需要计算的时候调用乘数和被乘数,通过乘法器计算模块对乘数和被乘数进行计算。本实施例通过将存储器和计算单元集成在一起,有效减少了数据在存储器和运算器之间的移动,降低访存的时间开销,从而大大提高运算速度,降低运算功耗,本实施例只有在乘数发生变化时才进行读取,减少从存储器中读取的次数,降低了读取数据所需功耗。并且,通过将编码电路和存储器相结合,将编码后的数据存在存储器中,并在之后进行计算中读出,对于两个操作数中有一个操作数缓变的乘法计算来说,只需要进行一次编码,有效的解决了Booth乘法器编码电路复杂的问题,有效减少了Booth乘法器计算时的功耗,提高了Booth乘法器计算的速度。
进一步作为可选的实施方式,所述乘法器还包括触发器模块,所述触发器模块的输入端与所述静态随机存取存储器模块的输出端连接,所述触发器模块的输出端与所述乘法器计算模块的第一输入端连接,所述触发器模块用于对被乘数和编码后的乘数进行同步。
具体地,在实际的数字系统中往往包含大量的存储单元,而且经常要求他们在同一时刻同步动作,为达到这个目的,在每个存储单元电路上引入一个时钟脉冲(CLK)作为控制信号,只有当CLK到来时电路才被“触发”而动作,并根据输入信号改变输出状态。把这种在时钟信号触发时才能动作的存储单元电路称为触发器,以区别没有时钟信号控制的锁存器。
在本实施例中,为了同步编码后的乘数和被乘数,可以在静态随机存取存储器模块和乘法器计算模块之间设置触发器模块。当需要计算的时候,提前一个周期将编码好的乘数从静态随机存取存储器读出,输入至触发器中,并且只有在乘数需要变化时,才读出下一个乘数。当乘数不变时不需要做读出数据的操作。编码后的乘数和被乘数经过触发器同步,可以减少无效翻转带来的功耗。
进一步作为可选的实施方式,所述静态随机存取存储器模块包括写驱动电路,灵敏放大器,所述编码电路模块的输出端与所述写驱动电路的输入端连接,所述写驱动电路的输出端与所述灵敏放大器的输入端连接,所述灵敏放大器的输出端与所述触发器连接。
进一步作为可选的实施方式,所述静态随机存取存储器模块还包括存储单元,所述编码电路模块的输出端与所述存储单元的输入端连接,所述存储单元的输出端与所述灵敏放大器的输入端连接,所述存储单元用于存储编码后的乘数。
具体地,写驱动电路用于写入经过Booth编码的乘数,灵敏放大器用于读出数据,存储单元用于存取经过Booth编码的乘数;当编码电路模块将乘数转换成对应的Booth编码后,通过写驱动电路将Booth编码后的乘数写入静态随机存取存储器模块,并存储到存储单元中,当需要调用Booth编码后的乘数时,再通过灵敏放大器将数据进行输出。
进一步作为可选的实施方式,所述静态随机存取存储器模块还包括预充电路,所述预充电路与所述存储单元连接,所述预充电路用于对位线进行充电。
具体地,预充电路用于在读取和写入数据之前对位线充电。在MOS管中,漏极所接线是位线而栅极所接线就是字线。字线为高电平时T管导通,字线为低电平时则截止。访问SRAM时,字线(Word Line)加高电平,使得每个基本单元的两个控制开关用的晶体管M,与M开通,把基本单元与位线(Bit Line)连通。位线用于读或写基本单元的保存的状态。虽然不是必须两条取反的位线,但是这种取反的位线有助于改善噪声容限。
进一步作为可选的实施方式,所述乘法器还包括控制器、按键模块以及显示模块,所述按键模块的输出端与所述控制器的输入端连接,所述控制器用于对所述编码电路模块、所述静态随机存取存储器模块以及所述乘法器计算模块进行控制和工作状态采集,所述控制器的输出端与所述显示模块的输入端连接。
具体地,本发明实施例的乘法器具备乘数被乘数输入功能和结果反馈功能,通过按键模块实现控制输入,通过指示灯、声音以及显示模块实现结果反馈显示。
显示模块可采用液晶显示屏,安装在乘法器前端,可与控制器联动显示乘法器计算模块的计算结果。
进一步作为可选的实施方式,所述乘法器还包括通信模块,所述通信模块与所述控制器连接,所述通信模块用于上位机进行通信,所述控制器用于根据所述上位机发出的指令,控制所述乘法器进行工作。
一种存算融合的乘法器实施环境的主体主要包括上位机和通信模块,上位机与通信模块通信连接。上位机通过发送对应的指令到通信模块,通信模块将该指令发送至控制器,从而实现对乘法器的远程控制。
具体地,本实施例中的上位机可以包括但不限于智能手表、智能手机、电脑、个人数字助理(Personal Digital Assistant,PDA)、智能语音交互设备、智能家电或者车载终端中的任意一种或者多种。通信模块可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN(Content Delivery Network,内容分发网络)以及大数据和人工智能平台等基础云计算服务的云服务器。上位机与通信模块之间可以通过无线网络或有线网络建立通信连接,该无线网络或有线网络使用标准通信技术和/或协议,网络可以设置为因特网,也可以是其它任何网络,例如包括但不限于局域网(Local Area Network,LAN)、城域网(Metropolitan Area Network,MAN)、广域网(Wide Area Network,WAN)、移动、有线或者无线网络、专用网络或者虚拟专用网络的任何组合。
参照图2,本发明实施例提供了一种存算融合的乘法器的控制方法,通过上述一种存算融合的乘法器执行,包括以下步骤:
S101、通过按键模块获取乘数与被乘数;
S102、通过编码电路模块对所述乘数进行编码;
S103、通过乘法器计算模块对所述被乘数和编码后的乘数进行计算。
通过编码电路模块对获取到的乘数进行Booth编码,再将编码后的乘数写入静态随机存取存储器模块中进行保存,当需要计算的时候调用乘数和被乘数,通过乘法器计算模块对乘数和被乘数进行计算。
具体地,可以将上述步骤分为预编码和乘法器计算两大部分。预编码流程如图3所示,首先将乘数进行Booth编码,再将Booth编码存入静态随机存取存储器中,然后判断是否所有乘数都已完成编码,如果是则预编码结束,如果不是则继续获取下一个乘数进行编码。乘法器计算如图4所示,首先将被编码的乘数从静态随机存取存储器模块中读出,随后将被乘数和从静态随机存取存储器模块中读出的乘数输入计算模块进行计算,同时输出结果,然后判断所有计算是否完成,如果是则计算结束,如果不是则继续进行判断,判断乘数是否发生改变,如果是则重复上述步骤继续读取乘数进行计算,如果不是则将被乘数和从静态随机存取存储器模块中读出的乘数输入计算模块进行计算。
本实施例通过将存储器和计算单元集成在一起,有效减少了数据在存储器和运算器之间的移动,降低访存的时间开销,从而大大提高运算速度,降低运算功耗,本实施例只有在乘数发生变化时才进行读取,减少从存储器中读取的次数,降低了读取数据所需功耗。并且,通过将编码电路和存储器相结合,将编码后的数据存在存储器中,并在之后进行计算中读出,对于两个操作数中有一个操作数缓变的乘法计算来说,只需要进行一次编码,有效的解决了Booth乘法器编码电路复杂的问题,有效减少了Booth乘法器计算时的功耗,提高了Booth乘法器计算的速度。
进一步作为可选的实施方式,所述控制方法还包括:
通过静态随机存取存储器模块将编码后的乘数进行存储。
具体地,本实施例通过将存储器和计算单元集成在一起,有效减少了数据在存储器和运算器之间的移动,降低访存的时间开销,从而大大提高运算速度,降低运算功耗。
进一步作为可选的实施方式,所述通过编码电路模块对所述乘数进行编码这一步骤,具体包括:
将所有乘数存入队列中;
从所述队列中依次获取乘数,并通过所述编码电路模块对当前乘数进行编码;
直至完成对所有乘数的编码。
具体地,首先将被编码的乘数从静态随机存取存储器模块中读出,随后将被乘数和从静态随机存取存储器模块中读出的乘数输入计算模块进行计算,同时输出结果,然后判断所有计算是否完成,如果是则计算结束,如果不是则继续进行判断,判断乘数是否发生改变,如果是则重复上述步骤继续读取乘数进行计算,如果不是则将被乘数和从静态随机存取存储器模块中读出的乘数输入计算模块进行计算。
可以理解的是,与现有技术相比,本发明实施例还具有以下优点:
本发明将静态随机存取存储器和Booth乘法器集成在一起,降低数据搬移的功耗,同时降低了数据读取所需要的时间,降低了对系统存储空间和算力的需求,通过将编码电路和静态随机存取储存器集成在一起,加速了乘法器编码电路的过程,降低了乘法器的功耗和延迟,或通过软件编码的方式进行预编码,将通过软件方式的编码存入静态随机存取存储器中,有效降低应用所需要的电路资源,提高了神经网络,滤波器等访存密集、计算密集型应用的效率,同时由于整体电路结构中没有引入模拟计算,所以计算精度没有任何损失。
应当认识到,本发明的实施例可以由计算机硬件、硬件和软件的组合、或者通过存储在非暂时性计算机可读存储器中的计算机指令来实现或实施。上述方法可以使用标准编程技术—包括配置有计算机程序的非暂时性计算机可读存储介质在计算机程序中实现,其中如此配置的存储介质使得计算机以特定和预定义的方式操作——根据在具体实施例中描述的方法和附图。每个程序可以以高级过程或面向对象的编程语言来实现以与计算机系统通信。然而,若需要,该程序可以以汇编或机器语言实现。在任何情况下,该语言可以是编译或解释的语言。此外,为此目的该程序能够在编程的专用集成电路上运行。
此外,可按任何合适的顺序来执行本文描述的过程的操作,除非本文另外指示或以其他方式明显地与上下文矛盾。本文描述的过程(或变型和/或其组合)可在配置有可执行指令的一个或多个计算机系统的控制下执行,并且可作为共同地在一个或多个处理器上执行的代码(例如,可执行指令、一个或多个计算机程序或一个或多个应用)、由硬件或其组合来实现。上述计算机程序包括可由一个或多个处理器执行的多个指令。
进一步,上述方法可以在可操作地连接至合适的任何类型的计算平台中实现,包括但不限于个人电脑、迷你计算机、主框架、工作站、网络或分布式计算环境、单独的或集成的计算机平台、或者与带电粒子工具或其它成像装置通信等等。本发明的各方面可以以存储在非暂时性存储介质或设备上的机器可读代码来实现,无论是可移动的还是集成至计算平台,如硬盘、光学读取和/或写入存储介质、RAM、ROM等,使得其可由可编程计算机读取,当存储介质或设备由计算机读取时可用于配置和操作计算机以执行在此所描述的过程。此外,机器可读代码,或其部分可以通过有线或无线网络传输。当此类媒体包括结合微处理器或其他数据处理器实现上文所描述步骤的指令或程序时,本文所描述的发明包括这些和其他不同类型的非暂时性计算机可读存储介质。当根据本发明所描述的方法和技术编程时,本发明还包括计算机本身。
计算机程序能够应用于输入数据以执行本文所描述的功能,从而转换输入数据以生成存储至非易失性存储器的输出数据。输出信息还可以应用于一个或多个输出设备如显示器。在本发明优选的实施例中,转换的数据表示物理和有形的对象,包括显示器上产生的物理和有形对象的特定视觉描绘。
以上所述,只是本发明的较佳实施例而已,本发明并不局限于上述实施方式,只要其以相同的手段达到本发明的技术效果,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。在本发明的保护范围内其技术方案和/或实施方式可以有各种不同的修改和变化。

Claims (10)

1.一种存算融合的乘法器,其特征在于,包括:
编码电路模块,所述编码电路模块用于将乘数转换成对应的Booth编码;
静态随机存取存储器模块,所述静态随机存取存储器模块用于写入经过所述编码电路模块编码后的乘数;
乘法器计算模块,所述乘法器计算模块包括部分积生成电路,华莱士树压缩树,超前进位加法器,其中,所述部分积生成电路用于通过所述Booth编码控制,生成部分积;所述华莱士树压缩树将所述部分积进行压缩,所述超前进位加法器用于将压缩后的部分积相加得到最终结果;
所述编码电路模块的输出端与所述静态随机存取存储器模块的输入端连接,所述静态随机存取存储器模块的输出端与所述乘法器计算模块的第一输入端连接,所述乘法器计算模块的第二输入端用于输入被乘数,所述乘法器计算模块的输出端用于输出所述最终结果。
2.根据权利要求1所述的存算融合的乘法器,其特征在于,所述乘法器还包括触发器模块,所述触发器模块的输入端与所述静态随机存取存储器模块的输出端连接,所述触发器模块的输出端与所述乘法器计算模块的第一输入端连接,所述触发器模块用于对被乘数和编码后的乘数进行同步。
3.根据权利要求2所述的存算融合的乘法器,其特征在于,所述静态随机存取存储器模块包括写驱动电路,灵敏放大器,所述编码电路模块的输出端与所述写驱动电路的输入端连接,所述写驱动电路的输出端与所述灵敏放大器的输入端连接,所述灵敏放大器的输出端与所述触发器连接。
4.根据权利要求3所述的存算融合的乘法器,其特征在于,所述静态随机存取存储器模块还包括存储单元,所述编码电路模块的输出端与所述存储单元的输入端连接,所述存储单元的输出端与所述灵敏放大器的输入端连接,所述存储单元用于存储编码后的乘数。
5.根据权利要求4所述的存算融合的乘法器,其特征在于,所述静态随机存取存储器模块还包括预充电路,所述预充电路与所述存储单元连接,所述预充电路用于对位线进行充电。
6.根据权利要求1所述的一种存算融合的乘法器,其特征在于,所述乘法器还包括控制器、按键模块以及显示模块,所述按键模块的输出端与所述控制器的输入端连接,所述控制器用于对所述编码电路模块、所述静态随机存取存储器模块以及所述乘法器计算模块进行控制和工作状态采集,所述控制器的输出端与所述显示模块的输入端连接。
7.根据权利要求6所述的一种存算融合的乘法器,其特征在于,所述乘法器还包括通信模块,所述通信模块与所述控制器连接,所述通信模块用于上位机进行通信,所述控制器用于根据所述上位机发出的指令,控制所述乘法器进行工作。
8.一种存算融合的乘法器的控制方法,通过如权利要求1至7中任一项所述的一种存算融合的乘法器执行,其特征在于,包括以下步骤:
通过按键模块获取乘数与被乘数;
通过编码电路模块对所述乘数进行编码;
通过乘法器计算模块对所述被乘数和编码后的乘数进行计算。
9.根据权利要求1所述的一种存算融合的乘法器的控制方法,其特征在于,所述控制方法还包括:
通过静态随机存取存储器模块将编码后的乘数进行存储。
10.根据权利要求1所述的一种存算融合的乘法器的控制方法,其特征在于,所述通过编码电路模块对所述乘数进行编码这一步骤,具体包括:
将所有乘数存入队列中;
从所述队列中依次获取乘数,并通过所述编码电路模块对当前乘数进行编码;
直至完成对所有乘数的编码。
CN202210366293.XA 2022-04-08 2022-04-08 一种存算融合的乘法器及其控制方法 Pending CN114816328A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210366293.XA CN114816328A (zh) 2022-04-08 2022-04-08 一种存算融合的乘法器及其控制方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210366293.XA CN114816328A (zh) 2022-04-08 2022-04-08 一种存算融合的乘法器及其控制方法

Publications (1)

Publication Number Publication Date
CN114816328A true CN114816328A (zh) 2022-07-29

Family

ID=82535178

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210366293.XA Pending CN114816328A (zh) 2022-04-08 2022-04-08 一种存算融合的乘法器及其控制方法

Country Status (1)

Country Link
CN (1) CN114816328A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116136835A (zh) * 2023-04-19 2023-05-19 中国人民解放军国防科技大学 一种三进二出数值获取方法、装置及介质
CN116540977A (zh) * 2023-07-05 2023-08-04 北京瑞莱智慧科技有限公司 模乘法器电路、fpga电路和asic模块

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116136835A (zh) * 2023-04-19 2023-05-19 中国人民解放军国防科技大学 一种三进二出数值获取方法、装置及介质
CN116540977A (zh) * 2023-07-05 2023-08-04 北京瑞莱智慧科技有限公司 模乘法器电路、fpga电路和asic模块
CN116540977B (zh) * 2023-07-05 2023-09-12 北京瑞莱智慧科技有限公司 模乘法器电路、fpga电路和asic模块

Similar Documents

Publication Publication Date Title
CN114816328A (zh) 一种存算融合的乘法器及其控制方法
CN112162723B (zh) 一种量子减法运算方法、装置、电子装置及存储介质
US11087203B2 (en) Method and apparatus for processing data sequence
WO2022042113A1 (zh) 数据处理方法、装置、电子设备及存储介质
CN110427359A (zh) 一种图数据处理方法和装置
US20210224700A1 (en) Techniques to forecast financial data using deep learning
CN106557436A (zh) 终端的内存压缩功能使能方法及装置
CN111767986A (zh) 一种基于神经网络的运算方法及装置
CN111081263B (zh) 一种优化音频编解码器存储空间的方法及系统
CN111277511A (zh) 传输速率控制方法、装置、计算机系统及可读存储介质
US20200050924A1 (en) Data Processing Method and Apparatus for Neural Network
AU2017254506A1 (en) Method, apparatus, computing device and storage medium for data analyzing and processing
CN116028013B (zh) 一种fpga除法运算的优化方法、装置、除法器和介质
CN110705696A (zh) 神经网络的量化与定点化融合方法及装置
CN112948126A (zh) 数据处理方法、装置及芯片
CN109542419B (zh) 一种can信息处理软件开发的方法、系统及设备
CN113746855A (zh) 一种能源工业云网的数据接入方法及相关设备
CN112214200B (zh) 一种量子减法运算方法、装置、电子装置及存储介质
US10275488B1 (en) Incremental covariance calculation for big data or streamed data using components
CN116911572A (zh) 页面自动化装配方法、系统、计算机设备及存储介质
CN114647610B (zh) 语音芯片实现方法、语音芯片及相关设备
CN115098262B (zh) 一种多神经网络任务处理方法及装置
CN116361205A (zh) 数据处理装置、确定张量存储地址的方法、设备和介质
CN109597611A (zh) 前端数据流控制组件开发系统、方法、设备及存储介质
CN114841325A (zh) 神经网络模型的数据处理方法、介质及电子设备

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