首页计算机计算机工程硬件描述语言和数字系统设计 08 第8章 综合与静态时序分析.pptx

08 第8章 综合与静态时序分析.pptx

页数:38页文件大小:524.5 KB来源: 硬件描述语言和数字系统设计ppt课件

本课件介绍逻辑综合的基本概念与从RTL到门级网表的转换过程,讲解静态时序分析的基础知识,包括时钟、时序路径、建立时间与保持时间的计算方式,并说明时钟定义、输入输出延时、时序例外等常用时序约束的编写方法。

第8章综合与静态时序分析章节封面,标示本章涵盖ns之前到达、综合简介、静态时序分析基础知识等内容
第8章主要内容,依次讲述综合简介、静态时序分析基础知识、时序约束等小节
综合简介流程图,知识点: 8.1.1用计数字系统的设计流程 8.1.2综合器的作用 8.1.3综合技术带来的好处
查看本课件的文字版(共 38 页,供检索与复制)

第1页:第8章综合与静态时序分析

硬件描述语言和数字系统设计

第2页:第8章主要内容

主要内容
8.1综合简介8.2静态时序分析基础知识8.3时序约束

第3页:综合简介

综合简介知识点:

  • 8.1.1用计数字系统的设计流程
  • 8.1.2综合器的作用
  • 8.1.3综合技术带来的好处
  • 8.1.4综合工具种类
  • 8.1.5综合具体操作流程
  • 8.1.6综合过程中的三个步骤
  • 8.1.7 DC中的工艺库及其配置

第4页:用计数字系统的设计流程

数字系统的设计流程

第5页:综合器的作用

综合器的作用

  • 综合工具把Verilog模块描述的逻辑按照设计工程师的面积、功耗、延时等约束要求转变为用具体某一Foundry厂所提供的工艺下的门级结构描述的模块。
  • 综合后的网表(即门级结构描述的模块) ,逻辑正确与否同样可以通过Modelsim等仿真工具来仿真进行验证。

第6页:综合技术带来的

综合技术带来的好处

  • 设计师可以采用更高层次的设计方法,设计出更复杂的东西;
  • 由于逻辑综合工具的使用,高层次的设计可以很快的转换为门级电路设计,芯片推出周期缩短;
  • 逻辑综合技术使与工艺无关的设计成为可能;
  • 综合工具可以按照约束设置对设计进行自动优化,要得到有不同性能指标的结果,有时候仅仅需要修改综合时的约束设置。

第7页:综合工具种类

综合工具种类

  • 最著名的综合工具是Synopsys公司开发的FPGAExpress, FPGA Compiler,Design Compiler等。
  • 一些FPGA公司也开发了自己的HDL综合器,例如Xilinx ISE平台下的XST
  • Synplicity(Synplify,Amplify,Certify和Synplify Asic),
  • Mentor(Leonardo spectrum)等公司也有自己的产品。

第8页:综合具体操作流程

综合具体操作流程

第9页:综合过程中的三个步骤

综合包括转译(Translation)、优化(Opitimization)、映射(Mapping)三过程。

  • 转译把电路的HDL描述转化为与工艺无关的功能块组成的逻辑电路的过程。
  • 映射是把转译后得到的电路结构用特定目标工艺库中的单元来实现。这时得到的电路包含了具体的制造工艺参数。
  • 优化则是综合工具根据设计者施加的时序和面积等约束条件对电路进行改进的过程。

第10页:DC中的工艺库及其

DC中的工艺库及其配置

  • GTECH库GTECH库是Synopsys的通用工艺库。它由DC自带,是独立于厂家工艺的。该库中包含的元件仅代表一定的逻辑功能而不带有任何工艺参数。DC在转译时会先将HDL描述转化为GTECH库单元组成的电路。(translation)
  • 目标工艺库(target library)DC在产生门级网表时必须使用目标工艺库。目标工艺库通常由芯片制造商提供,包含各种单元的物理信息。在映射过程中,DC会自动从目标工艺库中选择合适的标准单元。(map)

第11页:静态时序分析基础知识

静态时序分析基础知识知识点:

  • 8.2.1进行静态时序分析的原因
  • 8.2.2进行静态时序分析的方法

第12页:进行静态时序分析的

