一种基于反向极性技术的乘法器及其代码生成方法技术

技术编号:26258937 阅读:19 留言:0更新日期:2020-11-06 17:52
本发明专利技术公开了一种基于反向极性技术的乘法器及其代码生成方法,所述乘法器包括部分积生成模块、部分积压缩模块和进位保留加法器;部分积生成模块对乘数和被乘数进行计算得到部分积;部分积压缩模块对部分积进行压缩得到部分积压缩树;进位保留加法器对压缩过程中连接到进位保留加法器上的信号进行相加处理,将相加处理结果连接到乘法器的输出端。部分积生成模块采用与非门阵列,部分积压缩模块采用华莱士树结构,压缩器主要采用反向极性全加器和反向极性半加器,在特定条件下采用普通全加器和普通半加器。本发明专利技术通过采用面积小、功耗低的反向极性全加器有效降低了乘法器的功耗,且可自动化生成乘法器的代码及对乘法器时序进行整体优化。

【技术实现步骤摘要】
一种基于反向极性技术的乘法器及其代码生成方法
本专利技术属于集成电路
,具体涉及一种基于反向极性技术的乘法器及其代码生成方法。
技术介绍
随着大数据、人工智能和云计算技术的快速发展,对芯片算力的需求越来越高,而制约影响芯片算力的一个重要因素就是功耗,为了解决性能和功耗问题,国内外目前研究的重点是人工智能芯片,乘法器作为人工智能芯片中的一个主要部件,其性能和功耗直接影响着整个芯片的性能和功耗,因此设计高性能低功耗的乘法器尤为重要。通常,压缩器是乘法器的一种重要组成单元,压缩器的性能和功耗直接关系着整个乘法器的性能和功耗。目前常用的一种压缩器为全加器,图1为现有的一种普通全加器的电路结构图,其中a、b、c为输入信号,sum和carry为输出信号,图1所示的“和”输出和“进位”输出分别连接了一个反相器。基于反向极性的全加器在图1的基础上移除了与“和”输出和“进位”输出相连的反相器,因此具有更小的面积和功耗,且延迟相近。华莱士树的压缩过程通常由人工手动完成,其设计复杂,且难以从整体考虑时序,而在采用反向极性全加器和反向极性半加器后,将使得整个部分积的压缩过程变得更为复杂,因为在压缩过程中需要考虑信号的极性和压缩器的类型,同时还要考虑信号的到达时间,以及如何合理的将信号分配到压缩器的输入管脚上。
技术实现思路
本专利技术所要解决的技术问题是针对上述现有技术的不足,提供一种基于反向极性技术的乘法器及其代码生成方法,通过采用面积小、功耗低的反向极性全加器有效降低了乘法器的功耗,可自动化生成乘法器的代码及对乘法器时序进行整体优化,在高速低功耗领域具有广阔的应用场景。为实现上述技术目的,本专利技术采取的技术方案为:一种基于反向极性技术的乘法器,所述乘法器包括部分积生成模块、部分积压缩模块和进位保留加法器;所述部分积生成模块用于对乘数和被乘数进行计算,得到部分积;所述部分积压缩模块用于对部分积进行压缩,得到部分积压缩树;所述进位保留加法器用于对压缩过程中连接到进位保留加法器上的信号进行相加处理,并将相加处理结果连接到乘法器的输出端;所述信号的极性包括正极性和负极性,所述正极性信号和负极性信号逻辑值互斥,一个正极性信号经过反向后变为负极性信号,一个负极性信号经过反向后变为正极性信号。为优化上述技术方案,采取的具体措施还包括:上述的部分积生成模块为与非门阵列,所述与非门阵列由N×N个部分积构成,分布在2N-1列,所述N×N个部分积由N位的乘数和N位的被乘数进行“与非”逻辑计算得到。上述的部分积压缩模块采用华莱士树结构,包括反向极性全加器、反向极性半加器、普通全加器和普通半加器;所述反向极性全加器、反向极性半加器、普通全加器和普通半加器均用于对部分积进行压缩,当压缩树一列中剩下的信号元素个数等于4且至少有3个正极性信号,则使用普通全加器对最先到达的3个正极性信号进行压缩,当压缩树一列中剩下的信号元素个数等于3且至少有2个正极性信号,则使用普通半加器对最先到达的2个正极性信号进行压缩,其他情况均采用反向极性全加器或反向极性半加器进行压缩;所述反向极性全加器采用标准单元库中面积最小的反向极性全加器单元,具有三个输入信号A、B、CI和两个输出信号SN、CON。当输入为A、B、CI时,输出SN和CON逻辑功能分别等价于输入为A、B、CI时普通全加器的“和”输出取反和“进位”输出取反,当输入为A、B、CI取反时,输出SN和CON逻辑功能分别等价于输入为A、B、CI时普通全加器的“和”输出和“进位”输出。所述反向极性半加器由一个或非门和一个异或门并联组成,具有两个输入信号A、B和两个输出信号SN、CON;当输入为A、B取反时,输出SN和CON逻辑功能分别等价于输入为A、B时普通半加器的“和”输出和“进位”输出。上述的压缩器在进行压缩时所有输入信号的极性相同,若有不同则加反相器使输入信号的极性变为相同;对于普通全加器和普通半加器,输入和输出信号均为正极性;对于反向极性半加器,输入极性均为负极性,且输出为正极性;对于反向极性全加器,输入为正极性或负极性,且输入极性和输出极性相反。对于普通全加器和反向极性全加器,其“和”输出及“进位”输出的信号到达时间由表达式(1)计算:对于普通半加器和反向极性半加器,其“和”输出及“进位”输出的信号到达时间由表达式(2)计算:表达式(1)和表达式(2)中的Delay表示信号到达时间,A、B和CI表示输入信号,S和CO分别表示“和”输出及进位输出信号,MAX表示求取其中一个的最大值,DA-S表示输入A信号到输出S信号需要的路径延迟,DA-CO表示输入A信号到输出CO信号需要的路径延迟,DB-S表示输入B信号到输出S信号需要的路径延迟,DB-CO表示输入B信号到输出CO信号需要的路径延迟,DCI-S表示输入CI信号到输出S信号需要的路径延迟,DCI-CO表示输入CI信号到输出CO信号需要的路径延迟。上述的部分积压缩模块所使用的反向极性全加器和反向极性半加器的面积和占比大于部分积压缩模块总面积的80%。上述的一种基于反向极性技术的乘法器的代码生成方法,其特征在于,所述方法包括:1)初始化设置所述乘法器采用的基本电路单元输入管脚到输出管脚的路径延迟参数,该参数用于计算信号的到达时间;2)创建2N-1个队列保存部分积压缩中的数据元素,每个队列对应存储部分积压缩树中一列的数据元素,所述数据元素包括信号名称、信号到达时间和信号极性;3)产生部分积生成模块的与非门阵列并存储于队列中,所述与非门阵列由N位的乘数和N位的被乘数进行“与非”逻辑计算,共有N×N个部分积,分布在2N-1列;4)从低位到高位依次对2N-1列部分积进行压缩,在压缩过程中根据信号到达时间及信号的极性判断当前应采取的压缩器类型,并使用信号路径重安排技术将输入信号连接到压缩器相应的输入管脚上,每一列部分积压缩完成后若剩下两个信号未被压缩,则将剩下的两个信号分别连接到进位保留加法器的输入端;5)使用进位保留加法器计算结果,并将计算的结果连接到乘法器的输出端;6)计算完成,输出最终的乘积。上述的基本电路单元包括普通全加器、普通半加器、反相器、反向极性全加器和反向极性半加器。上述的所述路径重安排为将压缩器三个输入信号中最晚到达的信号连接到压缩器最快的输入管脚,所述压缩器最快的输入管脚为从输入管脚到“和”输出管脚延迟最小的管脚。本专利技术具有以下有益效果:1)本专利技术的部分积生成模块采用与非门阵列实现,相比于传统的与门阵列可以减少功耗、面积和延迟;2)本专利技术的压缩器采用了面积小功耗低的反向极性全加器,相比于普通的全加器可以有效的减少功耗和面积;3)本专利技术设计了一种算法来自动生成乘法器的代码并从整体考虑电路优化,同时还采用了信号路径重安排技术,有效减少了电路延迟;4)本专利技术混合使用了反向极性的全本文档来自技高网...

