RRP是什么意思在线翻译读音例句-螲蟷
2023年4月5日发(作者:环保服装材料)
Encounter使用入门教程
本教程介绍一下自动布局布线工具Encounter的使用知识,开始以一个简
单的十进制计数器版图的自动实现为例子,之后介绍包含block模块的复杂的版
图自动实现。
在DesignerCompi含月的诗句古诗大全 ler使用入门教程中,笔者设计了一个十进制计数器,
并经过DesignCompiler对其进行综合后获得了门级综合网表文件
以及约束文件,根据这两个文件,我们就可以使用SOCEncounter
实现十进制计数器的物理版图设计了。首先,我们要准备使用Encounter进行
版图自动设计时所需要的数据:
时序库文件:,,,
物理库文件:tsmc18_6lm_,tpz973g_5lm_,tsmc18_6lm_antenna_
门级网表文件:pad_
时序约束文件:pad_
IO位置放置文件:pad_//在设计导入Encounter中指定PAD的放置位
置文件,不是必须文件
还有其它一些文件在后面用到时进行介绍。
一、网表中添加PAD、编写IOAssignmentFile
这里,pad_是加入PAD后综合得到的门级网表。工程项目中设计
制作完成后的芯片要进行封装,PAD就是芯片在封装时连接封装引线的地方。
一般信号输入/输出PAD即I/OPAD要在综合前添加进入网表中,电源电压PAD
可以在综合时添加也可以在综合后添加。接下来就先介绍一下如何在网表中加入
PAD,其实给网表加入PAD就是一般的module例化,和Verilog中一般的module
模块例化是一样的。
这里介绍在综合时给设计中加入I/OPAD。十进制计数器的Verilog源程序如下:
moduleCnt10(reset_n,clk,in_ena,cnt,carry_ena);
inputclk;
inputreset_n;
inputin_ena;
output[3:0]cnt;
outputcarry_ena;
reg[3:0]cnt;
regcarry_ena;
always@(posedgeclkornegedgereset_n)
begin
if(!reset_n)
cnt<=4\'b0;
elseif(in_ena&&cnt==4\'d10)
cnt<=4\'b0;
elseif(in_ena&&cnt<4\'d10)
cnt<=cnt+1\'b1;
end
always@(posedgeclkornegedgereset_n)
begin
if(!reset_n)
carry_ena<=1\'b0;
elseif(in_ena&&cnt==4\'d10)
carry_ena<=1\'b1;
else
carry_ena<=1\'b0;
end
endmodule
加入PAD后的十进制计数器Verilog网表如下:
moduleCnt10_PAD(reset_n,clk,in_ena,cnt,carry_ena);//顶层模块
inputreset_n;
inputclk;
inputin_ena;
output[3:0]cnt;
outputcarry_ena;
wiretop_clk冲冠一怒为红颜说的是谁 ,top_reset,top_in_ena;
wiretop_carry_ena;
wire[3:0]top_cnt;
Cnt10
CNT10(.reset_n(top_reset),.clk(top_clk),.in_ena(top_in_ena),.cnt(top_cnt),.carry_ena
(top_carry_ena));//这里是对Cnt10module的例化
//下面是I/OPADmodule的例化
PDIDGZPAD_CLK(.PAD(clk),.C(top_clk));
PDIDGZPAD_RESET(.PAD(reset_n),.C(top_reset));
PD毋怎么读 IDGZPAD_IN_ENA(.PAD(in_ena),.C(top_in_ena));
PDO02CDGPAD_CARRY_ENA(.I(top_carry_ena),.PAD(carry_ena));
PDO02CDGPAD_CNT_0(.I(top_cnt[0]),.PAD(cnt[0]));
PDO02CDGPAD_CNT_1(.I(top_cnt[1]),.PAD(cnt[1]));
PDO02CDGPAD_CNT_2(.I(top_cnt[2]),.PAD(cnt[2]));
PDO02CDGPAD_CNT_3(.I(top_cnt[3]),.PAD(cnt[3]));
endmodule
说明:关于PAD如何例化,首先要查看厂家提供的工艺库中的关于PAD的verilog
文件,如本例子中使用tsmc18工艺库,描述PAD的verilog文件为tpz973g.v,
这个文件是PAD文件的verilo出师表注音版 g描述,包括输入输出的端口等信息。
编写好加入PAD的十进制计数器网表pad_conter.v后,从新使用DC对其进
行综合,关于综合这里就不做介绍了,下面把新的综合脚本给出,由于加入了
PAD,所以在设计约束文件时,输入驱动和输出负载约束就不需要了,考虑到后
面布局布线后还要进行LVS检查,在设计约束中加入了大小写敏感设置,详细
的综合脚本pad_内容如下:
#Setthecurrent_design
#read_verilog{counter_er.v}
current_designCnt10_PAD
link
set_operating_conditions-maxslow-max_libraryslow-minfast-min_libraryfast
set_wire_load_modeenclosed
set_wire_load_model-nametsmc18_wl10-libraryslow
set_local_link_library{}
set_max_area0
set_max_fanout5[get_portsreset_n]
set_max_fanout4[get_portsclk]
set_max_fanout4[get_portsin_ena]
set_max_transition0.3[get_portsreset_n]
set_max_transition0.3[get_portsclk]
set_max_transition0.5[get_portsin_ena]
create_clock[get_portsclk]-period10-waveform{05}
set_clock_latency1[get_clocksclk]
set_clock_latency-source1[get_clocksclk]
set_clock_uncertainty-setup0.5[get_clocksclk]
set_clock_uncertainty-hold0.4[get_clocksclk]
set_dont_touch_network[get_clocksclk]
set_clock_transition-fall0.3[get_clocksclk]
set_clock_transition-rise0.3[get_clocksclk]
set_input_delay-clockclk-max3[get_portsin_ena]
set_output_delay-clockclk-max4[get_portscnt]
set_output_delay-clockclk-min0.5[get_portscnt]
set_output_delay-clockclk-max4[get_portscarry_ena]
set_output_delay-clockclk-min0.5[get_portscarry_ena]
compile
report_timing-delaymax>./reports/pad_setu《深不可测》双a肉车 p_
report_timing-delaymin>./reports/pad_hold_
report_constraint-verbose>./reports/pad_
report_qor>./reports/pad_
remove_unconnected_ports-blast_buses[get_cells-hierarchical*]
setbus_inference_style{%s[%d]}
setbus_naming_style{%s[%d]}
sethdlout_internal_bussestrue
change_names-hierarchy-ruleverilog
define_name_rulesname_rule-allowed{a-zA-Z0-9_}-max_length255-typecell
define_name_rulesname_rule-allowed{a-zA-Z0-9_[]}-max_length255-typenet
define_name_rulesname_rule-map{{\"*cell*\"\"cell\"}}
define_name_rulesname_rule-case_insensitive
change_names-hierarchy-rulesname_rule
write-formatverilog-hier-o./outputs/pad_
write-formatddc-hier-o./outputs/pad_
write_sdc./outputs/pad_
write_sdf./outputs/pad_
设置好DC的启动文件.synopsys_后,启动DC,在DC的命令行输入处
运行命令:
design_vision-xg-t>sourcepad_
等待DC完成综合后就可以在指定的目录中看到输出文件pad_、
pad_等文件了。
进行布局布线前,在pad_网表中加入电源PAD和拐角连接PAD,如
下图所示:
图1添加电源PAD和拐角PAD
添加好后保存pad_文件,到此就完成了给设计加入PAD了。一般
在设计导入到Encounter时,为了实现既定的PAD位置放置,都会在设计导入
的时候同时指定设计中各个PAD在Encounter中具体的位置,这可以通过在导
入设计的同时导入分配PAD位置的文件来完成。如果不指定PAD的分配
文件,则设计在输入Encounter后PAD的具体位置是随机分配的。IOAssignment
File可以自动产生或手动编写,本例的pad_文件内容如下:
Version:1
pad:PAD_CLKN
pad:PAD_RESETN
pad:PAD_IN_ENAN
pad:PAD_CARRY_ENAN
pad:PAD_CNT_0S
pad:PAD_CNT_1S
pad:PAD_CNT_2S
pad:PAD_CNT_3S
pad:PAD_VDD1W
pad:PAD_VDD2W
pad:PAD_VSS1E
pad:PAD_VSS2E
pad:CORNER1NW
pad:CORNER2NE
pad:CORNER3SE
pad:CORNER4SW
其中S/N/W/E分别是PAD在Core的南/北/西/东,四个角分别是CORNER1、2、
3、4。
二、十进制计数器的APR
新建一个目录,将准备好的文件放入对应目录下面,启动Encounter。启动
Encounter图形界面的方式如下,在终端中输入下面的命令:
$encounter
然后按回车,Encounter软件将被打开,下图显示的是SOCEncounter软件正常
启动显示的信息:
图2Encounter软件的启动
SOCEncounter软件正常启动后的界面如下图所示:
图3Encounter启动后的界面
上图是对Encounter软件图形界面的介绍,图中介绍了Encounter软件图形界面
的各部分的名称,先做一个初步的了解。
1、导入设计文件
在Encounter图形界面中选择Design→DesignImport…打开导入设计对话框,如
图:
图4DesignImport对话框
按照图示填好相应的设计文件,然后切换到Advanced项,如下图:
图5AdvancedTab
选择Power选项,如图中所示填入VDD和VSS。设置好后,点击OK,设计被
导入Encounter中,如下图所示:
图6设计导入到Encounter
2、设计布局
选择Floorplan→SpecifyFloorplan打开SpecifyFloorplan对话框,如下图:
图7SpecifyFloorplan
按图所示进行设置,完成后点击OK,指定布局后的效果如下:
图8SpecifyFloorplan后的效果
3、添加电源环
选择Power→PowerPlanning→AddRings…打开AddRings对话框:
图9AddRings对话框
在Net(s):处填入VSSVDD,其它要设置的地方如上图所示,Offset处要选择
Centerinchannel,否则后面电源线连接时会出现连接不上的情况。设置完成后,
点击OK完成设置,设置后在Core四周放置好了电源环如下:
图10AddRings后的效果
4、放置标准单元
设计导入Encounter后,数据都是存储在Memory中的,需要人为操作进行放置,
当然最终还是软件根据特定算法自己自动放置的。在菜单栏中选择Place→
StandardCellsandBlocks…打开Place设置框:
图11Place1
在BasicTab中取消选择RunTimingDrivenPlacement和ReorderScanConnection
项,转到AdvancedTab中,在CongestionEffort中选择Medium项,如图:
图12Place2
设置好以上条件后,点击OK,Encounter执行Place命令,标准单元就被放入
Core中了。
5、Globalnetconnection
下面要连接设计中所有的globalnet,包括所有标准单元的power/groundpin连接
到VDD/VSS,以及把单元里连接1的连接到VDD,把和0连接的连接到VSS。
选择Floorplan→Globalnetconnections…项,打开GlobalNetConnections设置框,
按下图所示进行设置:
图13GlobalNetConnections
Connect处选择Pins,里面填入VDD,Scope处选择UnderModule,然后在To
GlobalNet:处填入VDD,之后点击AddtoList后,在ConnectionList中第一行
就设置好了,其他进行类似操作,都设置完成后,先点击Apply按钮,然后点击
Check,最后点击Close关闭GlobalNetConnections设置框,完成设置。
6、Routingthepower/groundNets
选择Route→SpecialRoute…,打开SRoute设置框,如下进行设置:
图14SRoute设置
在Route处,去选Blockpins、Padrings、Stripes(unconnected)项,其它的使用默
认设置即可,然后点击OK完成设置,设置完成后的效果如下图所示:
图15SRoute后的效果
7、时钟树综合
选择Clock→CreateClockTreeSpec…打开CreateClockTreeSpec对话框,如下
图:
图16CreateClockTreeSpec
按图中所示进行设置,完成后点击OK。然后选择Clock→SpecifyClockTree…选
项打开SpecifyClockTree设置框,在ClockTreeFile处选择我们刚才创建的
Cnt10_文件,然后点击OK完成设置。最后选择Clock→Synthesize
ClockTree命令进行时钟树综合。
这一步完成后,检查设计是否有时序问题,在终端中输入report_timing,查看显
示信息,如果没有时序问题,就可以进行下一步的详细布线了。
8、详细布线NanoRoute
选择Route→NanoRoute→Route…打开NanoRoute对话框,如下图所示:
图17NanoRoute设置
按图中进行设置,完成点击OK,该项命令执行后的效果如下:
图18NanoRoute后的视图
9、添加IOFiller
在终端中执行如下命令:
$addIoFiller–cellPFEED50–prefixIOFILLER
$addIoFiller–cellPFEED35–prefixIOFILLER
$addIoFiller–cellPFEED20–prefixIOFILLER
$addIoFiller–cellPFEED10–prefixIOFILLER
$addIoFiller–cellPFEED5–prefixIOFILLER
$addIoFiller–cellPFEED2–prefixIOFILLER
$addIoFiller–cellPFEED1–prefixIOFILLER
$addIoFiller–cellPFEED01–prefixIOFILLER–fillAnyGap
$redraw
这样就在I/OPAD之间加入了IOFiller,可以拉看到原先PAD之间的缝隙被填
充了,如下图所示:
图19添加IOFiller后的效果
10、保存设计
选择Design→SaveDesign…保存当前设计,这样在下次要进行其他操作时可以
直接打开该设计,使其处于当前的设计状态。
选择Design→Save→GDS…导出版图设计为pad_,保存设计如下所
示:
设置完成后点击OK,保存版图信息。
保存用于后面LVS的网表文件Cnt10_PAD.v。选择Design→Save→Netlist…
打开保存Netlist对话框,在保存的文件名处填入Cnt0_PAD.v,然后点击OK保
存版图对应的网表信息。
三、版图后的DRC和LVS
1、版图导入到IC5141工具中
需要的文件有Encounter输出文件0.18um的工艺文件、Virtuoso显示设置文件、
DRC和LVS规则文件:
T18drc_13_,
0.18um_,
,
Calibre-lvs-cur_soce,
tsmc18_,
tsmc18_lvs.v,
pad_,
Cnt10_PAD.v
新建一个目录,将这些文件放入此目录下,从终端中打开IC5141:
$icfb&
启动IC5141后在CIW中,选择File→Import→Stream…,在StreamInform里input
file处点击Browse…选择pad_,TopCellName中填Cnt10_PAD,ASCII
TechnologyFileName处点击Browse…,选择0.18um_文件:
图21版图导入到Virtuoso中
完成设置后,点击OK,这样就把版图导入到版图设计工具中了。如图所示:
图22版图成功导入
在LibraryManager中找到pad_counter,然后在其中找到Cnt10_PAD,双击layout,
打开设计的版图:
图23十进制版图
刚打开的版图显示需要设置一下才会如上图所示,在视图中选择Options→
Display打开显示设置对话框,如图:
图24显示设置
按照图中所示进行设置后就可以看到图23所示的显示效果。
2、DRC检查
选择Calibre→RunDRC打开DRC设置框如下所示:
图25Rules设置
在Rules项中设置DRC规则文件T18drc_,然后点击RunDRC项,运
行DRC检查,运行结果显示如下图:
图26DRC结果
图中显示中大红叉的地方显示有7个Results,这7个Results是由于材料密度问
题引起的,一般是有芯片制造商去解决的,因此本设计DRC没有错误。
2、LVS检查
在做LVS检查时,可以不在IC5141里面做,我们这里在终端中通过执行命令来
完成。首先需要把Encounter输出的Cnt10_PAD.v文件转换为Calibre做LVS认
识的文件pad_文件,即是要先将.v文件转换为.spi文件。在终端中运
行如下命令:
$v2lvs–vCnt10_PAD.v–ltsmc18_lvs.v–opad_–stsmc18_–c
cic_-n
这条命令执行完后,会在当前工作目录下生成pad_文件,即hspice网
表文件。然后打开Calibre-lvs-cur_soce文件修改里面的内容如下图所示:
图27修改Calibre-lvs-cur_soce文件
修改后保存。
在终端中运行如下命令:
$calibre–lvs––hier–autoCalibre-lvs-cur_soce
这条命令执行完后会在当前目录下生成LVS报告文件及其其他一些LVS
报告文件,打开查看LVS报告:
图28查看LVS报告
可以看到,报告结果显示LVS是CORRECT的,也就是版图与电路原理图
是一致的。到此,一个以十进制计数器的版图自动设计就完成了,当然这是没有
实际意义的,仅仅是为了介绍使用Encounter进行自动版图设计的流程。实际的
版图设计中要经过很多其他的详细的操作,一个芯片版图的实现也远远不止这么
容易。接下来将以一个复杂的包含IP模块的设计来进一步深入的学习一下
Encounter在APR时可能要进行的步骤,也介绍一下一个版图应当进行那些检查
设计。
四、使用Encounter进行包含Block核的版图设计
文件准备:DTMF数据包文件,网上有下载,
1、设计关于儿童生活的古诗 文件和数据文件导入Encounter
将输入文件导入到Encounter中如图所示:
图4.1
在verilognetlist中指定DC输出的门级网表文件:所有的.v文件
在TimingLibraries中指定相应的时序库:fast、slow
在LEFFiles中指定.lef文件
在TimingConstraintfile:指定.sdc文件
在IOAssignmentFile中指定.io文件:
点击advanced,进如如图所示界面,会出现11项设置,填其中的5项即可,
图4.2
下一步,完成PowerPage的填写,如图所示,填入电源、地的节点名称以便创
建电源、地环。
图4.3
下一步,完成RCExtraction页的填写,如图所示。在CapacitanceTableFile栏
中指定captablefile文件,以便后面步骤中的信号完整性分析。
图4.4
图4.5
最后一步,完成SIAnalysispage的填写,如上图所示。添加theCeltICDB(cdB)
noiselibrary,该库用于CeltICcrosstalkanalysis。
到现在为止,我们已经对设计的输入、同时也指定了物理库、工艺规则文件、时
序库、时序约束文件。将这些配置保存到DIMF_文件中,下次操作时,
只须load该文件,工具将自动进行以上配置。
图4.6
完成以上步骤后点击OK键,出现如图所示的界面。
图4.7
2、Floorplanning
对窗口SpecifyFloorplanform进行设置,来指定thecorebox,IObox,diebox的
尺寸大小。步骤如下:
Floorplan→EditFloorplan→SpecifyFloorplan
在AspectRatio中,使用默认值选项
CoreMargins选择CoretoIOBoundary,
键入–CoretoLeft:100
键入–CoretoRight:100
键入–CoretoTop:100
键入–CoretoBottom:100
Click“Apply”按钮。完了后,IOPAD自动调整到离thecorebox边界100微米
处。(该距离根据设计要求决定)
图4.8
在也可对thecorebox的高宽比率进行调整,在ratio(H/W)中将默认值:1设置成
0.5,则thecorebox的高是宽的2倍了。
3、CreatingafloorplanwithRelativeFloorplan
对于芯片版图的布局来说,block的布局起非常重要的作用。下面对四个blocks
进行布局。
Floorplan→RelationFloorplan→,首先对
DTMF_INST/ARB_INST/ROM_512x16_0_INST进行放置,完成如图所示的填写
点击Apply。
图4.9
图4.10
然后以同样的方法对
DTMF_INST/RAM_256x16_TEST_INST/RAM_256x16_INSTBlock进行放置如
图所示:
图4.11
然后以同样的方法对
DTMF_INST/RAM_128x16_TEST_INST/RAM_128x16_INSTBlock进行放置如
图所示:
图4.12
然后以同样的方法对DTMF_INST/PLLCLK_INSTBlock进行放置如图所示:
图4.13
注意:如果你不想这样方式对4个blocks进行布局,可以通过Design→Load→
Floorplan,load文件。Encounter会根据该文件所定义的位置对4
个blocks进行自动布局。也可将手动布局保存到该文件以便下次调用。布局完
成后的效果如下:
图4.14
如果不想显示黄色指示箭头,可以如上图进行设置。
图4.15
4、Creatingblockhalos
当对blocks进行布局后,接下来创建blockhalos。其目的为了在对标准单元进行
布局时,能保证晕内不被放置标准单元,以利于其他走线。
首先对前面3个blocks进行操作,按住shift选中前3个blocks
(DTMF_INST/PLLCLK_INST,
DTMF_INST/ARB_INST/ROM_512x16_0_INST,
DTMF_INST/RAM_128x16_TEST_INST/RAM_128x16_INSTblocks.)
再选择Floorplan→EditFloorplan→EditHalos
选中,SelectedBlocks,PlacementHalo,Add/UpdateBlockHalo。
键入–Top:20
键入–Bottom:20
键入–Left:20
键入–Right:20
Click“Apply”按钮。
图4.16
图4.17
再对最后一个block进行操作,步骤同上,
键入–Top:20
键入–Bottom:34
键入–Left:20
键入–Right:20
ClicktheOKbuttonwhenready.
图4.18
图4.19
5、Globalnetconnection
接下来,我们要连接所有的globalNet,包括所有单元的power/groundp沉醉不醒by夕阳看鱼 in连接到
VDD/GND,以及把单元里连接到1的连到VDD,把连接到0的连接到GND。
执行Floorplan→GlobalNetConnections
图4.20
在GlobalNetConnectionsform里,Pins栏填如VDD,ToGlobalNet栏位填入
VDD,然后按AddToList,你会看到左边ConnectionList里多一份记录:
图4.21
整个设置需要六步,完成后的设置如下:
图4.22
到目前为止,左边的ConnectionList里有了六份记录,按Apply,然后按Check,
最后按CLOSE关闭此窗口。在Check时,你会看到很多Warning,说IOPAD
及CORNERPAD没有连接到SPECIALNET,这是正常的,因为PAD用的
POWER和CoreCell用的本来就不一样。
6、CreatingPowerandGroundRings
执行Floorplan→Powerplanning→AddRings,在Nets的栏位只留下VSSVDD,
RingConfiguration部分Top和Bomttom的LAYER改成Metal6,Width设成8,
Left和Right的LAYER改成Metal5,WIDTH也是设成8,Spacing中都统一设
置间距为1,其他如图中进行设置:
图4.23
图4.24
另一种方法:采用模板文件
第一步,对pllclkblock布电源环
Power->PowerPlanning->Synthesizepowerplan
出现图2所示的对话框,在totalAveragePower(mW)拦,填入6.0,选择Usetemplate
tocreatepowerplan与IP选项:
图4.25
然后点击Newtemplate图标,打开一个PowerPlanTemplate对话框。在对话框
中选择IPBlocktab选项:
图4.26
在IPBlockList选中pllclk,然后在BlockRing选项卡中选择RequireBlockRing,
Offset中填入1.0;去除Allowsharingwithothers选项;在layout选项卡中,选
择M5/M6,宽度设为8.0;pllclkblock并无要求布powerstripes,所以Stripe选
项卡可以跳过;点击set按钮,IPBlockList栏中,pllclk字体变粗,颜色变为兰
色;点击SaveAs按钮,打开theSpecifyTemplateName对话框,在theTemplate
Name:block.该文件保存了thepowerplanningtemplate的信息,以后会用到;点
击OK按钮,保存pllclkblocktemplatework。
第二步,对整个设计进行电源ring和stripes布线
不要关闭SynthesizePowerPlan对话框,接下来会反复用到,以方便设置。
在该对话框中,选择Design选项,点击Newtemplateicon(blanksheeticon),打
开EditPowerPlanTemplate窗口:
图4.27
选择Ring选项卡,再选中M6/M5,再选择Stripe选项卡,选中M6;该窗口是
针对整个设计进行设置,在RegionName中填入chip,在IPLibraryTemplate填入
block,点击Add/Modify按钮,设置好ring和stripe的参数信息;最后点击SaveAs
按钮,打开thespecifyTemplateName对话框,在TemplateName中填入chip;
点击OK,保存模板(注意:这是一个针对整个设计包括block在内的power
planningtemplate)。
图4.28
第三步,先不要关闭SynthesizePowerPlan对话框,接下来还会用到,点击
Power->PowerPlanning->EditPowerPlanOptions,打开对话框,点击Stripe按钮,
在option窗口选择StripeBreaking,示意图展示在窗口的右边,在示意图的下面选
择Omitstripesinsideblockrings选项,在示意图上方点击Add/Modify按钮;然
后在powerplanningoptionset填入breaking,点击Save按钮,关闭窗口。
图4.29
第四步,给整个芯片模板指定ring和stripes
在SynthesizePowerPlan对话框,确保templateselection为Design,templatename
为chip。
图4.30
点击Opentemplateicon,编辑theEditPowerPlanTemplateform;在PowerPlanning
OptionSet,填入breaking,点击Add/Modify按钮;点击Save按钮保存最后thepower
planningtemplate的设置。
图4.31
第五步,在SpecifyTemplateParameter对话框中指定ring和stripe的宽度和间隔。
首先确保SpecifyTemplateParameter对话框中templateselection:Design和the
templatename:chip被选中;点击SpecifyTemplateParameter图标,打开对话框,
在左边栏中,选中DTMF_CHIP:chip,在Ring选项卡中其他保持不变,做以下修改:
M6-M5:Width设为8.0,Spacing设为1.0,offset设为center。
图4.32
在stripe选项卡中,WireGroup不选,因为只要用到一组电源stripe,做一些修
改:Metal6,Width设为8.0,Spacing设为1.0,offset设为auto,选中Pitch,Count/Pitch
设为100。在ConfigureTemplatesection,Totalpower设为6.0mW。最后点击OK。
最后一步,在指定了powerplantemplates的参数后,针对整个设计产生Ring和
stripes。在SynthesizePowerPlan对话框中,确保TotalAveragePowerentry为
6mW,Design被选中.Templatename为chip,点击Apply或OK。
图4.33
7、Routingthepower/groundstructures
Sroute将电源与地连接到BlockPinsPadPins和StandardCellPins。
步骤如下:Route→Special→Route在TheBasicPage上做些修改如下
在Basicpage去选Padrings,其余设置保持不变。
图4.34
在Advancetab中点击Extensioncontrol,做以下两个修改:在thePrimary
Connectionfor、StandardCellPins,stripesection下选择None,theSecondary
Connection/stop,选择lastcellintherow:
图4.35
ViaGeneration栏不需要设置,点击Ok按钮,此时,所有的blockpins,powerrings,
standardcellfollowpins被连接起来:
图4.36
8、Verifyingconnectivityandgeometry
在设计完电源与地后,应进行Connections和Geometries验证(4一6年级古诗配画 DRC),分两步进
行:
1.Verifyingconnectivity
点击Verify->VerifyConnectivity,在NetType选项卡中选择specialonly,去选
Antenna;其余采用默认值,点击Ok按钮,如果有一些关于天线效应的警告,可
以忽略:
图4.37
查看违规信息,点击Verify->ViolationBrowser
图4.38
去除标记,Verify->ClearViolation。
2、Verifyinggeometry
点击Verify->VerifyGeometry,设置使用默认值,这并不对天线几何尺寸检查,点
击OK。
图4.39
9、PlaceStandardCellsandBlocks
RunningNanoPlacePlacement
放置一些标准单元,点击Place->StandardCellsandBlocks,在Basic栏中,去选Run
TimingDrivenPlacement,ReorderScanConnection。在Advancedpage中,选择
MediumEffort.点击OK按钮:
图4.40
此时可以看到许多标准单元已布置到CORE中:
图4.41
10、Loadingscanchaininformationandreorderingthescanchain
通过load一个.def文件载入ScanChain的信息,具体步骤如下:
点击Place->Load->DEF,打开LoadDEFFile对话框,选中点击Open:
图4.42
点击Place->Display->DisplayScan,点击OK,此时能看到很多扫描连接飞线;
图4.43
扫描链排序:
Place->ReorderScan,选中skiptwopincell点击OK
图4.44
再次使用DisplayScanChain对话框观看优化后的scanconnections
图4.45
Place->Display->ClearScanDisplay,去清除CORE区域:
图4.46
11、RunningTrialRouteandviewingcongestion
TrialRoute要进行两次操作,第一次,将金属层限制为3层,执行一次;第二次,
将金属层限制为6层执行一次;初步完成设计。
点击Route->TrialRoute,设置最大的RouteLayerto3,点击OK,或者可以在终端
中键入trialRoute–maxRouteLayer3,然后执行:
图4.47
TrialRouteto3执行后的结果如下:
图4.48
在图中Core区域,放大后可以看到有很多菱形红框,表示有Congestion,包括水
平布线拥塞和垂直方向布线拥塞。
点击Route->TrialRoute,将最大的RouteLayer设置为6层,点击OK,或者在终端键
入完满的近义词 trialRoute–maxRouteLayer6,命令执行后的结果如下:
图4.49
12、ExtractingRCandgeneratingsimulationandwireloadfiles
整个设计的所有节点电容都能通过ExtractRC:
设置RCextractionmode,点击Time->SpecifyAnalysisCondition->SpecifyRC
ExtractionModeform,在这里采用默认设置,在这里采用默认设置。RC数据抽
取时,会在工作目录上产生很多文件。可以点击Timing->ExtractRC,保持默认值,
点击OK。
图4.50
抽取的RC数据将用于延时的计算、时序的分析和功耗的分析。如果你无特别的
要求但你必须抽取RC,有两种方法:1)不选任何模拟文件格式,点击OK;2)
在Eecounter控制终端中输入“EXTRACTRC”
13、GeneratingWireLoadModel
该过程通过GeneratingWireLoadModel对话框来完成。
点击Timing->GenerateWireloadModel,选择CellBasedWireloadModel或者
InstanceBasedWireloadModel,点击OK;
将产生6个输出文件:
2个数据文件:DTMF_,DTMF_
2个DC脚本文件:DTMF_,DTMF_
2个BuildGatesandRTLCompilerloadscriptfiles:DTMF_
DTMF_
图4.51
14、CalculatingdelaysandgeneratingSDFfile
点击Timing->CalculateDelay,如果CTS没有执行,则选择IdealClock,然后点击
OK
图4.52
15、RunningSetupTimin月夜忆舍弟写作背景 gAnalysis
查看工作环境配置:Timing->Specifyanalysiscondition->SpecifyOperating
Condition/PVT
Max和Min栏采用默认值,点击OK,查看工作环境,P代表工艺,T代表温度,
V代表电压。
图4.53
16、RunningSetupTimingAnalysisandDisplayingViolationsandSlacks
在提取RC后,可以对设计进行时序分析,其分析的结果为一个时序图表,生成
了时序报告例如:violationreport,slackreport;
因为需在commontimingengine(CTE)mode时序分析,在命令行键入setCteMode,
点击Timing->TimingAnalysis,在DesignStage栏,选择Pre-CTS,在Analysis栏选
择Setup,在Advanced栏中,使用默认设置,设置好后点击OK:
更多推荐
encounter是什么意思ounter的用法读音典
发布评论