首页 DC、Astro设计流程初级手册

DC、Astro设计流程初级手册

举报
开通vip

DC、Astro设计流程初级手册DC、Astro设计流程初级手册DC、Astro设计流程初级手册第一部分逻辑综合这一部分主要在目录syn下进行。第一节数据准备(此部分已完成,下面的文字仅作说明,无需操作)首先把standcell、pad和ram的db库拷贝到syn/library下,把源代码(.v)拷贝到了syn/source下,把dc的setup文件(.synopsys_dc.setup)拷贝到syn下,把综合的脚本(包括约束脚本)拷贝到syn/scripts下,并且创建了syn/output和syn/reports准备接收综合结果。第二节运行...

DC、Astro设计流程初级手册
DC、Astro 设计 领导形象设计圆作业设计ao工艺污水处理厂设计附属工程施工组织设计清扫机器人结构设计 流程初级手册DC、Astro设计流程初级手册第一部分逻辑综合这一部分主要在目录syn下进行。第一节数据准备(此部分已完成,下面的文字仅作说明,无需操作)首先把standcell、pad和ram的db库拷贝到syn/library下,把源代码(.v)拷贝到了syn/source下,把dc的setup文件(.synopsys_dc.setup)拷贝到syn下,把综合的脚本(包括约束脚本)拷贝到syn/scripts下,并且创建了syn/output和syn/reports准备接收综合结果。第二节运行DesignCompiler进行逻辑综合进入syn目录,在tcl模式下启动综合器:%dc_shell-t调用tcl脚本进行综合:dc_shell-t>sourcescripts/run.tcl这一步可以自动完成整个综合过程。具体细节可参见syn/scripts下的run.tcl和cons.tcl文件。完成以后,可以看到syn/output和syn/reports目录下有相应的文件输出。退出dc_shell-t。第三节数据分析综合过程中在syn/output下产生了4个文件,其中sdf是 标准 excel标准偏差excel标准偏差函数exl标准差函数国标检验抽样标准表免费下载红头文件格式标准下载 延时文件,用于仿真时的时序反标,sdc是标准的约束文件,用于约束后面的布局布线。在syn/reports目录下产生了时序和面积的 报告 软件系统测试报告下载sgs报告如何下载关于路面塌陷情况报告535n,sgs报告怎么下载竣工报告下载 。从报告文件中可以看出,时间上,最大的slack为-0.51ns,相对于时钟周期8ns较小,基本上可以进行布局布线。总面积约为0.228um2,且大部分为pad所占。这是我们进行下一步布局布线的依据。说明:1、因为setuptiming往往是比较关键的,我们综合时使用了slow库作为目标库。2、综合时,把standcell(sc)的库设为target_library,把sc、io、ram以及sythetic_library通通设为link_library。3、输入驱动和输出负载使用pad模型模拟实际的驱动和负载。4、input_delay通常设为时钟周期的60%左右,output_delay大约设为时钟周期的30%。5、把设计中pad和ram相应的cell设为don’t_touch。6、主要是考虑到我们加的约束比较严,因此可以接受-0.51ns的slack作为布局布线的起点。第二部分布局布线这一部分主要在目录P-R下进行。第一节数据准备(黑体字部分需要操作完成)首先,把standcell、pad和ram的milkyway库拷贝到P-R/ref_lib下,把布局布线的脚本拷贝到P-R/script下,把和工艺相关的文件拷贝到P-R/star_rcxt和P-R/tech下,把层次定义文件拷贝到P-R/map下,并且创建了P-R/design_data和P-R/report两个空目录。另外,我们还需要将综合得到的syn/output目录下的fifo_mapped.v和fifo_mapped.sdc文件拷贝到P-R/design_data目录下。第二节布局布线1、创建milkyway设计库(参见Astro培训教材lab5a的task1和task2)1)在P-R目录下启动Astro。2)在Astro界面中选择菜单Tools->DataPrep,此时可以看到Astro菜单栏的条目发生了变化。3)选择菜单Library->Create⋯,弹出对话窗口。在LibraryName中填入fifo,在TechnologyFileName中填入tech/umc18_6lm.tf,打开"SetCaseSensitive"选项,点击”OK”。(忽略warning,下同)之后可以发现多了P-R/fifo目录,这就是当前设计库所在目录。4)Library->AddRef⋯LibraryName填入fifo,RefLibraryName填入ref_lib/sc,点击Apply。RefLibraryName填入ref_lib/io,点击Apply。RefLibraryName填入ref_lib/ram,点击OK。5)Library->ShowRefs⋯LibraryName填入fifo,点击OK。可以看到sc、io和ram的库已经绑定到设计库了。6)NetlistIn->VerilogIn⋯VerilogFileName填入design_data/fifo_mapped.vLibraryName填入fifoNetNamefor1'b0填入GNDNetNamefor1'b1填入VDD点击OK这一步将fifo综合得到的门级网单绑定到设计库中。7)NetlistIn->Expand⋯LibraryName填入fifoUnexpandedCellName填入fifo_with_pads.NETLExpandedCellName填入fifo_with_pads.EXP点击GlobalNetOptions按钮,弹开新的对话窗口NetName和PortName都填入GND,点击Apply,可以看到NumberDefined由0变为1NetName和PortName都填入VDD,点击Apply,可以看到NumberDefined由1变为2点击Hide关闭子窗口,回到原来的对话窗口,点击OK等效地,也可以在Astro命令输入栏中直接输入命令load“script/1_data_prep.cmd”完成整个操作过程至此,整个设计库创建完毕。可以进入P-R/fifo中观察所得结果。2、创建设计单元(参见Astro培训教材lab5a的task3、task4和task5)1)Tools->Astro,回到普通工作模式下。2)Library->Open⋯LibraryName填入fifo,点击OK3)Cell->Create⋯CellName填入fifo_with_pads,点击OK4)DesignSetup->Netlist:BindNetlist⋯NetCell填入"fifo_with_pads.EXP",点击OK5)Cell->HierarchyPreservation:InitializeHierarchyInformation⋯FlattenedCellName填入fifo_with_pads.CELHierarchicalNetCellName填入fifo_with_pads.NETL点击OK6)Cell->HierarchyPreservation:MarkModuleInstancesPreserve⋯FlattenedCellName填入fifo_with_pads.CEL,点击OK7)Cell->SaveAs⋯CellName填入2_design_setup,点击OK等效地,也可以在Astro命令输入栏中直接输入命令load“script/2_design_setup.cmd”完成整个操作过程至此,整个设计单元创建完毕。进入P-R/fifo/CEL目录中可以看到里面有design_setup单元。3、初始化布局(参见Astro培训教材lab6a的task1、2、3、4)从综合的结果看,本设计属于pad-limited类型,即芯片面积主要由pad决定。我们做布局规划的时候主要考虑pad的摆放。源设计中总共有14个pad,分4边摆放,每边最多4个。此外,每边还要另加两个电源pad(分别给pad和core供电,即后边即将提到的PVDDR和PVDDC)和两个地pad(PVSSR和PVSSC)。因此,每边最多8个pad,外加2个cornerpad。每个pad的尺寸是194.90um×60.12um,每个cornerpad的尺寸是194.90um×194.90um,摆放时给pad和pad之间留大约20um的间距,则由此可得每边的长度大约为60×8+20×9+200×2=1060um。Pad环往内每边再留100um布电源环,则最终可得core的尺寸为460um×460um。1)导入pad信息DesignSetup->TDF:LoadTDF⋯TDFFileName填入script/io.tdf,点击OK2)初始化布局DesignSetup->Floorplan:SetUpFloorplan⋯打开width&height选项Row/CoreRatio填入"0.7"(标准单元所占面积不大,可以适当降低core的利用率)CoreWidth填入460CoreHeight填入460打开DoubleBack和Flipfirstrow选项CoreToLeft填入100CoreToBottom填入100CoreToRight填入100CoreToTop填入100点击OK此时刷新cell窗口,可以得到下图所示的布局:3)填充padfillerPostPlace->FillerCell:AddPadFillers⋯,弹出对话框在Astro命令栏里输入load"script/set_pad_fillers.cmd"回到对话框,点击OK4)把ram摆放到core的左下角在Astro命令栏里输入load"script/place_macros.cmd"刷新窗口,得到下图。5)保存设计为3_initialized_floorplan上述过程可直接利用Astro命令load“script/3_floorplan_initial.cmd”一步完成。4、电源规划(参见Astro培训教材lab6a的task5、6、7)1)创建电源环(先电源环后地环,注意有别于Astro实验)PreRoute->RectangularRings⋯点击Default打开Around右边的Core选项NetName(s)填入"VDD"L-Width、R-Width、B-Width、T-Width均填入"20"L-Layer、R-Layer设为48(met2)B-Layer、T-Layer设为46(met1)Left、Right、Bottom、Top均填入20全部设置如下图所示点击ApplyNetName(s)改为GNDLeft、Right、Bottom、Top均改为10点击OK至此电源和地的金属环创建完毕,形如下图:2)创建电源带(strap)PreRoute->Straps⋯点击Default选择Vertical,StartX填入520NetName(s)填入VDD,GND(以逗号隔开)Width填入10Layer设为48打开Step&Stop选项Step填入120Stop填入640PitchwithinGroup填入15点击Apply选择Horizontal,StartY填入410Step改为110Stop改为630Layer改为46点击Apply选择Vertical,StartX填入410Step改为0Stop改为410Layer改为48点击OK上述过程中版图的变化如下:3)在所有standcell、ram和pad之间建立电源、地的逻辑连接PreRoute->ConnectPortstoP/G⋯点击DefaultNetName、PortPattern均填入VDD打开CellTypes中Pad选项打开UpdateTieUp/Down选项点击Apply,弹出一个小窗口,点击OK可以看到Astro提示:Connected81portstonet(VDD)throughpatternVDD点击Apply,弹出一个小窗口,点击OKNetName、PortPattern均改为GNDNetType选择Ground点击Apply,弹出一个小窗口,点击OK可以看到Astro提示:Connected81portstonet(GND)throughpatternGND.点击Cancel退出对话窗口4)在pad、ram的电源地引脚(pin)和电源网络(ring和strap)之间建立物理连接PreRoute->Macros/Pads⋯点击Default,点击OK这个过程可能会花2、3分钟,中间的warning可以忽略。从版图上可以看到,所有的核电源pad(PVDDC、PVSSC)和ram都已经连接到电源网络上了。5)检查电源连接PreRoute->VerifyP/GConnectivity⋯点击DefaultStdCellPinConnect选择Ignore点击OK随后可以看到Asrto的检查报告。没有任何错误,可以继续下一步。6)定义软阻碍(softblockage),为标准单元的自动摆放做准备在Astro命令栏里输入load"script/define_soft_blockages.cmd"至此,可得如下版图:7)保存设计为4_power_planed上述过程可以通过执行5、时序约束设置(参见AstroAstro脚本4_powerplan.cmd培训教材lab2)一步完成。1)加载tlu+延时模型Tools->DataPrep,进入数据准备界面TechFile->ITFtoTLU+,进行如下配置:点击SanityCheck,提示warning,没有error,跳过。点击OK。2)加载设计约束Tools->Asrto,重新回到普通界面在Astro命令栏中输入:ataRemoveTC清除已有的全部时序约束。Timing->Constrains:LoadSDC⋯SDCFileName填入design_data/fifo_mapped.sdc点击OK,提示SDC加载成功。3)配置延时估算选项Timing->AstroTime:TimingSetup⋯选择Model卡片OperatingCond选择NomDelayModel选择elmore点击Apply选择Parasitics卡片OperatingCond选择NomCapacitanceModel选择TLU+点击Apply选择Environment卡片打开EnableMulti-ClocksPerReg、IgnorePropagatedClock、EnableIdealIncludeNonPropagatedNets项NetworkDelay和关闭IgnoreClockUncertainty项点击Apply点击Hide4)产生时序报告在Astro命令栏里输入:ataReportSummary或者astCheckDesign前者会把时序信息报告在Astro的信息栏里,后者可以产生更详细的时序报告,但需要在弹出的对话输入文件名,把报告重定位到指定的文件里。从时序报告中可以看到,setupslack只有-0.001,并且只有一个;holdslack为正。注意:目前umc只提供Nominal的TLU+模型,没有Max和Min模型,所以这里的时序估算和我们综合时有较大的出入,推荐使用PrimeTime进行时序估算。5)保存设计为5_floorplanned_tluplus上述过程可以通过Astro脚本5_timing_setup.cmd一步完成。6、标准单元自动摆放(参见Astro1)使用congestion+timing-driven培训教材lab3)自动摆放模式InPlace->PlacementCommonOptions⋯点击Default打开OptimizationMode下面的Timing选项点击OK2)设置预摆放选项Preplace->Pre-PlacementOptimization⋯点击Default打开RemoveBuffers选项点击OK这时如果再用ataReportSummary命令报告延时的话,可以发现负的slack已经没有了。3)自动摆放标准单元InPlace->AstroPlace:DesignPlacement⋯点击Default打开In-PlacementOptimization选项点击OK标准单元摆放完毕以后的版图如下所示:图中左侧和下侧的线条 关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf 示标准单元的密集程度,越粗的地方越密集。这时可以再做一下时序报告,看看满不满足要求。4)在标准单元的电源地引脚(pin)和电源网络(ring和strap)之间建立物理连接PreRoute->StandardCells⋯点击Default,点击OK从下面的版图上可以看到,所有标准单元的电源都已经连接到电源网络上了。5)保存设计为6_placed此部分的脚本为6_Place.cmd。7、摆放后优化(参见Astro培训教材lab3)这一步主要是针对摆放后timing和congestion仍然不满足要求的设计进行的,对本设计来说其实并没有必要。但为了使流程更加完整,我们仍然做进一步的优化。1)搜索并改进InPlace->AstroPlace:SearchandRefine⋯点击Default点击OK这时可以查看一下timing和congestion,基本上没有改进。把设计单元保存为7_1_PPSR。2)后布局第1阶段优化PostPlace->Optimization:Post-PlaceOptimizationPhase1⋯点击Default打开UseGlobalRouting选项点击OK这时的timing和congestion依然没有任何改进。把设计单元保存为7_2_PPO1。这一部分的等效脚本为7_SR_PPO1.cmd。8、时钟树综合(参见Astro培训教材lab4)1)使用默认综合选项Clock->ClockCommonOptions⋯点击Default,点击OK2)时钟树综合Clock->ClockTreeSynthesis:ClockTreeSynthesis⋯点击Default,点击OK3)分析时钟偏差Clock->Reports:SkewAnalysis⋯点击DefaultClockNames填入clkOutputTo选择File,并在FileName填入report/CTS_skew.rpt点击OK打开report/CTS_skew.rpt文件,可以发现无论是时钟树的最长路径延时还是延时偏差都很小。4)查看整体延时信息时钟树已经综合出来了,所以必须改变延时检查选项以采用真实的时钟树延时模型。Timing->AstroTime:TimingSetup⋯选择Environment卡片打开EnableMulti-ClocksPerReg、IgnoreClockUncertaintyEnableGatedClockChecks项、EnableRecovery/RemovalArcs和关闭IgnorePropagatedClock和EnableIdealNetworkDelay项点击Apply点击Hide在Astro命令栏里输入ataReportSummary产生延时报告。从报告中可以看出,建立和保持的slack都比前面有了较大的改善,这主要是因为实际的时钟树延时和延时偏差数值比我们在约束文件中定义的数值小了很多。保存设计单元为8_1_CTS。5)后布局第2阶段优化PostPlace->Optimization:PostPlaceOptimization⋯点击Default打开RemoveBuffers选项点击OK可以看到congestion和timing其实都没什么改进。保存设计单元为8_2_PPO2。这一部分的等效脚本为8_CTS.cmd。9、布线1)设置自动布线选项RouteSetup->RouteCommonOptions⋯点击DefaultGlobalRouting和TrackAssign下均选择TimingDriven点击OK2)布时钟线Route->RouteNetGroup⋯点击DefaultNetName(s)From下选择Allclocknets点击OK完成以后,对版图的某些局部放大,可以看到时钟线已经连好了。注意:这一步最好能够使最后报告的Violation为0。3)全局布线Route->GlobalRoute:GlobalRoute⋯点击Default,点击OK4)全局布线优化在Astro命令栏里输入astPostRouteOpt在弹出的对话窗口中选择Default在RoutingPhase下选择GlobalRoute关闭FlowControl下面的PurgeFiller选项点击OK4)分配连线轨道Route->TrackAssign!5)轨道优化在Astro命令栏里输入astPostRouteOpt在弹出的对话窗口中选择Default在RoutingPhase下选择TrackAssign关闭FlowControl下面的PurgeFiller选项点击OK6)详细布线Route->DetailRoute:InitialDetailRoute⋯点击DefaultTrackAssignment下选择Skip点击OK把版图局部放大,可以看到所有的单元都已经布线完毕,同时Astro报告violation为0。7)搜索并修补Route->DetailRoute:Search&Repair⋯点击DefaultSearchRepairLoop设为5点击OK这一步主要是修复布线中产生的violation,对本设计来说并不需要,当然也没有坏处。保存设计单元为9_routed。8)设计规则检查Verify->DRC⋯点击DefaultMaximumErrors填入1000打开ListErrorSummaryImmediately点击OK稍等片刻,Astro会弹出一个DRC结果报告,从中我们可以看到:metal1notch有18处违反规则Via4&Via5overlap有193处违反规则这两类overlapDRC错误都可以暂时忽略。metal1notch是下一节修复的主要对象,而本设计中的主要是pad造成的,而pad有另外的DRC规则。Via4&Via510、生产预设计(暂无,可参见Astro培训教材lab8)注意:此手册仅作入门之用,真正流片设计过程中,还有很多细节问 快递公司问题件快递公司问题件货款处理关于圆的周长面积重点题型关于解方程组的题及答案关于南海问题 需要做进一步的完善。例如,dc脚本中需要对门级代码的assign语句进行处理,动摆放、时钟树综合以及布线的各步骤中需要对dc导出的.sdctimingsetup文件也需要修改后才能为Astro所用,自进行实时调整,诸如此类的细节问题有待读者自己日后再做深入的学习。
本文档为【DC、Astro设计流程初级手册】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
个人认证用户
is_601737
暂无简介~
格式:doc
大小:204KB
软件:Word
页数:0
分类:
上传时间:2021-10-06
浏览量:1