一种基于标准单元库扩展的乘法器的eco优化方法

文档序号:6364901阅读:432来源:国知局
专利名称:一种基于标准单元库扩展的乘法器的eco优化方法
技术领域
本发明涉及数字集成电路中数据通路的设计、优化,尤其涉及一种数字乘法器的ECO (engineering change order,工程变更次序)优化方法
背景技术
微处理器的发展十分迅速,一方面源于工艺技术的不断推进,另一方面源于市场对于性能越来越高的要求。乘法器是微处理器中的重要部件,其运算速度决定了逻辑运算单元的工作频率,并最终决定了微处理器的性能。因此高性能乘法器的设计与优化仍然被关注。目前,乘法器结构方面的研究较为成熟。主流的乘法器结构采用Booth编码算法生成部分积,并使用Wallace树形算法压缩部分积。而在乘法器的电路级优化方面,传统的方法采用标准单元库中的较大的标准单元来对乘法器进行优化,这种方法受限于库中标准单元有限的驱动能力,无法实现最短路径延时;另一种方法则对于乘法器的关键路径进行全定制设计,这种方法需要很长的设计时间,推迟了产品的上市进程,而且它占用较多的人力资源,也不便于实现设计自动化。

发明内容
本发明的目的是针对现有技术的不足,提供一种基于标准单元库扩展的乘法器的ECO优化方法。本发明方法的具体步骤是
步骤(I).生成扩展单元的版图,具体方法是
首先,将标准单元库中同种类型的任意驱动能力的两个标准单元进行拼接,具体是将两个标准单元在水平方向上紧挨着并排摆放,保证扩展单元的高度与标准单元的高度一致,并保证电源/地轨线互联,得到扩展单元的电源/地轨线,完成布 然后,使用金属将两个标准单元相同的端口连接,作为扩展单元的端口 ;
对扩展单元进行物理验证首先为了保证扩展单元的功能正确,对扩展单元进行LVS检查(layout versus schematic,版图电路图一致性检查);然后为了保证扩展单元的版图不违反设计规则,对扩展单元进行DRC检查(design rule check,设计规则检查);
对于通过两项检查的扩展单元输出其最终版 步骤(2).对扩展单元进行特征化,得到扩展单元库,扩展单元特征化包括延时信息特征化、输入端口电容特征化、功耗特征化、面积特征化、功能函数特征化;
延时信息特征化和输入端口电容特征化中的寄生参数的提取方法是扩展单元使用了额外的金属,引入了寄生电阻与寄生电容,使用Caliber工具(Metor公司物理验证工具)对扩展单元提取寄生参数,得到包含寄生参数的spice网表;使用HSPICE工具(Synopsys公司仿真工具)对提取的spice网表进行仿真得到延时信息特征化和输入端口电容特征化;具体是①使用HSPICE工具对提取的spice网表进行第一次仿真,得到扩展单元的延时特征信息;使用非线性延时模型(NLDM)描述扩展单元的延时特征信息延时是输入转换时间与负载电容的函数,对扩展单元的输入端添加7个不同的输入转换时间,对扩展单元的输出端添加7个不同的负载电容,使用HSPICE工具分别测量输入到输出的延时信息和输出转换时间,得到7 X 7的延时信息表格,实现延时信息特征化;
②使用HSPICE工具对提取的spice网表进行第二次仿真,得到扩展单元的输入端口电容特征信息;具体设置两个电 路一个将扩展单元作为缓冲器的负载,另一个将电容作为同种驱动能力的缓冲器的负载,对两个电路施加相同输入转换时间的激励,不断调整电容值,使两个电路的延时相等,此种情况下的电容值即扩展单元的输入端口电容,实现输入端口电容特征化;
扩展单元的功耗由标准单元的功耗之和得到,从而实现扩展单元的功耗特征化;扩展单元的面积由标准单元的面积之和得到,从而实现扩展单元的面积特征化;扩展单元的功能函数为扩展单元的功能函数,从而实现扩展单元的功能函数特征化;
将所有扩展单元特征信息组织成库格式,从而得到扩展单元库;
步骤(3).使用PrimeTime工具(synopsys公司的时序分析软件)对乘法器进行时序分析,得到乘法器的关键路径;
步骤(4).使用扩展单元库,实现乘法器关键路径每一级门功效相等,得到最短路径延时,具体是
①计算每一级门的逻辑功效fi,并得到路径逻辑功效F;具体是每一级门的逻辑功效等于在相等输入电容的情况下,反相器输出电流Iinv相对于该门输出电流Ii的倍数
f J=
则路径逻辑功效F为
F =
I
N为关键路径上门的个数;
②计算每一级门的分支功效bp并得到路径分支功效B,具体是每一级的分支功效等于门的总电容为Ci,它在关键路径上的电容为Ci path
b i - ^* ,1' ^
则路径分支功效B为
N
B = Π&
I
③计算路径扇出G,设定关键路径的路径输入电容Cin和路径负载Clcjad,则路径扇出G

