基于输入位时延的加/减法器优化方法技术

技术编号:17912738 阅读:23 留言:0更新日期:2018-05-10 18:27
本发明专利技术涉及电路时序优化领域,公开了一种基于输入位时延的加/减法器优化方法,包括:遍历电路中每个逻辑器件,确定电路中一组可优化的加/减法器组合;将所述加/减法器组合的输入位矩阵化,正数输入位存放在正数矩阵中,负数输入位存放在负数矩阵中;根据输入位的时延,分别对正数矩阵和负数矩阵中的每一列按时延由短到长进行排序,将输入位时延最短的排在每一列最前面;根据所述正数矩阵和负数矩阵中的有效数据行,依次新建N个加法器或减法器,并用所述N个加法器或减法器的组合替代所述可优化的加/减法器组合。所述优化方法通过按照输入位时延从低到高的顺序进行计算,在兼顾减少逻辑电路的物理量级的同时,最大化地优化RTL电路中的时序。

【技术实现步骤摘要】
基于输入位时延的加/减法器优化方法
本专利技术涉及电路时序优化领域,特别涉及基于输入位时延的加/减法器优化方法。
技术介绍
在RTL电路综合过程中,对一组加/减法器进行优化是一个很常见的问题。通常对加/减法器的优化方法是将一组加/减法器树型化,减少逻辑电路的物理级数,达到优化RTL逻辑电路的目标。例如,有一组链状的加/减法器“a1+a2-a3-a4+a5+a6+a7-a8”的物理结构如图1所示,将该组加/减法器树型化后,其物理结构通常如图2所示。加法器链在树型化后,可以最大化地减少RTL电路中加/减法器的物理级数。加/减法器链的树型化,可以最大化地减少RTL电路中的加/减法器的物理级数,然而一个物理级数最少的电路在时序上却不一定是最好的。它并没有最大化地优化RTL电路中加/减法器的时序依赖。例如,图2所示的优化方法中,若在‘a5+a6’计算出结果后,a8的数据仍未到达。则此时a7没必要等到a8的数据到达后,再和a8相减,而是可以先和‘a5+a6’的结果相加,然后再和a8相减,其物理结构如图3所示。对比图3和图2可以看出,图3所示电路的物理级数并图2所示电路要多一级,但它的时序却比图2所示的电路要好。进一步地,若图3中的输入端都为8位,而a5[2:0]的数据在a7[2:0]之后到达,即相对于a7[2:0],a5[2:0]到达加法器的输入端之前存在更多的延时,其物理结构如图4所示。目前树型化的电路并不能实现对如图4所示电路的时序优化,因此需要一种基于输入位时延的加/减法器优化方法对该电路进行优化。
技术实现思路
本专利技术的目的在于提供一种基于输入位时延的加/减法器优化方法,所述优化方法通过按照输入位时延从低到高的顺序进行计算,在兼顾减少逻辑电路的物理量级的同时,最大化地优化RTL电路中的时序。本申请涉及一种基于输入位时延的加/减法器优化方法,包括以下步骤:遍历电路中每个逻辑器件,确定电路中一组可优化的加/减法器组合;将所述加/减法器组合的输入位矩阵化,正数输入位存放在正数矩阵中,负数输入位存放在负数矩阵中;根据输入位的时延,分别对正数矩阵和负数矩阵中的每一列按时延由短到长进行排序,将输入位时延最短的排在每一列最前面;根据所述正数矩阵和负数矩阵中的有效数据行,依次新建N个加法器或减法器,并用所述N个加法器或减法器的组合替代所述可优化的加/减法器组合;其中,N≥1。在一个优选例中,所述“根据所述正数矩阵和负数矩阵中的有效数据行,依次新建N个加法器或减法器,并用所述N个加法器或减法器的组合替代所述可优化的加/减法器组合”的步骤包括:从所述正数矩阵和负数矩阵中选取时延最小的两个数据行;使用所述两个数据行新建加法器或减法器;使用进位链实现所述新建的加法器或减法器,并计算输出位;如果所述正数矩阵和负数矩阵还存在有效的数据行,则将所述计算的输出位加入到所述正数矩阵或负数矩阵中;重复以上步骤,直至所述正数矩阵和负数矩阵不存在有效的数据行;用所述进位链实现的加法器或减法器的组合替代所述可优化的加/减法器组合。在一个优选例中,所述确定电路中可优化的加/减法器组合包括:如果加/减法器组合中除最末端加法器或减法器外,其它每个加法器或减法器的输出端至少与该加/减法器组合中的一个输入端连接,则确定为可优化的加/减法器组合。在一个优选例中,所述从所述正数矩阵和负数矩阵中选取时延最小的两个数据行包括:在所述正数矩阵和负数矩阵的各数据行中,从每个数据行中选取最大的时延值作为该数据行的最大时延,选取最大时延最小的两个数据行。在一个优选例中,所述“选取最大时延最小的两个数据行”包括:所述两个数据行都来自正数矩阵;或所述两个数据行都来自负数矩阵;或所述两个数据行中一个来自正数矩阵,另一个来自负数矩阵。在一个优选例中,所述使用所述两个数据行新建加法器或减法器包括:如果所述两个数据行都来自正数矩阵,则新建一个加法器;如果所述两个数据行都来自负数矩阵,则新建一个加法器;如果所述两个数据行中一个来自正数矩阵,另一个来自负数矩阵,则新建一个减法器。在一个优选例中,所述将所述计算的输出位加入到所述正数矩阵或负数矩阵中包括:如果所述两个数据行都来自正数矩阵,将所述输出位加入到正数矩阵中;如果所述两个数据行都来自负数矩阵,将所述输出位加入到负数矩阵中;如果所述两个数据行中一个来自正数矩阵,另一个来自负数矩阵,根据矩阵列数目,即最终输出位宽填充所述输出位的符号位,并将其作为有符号数放入到正数矩阵中。在一个优选例中,所述加/减法器包括:加法器组合,或者是减法器组合,或者是加法器和减法器组合,或者是一个或多个三输入以上的加法器,或者是一个或多个三输入以上的减法器。在一个优选例中,所述加/减法器包括:链状的加/减法器组合,或树型的加/减法器。在一个优选例中,所述进位链通过一位全加器实现。本专利技术实施方式与现有技术相比,至少具有以下区别和效果:本申请所述的加/减法器优化方法调整不同延时的输入的计算顺序,能更快速、更有效地帮助集成电路设计自动化软件在逻辑综合优化时,产生更好的电路时序。进一步地,所述优化方法优化了加/减法器组的级数,使得从该加/减法器组的输入到输出的逻辑级数更小。并且在优化逻辑级数的基础之上,优化了该加/减法器组的关键路径上的时序,使得从该加/减法器组的输入到输出的延时更短。可以理解,在本专利技术范围内中,本专利技术的上述各技术特征和在下文(如实施方式和例子)中具体描述的各技术特征之间都可以互相组合,从而构成新的或优选的技术方案。限于篇幅,在此不再一一累述。附图说明图1是现有技术中一组链状加/减法器的结构图。图2是现有技术中一组加/减法器树型化的结构图。图3是现有技术中一种基于时序的加/减法器树型化的结构图。图4是现有技术中一种不同输入位延时的加/减法器树的结构图。图5是本申请第一实施方式中一种基于输入位时延的加/减法器优化方法的示意图。图6是本申请第一实施方式中一种进位链实现加减法的结构图。图7是本申请第一实施方式中一种补码减法示例图。图8是本申请实施例中一个进位链实现加法器(1)。图9是本申请实施例中一个进位链实现减法器(2)。图10是本申请实施例中一个进位链实现加法器(3)。具体实施方式在以下的叙述中,为了使读者更好地理解本申请而提出了许多技术细节。但是,本领域的普通技术人员可以理解,即使没有这些技术细节和基于以下各实施方式的种种变化和修改,也可以实现本申请所要求保护的技术方案。本申请涉及的术语解释:时延:指一个数据传送到集成电路中元器件的一个端子所需要的时间。寄存器传输级:RegisterTransferLevel(RTL),一种较高层次的硬件电路描述方法。综合:Synthesis,将高层次硬件描述格式转变成低层次硬件描述格式的过程。加法器:是一种用于执行加法运算的数字电路部件,是构成电子计算机核心微处理器中算术逻辑单元的基础。减法器:在数字电路中,二进制数的减法可以通过加一个负数来间接完成。全加器:full-adder,全加器将两个一位二进制数相加,并根据接收到的低位进位信号,输出和、进位输出。全加器的三个输入信号为两个加数A、B和低位进位Cin。[3]全加器通常可以通过级联(cascade)的方式,构成多位(如8位、16位、32位)二进制数加法器的基本文档来自技高网...
基于输入位时延的加/减法器优化方法

