第六章 dc_shell命令解释程序 第一节 设计目标 6-1-1背景介绍 dc_shell 是 Synopsys Design Compiler的 shell(命令解释程序),与 unix的 shell 类似。Unix的 C shell 和Bourne-shell作为命令解释程序,在用户和 unix 核之间实现了功能极强的接口程序。相同地,Dc_shell最为 Synopsys Design Compiler的功能极强的命令解释程序。象 unix shell 提供程序设计语言在 unix 文件系统中操作一样,dc_shell 提供 script(脚本)语言在 Design Compiler 的设计中操作,且仿造 unix shell 的相同的结构。 用 dc_shell 脚本综合设计有许多优点:首先,脚本执行速度比象 design analyzer 交互式的界面快得多,脚本也用来证明综合设计的过程。更重要的是,脚本提供一个重复编译的机制,这不仅对设计的再利用重要,而且对于当要求一项函数改变时,再次产生设计文件的所要求的时间最小化也很重要。 所有的这些优点源于使用脚本自动走完综合流程。但是,dc_shell 脚本能够做的远不只这些,它能扩展Design Analyzer和 Design Compiler的功能。一些 Design compiler命令的顺序由脚本得出。大多数经验丰富的 Synopsys的用户将脚本和 Design analyzer结合使用来分析和优化设计。 6-1-2 目标程序类型的审阅 dc_shell脚本生成设计目标程序和编译属性来引导综合流程。当编写dc_shell脚本时,考虑正在运行的目标程序/信息的类型是很重要的。这一节从 “Design Compiler Family Reference Manual”的章节中总结了“design compiler”的概念。 6-1-2-1 实例、网络、端口 原理图由三个基础的构件组成:实例、网点、端口。实例是代表逻辑子程序或层次的符号,网络是代表在实例之间有电气连续性的导线,端口是用来代表层次连续性的线路终结器。这些都是标准的术语。使设计者感到新颖的是 reference的概念。 6-1-2-2 单元、引用、设计 如果一实例代表一逻辑子程序,则它能代表什么类型的子程序呢?一实例能代表一库元件或一设计。用许多术语描述设计是必须的因为一设计可能包含同一库元件(或子设计)的多重实例。 举例说,一典型设计包含与非门,设计中的每一门实例都被赋予唯一的单元名用来在非唯一的实例中彼此区分。同样的,一设计可能包含多个加法器,与与非门不同,加法器一般来说不是库元件,加法器是一个可逐步分解成库元件和网络且相互连接后执行加法器功能的完全设计。与库元件相同,每一子设计的实...