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

DC综合概述

(2012-09-10 09:44:52)
标签:

dc综合

it

分类: 专业

综合:前端设计,把行为描述的电路、RTL级的电路转换到门级电路。

Design CompilerSynopsys电路综合的核心工具,方便地将HDL语言描述的电路转换到基于工艺库的门级网表。

综合主要包括三个阶段:转换translation、优化optimization与映射mapping

 

转换阶段:将HDL语言描述的电路用门级逻辑实现。对于DC,使用gtech.db库中的门级单元来实现HDL语言描述的电路,得到初始的未优化的电路。

优化与映射:综合工具对初始电路进行分析,去掉冗余单元,并对不满足限制条件的路径进行优化,将优化后的电路映射到由制造商提供的工艺库上

 

综合的特点:

综合是限制条件驱动的

限制条件就是综合的目标

综合是基于路径的

Design Compiler在做综合时,会调用静态时序分析的工具Design timer对电路中的有效路径进行静态时序分析,很据时序分析结果对电路进行优化

 

电路综合的要求

         综合脚本必须是可重用,包括两个部分

    电路设计过程中,当后端工具提取出线负载模型后作综合或者在布局布线完成之后再做综合,保证添加的限制条件与初始时的综合是相同

   当系统参数改变时,例如模块从16位变为32位,而模块的功能没有改变时,可以保证不改变综合的脚本,只改变其中的参数就可以实现该目标。即综合脚本是参数化

 

限制条件,必须对以下对象施加限制条件

1.电路中必须要有时钟的定义

综合之后的电路必须是同步电路,如果是异步电路或者模拟电路,需要单独处理,而同步电路需要设置时钟或者虚拟时钟

2.保留时钟网络,不对时钟网络进行综合

3.综合时需要制定线负载模型,用于估计连线延迟

4.限制模块中组合电路的输入输出延迟

5.限制输出的带负载能力(Loading budget)以及输入的驱动单元(drving cell

6.模块同步输出的输出延迟(output delay)的限制,以及同步输入的输入延迟(input delay)的限制

7.多周期路径(multicycle path)以及非法路径(false path)的限制

8.工作环境的定义

 

综合结果的要求

1.综合的结果中没有时序违反(timing violation),即综合的结果必须满足时序性能的要求

2.综合后的门级网表必须已经映射到工艺库上

3.综合后的门级网表中应避免包含如下电路结构

在同一电路中同时含有触发器和锁存器两种电路单元

在电路中出现有反馈的组合逻辑

用一个触发器的输出作为另外一个触发器的时钟

异步逻辑和模拟电路未单独处理

使用的单元电路没有映射到工艺库中

RTL Code功能验证 + 电路的工作环境和限制条件 = 门级网表 + 用于分析电路的综合报告 + 时序信息等等

输出用于后端设计以及验证

 

另外在综合的过程中,需要对测试进行处理,即在电路中插入扫描链,此电路结构用于以后的电路测试。

 

Verilog各种语言成分的综合结果

如果在使用if语句时,没有指出条件判断的所有可能情况,会在电路中引入锁存器(Latch),由于锁存器和触发器两种时序单元共存的电路会增大测试的难度,因此,综合的时候尽量只选用一种时序单元。

       为了不在电路中引入锁存器,可以在使用该语句时设置缺省的状态,即在判断条件之前先对输出赋值,或者使用if。。。else if 。。。 else的语句结构


1、Design Compiler启动
dc_shell命令行方式
以文本界面运行Design Compiler。
直接输入“dc_shell” 
需要注意的是dc_shell启动调用的是dcsh模式运行脚本
dc_shell-t命令行方式
该方式是以TCL(Tool Command Language)为基础的。
输入"dc_shell-t"运行
西湖一启动调用的是tcl模式运行脚本
design_vision图形界面方式
首先需要说明的是dv是da(design_analyzer升级版本)
design_vision
注意:正如前面提到的,dcsh模式还是tcl模式都提供类似于unix的shell脚本的功能,包括变量赋值、控制流命令、条件判断等等。但是dcsh模式和tcl模式的语法规则各不相同,
因此,使用dcsh书写的脚本不能直接用于TCL工作模式,
使用TCL数次额的脚本也不能直接用于dcsh工作模式

design_vision在启动之后,自动在启动目录下面创建两个日志文件:command.log和view_command.log
用于记录用户在使用Design Compiler时所执行的命令以及设置的参数,
同时在运行过程中还产生filename.log的文件
用于记录design compiler访问过的目录,包括库、源文件等
filename.log在退出design compiler时会自动被删除
启动dc_shell时则只产生command.log的日志文件

0

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

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

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

新浪公司 版权所有