没有合适的资源?快使用搜索试试~ 我知道了~
dc使用中文版(比较详细)
4星 · 超过85%的资源 需积分: 15 16 下载量 126 浏览量
2010-05-19
16:18:06
上传
评论
收藏 954KB DOC 举报
温馨提示
试读
36页
中文版本 比较详细 Design Compiler是Synopsys公司用于做电路综合的核心工具,它可以方便地将HDL语言描述的电路转换到基于工艺库的门级网表。本章将初步介绍综合的原理以及使用Design Compiler做电路综合的全过程。
资源详情
资源评论
资源推荐
第四章 综合与 Design Compiler
综合是前端模块设计中的重要步骤之一,综合的过程是将行为描述的电路、RTL 级的
电路转换到门级的过程;Design Compiler 是 Synopsys 公司用于做电路综合的核心工具,它
可以方便地将 HDL 语言描述的电路转换到基于工艺库的门级网表。本章将初步介绍综合的
原理以及使用 Design Compiler 做电路综合的全过程。
4.1 综合综述
4.1.1 综合及其在集成电路设计流程中的地位
4.1.1.1 什么是综合?
综合是使用软件的方法来设计硬件,然后将门级电路实现与优化的工作留
给综合工具的一种设计方法。它是根据一个系统逻辑功能与性能的要求,在一
个包含众多结构、功能、性能均已知的逻辑元件的单元库的支持下,寻找出一
个逻辑网络结构的最佳实现方案。即实现在满足设计电路的功能、速度及面积
等限制条件下,将行为级描述转化为指定的技术库中单元电路的连接。
如图 4-1 所示,综合主要包括三个阶段:转换(translation)、优化
(optimization)与映射(mapping)。转换阶段综合工具将高层语言描述的电路
用门级的逻辑来实现,对于 Synopsys 的综合工具 DC 来说,就是使用
gtech.db
1
库中的门级单元来组成 HDL 语言描述的电路,从而构成初始的未优
化的电路。优化与映射是综合工具对已有的初始电路进行分析,去掉电路中的
冗余单元,并对不满足限制条件的路径进行优化,然后将优化之后的电路映射
到由制造商提供的工艺库上。
4.1.1.2 综合在集成电路整个设计流程中的地位
图 4-2 是集成电路设计的整个流程图,可以看出,综合是连接电路的高层
描述与物理实现的桥梁。综合结果的好坏直接决定于 HDL 语言的描述,综合给
定的限制条件与综合之后的门级网表将送到后端工具用于布局布线;而且在使
用 HDL 语言描述电路以及在综合的过程中就需要考虑电路的可测试性,在综合
之后需要对电路的可测试性进行处理
2
。
1
gtech.db 的介绍可参看第四节
2
电路的可测试性将有专门章节讨论,参看第六章
图 4-1 综合示意图
4.1.2 电路综合的特点与要求
4.1.2.1 电路综合的特点:
1、 综合是限制条件驱动的(constraint driven)
综合是在设计人员给定的限制条件下对电路进行优化与映射的,因此 ,
设计人员给定的限制条件就是综合的目标。这个限制条件一般都是在系统
设计时对整个系统进行时序分析之后给出的,模块的设计人员不能随意对
该限制条件进行更改与调整。
综合是综合工具对电路一些的性能进行折中的结果,对于数字电路来说
就是在电路的面积与功耗,面积与时序上的性能进行折中。
图 4-3 是综合曲线的示意图,可以看出,当路径的延迟减小到一定程
度,面积上的代价就不能明显的改善时序上的性能;同样,当面积减小到
一定程度,路径延迟的增大也不能明显改上面积上的性能。
2、 综合是基于路径的
Design Compiler 在做综合的时候时,会调用静态时序分析的工具 Design
timer 对电路中的有效路径
1
进行静态时序分析,按照时序分析的结果来对
电路进行优化。
1
Design Compiler 对有效路径的具体定义参看第四节
图 4-3 综合过程中速度与面积性能的折中
4.1.2.2 电路综合的要求:
1、 综合脚本的要求
综合脚本必须是可重用的。脚本的可重用主要有两方面的含义:1)在
整个电路设计过程中,当后端工具提取出线负载模型
2
后作综合或者在布局
布线完成之后再做综合,保证添加的限制条件与初始时的综合是相同的。
2)当系统的一些参数改变时,比如,一个模块从 16 位变为 32 位,而模块
的功能没有改变,可以不改变综合的脚本,只需要改变其中的参数就可以
实现该目标。即要保证综合脚本是参数化的。
在添加限制条件时,必须对如下的对象施加限制条件:
1)、电路中需要有时钟的定义
一般情况下,希望综合之后的电路是同步的数字电路(异步电路以及模
拟电路需要单独处理),而同步电路中都需要设置时钟或者虚拟时钟。
2)、保留时钟网络,不对时钟网络做综合
3
2)、综合的时候需要指定线负载模型,用于估计连线延迟。
3)、限制模块中组合路径的输入输出延迟。
4)、限制输出的带负载能力(Loading budget)以及输入的驱动单元(driving
cell)。
5)、模块同步输出的输出延迟(output delay)的限制,以及同步输入的输
入延迟(input delay)的限制。
6)、多周期路径(multicycle path)以及非法路径(false path)的限制。
7)、工作环境的给定。
2、 综合结果的要求
1)、综合的结果中没有时序违反(timing violation),即综合的结果必须满
足时序性能的要求。
2)、综合之后的门级网表必须已经映射到工艺库上。
3)、综合之后的门级网表中应避免包含如下电路结构:
● 在同一个电路中同时含有触发器和锁存器两种电路单元。
● 在电路中出现有反馈的组合逻辑
● 用一个触发器的输出作为另外一个触发器的时钟
● 异步逻辑和模拟电路未单独处理
● 使用的单元电路没有影射到工艺库中
2
线负载模型的详细定义参看第四节
3
保留时钟网络的原因参看第四节
4.1.3 前端设计的流程
图 4-4 给出了前端设计的流程,显然,综合是前端设计过程中最重要的一个步骤。综
合的输入文件是经过功能验证的 RTL 模块,以及各种电路的工作环境和限制条件,综合的
输出文件是门级网表、各种用于分析电路的综合报告、时序信息等文件,用于后端设计以
及验证。另外在综合的过程中还得对测试进行处理,即在电路中插入扫描链,此电路结构
用于以后的电路测试。电路的可测试性设计(DFT)将由专门章节给出。
在介绍使用 DC 对电路进行综合之前,先介绍一下 Verilog 得各种语言成分的综合结果。
§4.2 Verilog 语言成分到门级的映射
本节将介绍综合时 Verilog 的各种语言成分到门级的映射。将通过大量的实
例来说明 Verilog 语句与库中门电路之间的映射。
本节中的综合使用的是 Synopsys 公司的 Design Compiler 2000.11 版本的工
具,而且优化的时候都没有加限制条件,即电路的综合只需要满足库中给定的
设计规则限制。
4.2.1 Verilog 语句的映射
4.2.1.1 If 语句的综合:
和其他高级语言一样,If 语句是用于选择的控制,If 语句对应的电路单元是
选择器。
【例 1】 一个简单的 if 语句的综合
源代码:
module Set_If_AEqB(A,B,Z);
图 4-4 前端设计的流程
剩余35页未读,继续阅读
jessicayaoyi
- 粉丝: 0
- 资源: 1
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 基于Python的PCA人脸识别算法的原理及实现代码详解+源码+详细代码解析+开发文档+数据(毕业设计&课程设计&项目开发)
- Decision tree20240105(1).ipynb
- zuoyezuoyezuoye
- zuoyezuoyezuoye
- 机械设计电机转子装配设备sw22非常好的设计图纸100%好用.zip
- 作业作业作业作业作业作业
- xdotool.c
- RLMD鲁棒性局部均值分解信号分量可视化(Matlab完整源码和数据)
- Screenshot_2024-04-26-17-17-26-36_9d26c6446fd7bb8e41d99b6262b17def.jpg
- 6.0版本超广角文件+教程使用MT管理器打-7.zip
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论2