Design Compiler 基础
本章提供了Design Compiler的基础知识。这里会向读者展示进阶的和基础的综合流程。同时会将从设计准备和库规范到编译策略的标准用户任务,优化和结果分析做为基础综合流程的一部分来演示。
本章包含以下部分:
高层次设计流程
运行Design Compiler
对多核技术的支持
对Multicorner-Multimode设计的支持
License相关
基本综合流程演示
一次综合会话示例
注意:
虽然以下几个术语含义略有不同,但是在Design Compiler的文档中他们几乎是同义词:
Synthesis是指为用HDL编写的IC设计产生门级网表的过程。Synthesis包括了读取HDL源文件和对设计的优化。
Optimization是在综合过程中完成库中部件连接的步骤。这些部件是在满足设计的功能,时序,面积和功耗的条件下最优的匹配。
Compile是Design Compiler的命令,用于执行综合优化的过程。在将设计读入和执行了必要的任务后,用户可以使用compiler_ultra命令或者compile命令来生成门级网表。
高层次设计流程
在基本的高层次设计流程中,Design Compiler可以用于设计探索阶段和最终的设计完成阶段。在设计探索阶段,可以使用Design Compiler进行初步的或者默认设置的综合。在设计完成阶段,需要使用Design Compiler的全部功能进来完成设计综合。
图2-1 展示了高层次设计的流程。其中阴影部分就是在整个流程中用到Design Comiler来进行综合的地方。
图2-1 基本高层次设计流程
在使用图2-1所示的流程时,请参考以下步骤:
1. 从编写HDL(verilog或者VHDL)开始进行设计。好的代码风格更有利于Design Compiler的综合。
2. 设计探索和功能仿真同时进行。
在设计探索阶段,使用Design Compiler来完成指定的设计目标(设计规则和优化约束)并且完成初步的,默认设置的综合(只使用Design Compiler的默认选项)。
如果在设计探索阶段,在时序上没有达到15%的过约束目标。那么就需要修改你的设计目标和约束,或者改进你的HDL代码。然后重新进行设计探索和功能仿真。
在功能仿真中,需要使用合适的仿真器来决定你的设计是否能完成需要的功能。
如果设计无法完成要求的功能,那么就必须修改HDL代码并重复设计探索和功能仿真。
一直执行设计探索和功能仿真知道设计的功能正确并且时序能够达到15%的过约束。
3. 通过使用Design Compiler来执行设计的综合以达到设计目标
在将设计综合成门级网表后,需要确保设计满足你的目标。如果设计没有满足你的目标,你需要生成不同的报告并分析他们来决定需要使用哪些技术来修正这些问题。
4. 在设计满足了功能,时序和其他的设计目标后,就可以进行物理设计了(在自己公司或者发送给制造商)
通过反标数据来分析物理设计的性能。如果结果没有满足你的设计目标,那么返回到步骤3。如果结果满足了你的设计目标,那么你的整个设计周期就可以结束了。
运行Design Compiler
本节为你运行Design Compiler提供了必要的基本信息。包括了一下几个部分:
Design Compiler的接口
Setup Files
启动Design Compiler
退出Design Compiler
使用Command Log Files
使用脚本文件
获取licenses
Design Compile接口
Design Compiler为综合和时序分析提供了两种接口:de_shell命令行接口(或者shell)和Design Vision图形化用户接口。dc_shell命令行接口是纯文本环境,在这个环境中你可以在命令行提示窗口中输入命令。Design Vision是Synopsys 综合环境的GUI;用它进行可视化设计数据和分析结果。更多关于Design Vision的信息,请参考Design Vision User Guide。
你可以使用dctcl来和Design Compiler shell进行交互,dctcl是基于Tcl 语言的超集,包含了实现Design Compiler功能的特定命令。
dctcl命令语言提供了类似UNIX命令的功能。包括了变量,条件执行命令,和流程控制命令。你可以通过以下几种方法运行Design Compiler:
在shell中互动的输入单个命令
运行一个或者多个命令的脚本,这些脚本是命令的文本文件
在Design Vision窗口的控制台命令行中互动的输入单个命令
你可以使用这种方法来补充菜单界面的Design Compiler命令的子集。更多关于Design Vision的信息,请参考Design Vision User Guide和Design Vision Help。
Setup Files
当你调用Design Compiler时,它会自动执行3个setup files中的命令。这些文件的名字都是一样,.synopsys_dc.setup,但是位于不同的目录。这些文件包含了初始化参数和变量,声明设计库以及诸如此类的命令。
Design Compiler会按照以下的顺序读取.synopsys_dc.setup文件:
- Synopsys根目录
- 你的HOME目录
- 当前工作目录(调用Design Compiler的目录)
表2-1 Setup Files
File 位置 功能
全系统
.synopsys_dc.setup文件 Synopsys 根目录
( S Y N O P S Y S / a d m i n / s e t u p ) 该 文 件 包 含 了 S y n o p s y s 定 义 的 系 统 变 量 和 为 服 务 器 所 有 用 户 准 备 通 用 的 D e s i g n C o m p