加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

Design Compile (DC) 使用说明 (1)

(2013-01-16 14:49:31)
标签:

杂谈

分类: DC

一.软件说明

Design Compilesynopsys的综合软件,它的功能是把RTL级的代码转化为门级网表。综合包括转译(Translation),优化(Opitimization),映射(Mapping)三个过程。在转译的过程中,软件自动将源代码翻译成每条语句所对应的功能模块以及模块之间的拓扑结构,这一过程是在综合器内部生成电路的布尔函数的表达,不做任何的逻辑重组和优化。优化:基于所施加的一定时序和面积的约束条件,综合器按照一定的算法对转译结果作逻辑优化和重组。在映射过程中,根据所施加的一定的时序和面积的约束条件,综合器从目标工艺库中搜索符合条件的单元来构成实际电路。

 RTL design        Top-level constraints

           Prepare design              acs_read_hdl

                                              source src/constraints/to

        GTECH database

 

        Compile design               acs_compile_design design

 

        Optimized design

  

         Analyze results 

 

         Constraints met ?    Done

                      No

           Refine design               acs_refine_design design

 

         Refined design

DC有两种界面,图形界面通过敲入design vision&调用出来,另一种命令行界面通过dc_shell-t调用。建议初学者使用图形界面,因为图形界面比较容易上手;业界的人士比较青睐命令行界面,因为其所耗的资源少,并且将所用的命令写成综合脚本的形式,便于查阅。

因为门级和代码级不同,代码级考虑的是理想情况,但是实际电路不是这样的,它有门级的延时,线的延时,信号的转换时间,甚至时钟信号到达各个触发器的时间不相等。基于这些考虑,DC通过施加约束,模拟实际环境,根据实际情况得出门级网表。因此如何适当的施加约束是DC的关键所在。

二.库的配置

通过上述说明可知,DC需要通用库和工艺库的支持,DC用到的工艺库是.db或者是.lib格式的,其中.lib格式的文件是可读得,通过此文件可以了解库的详细信息,比如说工作电压,操作温度,工艺偏差等等。.db格式的库是二进制的,不可读。.db格式的库由.lib格式的库通过命令read_lib生成。

目标工艺库(Target_library):

是指将RTL级的HDL描述到门级时所需的标准单元综合库,它是由芯片制造商(Foundry)提供的,包含了物理信息的单元模型。通常芯片制造商提供的基本电路单元有:与非,或非,非门等基本的逻辑单元;还有选择器,与或非,或与非等较复杂的组合逻辑,以及锁存器 (LATCH)和触发器(DFF)等时序逻辑单元。

set   target_library {/app/cadence/smic35-2003.12/smic35/v1.0/synopsys/1999.05/models/smic35io122_max.db /app/cadence/smic35-2003.12/smic35/v1.0/synopsys/1999.05/models/smic35io122_min.db /app/cadence/smic35-2003.12/smic35/v1.0/synopsys/1999.05/models/smic35io132_max.db /app/cadence/smic35-2003.12/smic35/v1.0/synopsys/1999.05/models/smic35io132_min.db /app/cadence/smic35-2003.12/smic35/v1.0/synopsys/1999.05/models/smic35os142_max.db /app/cadence/smic35-2003.12/smic35/v1.0/synopsys/1999.05/models/smic35os142_min.db}

链接库(link_library:

链接库可以是同target_library一样的单元库,或者是已综合到门级的底层模块设计,其作用如下:在由下而上的综合过程中,上一层的设计调用底层已综合模块时,将从link_library中寻找并链接起来。

set   link_library

{*    /app/cadence/smic35-2003.12/smic35/v1.0/synopsys/1999.05/models/smic35io122_max.db /app/cadence/smic35-2003.12/smic35/v1.0/synopsys/1999.05/models/smic35io122_min.db /app/cadence/smic35-2003.12/smic35/v1.0/synopsys/1999.05/models/smic35io132_max.db /app/cadence/smic35-2003.12/smic35/v1.0/synopsys/1999.05/models/smic35io132_min.db /app/cadence/smic35-2003.12/smic35/v1.0/synopsys/1999.05/models/smic35os142_max.db /app/cadence/smic35-2003.12/smic35/v1.0/synopsys/1999.05/models/smic35os142_min.db}

如果需要将已有的设计从一个工艺A转到另一个工艺B时,可以将当前单元综合库A设为link_library,而将单元综合库B设为target_library,重新映射一下即可。

符号库(symbol_libray:

显示电路时,用于标识器件,单元的符号库。

Set symbol_library

{/app/cadence/smic35-2003.12/smic35/v1.0/synopsys/1999.05/icons/smic35io122.sdb /app/cadence/smic35-2003.12/smic35/v1.0/synopsys/1999.05/icons/smic35io132.sdb /app/cadence/smic35-2003.12/smic35/v1.0/synopsys/1999.05/icons/smic35os142.sdb}

搜寻路径(search_path:

给出了DC环境下读入的文件(包括综合库和设计文件)的搜寻路径。

set   search_path    [list${synopsys_root}/libraries/syn${synopsys_root}/dw/sim_ver ${synopsys_root}/libraries/35lib]

Setup文件:

在启动DC时,它会自动运行三个setup文件 中的命令。这三个setup文件的文件名均为.synopsys_dc.setup,分别放置在Synopsys的安装目录$SYNOPSYS/admin/setup、用户目录和启动DC时所在的目录。setup文件中一般包含初始化参数变量、设计工艺库名称及路径等相关内容。DC会依次读入上述三个文件中的内容,如果三个文件定义了相同的设置,则后面的文件内容会覆盖从前面文件中读取的内容。

下面是一个典型的setup文件:

 #Define the target technology library, symbol library,

# and link libraries

set target_library lsi_10k.db

set symbol_library lsi_10k.sdb

set symthetic_library dw_foundation.sldb

set link_library "* $target_library $synthetic library"

set search_path [concat $search_path ./src]

set designer "Your Name"

 

#Define aliases

alias h history

alias rc "report_constraint -all_violators"

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有