您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 信息化管理 > SynopsysDC中文培训实验
SYNOPSYSLab1SetupandSynthesisFlow缩略词:DesignCompile=DC;备注:UNIX%代表在linux终端下进行操作,其余的代表在DC下进行DC命令输入前言:DC(DesignCompiler)是Synopsys的logicalsynthesis优化工具,它根据designdescription和constraints自动综合出一个优化了的门级电路。它可以接受多种输入格式,如硬件描述语言、原理图和netlist等,并产生多种性能报告,在缩短设计时间的同时提高读者设计性能。基本的综合流程:该基本综合流程包含下列步骤:1.发展HDL文件输入DesignCompiler的设计文件通常都是用诸如VHDL和VerilogHDL等硬件描述语言编写。这些设计描述必须小心地编写以获得可能的最好的综合结果。在编写HDL代码时,你需要考虑设计数据的管理、设计划分和HDL编码风格。划分和编码风格直接影响综合和优化过程。虽然流程中包含该步骤,但实际上它并不是DesignCompiler的一个步骤。你不能用DesignCompiler工具来编写HDL文件。2.指定库通过link_,target_,symbol_,和synthetic_library命令为DesignCompiler指定链接库、对象库、符合库和综合库。链接库和对象库是工艺库,详细说明了半导体厂家提供的单元和相关信息,象单元名称、单元管脚名称、管脚负载、延迟、设计规则和操作环境等。符号库定义了设计电路图所调用的符号。如果你想应用DesignAnalyzer图形用户界面,就需要这个库。另外,你必须通过synthetic_library命令来指定任何一种特殊的有许可的设计工具库(你不需要指定标准设计工具库)。3.读入设计DesignCompiler使用HDLCompiler将RTL级设计和门级网表作为设计输入文件读入。通过analyze和elaborate命令读入RTL级设计,通过read_file或read命令读入门级网表。DesignCompiler支持所有主要的门级网表格式。如果你用read_file或read命令读入RTL设计,等于实现了组合3analyze和elaborate命令的功能。4.定义设计环境DesignCompiler要求设计者模拟出待综合设计的环境。这个模型由外部的操作环境(制造流程、温度和电压)、负载、驱动、扇出、线负载模型等组成。它直接影响到设计综合和优化的结果。利用图2-4中该步骤下所列的一系列命令来定义设计环境。5.设置设计约束DesignCompiler利用设计规则和最优化约束来控制设计的综合。厂家工艺库提供设计规则以保证产品符合规格、工作正常。典型的设计规则约束转换时间(set_max_transition)、扇出负载(set_max_fanout)和电容(set_max_capacitance)。这些规则指定了要求的工艺,你不能违反。当然,你可以设置更严格的约束。最优化约束则定义了时序(时钟、时钟错位、输入延时和输出延时)和面积(最大面积)等设计目标。在最优化过程中,DesignCompiler试图去满足这些目标,但不会去违反任何设计规则。利用图2-4中该步骤下所列的一系列命令来定义这些约束。为能够正确地优化设计,必须设置更接近现实情况的约束。你选择的编译策略将影响设计约束的设置。流程中的步骤5和步骤6是相互依赖的。6.选择编译策略你可以用来优化层次化设计的两种基本编译策略被称为自顶向下和从下上。在自顶向下的策略里,顶层设计和它的子设计一起进行编译。所有的环境和约束设置都根据顶层设计来定义。因此,它会自动的考虑内部模块的依赖性。但对于大型设计,这种方法并不实用,因为所有的设计必须同时贮存在内存里。在从下到上的策略里,分别对子设计进行约束和编译。在成功编译后,这些设计都被赋予一个dont_touch参数,防止在随后的编译过程中对它们进行进一步的改变。然后这些编译过的子设计组合成更高层次的设计,再进行编译。编译过程一直持续到顶层设计被综合。由于DesignCompiler不需要同时将所有未编译的子设计装载进内存,这种方法允许你编译大型设计。然而,在每一个阶段,你必须估计每个内部模块的约束,更有代表性的是,你必须不停地编译、改进那些估计,直到所有的子设计界面都是稳定的。每一个策略都有其优点和缺点,这取决于你设计的特殊性和设计目标。你可以选择任意一个策略来进行整个设计,或者混合使用,对每一个子设计采用最合适的策略。7.优化设计利用compiler命令启动DesignCompiler的综合和优化进程。有几个可选的编译选项。初步编译,如果你想对设计面积和性能有一个快速的概念,将map_effort设置为low;默认编译,如果你在进行设计开发,将map_effort设置为medium;当在进行最后设计实现编译时,将map_effort设置为high。通常设置map_effort为medium。8.分析和解决设计问题通常DesignCompiler根据设计综合和优化的结果生成众多的报告。你根据诸如面积、约束和时序报告来分析和解决任何设计问题,或者改进综合结果。你可以用check命令来检查综合过的设计,也可用其他的check_命令。9.保存设计数据利用write命令来保存综合过的设计。DesignCompiler在退出时并不自动保存设计。你也可以在一个脚本文件里保存那些综合过程中用过的设计参数和约束。脚本文件是用来管理设计参数和约束的理想工具。技术相关帮助:Linux下:vifilename:打开或新建文件;例如:vim.tcl(m.tcl若存在,则查看,反之为创建)创建/查看一个名为m的脚本文件。备注:按下键盘i时进入编辑插入状态;退出时不保存,按下Esc并输入“:q”;若退出时保存,按下Esc并输入“:wq”,强制退出加上!vi-rfilename:在上次正用vi编辑时发生系统崩溃,恢复filenamemkdirfilename:新建一个文件夹。rmdirfilename:删除一个文件夹。rmfilename:删除一个文件或路径目录或文件夹;rm–rfilename:删除文件夹所有的东西,不可恢复。DC下:在命令行中,用man+DC命令。可以得到这个DC命令的介绍。温馨提示:在做实验前,请务必理解对应的章节!!!一、实验目标:1.学会如何查看隐藏的文件,以及了解DC刚启动需要.synopsys_dc.setup文件来初始化信息。2.懂得如何修改common_setup.tcl脚本里面的命令来配置DC相关的信息。3.学会如何查看原理图和符号图。4.使用dc_shell–topo模式或design_vision–topo模式来启动DC工具二、实验流程:1.检查.synopsys_dc.setup文件是否配置好DC启动时的相关信息2.检查common_setup.tcl和dc_serup.tcl这两个文件,必要时修改common_setup.tcl文件3.使用DesignVisionTopo模式来启动DC,即是design_vision–topo4.读入rtl/TOP.v(或.vhd)文件,并查看符号图和原理图5.用scripts/TOP.con的文件来对整个设计进行约束6.用compile_ultra命令来对这个设计文件进行综合7.生成一个timing报告和area报告,进行分析8.保存综合后的设计文件到mapped/TOP.ddc并退出DC9.换另外一种模式来启动DCGUI,即是dc_shell–topo;start_gui三、实验步骤:Task1:Examineandmodifythesetupfile1.进入实验文件lab1的目录下,查看.synopsys_dc.setup、common_setup.tcl和dc_setup.tcl,这三个文件。UNIX%cdlab1UNIX%ls-al.synopsys*UNIX%ls-al*setup*########////////////######语句分析开始###########/########/////////////////////###################1.cdlab1;进入lab1目录下#####2.ls-al.synopsys*;查看所有前面以”.synopsys”开头的关键字的文件,-al代表查看所有的隐藏文件;#####3.ls-al*setup*;查看所有只要包含有关键字”setup”的文件,-al代表查看所有的隐藏文件;########////////////######语句分析结束###########/########/////////////////////##############2.请用一个文本编辑器(如vi)来修改commoc_setup.tcl里面的内容,请结合上面的相关技术帮组和下表任务表来完成该任务。User-definedDirectoryorFileNamesADDITIONAL_SEARCH_PACHAdditionalsearce_pathdirectoriesforlogic(db)libraries,designfiles,andscripts../ref/libs/mw_lib/sc/LM./rtl./scriptsTAREGET_LIBRARY_FILESLogicalTechnologyLibraryfilesc_max.dbSYMBOL_LIBRARY_FILESSymbollibraryfilesc.sdbMW_DESIGN_LIBMilkywayDesignLibraryNameTOP_LIB(这个名字可以用户自定义)MW_REFERENCE_LIB_DIRSMilkywayreferecelibraries(standard/macro/padcells)../ref/libs/mw_lib/scTECH_FILEPhysicalTechnologyfile../ref/libs/tech/cb13_6m.tfTLUPLUS_MAX_FILEMaxTLUPlusfile../ref/libs/tlup/cb13_6m_max.tluplusMAP_FILETLUPlusLayerMappingfile../ref/libs/tlup/cb13_6m.mapTask2:InvokeDesignVision1.进入lab1的目录下,以GUI–topo模式来启动DC工具,使其更具可视化。UNIX%pwdUNIX%design_vision-topo########////////////######语句分析开始###########/########/////////////////////###################1.pwd;查看当前路径。这样可以知道是否已经进入lab1的目录下#####2.design_vision-topo;以可视化界面-topo模式来启动DC工具,你可以看到一些已读入的信息,包括上一个步骤的配置信息,如搜索路径,目标库,链接库等等;这个因为当你启动DC工具时,会自动读取”.synopsys_dc.setup”这个配置文件的,这个文件是隐藏在lab1目录下的,这就是我们为什么要在lab1目录下启动DC工具。当然,你也可以不再在这个目录下启动DC,当你启动DC后,可以读进配置信息文件的,例如“source.synopsys_dc.setup”########////////////######语句分析结束###########/########/////////////////////##############2.在DC的GUI界面视图下,你将会看到以下的信息。3.点击File-Setup,可以查看一些信息,请回答以下的问题。问题一:请问这个工程的的目标库是什么?问题二:请问这个工程的的链接库是什么?问题三:请问这个工程的的符号库是什么?4.从File-Se
本文标题:SynopsysDC中文培训实验
链接地址:https://www.777doc.com/doc-5441331 .html