【技术保护点】
1.一种基于反向极性技术的乘法器,其特征在于,所述乘法器包括部分积生成模块、部分积压缩模块和进位保留加法器;/n所述部分积生成模块用于对乘数和被乘数进行计算,得到部分积;/n所述部分积压缩模块用于对部分积进行压缩,得到部分积压缩树;/n所述进位保留加法器用于对压缩过程中连接到进位保留加法器上的信号进行相加处理,并将相加处理结果连接到乘法器的输出端;/n所述信号的极性包括正极性和负极性,所述正极性信号和负极性信号逻辑值互斥,一个正极性信号经过反向后变为负极性信号,一个负极性信号经过反向后变为正极性信号。/n

【技术特征摘要】
1.一种基于反向极性技术的乘法器,其特征在于,所述乘法器包括部分积生成模块、部分积压缩模块和进位保留加法器;
所述部分积生成模块用于对乘数和被乘数进行计算,得到部分积;
所述部分积压缩模块用于对部分积进行压缩,得到部分积压缩树;
所述进位保留加法器用于对压缩过程中连接到进位保留加法器上的信号进行相加处理,并将相加处理结果连接到乘法器的输出端;
所述信号的极性包括正极性和负极性,所述正极性信号和负极性信号逻辑值互斥,一个正极性信号经过反向后变为负极性信号,一个负极性信号经过反向后变为正极性信号。


2.根据权利要求1所述的一种基于反向极性技术的乘法器,其特征在于,所述部分积生成模块为与非门阵列,所述与非门阵列由N×N个部分积构成,分布在2N-1列,所述N×N个部分积由N位的乘数和N位的被乘数进行“与非”逻辑计算得到。


3.根据权利要求1所述的一种基于反向极性技术的乘法器,其特征在于,所述部分积压缩模块采用华莱士树结构,包括反向极性全加器、反向极性半加器、普通全加器和普通半加器;
所述反向极性全加器、反向极性半加器、普通全加器和普通半加器均用于对部分积进行压缩,当压缩树一列中剩下的信号元素个数等于4且至少有3个正极性信号,则使用普通全加器对最先到达的3个正极性信号进行压缩,当压缩树一列中剩下的信号元素个数等于3且至少有2个正极性信号,则使用普通半加器对最先到达的2个正极性信号进行压缩,其他情况均采用反向极性全加器或反向极性半加器进行压缩;
所述反向极性全加器采用标准单元库中面积最小的反向极性全加器单元,具有三个输入信号A、B、CI和两个输出信号SN、CON;
当输入为A、B、CI时,输出SN和CON逻辑功能分别等价于输入为A、B、CI时普通全加器的“和”输出取反和“进位”输出取反,当输入为A、B、CI取反时,输出SN和CON逻辑功能分别等价于输入为A、B、CI时普通全加器的“和”输出和“进位”输出。


4.根据权利要求3所述的一种基于反向极性技术的乘法器,其特征在于,所述反向极性半加器由一个或非门和一个异或门并联组成,具有两个输入信号A、B和两个输出信号SN、CON;
当输入为A、B取反时,输出SN和CON逻辑功能分别等价于输入为A、B时普通半加器的“和”输出和“进位”输出。


5.根据权利要求4所述的一种基于反向极性技术的乘法器,其特征在于,压缩器在进行压缩时所有输入信号的极性相同,若有不同则加反相器使输入信号的极性变为相同;
对于普通全加器和普通半加器,输入和输出信号均为正极性;
对于反向极性半加器,输入极性均为负极性,且输出为正极性;
对于反向极性全加器,输入为正极性或负极性,且输入极性和输出极性相反。

【专利技术属性】
技术研发人员:甘振华孙凌于威刘圆张都徐峰阙诗璇
申请(专利权)人:上海芷锐电子科技有限公司
类型:发明
国别省市:上海;31

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1