没有合适的资源?快使用搜索试试~ 我知道了~
综合是将电路的高级语言转化为低级的,可与FPGA\CPLD或构成ASIC的门阵列基本结构相映射的网表文件或程序。综合包括编译,转换,调度,分配,控制器综合和结果的生成等几个步骤。综合是将我们的设计转化为FPGA可以读懂的配置文件的第一个步骤。本文档详对FPGA的综合进行了详细介绍。
资源推荐
资源详情
资源评论
1. 概述
1.1. 综合的目的
综合是完成从 RTL 代码到门级电路的转换。如果在综合时,链接了厂家的库文件,则
门级电路使用的器件是厂家库文件中提供的器件。
综合在整个 IC 设计中,起到的作用如图 1 所示。
图 1 综合在 IC 设计中的作用
由于目前 IC 设计规模日益增大,设计难度不断提高,设计人员必须通过综合工具实现
综合任务。目前 IC 所采用的是综合工具是 Synopsys 公司的 Design Compiler 。
本讲义紧密结合了 Design Compiler 的应用。
1.2. 综合的特性
1.2.1. 综合是由约束驱动的
对于一个设计来说, 在进行综合前, 需要给这个设计加上约束, 约束也就是综合的目标,
综合工具会竭力满足约束,以实现综合的目标。
约束可分为多方面,如时序方面的约束、面积方面的约束、环境属性方面的约束、驱动
和负载方面的约束等。其中最重要的约束是对时钟等与时序相关的属性进行约束。
在综合时, 约束的各个方面可能存在一定的矛盾, 如对速度和面积的约束, 见图 2 所示。
综合的过程就是找到一个最好的平衡点,满足各个方面的约束。
图 2 约束中速度与面积间的关系
好的、合理的约束,是综合成功的关键。
不同的约束会导致不同的综合效果。
1.2.2. 综合是基于 path 分析的
在整个综合的过程中,完成是基于 path 进行时序分析的,因此 path 的概念非常重要。
何谓 path?如下图所示。
图 3 Timing Path 的概念
Path 是综合工具进行时序分析的基本单位。
对于一条 path 而言,它的起点只能是输入端口,或者触发器 /寄存器的时钟端;终点只
能是输出端口,或者触发器 /寄存器的数据输入端(对 D 触发器而言,就是 D 端)。
结合图 3 而言,其中共有 4 条 path,分别为:
1) 输入端口 A -> FF2 的 D 端;
2) FF2 的 CK 端- > FF3 的 D 端;
3) FF3 的 CK 端- > 输出端口 Z;
4) 输入端口 A -> 输出端口 Z。
根据控制每条 path 的时钟终点, 可以把 path 分组, 称为 path group。数据不被时钟抓取
的 path 也组成一个组, 成为 default path group 。结合图 3 而言,有 2 个 path group,其中 path
1 和 path 2 属于时钟 CK 的 path group,path3 和 path 4 属于 default path group 。
在计算一条 path 的延时信息时, 是将这条 path 上所有线延时加上所有的器件单元延时。
1.3. 综合的步骤
对于 Design Compiler 而言,综合的步骤如下:
1) 将需要进行综合的设计读入 Design Compiler 的内存中;
2) 对设计添加合适的约束;
3) 对设计进行综合优化;
4) 分析综合的结果是否满足要求;
5) 如果满足要求的话,保存综合的结果。
综合的主要过程也可以用图 4 进行表示。
图 4 综合的主要过程
2. Design Compiler 简介
2.1. Design Compiler 接口模式
Design Compiler 是 Synopsys 公司推出的综合工具,在业界有较广泛的应用。
Design Compiler 有三种接口方式:图形化接口、 dc shell 接口和 dc shell tcl 接口。
图 5 Design Compiler 的接口方式
对于初学者来说,建议使用图形化方式,便于使用,同时建议打开命令窗口,以便可以
尽快熟悉 Design Compiler 的命令。
图形化方式需要占用较多的内存资源,运行速度相对命令行方式来说较慢。
2.2. Design Compiler 启动脚本文件
Design Compiler 启动时需要执行一个启动脚本文件, 该文件名为 .synopsys_dc.setup。执
行该脚本文件帮助 DC 链接指定的库文件, 也就是综合需要使用的厂家库文件。 库文件是由
厂家提供的,而不是由 Synopsys 公司提供。
.synopsys_dc.setup 文件可以放在下面三个目录下:
1) $SYSNOPSYS/admin/setup
2)用户的 home 目录
3)用户的当前工作目录
DC 启动时搜索 .synopsys_dc.setup文件的顺序为先查找用户的当前工作目录,然后查找
用户的 home 目录,最后再查找 $SYSNOPSYS/admin/setup 目录。
若在用户的当前工作目录下存在 .synopsys_dc.setup文件,则直接使用该文件启动 DC 。
建议将 .synopsys_dc.setup 文件放在用户的当前工作目录下,方便使用和修改。
.synopsys_dc.setup 文件中需要为 DC 指定链接的库文件,这是通过设置 target_library ,
link_library ,symbol_library 等保留字变量实现的。
剩余24页未读,继续阅读
资源评论
- 会飞的珠珠侠2021-07-02PDF中图片不清晰,格式也有点问题
yan0110
- 粉丝: 18
- 资源: 13
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功