静态时序分析:时序弧以及其时序敏感(单调性)

news2024/11/29 0:46:32

相关阅读

静态时序分析icon-default.png?t=N7T8https://blog.csdn.net/weixin_45791458/category_12567571.html?spm=1001.2014.3001.5482


        在静态时序分析中,不管是组合逻辑单元(如与门、或门、与非门等)还是时序逻辑(D触发器等)在时序建模时都拥有多条时序弧(Timing Arc)。时序弧是用来描述信号(翻转)传播路径一种抽象。举例来说,对于组合逻辑单元,每个输入引脚(Pin)到输出引脚都有相应的时序弧;对于时序逻辑单元,有从时钟引脚到输出引脚的时序弧,也有从时钟引脚到数据引脚的建立、保持时间约束时序弧。每个时序弧都有时序敏感(Timing Sense),它描述了信号(翻转)在沿着时序弧传播过程中的翻转特性,即对应不同的输入翻转,输出是如何翻转的。时序敏感分为三类,分别是正单调性(Positive Unate)、负单调性(Negative Unate)和非单调性(Non Unate),下面详细说明这三者。

        一个时序弧的正单调性指的是,当不是时序弧起点的其他输入引脚的信号值固定为某一组特定值时,时序弧起点输入引脚的正翻转只可能引起时序弧终点输出引脚的正翻转,时序弧起点输入引脚的负翻转只可能引起时序弧终点输出引脚的负翻转,“可能”指的是时序弧起点输入引脚的翻转可能并不会导致时序弧终点输出引脚翻转,但在进行时序分析时我们不考虑这种情况,因为工具总是尽可能让信号(翻转)传播下去而不是在中间中断,这也意味着时序分析的结果是悲观的、保守的。例如,一个与门的每个输入引脚到输出引脚的时序弧都是正单调性的,如图1所示。

图1 与门的正单调时序弧

        在分析图1的与门中时序弧的时序敏感时,我们会固定非时序弧起点输入引脚的值为一组固定值(对于与门是1),因为只有其他输入引脚的值为1,才能使时序弧起点输入引脚的翻转传播到时序弧终点输出引脚,否则(当其他输入引脚的值存在0)输出会直接固定为0。对于与门的每一个引脚都应该这样分析,从这个例子中我们也可以看出,在根据时序弧进行时序分析时,不会考虑多个输入引脚同时翻转的情况(这很显然,因为一条时序弧中不会包含两个输入引脚,而时序路径由时序弧组成,自然也就无法分析多个输入引脚同时翻转了)。如果与门的例子明白了,那么对于或门时序弧的分析也是同理,它也是正单调性的,且会固定非时序弧起点输入引脚的值为0,原因也是为了让翻转传播。

        一个时序弧的负单调性指的是,当不是时序弧起点的其他输入引脚的信号值固定为某一组特定值时,时序弧起点输入引脚的正翻转只可能引起时序弧终点输出引脚的负翻转,时序弧起点输入引脚的负翻转只可能引起时序弧终点输出引脚的正翻转。例如,与非门和或非门的每个输入引脚到输出引脚的时序弧都是负单调性的,如图2所示。

图2  或非门的负单调时序弧

        就如正单调性一样, 在分析与非门的时序敏感时会固定非时序弧起点输入引脚的值为1,在分析与非门的时序敏感时会固定非时序弧起点输入引脚的值为0(如图2所示),这都是为了翻转的传播。

        一个时序弧的非单调性指的是,当不是时序弧起点的其他输入引脚的信号值固定为某一组特定值时,这个时序弧可能是正单调的也可能是负单调的,这取决于特定的不是时序弧起点的其他引脚的信号取值。也许这个解释比较晦涩难懂,下面将举例说明。

        一个异或门的每个输入引脚到输出引脚的时序弧都是非单调性的,如图3所示。

图3 异或门的非单调时序弧

         对于两输入异或门而言,当不是时序弧起点的另一个引脚值固定为1时,该时序弧是负单调;当不是时序弧起点的另一个引脚值固定为0时,该时序弧是正单调。在对这种元器件进行分析时,常常使用状态相关的时序模型,这在之后的文章中会进行解释。

        我们再举最后一个非单调性的例子,一个二选一数据选择器的选择输入引脚Sel到输出的时序弧是非单调性的。假设Sel为1选择A输入,Sel为0选择B输入。当A输入引脚值固定为0,B输入引脚值固定为1时,Sel输入引脚的正翻转(从选择B输出到选择A输出)会导致输出引脚的负翻转,Sel输入引脚的负翻转(从选择A输出到选择B输出)会导致输出引脚的正翻转,即体现负单调性;当A输入引脚值固定为1,B输入引脚值固定为0时,Sel输入引脚的正翻转(从选择B输出到选择A输出)会导致输出引脚的正翻转,Sel输入引脚的负翻转(从选择A输出到选择B输出)会导致输出引脚的负翻转,即体现正单调性。对于其他A、B的取值情况,Sel输入引脚的翻转不会导致输出翻转,所以不在考虑范围内。

        综上所述,一个时序弧的时序敏感指的是输出翻转和输入翻转的关系:如果时序弧起点输入引脚的正翻转只可能引起时序弧终点输出引脚的正翻转,时序弧起点输入引脚的负翻转只可能引起时序弧终点输出引脚的负翻转,则这段时序弧是正单调的;如果时序弧起点输入引脚的正翻转只可能引起时序弧终点输出引脚的负翻转,时序弧起点输入引脚的负翻转只可能引起时序弧终点输出引脚的正翻转,则这段时序弧是负单调的;如果某些情况下,时序弧起点输入引脚的正翻转可能引起时序弧终点输出引脚的正或负翻转,时序弧起点输入引脚的负翻转可能引起时序弧终点输出引脚的负或正翻转,即可能是正单调的也可能是负单调的,则这段时序弧是非单调的,对这种时序弧时序分析时要进行分类讨论。(注意描述中的”可能”二字)

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1425282.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Elasticsearch性能调优

背景 项目上是用 ES 做数据库,存储的告警数据,量级在千万级别左右。测试在压测之后,系统频繁出现告警记录查询报错,系统不可用。基于此排查分析项目上 Elasticsearch 的使用是否合理。 版本及硬件 环境:10.xx.xxx.x…

sectigo ip ssl证书有哪些

Sectigo是移交成立时间较久的CA认证机构,几十年来在全球颁发了各种各样的数字证书,例如,单域名SSL证书、多域名SSL证书、通配符SSL证书等域名SSL证书。Sectigo旗下也有一些不常见的数字证书,例如,代码签名证书、IP证书…

浅谈WPF之UniformGrid和ItemsControl

在日常开发中,有些布局非常具有规律性,比如相同的列宽,行高,均匀的排列等,为了简化开发,WPF提供了UniformGrid布局和ItemsControl容器,本文以一个简单的小例子,简述,如何…

ApacheNginx配置ssl证书

一、Apache配置ssl Linux版本:CentOS Linux release 7.9.2009 (Core) Apache版本:Apache/2.4.6 (CentOS) 1、安装Apache(使用默认yum源) [root10-35-1-25 ~]# yum -y install httpd2、查Apache版本&启动Apache [root10-35-…

vue使用富文本

1、安装 cnpm install vue-quill-editor2、在main.js中引入 // 富文本 import VueQuillEditor from vue-quill-editor // require styles 引入样式 import quill/dist/quill.core.css import quill/dist/quill.snow.css import quill/dist/quill.bubble.css Vue.use(VueQuill…

使用orangepi玩linux

最近看了这个大佬的文章,写了使用远程来挂载linux的方案,觉得还是很有意思的,瞬间感觉linux这块都还是相通的,就跑了一下,果然,牛逼! 香橙派全志H3烧录Uboot,远程加载zImage&#xf…

Autonomous_Exploration_Development_Environment的local_planner学习笔记

1.程序下载网址:https://github.com/HongbiaoZ/autonomous_exploration_development_environment 2.相关参考资料: https://blog.csdn.net/lizjiwei/article/details/124437157 Matlab用采样的离散点做前向模拟三次样条生成路径点-CSDN博客 CMU团队开…

门的方向为何如此重要?探秘产品经理面试题的设计哲学

大家好,我是小米!最近我在面试产品经理的时候遇到了一个有趣而又颇具深意的问题:厕所的门应该朝内还是朝外开?这个问题看似简单,却蕴含了很多关于产品设计的考量。今天,我们一起来深入剖析这个问题,看看我们在设计产品时应该如何权衡各种因素。 背景介绍 在日常生活中…

PyTorch复现网络模型VGG

VGG 原论文地址:https://arxiv.org/abs/1409.1556VGG是Visual Geometry Group(视觉几何组)的缩写,它是一个在计算机视觉领域中非常有影响力的研究团队,主要隶属于牛津大学的工程系和科学系。VGG以其对卷积神经网络&am…

前一百成绩分析

一、实施目的 基于考情,针对目标生制定学习成果“一生一案”方案,帮助目标生消灭短板学科,达到各科均衡发展。 二、实施方法 1、对年级总分科目总分排名前80的学生,制定“一生一案” 2、对标总分名次,设置单科合理区间…

肯尼斯·里科《C和指针》第11章 动态内存分配(1)动态内存分配的基础知识

数组的元素存储于内存中连续的位置上。当一个数组被声明时,它所需要的内存在编译时就被分配。但是,也可以使用动态内存分配在运行时为它分配内存。在本章中,我们将研究这两种技巧的区别,看看什么时候应该使用动态内存分配以及怎样…

【数学】【记忆化搜索 】【动态规划】964. 表示数字的最少运算符

作者推荐 【动态规划】【字符串】【表达式】2019. 解出数学表达式的学生分数 本文涉及知识点 动态规划汇总 数学 记忆化搜索 LeetCoce964表示数字的最少运算符 给定一个正整数 x,我们将会写出一个形如 x (op1) x (op2) x (op3) x … 的表达式,其中每…

【C++】类和对象万字详解

目录 一、类与对象 1、类是什么 二、类和对象的基础知识 2.1 定义类:成员变量和成员函数 2.2 创建对象:实例化一个类的对象。 2.3对象的生命周期:构造函数和析构函数。 a. 构造函数 b. 析构函数 c.小结: 三、成员变量和…

vue3使用is动态切换组件报错Vue received a Component which was made a reactive object.

vue3使用is动态切换组件,activeComponent用ref定义报错 Vue received a Component which was made a reactive object. This can lead to unnecessary performance overhead, and should be avoided by marking the component with markRaw or using shallowRef ins…

Ansible基础及常用模块

目录 1.前言 Ansible Ansible的特性 2.ansible环境安装部署 管理端安装ansible(192.168.88.22) ansible目录结构 配置主机清单 配置密钥对验证 3.ansible命令行模块 command 模块 shell 模块 ​编辑cron 模块 user 模块 group 模块 copy 模块 file 模块 hostn…

表达式(C语言)

目录 表达式求值 整型提升 ​编辑整型提升的意义 如何进行整体提升? 算术转换 问题表达式解析 表达式1 表达式2 表达式3 表达式4 表达式5 总结 表达式求值 整型提升 C语言中整型算术运算总是至少以缺省整型类型的精度来进行的 为了获得这个精度&#x…

C++: 类的简单介绍(三)———构造函数的初步认识

概念: 构造函数是一个特殊的成员函数,名字与类名相同,创建类类型对象时由编译器自动调用,以保证 每个数据成员都有 一个合适的初始值,并且在对象整个生命周期内只调用一次 需要注意的是,构造函数虽然名称叫构造&…

多线程编程4——线程安全问题

一、线程之间是并发执行的,是抢占式随机调度的。 多个线程之间是并发执行的,是随机调度的。我们只能确保同一个线程中代码是按顺序从上到下执行的,无法知道不同线程中的代码谁先执行谁后执行。 比如下面这两个代码: 代码一&…

接口性能优化常见12式

目录 1.批处理 2.异步处理 3.空间换时间 4.预处理 5.池化思想 6.串行改并行 7.索引 8.避免大事务 9.优化程序结构 10.深分页问题 11.SQL优化 12.锁粒度避免过粗 1.批处理 批量思想:批量操作数据库,这个很好理解,我们在循环插入场…

GSM-TRIAL-21.04.9-VMware-Workstation.OVA安装教程,GreenBone虚拟机安装教程

将GSM-TRIAL-21.04.9-VMware-Workstation.ova用VMware打开 先设置好网络和内存: 1、打开虚拟机,显示:你的GSM还不能完全正常工作。您想现在完成设置吗? 点击yes 2、创建用户,一会儿登录网页要用,点击yes 3、创建用户…