为什么要进行静态时序分析?说说静态、动态时序模拟的优缺点。(威盛VIA)

  • 传统上是采用动态仿真来验证一个设计的功能和时序。随着设计规模的增大,验证一个设计所需要的测试向量的数量以指数增长,且这种方法难以保证足够的覆盖率。在大型设计中,如果仅用传统的动态仿真的方法,则时间及工作量都难以承受。

第13页:静态时序分析可以降低验证的复杂性

  • 。静态时序分析提供了一种针对大规模设计验证的有效解决方法。它可以检查电路中所有时序路径的时序,测试覆盖率可以达到100%。STA的方法不需要任何测试向量,分析所需要的时间远远少于门级动态仿真。但静态时序与动态仿真相比,也有自身的缺点。

第14页:STA不能验证设计

  • 的功能,设计功能验证还必须使用功能仿真来实现。另外,静态时序分析只能验证同步时序电路的时序特性,如果设计中含有较多的异步电路,则应该通过门级动态仿真来验证。一般来说,一个设计的验证应该既包含RTL级的功能仿真,也包括静态时序分析和门级动态仿真。静态时序分析和门级动态仿真各有优点,互相补充,一起使用可以有效保证电路的正确性和可靠性。

第15页:进行静态时序分析的

如何进行静态时序分析?使用静态时序分析的方法分析电路时序时,分析工具会首先将设计分解为很多不同时序路径的集合,然后计算每条时序路径的延时信息,最后检查路径延时,分析其是否满足时序约束。

第16页:PrimeTime是Synopsys公司

  • 的一种静态时序分析工具。
  • 现在,静态时序分析已经是ASIC设计流程中最重要的一个环节,它能验证设计在时序上的正确性,并决定设计是否能在要求的频率下运行。
  • PrimeTime能够分析设计中时序路径的延时,找出时序冲突,提供分析结果供设计工程师修改设计。PrimeTime适合对大规模的同步数字设计进行分析,而且与综合工具DC有很好的接口,可以在整个设计流程中使用。

第17页:概念1:时序路径

(timing path)

  • 时序路径的起点只能是内部时序单元的时钟端或设计的输入端口;时序路径的终点只能是内部时序单元的数据输入端或设计的输出端口。电路中的时序路径一般有四种:
  • ①从输入端口到输出端口;
  • ②从输入端口到触发器的数据输入端d;
  • ③从触发器的时钟端clk到输出端口;
  • ④从触发器的时钟端clk到触发器的数据输入端d。

第18页:练习1:-找出下面电路中的时序路径

练习1-找出下面电路中的时序路径

第19页:练习1:答案

练习1答案

第20页:练习2:-找出下面电路中的时序路径

练习2-找出下面电路中的时序路径

第21页:时序约束

8.3.1
建立时间和保持时间
8.3.2
分析建立时间是否违背
8.3.3
分析保持时间是否违背

第22页:建立时间和保持时间

概念2
建立时间和保持时间
  • 建立时间(setuptime):数据在时钟信号源到达之前必须要稳定的时间,如果建立时间不满足,数据不能正确打进时序逻辑单元。
  • 保持时间(hold time):数据在时钟信号源到达之后必须要稳定的时间,如果保持时间不够,数据不能被时序逻辑单元正确锁存。

第23页:示意图

示意图

第24页:分析建立时间是否违背

概念
建立时间是否违背左边DFF1是发送触发器,右边DFF2是接收触发器,Tclock>= Tclock-Q-max+Tlogic-max+Tsetup-max+ Tskew

第25页:Tclock>= Tclock-Q

-max+Tlogic-max+Tsetup-max+ Tskew

  • Tclock-Q-max是从发送触发器的时钟边沿到输出端Q发生变化的最大延时;
  • Tlogic-max是发送触发器到接收触发器之间的逻辑门延时总和;
  • Tsetup-max是输入信号建立所需要的可能最长时间;
  • Tskew是最坏情况时钟偏移。
  • 如果分析电路中的时序路径,此不等式不满足,就会认为是建立时间违背。

第26页:例:分析建立时间是否违背

例:分析建立时间是否违背?

  • 已知条件:该电路时钟周期为5ns(即f=1/5ns=200MHz)
  • 触发器的Tsetup=0.5ns

第27页:例:分析建立时间是否违背(续1)

