2022年2022年静态时序分析&形式验证详解 .pdf
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《2022年2022年静态时序分析&形式验证详解 .pdf》由会员分享,可在线阅读,更多相关《2022年2022年静态时序分析&形式验证详解 .pdf(40页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、摘要:本文介绍了数字集成电路设计中静态时序分析(Static Timing Analysis)和形式验证( Formal Verification)的一般方法和流程。这两项技术提高了时序分析和验证的速度,在一定程度上缩短了数字电路设计的周期。本文使用Synopsys公司的 PrimeTime 进行静态时序分析,用Formality进行形式验证。由于它们都是基于 Tcl (Tool Command Language )的工具,本文对Tcl 也作了简单的介绍。关键词:静态时序分析形式验证 PrimeTime Formality Tcl 名师资料总结 - - -精品资料欢迎下载 - - - - -
2、- - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 40 页 - - - - - - - - - 目录第一章绪论(1) 1.1 静态时序分析 1.2 时序验证技术第二章PrimeTime 简介(3) 2.1 PrimeTime的特点和功能2.2 PrimeTime进行时序分析的流程2.3 静态时序分析中所使用的例子2.4 PrimeTime的用户界面第三章Tcl 与 pt_shell的使用(6) 3.1 Tcl中的变量3.2 命令的嵌套3.3 文本的 引用3.4 PrimeTime中的对 象 3.4.1 对象的概念 3.4.2 在 Pr
3、imeTime 中使用对 象 3.4.3 针对 collection的操作3.5 属性3.6 查看命令第四章静态时序分析 前的准备工作(12) 4.1 编译时序模型4.1.1 编译 Stamp Model 4.1.2 编译快 速时序 模型4.2 设置查找路径和链接路径4.3 读入设计文 件4.4 链接4.5 设置操作条件和线上负载4.6 设置基本的时序 约束4.6.1 对有关时钟的参数进行设 置 4.6.2 设置时钟门校 验 4.6.3 查看对该设计所作的设 置4.7 检查所设置的约束以及该 设计的 结构第五章静态时序分析(18) 5.1 设置端口延迟并检 验时序5.2 保存以 上的设 置5.
4、3 基本分析5.4 生成 path timing report 5.5 设置时序中的例 外5.6 再次进行分析第六章 Formality简介(22)名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 40 页 - - - - - - - - - 6.1 Formality的基本特点 6.2 Formality在数字设计 过程中的 应用 6.3 Formality的功能 6.4 验证流程第七章形式验证(27)7.1 fm_shell命令 7.2 一些基本概念 7.2.1 Ref
5、erence Design和 Implementation Design 7.2.2 container 7.3 读入共享 技术库7.4 设置 Reference Design 7.5 设置 Implementation Design 7.6 保存及恢复 所作的设 置7.7 验证第八章对验证 失败的设计进行Debug (32) 8.1 查看不匹配 点的详细信息8.2 诊断程序8.3 逻辑锥 8.3.1 逻辑锥 的概念 8.3.2 查看不匹配 点的逻辑锥 8.3.3 使用逻辑锥来 Debug 8.3.4 通过逻辑值来 分析名师资料总结 - - -精品资料欢迎下载 - - - - - - - -
6、- - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 40 页 - - - - - - - - - 诸 论1第一章 绪论 我们知道,集成电路已经进入到了VLSI 和 ULSI 的时代,电路的规模迅速上升到了几十万门以至几百万门。而IC 设计人员的设计能力则只是一个线性增长的曲线,远远跟不上按照摩尔定律上升的电路规模和复杂度的要求。这促使了新的设计方法和高性能的EDA软件的不断发展。 Synopsys 公司的董事长兼首席执行官Aart de Geus曾经提到,对于现在的IC设计公司来说,面临着三个最大的问题:一是设计中的时序问题;二是验证时间太长;三是
7、如何吸引并留住出色的设计工程师。他的话从一个侧面表明了,随着IC设计的规模和复杂度的不断增加,随着数百万系统门的设计变得越来越普遍,时序分析和设计验证方面的问题正日益成为限制IC 设计人员的瓶颈。 对于这些问题,设计者们提出的策略有:创建物理综合技术、开发更快更方便的仿真器,使用静态时序分析和形式验证技术、推动IP 的设计和应用等等。本文将着重于探讨其中的静态时序分析和形式验证两项技术,在集成电路设计日益繁复的背景下,它们为IC 产品更快更成功地面对市场提供了可能。 1.1 静态时序分析 一般来说,要分析或检验一个电路设计的时序方面的特征有两种主要手段:动态时序仿真( Dynamic Timi
8、ng Simulation)和静态时序分析( Static Timing Ana -lysis)。 动态时序仿真的优点是比较精确,而且同后者相比较,它适用于更多的设计类型。但是它也存在着比较明显的缺点:首先是分析的速度比较慢;其次是它需要使用输入矢量,这使得它在分析的过程中有可能会遗漏一些关键路径(critical pat -hs) ,因为输入矢量未必是对所有相关的路径都敏感的。 静态时序分析的分析速度比较快,而且它会对所有可能的路径都进行检查,不存在遗漏关键路径的问题。我们知道,IC设计的最终目的是为了面对竞争日益激名师资料总结 - - -精品资料欢迎下载 - - - - - - - - -
9、 - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 40 页 - - - - - - - - - 诸 论2烈的市场, Time-to-market是设计者们不得不考虑的问题,因此对他们来说,分析速度的提高,或者说分析时间的缩短,是一个非常重要的优点。 1.2 形式验证技术 我们知道,验证问题往往是IC 产品开发中最耗费时间的过程之一,而且它需要相当多的计算资源。开发一个带有相应的测试向量的测试平台是很费时的工作,而且它要求开发者必须对设计行为有很好的很深入的理解。而形式验证技术,简单地说就是将两个设计或者说一个设计的两个不同阶段的版本进行等效性比较的
10、技术,由于能够很有效地缩短为了解决关键的验证问题所花费的时间,正在逐渐地被更多的人接受和使用。这方面的工具有Synopsys 公司的 Formality和 Verp -lex公司的 Conformal LEC 等。 本文将讨论使用Synopsys 的工具 PrimeTime 和 Formality进行静态时序分析和形式验证的一般方法和流程。本文的第二章简要介绍了PrimeTime 的基本功能和特点。第三章介绍了Tcl 在 PrimeTime 中的基本使用,重点是关于对象和属性的操作。第四章介绍了在进行静态时序分析之前要作的准备工作。第五章介绍了对一个具体例子进行静态时序分析的过程。第六章介绍了
11、Formality的基本特点和验证流程。第七章介绍了对一个具体例子进行形式验证的过程。第八章介绍了对验证失败的设计进行Debug的各种技巧。 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 40 页 - - - - - - - - - PrimeTime 简介3第二章 PrimeTime简介正如本文前面所提到的,静态时序分析方法由于有着更快 的分析速度 等优点,正在被更多 的设计 者们所重视。PrimeTime 是 Synopsys的静态时序分析 软件,常被用来分析大规模
12、、同步、 数字 ASIC。PrimeTime 适用于门级的电路设计, 可以和Synopsys 公司的 其它 EDA 软件非常好 的结合在一起使用。这一章 将简要介绍 PrimeTime 的基本功能和特点, 以及使用 PrimeTime 进行静态时序分析的一般 过程。2.1 PrimeTime的特点和功能作为专门的静态时序分析工具, PrimeTime 可以为一个设计提 供以下的时序分析和设计 检查:?2 建立和保持时间的检查(setup and hold checks) 2 时钟脉冲宽 度的检查2 时钟门的检查(clock-gating checks) 2 recovery and remov
13、al checks 2 unclocked registers 2 未约束的时序 端点(unconstrained timing endpoints)2 master-slave clock separation 2 multiple clocked registers 2 组合反馈回 路(combinational feedback loops)2 基于设计 规则的检查,包括对最大电容、最大传输 时间、最大扇出 的检查等。 PrimeTime具有下面的特点 : 1)PrimeTime 是可以独立运 行的软件,它不需要逻辑综合过程中所 必需的各种数据结构,而且它对内存的要求相 对比较低 。 2
14、)PrimeTime 特别适用于规模较大的、SOC (system-on-chip )的设计。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 6 页,共 40 页 - - - - - - - - - PrimeTime 简介4在数字集成电路设计的流程中,版图前、全局布 线之后已经版图后 ,都可以使用 PrimeTime 进行静态时序分析。2.2 PrimeTime进行时序分析的流程使用 PrimeTime 对一个电路设计进行静态时序分析,一般要经过下面的步骤: 1)设置设计环境在可以
15、进行时序分析 之前,首先要 进行一 些必要的设置和准备工作。具 体来说包括了:2 设置查找路径和链接路径2 读入设计和 库文件2 链接顶层设计2 对必要的操作条件进行设 置,这里包括了线上负载的模型、端口负载 、驱动、以及转换时间等2 设置基本的时序 约束并 进行检查 2)指定时序 约束 ( ?timing assertions/constraints) 包括定义时钟周期、波形、不确定度(uncertainty)、潜伏 性(latency),以及指明输 入输出端口的延时等。 3)设置时序例外(?timing exceptions):这里包括 了:2 设置多循环路径(multicycle pat
16、hs)2 设置虚假路径(false paths)2 定义最大最 小延时、路径的分段(path segmentation)以及无效的 arcs 4)进行时序分析 :在作好以上准备工作的基 础上,可以对电路进行静态时序分析,生成 constra -int reports和 path timing reports。以上仅仅是 PrimeTime 进行静态时序分析的简单流程,在本文以下的部份中将会有更详细 的叙述。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 7 页,共 40 页 - -
17、- - - - - - - PrimeTime 简介52.3 静态时序分析中所使用的例子在本文中,进行静态时序分析时所用的例子是微处理器 AMD 2910 ,图 2-2 给出了它的 顶层的电路 图。Figure2-2 AMD 2910 微处理器2.4 PrimeTime的用户界面PrimeTime 提供两种用户界面, 图形用户界面 GUI(Graphical User Interf -ace )和基于 Tcl 的命令行界面 pt_shell,其运行方式分 别是: PrimeTime pt_shell 退出的命令是 quit 、exit或者d。事实上,在 GUI界面中 通过菜单进行的 每一个操作
18、,都对 应着相应的 pt_shell的命令。 因此,本文 以下的章节都只针对于 pt_ shell来完成。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 8 页,共 40 页 - - - - - - - - - Tcl 与 pt_shell 的使用6第三章 Tcl与 pt_shell的使用 Tcl是 Tool Command Language的缩写,由于 PrimeTime 的命令 语言是基于Tcl 标准的,所 以在这一章 里我想大致介绍一 下 Tcl 在 PrimeTime 中的基
19、本使用。除了一些最常用的 Tcl 命令之外,主要介绍了 pt_shell中有关对象和属性的操作。事实上,大多数 synopsys 公司的 EDA工具都是基于 Tcl 标准的。例 如在第二章的图 2-1 中可以看到的综合软 件 Design Compiler也是。由于都基于Tcl 标准,PrimeTime 中的大多数命令 以及命令参数都和 Design Compiler中是相同的。3.1 Tcl中的变量我们可以把 Tcl 看作是一 种比较 高级的语言,它很容易理解 和使用,所 以这里对它的介绍也是 很简单的。与变量 有关的有下列操作: 1)定义变量:set 变量名 变量值例如:set clock
20、_period 10 2)引用变量 :$变量名例如:echo $clock_period 3)删除变量:unset 变量名 4)打印变量:printvar 变量名(无变量名时打印所有变量)或者: echo $变量名举个例子,在使用 PrimeTime 之前,我们可以把它设置成分页显示 ,以便于浏览在运行时生成的信息,此时可以使用如下的命令 : set sh_enable_page_mode true 如果希望每 次运行时 PrimeTime 总是分页显示 ,可以到.synopsys_pt.setup文件中去更改 sh_enable_page_mode变量的设 置。名师资料总结 - - -精品资
21、料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 9 页,共 40 页 - - - - - - - - - Tcl 与 pt_shell 的使用73.2 命令的嵌套在使用 PrimtTime 的过程中,命令的嵌套 经常会被用到。嵌套命令时,用方 括号()分隔开每 一层的命令,例 如:命令 1 命令 2 命令 3 在这样一个例子中,命令 3 首先被执行,它的 结果将被作为命令 2 的一个参数,然后依次执行下去。3.3 文本的引用在 Tcl 中,可以使用两 种方法来引用文本 或者说字符串: 1)弱引用:使用双引号来引用
22、文本。在 双引号里出现的变量 、命令和 反斜杠不会被转义,仍然保持特殊意义。 2)强引用:使用大括号来引用文本。 大括号中的字符串将按照字面上 被引用。例如:set mydelay 10 echo The value of mydelay is $mydelay 得到的结果将是:The value of mydelay is 10,而 echo The value of mydelay is $mydelay 得到的结果将是:The value of mydelay is $mydelay。除此之外,可以使用反斜杠来转义一个单一的特 殊字符,以及使用 expr 命令来得到算术表达式的值。3.4
23、 PrimeTime中的对象3.4.1 对象的概念在 IC 设计中, “对象(object)”是一个常用的概念。一般 来说,一个设计会包含以下的对象:Design、Cell 、Port 、Pin、Net、Clock 等。在分析和验证的 过程中,也 经常要 跟这些对象打交道 。因此搞清楚 这些概念 ,才不会在使用 软件的过程中遇到不必要的障碍。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 10 页,共 40 页 - - - - - - - - - Tcl 与 pt_shell 的使用
24、8Design:有一定逻辑功能的电路 描述,它可以是独立的,也 可以包含有其他的子设计。 虽然严格地来说子设计 只是设计的一 部份,但是 Synopsys 也把它看作是一个 design 。Cell :在 Synopsys的术语中,cell和 instance被认为是同样的概念,都是design 中例化的一个具体元件。Port :指主要的 input 、output 或者 design 的 I/O 管脚。Pin:对应于设计中的 cell的 input 、output 或者 I/O 管脚。 Reference:cell或者 instance参考的源设计的定 义。 Net:是指信号的名字,即通过连
25、接 ports 与 pins 或者 pins 与 pins 而把一个设计连接在一起的金属线的名字。 Clock:作为时钟源的 port 或者 pin 。下面的例子是用 VHDL 语言描述的一个电路, 包含了上面所 说的各种对象: Figure3-1 3.4.2 在 PrimeTime 中使用对象 PrimeTime提供了一个命令来选中这些对象,或者更准 确地说是建立一个这些对象的 collection,命令的形式 为: get_objtype 其中 objtype是这种对象的类型,可以使用“help get_*”来查看 。这个命令与Design Compiler中的 find 命令有点类似。值
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022年2022年静态时序分析&形式验证详解 2022 静态 时序 分析 形式 验证 详解
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内