第5章 - 逻辑综合与DC使用 - 图文

2020-03-26 19:29

第五章 逻辑综合与DC使用

综合是前端模块设计中的重要步骤之一,综合的过程是将行为描述的电路、RTL级的电路转换到门级的过程;Design Compiler是Synopsys公司用于做电路综合的核心工具,它可以方便地将HDL语言描述的电路转换到基于工艺库的门级网表。本章将初步介绍综合的原理以及使用Design Compiler做电路综合的全过程。

4.1综合综述

4.1.1 综合及其在集成电路设计流程中的地位 4.1.1.1什么是综合?

综合是使用软件的方法来设计硬件,然后将门级电路实现与优化的工作留给综合工具的一种设计方法。它是根据一个系统逻辑功能与性能的要求,在一个包含众多结构、功能、性能均已知的逻辑元件的单元库的支持下,寻找出一个逻辑网络结构的最佳实现方案。即实现在满足设计电路的功能、速度及面积等限制条件下,将行为级描述转化为指定的技术库中单元电路的连接。

图4-1 综合示意图

如图4-1所示,综合主要包括三个阶段:转换(translation)、优化

(optimization)与映射(mapping)。转换阶段综合工具将高层语言描述的电路用

门级的逻辑来实现,对于Synopsys的综合工具DC来说,就是使用gtech.db1库中的门级单元来组成HDL语言描述的电路,从而构成初始的未优化的电路。优化与映射是综合工具对已有的初始电路进行分析,去掉电路中的冗余单元,并对不满足限制条件的路径进行优化,然后将优化之后的电路映射到由制造商提供的工艺库上。

4.1.1.2 综合在集成电路整个设计流程中的地位

图4-2是集成电路设计的整个流程图,可以看出,综合是连接电路的高层描述与物理实现的桥梁。综合结果的好坏直接决定于HDL语言的描述,综合给定的限制条件与综合之后的门级网表将送到后端工具用于布局布线;而且在使用HDL语言描述电路以及在综合的过程中就需要考虑电路的可测试性,在综合之后需要对电路的可测试性进行处理2。

4.1.2 电路综合的特点与要求 4.1.2.1电路综合的特点:

1、综合是限制条件驱动的(constraint driven)

综合是在设计人员给定的限制条件下对电路进行优化与映射的,因此,设计人员给定的限制条件就是综合的目标。这个限制条件一般都是在系统设计时对整个系统进行时序分析之后给出的,模块的设计人员不能随意对该限制条件进行更改与调整。

12

图4-3 综合过程中速度与面积性能的折中

gtech.db 的介绍可参看第四节

电路的可测试性将有专门章节讨论,参看第六章

综合是综合工具对电路一些的性能进行折中的结果,对于数字电路来说就是在电路的面积与功耗,面积与时序上的性能进行折中。

图4-3是综合曲线的示意图,可以看出,当路径的延迟减小到一定程度,面积上的代价就不能明显的改善时序上的性能;同样,当面积减小到一定程度,路径延迟的增大也不能明显改上面积上的性能。

2、综合是基于路径的

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

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)、综合之后的门级网表中应避免包含如下电路结构:

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

12

Design Compiler对有效路径的具体定义参看第四节 线负载模型的详细定义参看第四节 3

保留时钟网络的原因参看第四节

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

● 用一个触发器的输出作为另外一个触发器的时钟 ● 异步逻辑和模拟电路未单独处理

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

4.1.3 前端设计的流程

图4-4 前端设计的流程

图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); input [1:0] A,B; output Z; reg Z;

always @ (A or B) if (A==B) Z = 1; else Z = 0; Endmodule

图4-4 是上述语句综合之前的结构图,此时调用的是Synopsys自带的库gtech.db,这个库只包含有用boolean表达式描述的单元电路逻辑,并不包含有其他的信息,如门延迟、门的驱动能力等等。

图4-5 是使用DC综合之后的电路图,该图已经映射到工艺库上,已经包含有电路的延迟、驱动能力等信息。 限于篇幅,本节以后的例子将不再给出未映射到工艺库的电路图。

图4-4 简单If语句综合之前的电路结构图

图4-5 简单If语句综合之后的电路结构图

如果在使用if语句时,没有指出条件判断的所有可能情况,则会在电路中引


第5章 - 逻辑综合与DC使用 - 图文.doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:《教育统计与测量评价》复习题及参考答案

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: