一种新型布线器ICC ZROUTE的使用及性能分析报告.docx

上传人:b****1 文档编号:1933705 上传时间:2023-05-02 格式:DOCX 页数:13 大小:28.11KB
下载 相关 举报
一种新型布线器ICC ZROUTE的使用及性能分析报告.docx_第1页
第1页 / 共13页
一种新型布线器ICC ZROUTE的使用及性能分析报告.docx_第2页
第2页 / 共13页
一种新型布线器ICC ZROUTE的使用及性能分析报告.docx_第3页
第3页 / 共13页
一种新型布线器ICC ZROUTE的使用及性能分析报告.docx_第4页
第4页 / 共13页
一种新型布线器ICC ZROUTE的使用及性能分析报告.docx_第5页
第5页 / 共13页
一种新型布线器ICC ZROUTE的使用及性能分析报告.docx_第6页
第6页 / 共13页
一种新型布线器ICC ZROUTE的使用及性能分析报告.docx_第7页
第7页 / 共13页
一种新型布线器ICC ZROUTE的使用及性能分析报告.docx_第8页
第8页 / 共13页
一种新型布线器ICC ZROUTE的使用及性能分析报告.docx_第9页
第9页 / 共13页
一种新型布线器ICC ZROUTE的使用及性能分析报告.docx_第10页
第10页 / 共13页
一种新型布线器ICC ZROUTE的使用及性能分析报告.docx_第11页
第11页 / 共13页
一种新型布线器ICC ZROUTE的使用及性能分析报告.docx_第12页
第12页 / 共13页
一种新型布线器ICC ZROUTE的使用及性能分析报告.docx_第13页
第13页 / 共13页
亲,该文档总共13页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

一种新型布线器ICC ZROUTE的使用及性能分析报告.docx

《一种新型布线器ICC ZROUTE的使用及性能分析报告.docx》由会员分享,可在线阅读,更多相关《一种新型布线器ICC ZROUTE的使用及性能分析报告.docx(13页珍藏版)》请在冰点文库上搜索。

一种新型布线器ICC ZROUTE的使用及性能分析报告.docx

一种新型布线器ICCZROUTE的使用及性能分析报告

.synopsys../information/snug/2009/icc-z_route

一种新型布线器ICCZ_ROUTE的使用及性能分析

王松,动,继业

中国科学院计算技术研究所

wangsongict.ac.

liudongict.ac.

zhaojiyeict.ac.

摘要

Asthetechnologyshrinksintothenanometerdomain,theissueofDFMandDFYbeginstodrawmuchattentionofICdesigners.Meanwhile,themoreandmorecomplicateddesignrulesbringmanyproblemsoflithotofabrication.Allofthemproposenewchallengeforback-endphysicalimplementation,especiallyforroutingengine.Ontheotherhand,asthescaleofthechipbecomeslargerandlarger,thedesignperiodincreasesaccordingly.ThisarticlemainlycomparesthedifferenceofnovelZrouteroutingengineandtraditionalone,focusingonDFYandDFM.

WeutilizeICC-zroutetocompleteallroutingworkduringimplementingGodson-2G,ahighperformancegeneralmicroprocessor.Ithelpstoimprovetheefficiencydramatically.Theruntimereducesnearly50%withthedual-threadconditionanddouble-viaratioincreases10%.TheQoRshowssignificantimprovementaswell.

1.引言

随着集成电路按照摩尔定律迅速发展,世界上主要IC制造厂家的先进工艺已经相继进入了90nm及65nm特征尺寸阶段,IC设计也已正式进入了纳米时代。

这时,制造工艺面对物理极限的挑战,出现了许多衍生效应和可变性,因此,被称为良率导向设计的芯片可制造性设计(DFM)成为设计者们关注的焦点。

同时,伴随芯片设计规模越来越大,设计周期相对加长。

面对市场竞争的巨大压力,如何缩短超大规模芯片的设计周期变得越来越重要。

提高芯片物理设计时间,可以有效地改善设计周期。

物理实现的主要过程是布局布线,采用Synopsys公司的ICC-Zroute新型布线工具,应用任务多线程执行技术,大大缩短了物理设计时间,进而缩短了整个芯片的设计周期。

ICC-Zroute布线工具可以在芯片物理设计阶段,更好地考虑DFM问题,有效提高产品良率。

本文通过对Godson_2G中HT模块布线情况的详细分析,对比classicroute布线方式和Zroute布线方式在性能上的差别,进一步说明了新型布线器ICC-Zroute的性能优势。

 

2.ICC-Zroute介绍

IC_Compiler工具是Synopsys公司开发的集版图规划、物理综合、时钟树综合、布线、成品率优化和签核修正于一体的EDA工具,可以完成从RTL到GDSⅡ整个IC后端物理实现流程。

在ICC_0809的版本里,工具集成了Zroute布线引擎。

2.1ICC_Zroute特性介绍

ICC_Zroute的架构结合了尖端的布线技术,如直接支持软规则,以实现“刻蚀友好”的布线,并避免制造中出现的问题。

结合先进的布线算法和多线程技术,在多核电脑上Zroute能够的大幅度提升布线速度。

由于充分考虑到制造规则的影响、时序和其他设计目标,Zroute能够产生高质量的结果(QoR),同时提高制造质量。

Zroute特点之一是并行优化布线。

它的布线引擎随着线程的增多也显现出运行时间的近线性缩短,从而在多核的设计平台上,可以确保显著的增速。

现在的多核处理器可以提供数倍于单核处理器的性能,但原有的布线工具都是基于单线程的设计,无法发挥新处理器的性能。

而Zroute就支持多线程处理技术,可充分发挥多核处理器的性能。

Zroute另一特点是对DFM的贡献。

与在流程靠后阶段来解决良率问题不同的是,Zroute在流程每一步为良率优化保留布线资源,以确保良率的影响可以和其他的代价函数一起考虑。

为支持DFM优化,Zroute在条件允许时会尽力满足软规则,提高产品的良率。

Zroute可以同时进行布线和DFM优化,使得传统上需要两步执行的操作合并为一步,大大加快了布线速度。

2.2启动Zroute布线引擎

新版IC_Compiler(如ICC_0809-SP1)已经嵌入Zroute布线引擎。

Zroute布线流程和classicroute布线流程没有本质区别。

如图1所示,给出了整个物理设计的基本流程。

图1(a)和图1(b)中红色边框中分别给出了布线阶段的基本流程。

从图中可以看出,两者的实现流程基本是一致的。

如果想启动Zroute引擎布线,则只需要通过set_route_mode_options–zroutetrue设置即可完成。

(a)采用classicroute布线流程              (b)采用Zroute布线流程

图1:

采用IC_Compiler进行芯片物理设计的基本流程

 

与classicroute布线不同的是,Zroute布线引擎采用了多线程技术。

因此,在布线之前需要通过set_route_zrt_common_options–max_number_of_threadsvalue来定义在布线过程中占用几个CPU资源,从而实现多线程布线。

classicroute通常会有一串参数设置(set_parameters_*)。

在zroute中,通过set_route_zrt_*_options来完成布线前相应开关选项的设置。

完成所有设置之后,可以通过report_zrt_*_options来报告已定义好的参数设置情况。

如果当前的mw_cel是从较早版本拷贝过来的,而且在之前已经进行了参数设置,那么在流程里加入命令translate_zrt_parameters对相应参数设置进行转换即可。

最后,完成上面步骤后就可以启动Zroute布线引擎进行布线。

与classicroute不同的是,在ICC_0809版本里,布线命令是route_zrt_global、route_zrt_track、route_zrt_detail。

布线之后,同样可以使用route_opt进行postrouteoptimization,从而完成整个布线过程。

2.3使用Zroute引擎的注意事项

使用Zroute布线引擎时,有一些操作的命令形式发生了变化。

由于新版的IC_Compiler里同时含有classicalroute和Zroute两种引擎,如果本该使用Zroute布线模式下的命令而用了classicroute布线模式下的命令,那么将产生一些不必要的问题,导致设计结果受到不良影响。

如表1所示,本文简单列举了两种模式下几个常用且较为重要命令的使用差别。

需要特别注意的是:

在完成布线工作以后,不能用verify_route来检查designrulesviolations,正确的方法应该采用verify_zrt_route命令。

如果运行verify_route,将会发现工具报告大量的乃至无法修复的开路(open)信息,而实际上,由于两种引擎对于open的定义规则不同,classicroute要求center_line的连接,而Zroute只需要物理上有连接且满足设计规则即可。

功能实现

Routemode

加shielding

searchrepair修复

打双孔

Classicroute

create_auto_shield\

-with_ground{gnd}\

-ignore_shielding_net_rails\

-ignore_shielding_net_pins

route_search_repair-loop20\

-ignore_open_nets

insert_redundant_vias\

-auto_modepreview

insert_redundant_vias\

-auto_modeinsert

Zroute

create_zrt_shield\

-with_ground{gnd}\

-ignore_shielding_net_railstrue\

-ignore_shielding_net_pinstrue

route_zrt_detail\

-max_number_iterations20\

-incrementaltrue

define_zrt_redundant_vias

insert_zrt_redundant_vias

表1:

classicroute和zroute的不同命令

3.ICC_Zroute应用及性能分析

3.1Godson_2gHT模块介绍

HT模块是Godson_2g型芯片中较大的模块之一,约有7万多记忆单元(触发器),40多万个逻辑单元。

如表2所示,给出了HT模块具体的参数信息,通过这些信息可以对该实验模块的实际规模有个基本了解。

另外,HT模块的floorplan如图2所示。

表2:

HT模块参数信息

Module

Godson2g_ht

LeafCellCount:

411108/

RefCell

75384/

Numberofports

1426/

CombinationalArea

1267906.086724/μm2

DesignArea:

8538707.752004/μm2

图2:

HT模块的floorplan图

 

3.2实验流程介绍

首先,启动icc_shell(版本ICC_0809-SP3-1),分别采用classicroute和Zroute布线引擎对同一个mw_cel(做完时钟树之后)进行布线。

1)在开始布线之前,使用命令route_global–congestion_map_only和route_zrt_global-congestion_map_onlytrue来报告不同布线引擎下的congestion情况。

整个实验流程如图3所示。

其中,左侧红框中容(蓝色箭头指向)代表classicroute流程,右侧红框中容(绿色箭头指向)代表Zroute流程。

2)采用classicroute模式进行布线。

在新版ICC里,布线流程不用做任何改变,可以直接运行已有的脚本,在完成route_global、route_track、route_detail之后,通过通过route_opt进行优化,以及使用Insert_redundant_vias命令对布线后的设计打双孔,最后使用save_mw_cel–asnew_cel_name将已经布好线的mw_cel保存。

3)使用close_mw_cel将当前运行的mw_cel关闭,然后再重新打开。

图3:

实验流程图

4)采用Zroute模式进行布线。

使用Zroute布线引擎,create_mw_cel、open_mw_lib、copy_mw_cel、open_mw_cel、set_route_option、set_routing_rules等的设置和使用同classicroute模式是一样的。

打开mw_cel后,完成环境和一些必要选项的设置。

按照2.2节里启动Zroute工具的方法,完成Zroute设置并打开Zroute引擎,本设计采用2个CPU线程。

对准备好的mw_cel进行布线工作。

布线之后,同样采用route_opt进行优化,并使用Insert_zrt_redundant_vias命令对布线优化后的设计打双孔,最后保存mw_cel。

3.3运行结果及分析

通过2.1节对ICC_Zroute的特性分析,本文主要在runtime、double_vias_rate、qor等几个方面对classicroute引擎和Zroute引擎的布线结果进行了比较和分析。

3.3.1运行时间比较

在运行route_global、route_track、route_detail的前后加上echo命令:

echo“START:

[date]-cputime[cputime]-HOST:

[infohostname]-MEMORY:

[mem]”

echo“END:

[date]-cputime[cputime]-HOST:

[infohostname]-MEMORY:

[mem]”

可以得到如表3所示的运行时间结果:

表3:

runtime运行结果比较

 

date

cputime

infohostname

mem

Classicroute

START

MonApr608:

43:

362009

1117

node21

5281064

END

MonApr614:

18:

182009

4627

node21

8230256

RESULT

5hours34mins42secs

3510secs

——

——

Zroute

START

WedApr616:

50:

422009

1042

node21

5131908

END

WedApr619:

31:

112009

1388

node21

5131908

RESULT

2hours40mins29secs

346secs

——

——

通过3的数据可以得出,使用classicroute布线引擎完成route_global、route_track、route_detail所用时间约是5个半小时,MEMORY使用大约是7G左右。

而使用Zroute布线,完成route_zrt_global、route_zrt_track、route_zrt_detail的运行时间约为2个半小时,MEMORY占用时5G左右。

分析可得:

在采用两个cpu线程条件下,Zroute运行时间缩短了约50%,MEMORY的使用也小于classicroute。

3.3.2双孔率比较

在完成布线和优化之后,使用insert_redundant_vias和insert_zrt_redundant_vias打双孔。

双孔率的报告如表4所示:

表4:

doubleviasrate结果比较

report_design-physical

report_design-physical

DoubleViarateforalllayers:

78.7%

DoubleViarateforalllayers:

89.7%

TotalNumberofContacts:

4722277

TotalNumberofContacts:

3937573

Horizontal/VerticalWireDistribution:

Horizontal/VerticalWireDistribution:

Layer

Hor.Wire(%ofHor.)

Ver.Wire(%ofVer.)

Layer

Hor.Wire(%ofHor.)

Ver.Wire(%ofVer.)

Metal1

519176.55(3.78%)

31099.85(0.29%)

Metal1

422203.90(3.12%)

32695.59(0.32%)

Metal2

273017.25(1.99%)

5272423.26(48.83%)

Metal2

95790.93(0.71%)

3746555.33(37.02%)

Metal3

5592692.10(40.72%)

134187.27(1.24%)

Metal3

5529322.00(40.85%)

24294.45(0.24%)

Metal4

109807.18(0.80%)

4532516.12(41.98%)

Metal4

17614.44(0.13%)

5180472.18(51.19%)

Metal5

6014991.93(43.79%)

61997.68(0.57%)

Metal5

6251048.50(46.18%)

12661.46(0.13%)

Metal6

60842.26(0.44%)

742733.03(6.88%)

Metal6

3017.74(0.02%)

1123104.70(11.10%)

Metal7

1164662.11(8.48%)

22000.49(0.20%)

Metal7

1217322.20(8.99%)

753.09(0.01%)

Total

13735189.39

10796957.71

Total

13536319.69

10120536.80

通过比较表4中的数据,可见使用classicroute的双孔率只有78.7%,而采用Zroute布线后所打的双孔率接近90%,提高了10个百分点。

双孔率可以保证在制造过程中的良品率,因此双孔率被看成是提高良率的一个重要指标。

采用Zroute布线引擎大大提高了双孔率,更好地保证了芯片可制造性设计(DFM)的优化。

3.3.3qor比较

通过report_qor来报告HT模块布线后的timing以及totalnetlength等情况。

报告结果如表5和表6所示。

表5分别列出了两种布线引擎布线结果在worstcorner下三个重要时钟(core_clockht_core_clockht_phy_rx_clk_hi)的setuptime情况;同时表6列出了两种布线引擎布线后总的线长报告。

表5:

布线后的timing结果比较

wc_1.05V_125C

classicroute

zroute

Results:

core_clock

ht_core_clock

ht_phy_rx_clk_hi

core_clock

ht_core_clock

ht_phy_rx_clk_hi

LevelsofLogic

5.00

12.00

15.00

10.00

12.00

18.00

CriticalPathLength

0.67

3.92

3.36

0.48

2.20

2.47

CriticalPathSlack

-0.28

-1.80

-1.24

-0.21

-0.18

-0.39

CriticalPathClkPeriod

1.25

2.50

2.50

1.25

2.50

2.50

TotalNegativeSlack

-169.74

-47.77

-15.36

-124.84

-1.11

-34.29

No.ofViolatingPaths

1655.00

143.00

81.00

1414.00

46

37

No.ofHoldViolations

0.00

0.00

0.00

0.00

0.00

0.00

分析表5,在worstcorner(wc_1.05V_125C)下,HT模块的三个关键时钟(core_clockht_core_clockht_phy_rx_clk_hi),在Zroute布线引擎下的qor结果要好一些。

比如:

ht_phy_rx_clk_hi时钟在关键路径上的slacksviolation减少了85ps;ht_core_clock时钟在关键路径上的slacksviolation减少了162ps。

可见,Zroute布线工具对timing的贡献也是很理想的。

表6:

布线后的totalnetlength结果比较

Reportobject

Routemode

Classicroute

Zroute

CellCount

HierarchicalCellCount

637

637

HierarchicalPortCount

138787

140061

HierarchicalPortCount

411108

411108

Area

CombinationalArea

1267906.086724

1267906.086724

NoncombinationalArea

7270801.665280

7270801.665280

NetArea

0.000000

0.000000

NetXLength

14220202.00

13972819.00

NetYLength

11212087.00

10874030.00

CellArea

8538707.752004

8538707.752004

DesignArea

8538707.752004

8538707.752004

NetLength

25432288.00

24846848.00

DesignRules

TotalNumberofNets

483206

484850

NetsWithViolations

2503

2928

 

分析表6可以得到,在classicalroute模式下:

TotalNumberofNets为483206条,线总长度NetLength为25432288.00μm。

在Zroute模式下:

总的线条数有所增加,但是线总长度减少了585440μm。

通过分析可以看出,Zroutetiming报告中几个时钟的CriticalPathSlack和TotalNegativeSlack值均小于的classicroutetiming报告值,可见使用Zroute引擎布线的timing结果要明显优于classicroute布线的结果。

虽然使用Zroute布线后的线的总数略大于classicroute布线的线总数,但是在总线长的数值上使用Zroute的结果还是要好于classicroute的结果。

通过,对以上几个方面的分析比较,充分证明了Synopsys公司开发的Zroute布线引擎具有良好的特性,为本研究中心对于新一代高性能微处理器芯片的研发提供了有力的支持。

4.结论

在通用高性能处理器芯片龙芯2G的物理设计中,采用Synopsys公司的ICC_Zroute布线工具大大缩短了设计周期,提高了qor的质量,改善了DFM问题,保证了芯片的顺利流片。

通过对实验数据的分析比较,充分体会到

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 医药卫生 > 基础医学

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2