SynopsyDC中文培训实验.doc

  1. 1、本文档共41页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
SynopsyDC中文培训实验

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

文档评论(0)

gif803 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档