例:分析建立时间是否违背?

  • 该电路的时钟周期为5ns,触发器的Tsetup=0.5ns即要数据能被电路正确输入,必须在5ns-0.5ns=4.5ns之前到达。

第28页:例:分析建立时间是否违背(续2)

例:分析建立时间是否违背?

  • 而实际上,数据从触发器DFF1传到触发器DFF2的数据输入端的路径延时为path_delay= 0.50+1.0+0.54+0.32+0.66+0.23+0.43+0.25=3.93ns

第29页:例:分析建立时间是否违背(续3)

例:分析建立时间是否违背?

  • 即假设在0时刻Data由触发器DFF1的时钟沿触发,经过如图所示的路径,在时刻3.93ns到达触发器DFF2的数据端。

第30页:例:分析建立时间是否违背(续4)

例:分析建立时间是否违背?

第31页:计算公式:Tclock>=

  • Tclock-Q-max+Tlogic-max+Tsetup-max+ Tskew
  • 时序裕度slack=需要数据到达的时刻-数据实际到达的时刻
  • 当slack为正时,表示电路时钟周期比不等式右边的总和要大,不等式满足,数据就能正确地被触发器采集;
  • 反之,当slack为负,表示时钟周期比不等式右边的总和要小,(即数据实际到达的时刻比需要达到的时刻晚),数据不能正确地被采集到,这种情况就叫做建立时间违背setup timevolations。
  • 本例中时序裕度slack=4.5ns-3.93ns=+0.57ns,因此数据能够正确的被打入时序单元,建立时间没违背。例:分析建立时间是否违背?

第32页:例:分析建立时间是否违背(续5)

例:分析建立时间是否违背?

  • 如果把本例的已知条件时钟周期改为4ns(即时钟频率更高f=250MHz),其它条件均不变,建立时间又是否违背呢?

第33页:分析保持时间是否违背

概念
保持时间违背左边DFF1是发送触发器,右边DFF2是接收触发器,Thold-max+ Tskew<= Tclock-Q-min+Tlogic-min

第34页:Thold-max+ Tskew<=

Tclock-Q-min+Tlogic-min

  • Tclock-Q-min是从发送触发器的时钟边沿到输出端Q发生变化的可能最快延时;
  • Tlogic-min是通过逻辑门的可能最小累积延时总和;
  • Tskew是最坏情况时钟偏移。
  • 当该不等式不满足时,就会引起保持时间违背。
  • 为了防止竞争条件的出现,同时要关注保持时间是否违背。
  • 可以通过在冲突路径中插入额外逻辑(如buffer)来解决这个问题,通过命令,综合工具能够自动识别和纠正保持时间违背。

第35页:课后练习:-常见公司数字IC设计招聘题目

课后练习-常见公司数字IC设计招聘题目1.什么是Setup和Holdup时间?(汉王)2.setup和holdup时间,区别.(南山之桥)3.解释setup time和hold time的定义和在时钟信号延迟时的变化。4.解释setup和hold time violation,画图说明,并说明解决办法。(威盛VIA)

第36页:Setup/hold

time是测试芯片对输入信号和时钟信号之间的时间要求。建立时间是指触发器的时钟信号上升沿到来以前,数据稳定不变的时间。输入信号应提前时钟上升沿(如上升沿有效)T时间到达芯片,这个T就是建立时间Setup time.如不满足setup time,这个数据就不能被这一时钟打入触发器,只有在下一个时钟上升沿,数据才能被打入触发器。保持时间是指触发器的时钟信号上升沿到来以后,数据稳定不变的时间。如果hold time不够,数据同样不能被打入触发器。课后练习-答案

第37页:给了reg的setup,hold时间

.给了reg的setup,hold时间,求中间组合逻辑的delay范围。(飞利浦-大唐)2.时钟周期为T,触发器D1的建立时间最大为T1max,最小为T1min。组合逻辑电路最大延迟为T2max,最小为T2min。问,触发器D2的建立时间T3和保持时间应满足什么条件。(华为)课后练习-常见公司数字IC设计招聘题目

第38页:说说静态、动态时序模拟的优缺点

.说说静态、动态时序模拟的优缺点。(威盛VIA)4.一个四级的Mux,其中第二级信号为关键信号,如何改善timing。(威盛VIA)5.给出一个门级的图,又给了各个门的传输延时,问关键路径是什么,还问给出输入,使得输出依赖于关键路径。

顶部目录