Brent Kung树结构的16位加法器的设计仿真及优化
1. 利用Hspice软件设计具体电路结构
1.1 Brent Kung树结构加法器设计简介
Brent Kung树结构加法器是一种超前进位加法器,即进位提前被计算出来,送给加和电路,减小了进位顺序传递的延时,实现此加法器减小了设计的复杂度。提高了设计的效率。具体电路实现需要4个模块电路设计。数据A和B通过缓冲器输入进来,然后经过进位生成和进位产生电路模块生成P和G信号。P与G信号经过点操作模块生成相应的进位值,最后加和生成SUM。电路结构采用动态逻辑结构,逻辑结构由NMOS下拉网络实现,构成PDN的过程和静态CMOS完全一样,晶体管的数目明显少于静态情况。动态逻辑同时具有较快的开关速度。动态逻辑同时在功耗方面有明显的优势。 1.2 Brent Kung树结构加法器电路设计
进位生成和进位传播模块均采用动态逻辑进行设计,具体实现公式为Pi=ai+bi,Gi=ai&bi;具体电路实现如下:
图1 进位传播和进位产生信号的动态实现
图中的反相器为对称的,p生成电路的逻辑努力为2/3,g生成电路的逻辑努力为1。
点计算模块具体生成对应的进位传播和进位产生Gi j和Pi j;其对应的具体公式为:Gi j=Gi k+Pi k*Gk-1 j。采用动态逻辑减小复杂度具体电路结构如下:
图2点模块电路产生信号的动态实现
求和电路利用多米诺实现求和即利用选择电路实现电路结构,在此电路中求和的两种条件计算为:Si0为ai与bi的同或,Si1为ai与bi的异或,具体电路结构如下:
图5动态逻辑实现和选择电路
电路中利用两个时钟,由clk产生clkd是由下面的电路实现的,传输门总是导通,时钟路径的延时可以通过这些器件的尺寸来调整。因为延时必须有一个严格的界限,即第二个门的所有输入必须在clkd的上升沿之前完成翻转,因此可能需要使clk进过多个以下的延时电路才能满足时序要求。时钟延时利用反向器的缓冲器和传输门来实现。
正向二进制树结构不足以产生全部的进位位,因此Brent Kung树结构采用了一个反二进制树来实现其它的进位位,这一结构组合中间的结果以产生其余的进位位,Brent Kung树结构可以产生所有进位位的表达式。,采用Brent Kung树的结构可以实现正确的16位加法器。具体树结构如下所示:
图4 16位Brent-Kung树结构
2. 利用Hspice仿真软件对设计进行具体优化验证
在这里选取延时最大的路径进行具体优化,且最长的路径为从输入到输出需要经过最长的延时路径。由具体电路图可以得出S15的和的输出时最长的延时路径,要做具体的优化,不光要考虑具体的点操作的运算过程,还要考虑具体的逻辑扇出的大小。在这里利用组合逻辑优化的原理来优化具体的动态电路设计,即利用路径努力来优化设计,分别求出具体的逻辑努力G、电气努力F以及分支B。则路径总路径努力为H=GBF,由此得到路径延时最小的门努力为h为 h?NH因此使每一门的门努力都等于h可以使路径的总延时最小。并由此可以确定具体的每一级的晶体管尺寸。
确定路径中具体的G、F与B,先对快进位传播的逻辑进行优化,在此电路中,加法器的输出为负载为50个大的最小反相器的尺寸,输入为1倍大小的缓冲器输入,则F=50/2=25;此动态的逻辑电路的G=1*1*2/3*1*1…*1*2/3*1*4/3*1*1=16/27,路径的分支努力B为48,则由公式可以求得H=25*48*16/27=711,而逻辑链的级数为20则h约为1.38,也就是说每一级的门努力要为1.38可以使路径的延时最小,并由此再利用h=gf来计算出每一级具体的晶体管的具体尺寸。
同样的方法再来算出块产生逻辑链的F、G与B。由具体的电路图可以得出F=25,G=1*1*1*1*1*…*1*2/3*1*4/3*1*1=8/9,分支努力B为48,则由公式H=GFB得出H约为1067,逻辑链为20,则同样可以由公式得出h约为1.4时路径延时可以最小,由此可以再确定具体的晶体管的尺寸。
综上所述,保持管径路径上的每一级的门努力为1.3-1.4之间可以使逻辑链的延时最小。在动态逻辑中为了缩短电容充电的时间,对应的PMOS也要适当的增加具体的晶体管尺寸。 3. 具体HSPICE软件仿真优化结果
依据具体的计算结果逐个设定具体的晶体管的尺寸,并加入相应的激励文件,当输入的clk时间延迟不适当时,产生的计算结果会出现错误,下图为延迟不当时出现了预期和结果不匹配的现象。
图5 延迟不当出现了预计和具体结果不相符
然后通过对延时时间的具体的调整,就可以得到结果和预期正确的结果,err文件里不在出现错误。
通过优化设计,并通过具体语句计算出了从clk的50%上升沿到sum15的下降沿的延时是1.586ns,具体如图:
图6 clk到sum15的延时
具体优化完的波形显示为下图:红色是clk信号,蓝色为SUM15的信号显示。
图7 clk与sum15的仿真波形显示
输入激励的缓冲器输出信号变化到50%VDD开始到负载反相器的输出信号的变化到50%VDD的延时为1.64ns。具体显示如下:
图8 clk与sum15_n的仿真波形显示及其具体延时信息