欢迎来到天天文库
浏览记录
ID:37559756
大小:269.50 KB
页数:41页
时间:2019-05-25
《SynopsysDC中文培训实验》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、SYNOPSYSLab1SetupandSynthesisFlow缩略词:DesignCompile=DC;备注:UNIX%代表在linux终端下进行操作,其余的代表在DC下进行DC命令输入前言:DC(DesignCompiler)是Synopsys的logicalsynthesis优化工具,它根据designdescription和constraints自动综合出一个优化了的门级电路。它可以接受多种输入格式,如硬件描述语言、原理图和netlist等,并产生多种性能报告,在缩短设计时间的同时提高读者设计性
2、能。基本的综合流程:该基本综合流程包含下列步骤:1.发展HDL文件输入DesignCompiler的设计文件通常都是用诸如VHDL和VerilogHDL等硬件描述语言编写。这些设计描述必须小心地编写以获得可能的最好的综合结果。在编写HDL代码时,你需要考虑设计数据的管理、设计划分和HDL编码风格。划分和编码风格直接影响综合和优化过程。虽然流程中包含该步骤,但实际上它并不是DesignCompiler的一个步骤。你不能用DesignCompiler工具来编写HDL文件。2.指定库通过link_,target
3、_,symbol_,和synthetic_library命令为DesignCompiler指定链接库、对象库、符合库和综合库。链接库和对象库是工艺库,详细说明了半导体厂家提供的单元和相关信息,象单元名称、单元管脚名称、管脚负载、延迟、设计规则和操作环境等。符号库定义了设计电路图所调用的符号。如果你想应用DesignAnalyzer图形用户界面,就需要这个库。另外,你必须通过synthetic_library命令来指定任何一种特殊的有许可的设计工具库(你不需要指定标准设计工具库)。3.读入设计DesignC
4、ompiler使用HDLCompiler将RTL级设计和门级网表作为设计输入文件读入。通过analyze和elaborate命令读入RTL级设计,通过read_file或read命令读入门级网表。DesignCompiler支持所有主要的门级网表格式。如果你用read_file或read命令读入RTL设计,等于实现了组合3analyze和elaborate命令的功能。4.定义设计环境DesignCompiler要求设计者模拟出待综合设计的环境。这个模型由外部的操作环境(制造流程、温度和电压)、负载、驱动、
5、扇出、线负载模型等组成。它直接影响到设计综合和优化的结果。利用图2-4中该步骤下所列的一系列命令来定义设计环境。5.设置设计约束DesignCompiler利用设计规则和最优化约束来控制设计的综合。厂家工艺库提供设计规则以保证产品符合规格、工作正常。典型的设计规则约束转换时间(set_max_transition)、扇出负载(set_max_fanout)和电容(set_max_capacitance)。这些规则指定了要求的工艺,你不能违反。当然,你可以设置更严格的约束。最优化约束则定义了时序(时钟、时钟
6、错位、输入延时和输出延时)和面积(最大面积)等设计目标。在最优化过程中,DesignCompiler试图去满足这些目标,但不会去违反任何设计规则。利用图2-4中该步骤下所列的一系列命令来定义这些约束。为能够正确地优化设计,必须设置更接近现实情况的约束。你选择的编译策略将影响设计约束的设置。流程中的步骤5和步骤6是相互依赖的。6.选择编译策略你可以用来优化层次化设计的两种基本编译策略被称为自顶向下和从下上。在自顶向下的策略里,顶层设计和它的子设计一起进行编译。所有的环境和约束设置都根据顶层设计来定义。因此,
7、它会自动的考虑内部模块的依赖性。但对于大型设计,这种方法并不实用,因为所有的设计必须同时贮存在内存里。在从下到上的策略里,分别对子设计进行约束和编译。在成功编译后,这些设计都被赋予一个dont_touch参数,防止在随后的编译过程中对它们进行进一步的改变。然后这些编译过的子设计组合成更高层次的设计,再进行编译。编译过程一直持续到顶层设计被综合。由于DesignCompiler不需要同时将所有未编译的子设计装载进内存,这种方法允许你编译大型设计。然而,在每一个阶段,你必须估计每个内部模块的约束,更有代表性的
8、是,你必须不停地编译、改进那些估计,直到所有的子设计界面都是稳定的。每一个策略都有其优点和缺点,这取决于你设计的特殊性和设计目标。你可以选择任意一个策略来进行整个设计,或者混合使用,对每一个子设计采用最合适的策略。7.优化设计利用compiler命令启动DesignCompiler的综合和优化进程。有几个可选的编译选项。初步编译,如果你想对设计面积和性能有一个快速的概念,将map_effort设置为low;默认编译,如果你在进
此文档下载收益归作者所有