【技术保护点】
一种基于输入位时延的加/减法器优化方法,其特征在于,包括以下步骤:遍历电路中每个逻辑器件,确定电路中一组可优化的加/减法器组合;将所述加/减法器组合的输入位矩阵化,正数输入位存放在正数矩阵中,负数输入位存放在负数矩阵中;根据输入位的时延,分别对正数矩阵和负数矩阵中的每一列按时延由短到长进行排序,将输入位时延最短的排在每一列最前面;根据所述正数矩阵和负数矩阵中的有效数据行,依次新建N个加法器或减法器,并用所述N个加法器或减法器的组合替代所述可优化的加/减法器组合;其中,N≥1。

【技术特征摘要】
1.一种基于输入位时延的加/减法器优化方法,其特征在于,包括以下步骤:遍历电路中每个逻辑器件,确定电路中一组可优化的加/减法器组合;将所述加/减法器组合的输入位矩阵化,正数输入位存放在正数矩阵中,负数输入位存放在负数矩阵中;根据输入位的时延,分别对正数矩阵和负数矩阵中的每一列按时延由短到长进行排序,将输入位时延最短的排在每一列最前面;根据所述正数矩阵和负数矩阵中的有效数据行,依次新建N个加法器或减法器,并用所述N个加法器或减法器的组合替代所述可优化的加/减法器组合;其中,N≥1。2.根据权利要求1所述的优化方法,其特征在于,所述“根据所述正数矩阵和负数矩阵中的有效数据行,依次新建N个加法器或减法器,并用所述N个加法器或减法器的组合替代所述可优化的加/减法器组合”的步骤包括:从所述正数矩阵和负数矩阵中选取时延最小的两个数据行;使用所述两个数据行新建加法器或减法器;使用进位链实现所述新建的加法器或减法器,并计算输出位;如果所述正数矩阵和负数矩阵还存在有效的数据行,则将所述计算的输出位加入到所述正数矩阵或负数矩阵中;重复以上步骤,直至所述正数矩阵和负数矩阵不存在有效的数据行;用所述新建的加法器或减法器的组合替代所述可优化的加/减法器组合。3.根据权利要求1所述的优化方法,其特征在于,所述确定电路中可优化的加/减法器组合包括:如果加/减法器组合中除最末端加法器或减法器外,其它每个加法器或减法器的输出端至少与该加/减法器组合中的一个输入端连接,则确定为可优化的加/减法器组合。4.根据权利要求2所述的优化方法,其特征在于,所述从所述正数矩阵和负数矩阵中选取时延最小...

【专利技术属性】
技术研发人员:胡平科余建德
申请(专利权)人:上海安路信息科技有限公司
类型:发明
国别省市:上海,31

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

1