Astro使用说明(希望对新手有帮助).doc_第1页
Astro使用说明(希望对新手有帮助).doc_第2页
Astro使用说明(希望对新手有帮助).doc_第3页
Astro使用说明(希望对新手有帮助).doc_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Astro使用说明Astro是Synopsys公司推出的,针对数字电路设计的平台,主要用于对设计进行Floorplan、加Timing Tree、加Power Grid等总体布局上的工作。其中的大部分软件由被Synopsys收购的Avanti开发。在龙芯组中,Astro主要被用于做Floorplan,通常来说,每个模块的面积、形状、端口及Powergrid等子模块外部信息由一人总体完成,并制成db文件。各小组成员调用已经生成好的子模块外部信息,在此信息约束下,在子模块内对模块内部进行Floorplan。对子模块中cell进行布局的一般原则为:对于存储器,一般都制成单独的macro-cell进行布局;对于其他cell是否要单独布局,则由DC中推时钟的结果判断,对于关键路径上的关键器件,根据需要将其fix在一个相对优化的位置。以下将对龙芯组使用Astro的基本操作做一说明:一、 新建library1、 新建librarylibrary Create ( cmCreateLib )?Technology File Name:/csm13_8lm.tf(工艺文件,扩展名为.tf)?Set Case Sensitive 选中(大小写敏感)2、 加入reference libraryLibrary Add Ref(cmRefLib)?Library Name:test(也可自己取名)?Ref Library Name:依次输入zhaojy/godson2/lib/Astro/logic,zhaojy/godson2/lib/ Astro/pll,zhaojy/godson2/lib/Astro/ram,zhaojy/godson2/lib/Astro/regfile,zhaojy/ godson2/lib/Astro/ict_cells_t。每次输入后按“apply”,输入结束后点“OK”。如果需要察看reference library加入是否正确,可操作如下:Library Show Refs(cmShowRefLib)?填test二、 Floorplan:1、 打开先前生成的library(geOpenLib)Library Open?点击Browser之后在菜单里选择test,2、 输入verilog网表文件(DC综合后的物理RTL) Tools Data Prep ?第二行工具条转为数据准备状态 Netlist In Verilog In(auVerilogIn)?输入verilog文件?Library Name:test?Verilog File Name:(之前由DC综合出的物理RTL) Netlist In Expand(cmCmdExpand)?“展开”网表文件。此步的意义有二:其一,Astro要求objects in the netlist are broken down into component objects exist in the library;其二,通过展开网表,将global net连接起来。?Library Name:test?Unexpanded Cell Name:godson2_FETCH_module.NETL(“物理RTL中的顶层模块名”+“.NETL”)?Expanded Cell Name:godson2_FETCH_module.EXP(可任意取,但一般情况下选择跟Unexpanded Cell Name一样)?点“Global Net Options”Net Name:VDDPort Pattern:VDD.*点“Apply”Net Name:VSSPort Pattern:VSS.*点“Apply”点“OK” Tools Astro ?第二行工具条转为Astro状态 Cell Create(geCreateCell)?新建cell?Cell Name:fetch(该cell名任取,其为之后出现的schematic图的名称) Design Setup Bind Netlist(axgBindNetlist)?将网表文件与schematic图绑定?Net Cell:godson2_FETCH_module.EXP(之前生成的展开后的EXP文件) Cell Initialize Hierarchy Information(astInitHierPreservation)?初始化层次信息,该步的意义在于:我们的constraints是按照层次化设计的思路编写的,而Astro中使用的网表已经“平坦化”,因此为了加入约束文件,我们需要把层次化信息从未expanded之前的top cell中提取出来,加入expanded后的cell中。?Flattened Cell Name (.EXP .CEL):fetch.EXP(之前新建的cell名)?Hierarchical Top Cell Name (.NETL):godson2_FETCH_module(包含有层次化信息的网表中的顶层模块的名字) Cell Mark Module Instances Preserved(astMarkHireAsPreserved)?Flattend Cell Name(.EXP .CEL):fetch.EXP3、 从zhaojy处(已完成的子模块外部信息)获取信息: Design Setup Dump floorplan(axgDumpFloorPlan)?获取floorplan信息?Output Filename:dump_file_1.dump(或任意其他名字)?Type:本例中选择io cell placement,row,track三项 Route Utility Dump Routing(axgDumpRouting)?获取Power Grid信息?Output Filename:dump_file_2.dump(或任意其他名字)4、 对步骤2-中生成的cell load步骤3中提取的两个dump文件。具体操作为:在Astro Scheme界面中输入:?Astro load “dump_file_1.dump” load “dump_file_2.dump”5、 对cell进行Floorplan。通常做法是编写一个.scm文件,该文件中包含了cell中各macro-cells和components的摆放位置,编写完.scm文件后保存,在Astro Scheme界面中输入:?Astro load “/macro_loca.scm”6、 对未在.scm文件中定义的macro-cell和component摆放位置。注意,通常来说,我们不需要手工摆放这些macro-cells和components,因为在PC(Physical Compiler)中会自动摆放它们,但有时PC摆放单元的位置并不是最优的,会导致路径过长,这时才需要手工摆放这些单元。摆放单元时常用的快捷键列表如下:f 缩/放模块适应窗口大小 r redrawz 放大选取的区域 Z 缩小2Xp Point-select,选择一点所在的对象 l Line-select,选择线所穿过的对象w Window-select,选择框住的对象 t 旋转所选对象m Move,移动所选对象 移动视图s Stretch,拉伸/缩小所选对象 d Delete,删除所选对象,慎用!除了上述快捷键,注意使用视图左侧的按键,需要执行其他操作(如在cell中选择component)时,可回到Astro主菜单下寻找。7、 Fix宏单元或单元。我们手工摆放的cell通常都是不希望被PC自动摆放的cell,为了确实做到不让PC移动它们,我们需要“固定”住它们,具体操作为:?选定需要fix的cell(按“p”后点击cell)?PrePlace Set Fixed Status(aprCmdFixCell)?Mark Object:选择unfixed,soft fixed或fixed。其中soft fixed与fixed的区别在于:soft fixed的cells有可能被PC优化掉,但如果PC决定采用它,就一定会将其放在用户fix它的地方;而fixed的cells对于PC来说完全不可动,一定会调用它,而且一定会放在其被fix的位置,类似于.tcl文件中的set_dont_touch命令。8、 创建group和region。在某些设计中,我们希望将某些cell固定在一定区域(即region)内,而cell的具体位置又希望由PC来确定。这时我们可以建立一个group,将希望放在region内的cell加入group,并生成与group相关的region,摆放在合适的位置上。具体操作为: Design Setup Add to Group by Names(aprCmdCreateHierGroup)?根据cell name新建group?Group Name:推荐使用与这组器件相关的名称?Pattern:需要加入group的cells的描述,可使用通配符“.*”(注意星号前有点号) Design Setup Create Region(axgCreateRegion)?新建region?Group Name:region对应的group的名字如果设计比较简单,可以在cell view上比较容易的找到所需要的cell,也可使用以下方法创建group和region: 在Cell View上选出要组成group的cells当然,Astro也提供了通过查询来选定cell的方法:Select (De)select by Name(geNameSelect)?Name:需要选定或取消选定的cell名?Type:一般选择cell instance Design Setup Add to Group by Select Set(aprAddGroupBySelSet) Design Setup Create Region(axgCreateRegion)?新建region?Group Name:region对应的group的名字9、 设置Blockage在某些设计中,我们希望在某些区域不放置任何cells,这可以通过设置Blockage实现。Blockage有两种,分别叫做Hard Blockage和Soft Blockage,操作如下:?PrePlace Create Hard Blockage或Create Soft Blockage?在Cell View上拖出一个Blockage,对Blockage的操作和对其他cell一样,可以移动也可以改变其大小。另外,在某些设计中,我们希望在Region中设置Blockage实现。Blockage有两种,分别叫做Hard Blockage和Soft Blockage,操作如下:?PrePlace Create Hard Blockage或Create Soft Blockage?在Cell View上拖出一个Blockage,对Blockage的操作和对其他cell一样,可以移动也可以改变其大小。通过以上的步骤,一个子模块的FloorPlan就基本完成了,保存cell?Cell Save!三、 提取pdef文件pdef文件中包含了设计中的各已定义的cell的位置、Power Grid及空余的可供Stand Cells摆放的位置,这些信息将提供给PC作为其进行物理综合的参考。在目前的设计流程中,Astro和PC还是独立的两个工具,因此需要用pdef文件这种形式来进行交换,在下一代的工具中,Synopsys公司将会把Astro与PC的功能结合在一起,也就是说今后我们可以在一个工具中同时实现Floor Plan与Physical Compile。提取pdef文件有两种方法:法一:1、 load “/export/workspace/physical/liudong/astro/tcl/floor_plan_c/procs.dump”dumpEverything “fetch_0407”此步骤的原理为:dumpEverything是procs.dump文件中定义的一个函数,其作用是将floorplan,routs,techfile,GatesAndCells,NetData,PinData分别dump至“fetch_0407”即目标文件夹下的_FLOORPLAN_,_ROUTES_,_TECHFILE_,_GATEANDCELLS_,_N

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论