G = I Cm
④计算满足最小路径延时的最优门功效h_;
hopt _ mBmCr⑤对于原关键路径中的每一级单元X,标准单元库和扩展单元库中具有多种相同功能类型但驱动能力不同的单元,记为XL1,XL2,XL3,……,XLk,……,XLn,执行如下操作用XL1,XL2jXL3,……,XLk,……,XLn分别替换单元X,分别计算替换后的门功效,选择其中最接近最优门功效的XLk替换X,如X的门功效更接近最优门功效,则不替换。本发明方法在不明显增加设计周期的前提下,分析乘法器关键路径,并实现最短路径延时,提高了乘法器的性能;该方法使用skill编程语言完成扩展单元布局布线,使用TCL编程语言完成关键路径中单元的替换操作,实现设计自动化;该方法同时适用于其他数字系统的后端ECO优化。


图I为本发明标准单元扩展示意 图2为本发明扩展单元BUFX4_X4的延时信息表格;
图3为本发明乘法器结构示意 图4为本发明乘法器关键路径示意图。
具体实施例方式一种基于标准单元库扩展的乘法器的ECO优化方法,具体是
步骤(I).生成扩展单元的版图,具体方法是
首先,将标准单元库中同种类型的两个单元cell_X和cell_y进行拼接,得到扩展单元cell_z,如图I所示。标准单元高度相等,宽度不等。将cell_x放置在原点,方向为RO ;将cell_y紧贴放置在cell_x的右侧,放置方向为沿y轴镜像。采用这种放置方法便于布线。放置后,cell_x与cell_y的电源/地轨线自动拼接在一起,如图I所示。然后,使用金属将标准单元相同的端口连接起来,作为扩展单元的端口。(^11_1与cell_y是同种类型的单元,具有相同的端口 A、B、Y,如图I所示。将两个单元对应的端口 A、B、Y使用布线金属连接起来,作为单元cell_z的端口。标准单元使用内部金属实现互联,扩展时,使用布线金属来实现端口连接。依据工艺文件定义的布线金属的最小间距和宽度,定义布线通道,如图I所示,虚线表示布线通道,金属只能沿虚线进行布线。对扩展单元进行物理验证。在完成扩展单元cell_z的布线之后,输出cell_z的⑶S文件(一种二进制格式的版图文件)。对该⑶S文件进行LVS和DRC检查。LVS检查需要用到参照spice网表,该网表通过将标准单元的spice网表连接起来得到;使用Calibre提取扩展单元的版图得到版图的spice,将版图的spice与参照spice网表进行比较,验证扩展单元的功能。使用Calibre工具以及规则文件对⑶S文件进行DRC检查,保证不违反设计规则。完成LVS和DRC检查,得到扩展单元cell_z的最终版图。步骤(2).对扩展单元进行特征化,得到扩展单元库,扩展单元特征化包括延时信息特征化、输入端口电容特征化、功耗特征化、面积特征化、功能函数特征化;
提取扩展单元的寄生参数扩展单元使用了额外的金属,引入了寄生电阻与寄生电容,使用Caliber工具(Metor公司物理验证工具)对扩展单元提取寄生参数,得到包含寄生参数的spice网表;使用HSPICE工具(Synopsys公司仿真工具)对提取的spice网表进行仿真得到延时信息特征化和输入端口电容特征化;具体是①使用HSPICE工具对提取的spice网表进行第一次仿真,得到扩展单元的延时特征信息。对cell_z的输入端添加7个不同的输入转换时间的激励,对扩展单元的输出端添加7个不同的负载电容,使用HSPICE工具分别测量输入到输出的延时和输出转换时间,得到关于输入转换时间、输出负载的7 X 7的延时信息表格。以扩展单元BUFX4_X4为例,图2给出了其7x7的延时信息表格。②使用HSPICE工具对提取的spice网表进行第二次仿真,得到扩展单元的输入端口电容特征信息;具体设置两个电路一个将扩展单元作为缓冲器的负载,另一个将电容作为同种驱动能力的缓冲器的负载,对两个电路施加相同输入转换时间的激励,不断调整电容值,使两个电路的延时相等,此种情况下的电容值即扩展单元的输入端口电容,实现输入端口电容特征化;
扩展单元的功耗等于标准单元的功耗之和,从而实现扩展单元的功耗特征化;扩展单元的面积等于标准单元的面积之和,从而实现扩展单元的面积特征化;扩展单元的功能函数为扩展单元的功能函数,从而实现扩展单元的功能函数特征化。将所有扩展单元特征信息组织成库格式,从而得到扩展单元库;
步骤(3).使用PrimeTime工具(synopsys公司的时序分析软件)对乘法器进行时序分析,得到分析乘法器的关键路径。乘法器结构采用Booth编码算法生成部分积,并使用Wallace树形算法压缩部分积,结构示意图如图3所示。基于Booth编码算法和Wallace树形算法实现的乘法器的关键路径如图4所示。步骤(4).使用扩展单元库,实现乘法器关键路径每一级门功效相等,得到最短路径延时。当每一级单兀的门功效相等时,路径延时最小。具体是
①计算每一级门的逻辑功效fi;并得到路径逻辑功效F;具体是每一级门的逻辑功效等于在相等输入电容的情况下,反相器输出电流Iinv相对于该门输出电流Ii的的倍数
权利要求
1.一种基于标准单元库扩展的乘法器的ECO优化方法,其特征在于该方法的具体步骤是 步骤(I).生成扩展单元的版图,具体方法是 首先,将标准单元库中同种类型的任意驱动能力的两个标准单元进行拼接,具体是将两个标准单元在水平方向上紧挨着并排摆放,保证扩展单元的高度与标准单元的高度一致,并保证电源/地轨线互联,得到扩展单元的电源/地轨线,完成布图; 然后,使用金属将两个标准单元相同的端口连接,作为扩展单元的端口 ; 对扩展单元进行物理验证首先为了保证扩展单元的功能正确,对扩展单元进行LVS检查;然后为了保证扩展单元的版图不违反设计规则,对扩展单元进行DRC检查;对于通过两项检查的扩展单元输出其最终版图; 步骤(2).对扩展单元进行特征化,得到扩展单元库,扩展单元特征化包括延时信息特征化、输入端口电容特征化、功耗特征化、面积特征化、功能函数特征化; 延时信息特征化和输入端口电容特征化中的寄生参数的提取方法是扩展单元使用了额外的金属,引入了寄生电阻与寄生电容,使用Caliber工具对扩展单元提取寄生参数,得到包含寄生参数的spice网表;使用HSPICE工具对提取的spice网表进行仿真得到延时信息特征化和输入端口电容特征化;具体是 使用HSPICE工具对提取的spice网表进行第一次仿真,得到扩展单元的延时特征信息;使用非线性延时模型描述扩展单元的延时特征信息延时是输入转换时间与负载电容的函数,对扩展单元的输入端添加7个不同的输入转换时间,对扩展单元的输出端添加7个不同的负载电容,使用HSPICE工具分别测量输入到输出的延时信息和输出转换时间,得到7 χ 7的延时信息表格,实现延时信息特征化; 使用HSPICE工具对提取的spice网表进行第二次仿真,得到扩展单元的输入端口电容特征信息;具体设置两个电路一个将扩展单元作为缓冲器的负载,另一个将电容作为同种驱动能力的缓冲器的负载,对两个电路施加相同输入转换时间的激励,不断调整电容值,使两个电路的延时相等,此种情况下的电容值即扩展单元的输入端口电容,实现输入端口电容特征化; 扩展单元的功耗由标准单元的功耗之和得到,从而实现扩展单元的功耗特征化;扩展单元的面积由标准单元的面积之和得到,从而实现扩展单元的面积特征化;扩展单元的功能函数为扩展单元的功能函数,从而实现扩展单元的功能函数特征化; 将所有扩展单元特征信息组织成库格式,从而得到扩展单元库; 步骤(3).使用PrimeTime工具对乘法器进行时序分析,得到乘法器的关键路径; 步骤(4).使用扩展单元库,实现乘法器关键路径每一级门功效相等,得到最短路径延时,具体是 ①计算每一级门的逻辑功效fi;并得到路径逻辑功效F ;具体是每一级门的逻辑功效等于在相等输入电容的情况下,反相器输出电流Iinv相对于该门输出电流Ii的倍数 则路径逻辑功效F为
全文摘要
本发明涉及一种基于标准单元库扩展的乘法器的ECO优化方法。现有优化方法受限于库中标准单元有限的驱动能力,无法实现最短路径延时。本发明方法首先生成扩展单元的版图,然后对扩展单元进行特征化,得到扩展单元库,扩展单元特征化包括延时信息特征化、输入端口电容特征化、功耗特征化、面积特征化、功能函数特征化;对乘法器进行时序分析,得到乘法器的关键路径;使用扩展单元库,实现乘法器关键路径每一级门功效相等,得到最短路径延时。本发明方法在不明显增加设计周期的前提下,分析乘法器关键路径,并实现最短路径延时,提高了乘法器的性能。本发明方法便于实现设计自动化,对于其他数字系统的后端ECO优化同样适用。
文档编号G06F17/50GK102622466SQ20121003612
公开日2012年8月1日 申请日期2012年2月17日 优先权日2012年2月17日
发明者严晓浪, 吕冬明, 曾宪恺, 葛海通, 郑丹丹 申请人:浙江大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1