【综合】数字IC设计需要考虑的时序参数;Race Hazard;同步系统时序要求;建立时间、保持时间;偏斜;抖动;毛刺、竞争冒险;亚稳态

news2024/10/9 20:26:57

【综合】数字IC设计需要考虑的时序参数;Race Hazard;同步系统时序要求;建立时间、保持时间;偏斜;抖动;毛刺、竞争冒险;亚稳态

  • 数字设计时需要考虑的时序参数
    • 传播延迟 propagation delay, 上升时间 rising time,下降时间 fall time
    • 建立时间 setup time , 保持时间 hold time
      • setup time violation 违例, hold time violation违例
    • 时钟偏斜 Clock skew
    • 同步系统 Synchronous System
    • 时钟抖动 jitter
    • 毛刺 glitch
    • 竞争冒险 Race Hazard
      • 组合逻辑电路中的竞争冒险
      • 时序逻辑电路中的竞争冒险
      • SystemVerilog非阻塞赋值可以避免阻塞赋值时的不确定性造成的race condition
    • 亚稳态 metastability ——一种不平衡的状态

数字设计时需要考虑的时序参数

  hold time violation 和 setup time violation 意味着电路设计不能满足时序要求!而race hazard意味着您编写的代码经过综合后实施到真实的电路上时会导致某些状态不确定。这种不确定不稳定的状态称作是亚稳态(Metastability)。

  同步系统中要求数据Data必须在下一个时钟上升沿之前稳定,保证寄存器可以取到正确的值。

传播延迟 propagation delay, 上升时间 rising time,下降时间 fall time

  这三个参数都算是如反相器等器件从输入到输出传递信号的参数,是元件自带的参数。Transition is the time it takes for the pin to change state.

在这里插入图片描述

  • 上升时间 (tr) 是转换期间输出从最大值的 10%切换到 90% 的时间。
  • 下降时间 (tf) 是转换期间输出从最大值的 90%切换到 10% 的时间。(有的工厂会设置为30-70%)
  • 传播延迟(t propagation delay)通常在输入输出切换的50%点计算。高到低的传播延迟 (t pHL ) 是在输入从低到高切换之后,输出从高到低切换时的延迟。

建立时间 setup time , 保持时间 hold time

  对于D触发器的当前待传输的数据,相对于时钟取值的边缘来说,必须早来setup time晚走hold time
在这里插入图片描述

如上图所示:

  • setup time是指在时钟上升沿之前,数据输入端信号必须保持稳定的最短时间。输入端的数据必须在时钟上升沿之前的一个小时间窗口内保持稳定,否则不能取到值
  • hold time是指在时钟上升沿之后,数据输入端信号必须保持稳定的最短时间。hold time时序检查确保新数据不会在触发器稳定输出初始数据之前,过早到达D端而下周期出现的新数据覆盖其初始数据
  • D触发器的时钟周期T,在时钟周期内可以正常提取D到Q,dcq代表clock to Q delay是触发器的延迟,故最小的时钟周期要求: T m i n i m u m = t s e t u p + d c q T_{minimum} = t_{setup}+d_{cq} Tminimum=tsetup+dcq
  • 如果数据在 tsu 中发生变化,则会导致setup time violation 违规,如果数据在 thd 中发生变化,则会导致hold time violation 违规;

建立时间(setup time)和保持时间(hold time)详析

From Process Variations to Reliability: A Survey of Timing of Digital Circuits in the Nanometer Era

setup time violation 违例, hold time violation违例

  如果数据在 t s u t_{su} tsu中发生变化,则会导致设置违规,如果数据在 t h d t_{hd } thd中发生变化,则会导致保持违规。

在这里插入图片描述

  • 如何解决setup time violation 违例
      解决setup time violation 违例的唯一方法是添加缓冲区,而不是减慢整个系统时钟。您不能通过减慢时钟来修复保持时间违规,您需要向路径添加缓冲区以确保它稍后转换并被下一个上升沿捕获,我们可以在最快路径中添加一些延迟以消除。

  • 如何解决hold time violation违例
       减少时钟频率,增加时间周期。如果降低时钟频率,则可以修复设置违规。P.S. 我们不能让数据恰好在目标时钟的上升沿接近时到达,因为这会导致亚稳态。要修复保持时间违规,请在两个触发器之间添加额外的逻辑(通常是缓冲器)。这将延迟从一个 FF 到下一个 FF 的数据更改“在”满足下一个触发器的保持时间之后。如果您有设置违规,那么减慢时钟将使它工作。但是,如果你已经为设定的频率设计了电路,那么你需要从循环中移除一些逻辑并将其放在下一个或上一个循环中。
    在这里插入图片描述

    Iain McNally-Synchronous Design

    VLSI placement-CMOS part 3

时钟偏斜 Clock skew

  Clock skew——时钟经过不同的路径之后产生的相位上的偏差

在这里插入图片描述

  • Clock Skew 是时钟信号到达两个触发器的时间差;

同步系统 Synchronous System

  在Synchronous System系统里,只有同一个时钟,同步系统内Clock上不允许添加buffer,这样试图增加了clock skew使得Clock不是同一个了,变成了异步。

在这里插入图片描述

CTS (PART-II) (crosstalk and useful skew)

数据Data必须在下一个时钟上升沿之前稳定!

  • 在当前时钟上升沿捕获的数据是由上一个触发器在前一个时钟边沿启动的,由于非阻塞赋值在上一个时钟周期末尾才开始赋值,再加上传播延迟的时间就必须保证数据Data在当前时钟边沿之前的建立时间是稳定的。
  • 因此,遵守设置时间可确保在当前时钟沿可靠地捕获在前一个边沿发射的数据。换句话说,set up time确保了设计顺利过渡到下一个状态。

在这里插入图片描述

Iain McNally-Synchronous Design

Setup time

时钟抖动 jitter

  • jitter 特指clock jitter,是时钟频率上的抖动,时钟抖动在同一个触发器上但时钟边沿的位置由于振荡器中的一些噪声而边沿移动。可能是由电磁干扰和噪声引起的。

在这里插入图片描述

jitter is the cycle-by-cycle variation in the arrival time of the clock.

毛刺 glitch

  • glitch指的是信号毛刺,是输出端出现的极小的不需要的脉冲。

  • glitches有可能是因为噪声或者传播延迟不匹配造成的,由于噪声影响的glitch可能经常发生。如下图所示串扰毛刺(glitch):

在这里插入图片描述

  • 从同步系统的角度来考虑,在一定的程度上,设计的数字电路系统应该允许一些glitches存在的,这不应该影响D触发器取到正确的Data。在实际的芯片上如果没取到正确的数据,有可能是因为glitch引起的;

在这里插入图片描述

Crosstalk Analysis and Its Impact on Timing in 7nm Technology

Iain McNally-Synchronous Design

竞争冒险 Race Hazard

  由于本科期间一直学的叫做“竞争冒险”,所以搞得我有些分不清“race”, “risk”(这个词可以等同于hazard), “hazard”这三个词。

  • hold time violation 和 setup time violation 意味着电路设计不能满足时序要求!而race hazard意味着您编写的代码经过综合后实施到真实的电路上时会导致某些状态不确定。这种不确定不稳定的状态称作是亚稳态(Metastability)。

what is hazard in digital electronics | Types of hazards in digital electronics

  • glitch和hazard不能互换使用,glitch是观察到的现象(如观察到的脉冲信号翻转),hazard是具体电路里的小缺陷(如延迟不匹配)。例如,我们说波形里发生了小glitch,而不是直接说发生了hazard。我们说存在hazard,这意味着我们肯定知道在某些条件下产生了这些glitches,并且我们知道这些race condition条件是什么。

组合逻辑电路中的竞争冒险

  1. 逻辑冒险(也称static hazard):组合逻辑电路中,某一个信号电平发生变化,到达门电路的时间不相同,导致瞬时干扰脉冲的现象。不同的路径延迟可能导致数据传到输出端节点存在抖动。

  2. 功能冒险(也称dynamic hazard):组合逻辑电路中,多个输入信号同时发生变化,因为时延到达门电路时间各不相同,导致瞬时干扰脉冲的现象。dynamic hazard不存在于两级传递的电路,存在于三级或三级以上不相等的信号路径上。通常由多级最小化中的因式分解不良引起,可通过去掉

在这里插入图片描述

Lecture 10 -hazard

组合逻辑中的 竞争冒险问题

Difference between Static and Dynamic Hazard

  P.S. 锁存器的最大缺陷倒不是毛刺,而是捕获瞬间出现的异常状态并锁存,导致实际输出难以预料

时序逻辑电路中的竞争冒险

System Timing - Clock Race Conditions

  • 当输入到寄存器的数据不符合设置和保持时间约束时发生race conditions。

在这里插入图片描述

  数据到达 Reg B 较晚,保留旧数据而不是锁存新数据。

  • Clock skew can cause race conditions,时序不佳可能导致竞争条件,门级模型在仿真运行期间每个时钟周期报告数百个保持时间违规。

在这里插入图片描述

Introduction to CMOS VLSI Design Lecture 1: Circuits & Layout David Harris

SystemVerilog非阻塞赋值可以避免阻塞赋值时的不确定性造成的race condition

  • 阻塞分配的执行可以看作是一步过程,在不中断任何其他 Verilog 语句的情况下评估 RHS 并更新阻塞分配的 LHS;

  • 非阻塞赋值在时间开始时评估非阻塞语句的 RHS 端,并安排 LHS 更新在时间步结束时发生;

  • Nonoverlapping clocks can prevent races – As long as nonoverlap exceeds clock skew;

Blocking, Nonblocking Assignments and Verilog Race Condition

亚稳态 metastability ——一种不平衡的状态

亚稳态是指数字块/电路处于不稳定平衡状态的状态。也就是说,电路将无法稳定到稳定的 0/1,而是介于 0/1 之间。

在这里插入图片描述

pic From Wikimedia Commons

  • 每当任何触发器中存在建立时间和保持时间违规时,它都会进入其输出不可预测的状态:这种状态称为亚稳态(准稳态);在亚稳态结束时,触发器稳定为“1”或“0”。整个过程称为亚稳态。

  • 在触发器的设置时间内,输入到触发器的数据已从低电平变为高电平。这导致输出是亚稳态的。输出在一段时间内是亚稳态的,之后稳定为 0 或 1。但是我们仍然不知道输出结束于哪个状态。有时它可能是 0,其他时候可能会出现这种情况是 1。同样,这不是期望的行为。

如何降低同步系统中的亚稳态失效的可能性?

  • 降低时钟频率
  • 降低数据速度
  • 使用更快的触发器

由于本文没讨论异步,故异步系统下的亚稳态产生与分析没列举。

亚稳态专题(亚稳态的概念、亚稳态的产生、亚稳态的后果、以及如何避免亚稳态)

静态时序分析(STA)基础知识-STA和动态时序分析比较、单元传播延迟、slew/transition time、时钟偏斜skew、时钟抖动jitter、最小最大时序路径、同步时钟、异步时钟、时钟域

DC综合之时序约束

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

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

相关文章

十一、树结构的实际应用—堆排序

1、基本介绍 堆排序是利用堆这种数据结构而设计的一种排序算法,堆排序是一种选择排序,它的最好最坏平均时间复杂度均为O(n\log n) 。也不是稳定排序。堆是具有以下性质的完全二叉树:每个节点的值都大于或等于其左右孩子节点的值,…

云音乐实现注册功能

1. 新建web项目 Shop_SM2. 复制Shop资源和相关代码,实现注册功能回顾当前配置下的加载顺序1.MyBatis的主配置文件mybatis-config.xml (在根目录下)和 工具类MyBatisUtil(注意总配置文件的路径)2.实体类(Use…

docker篇---pycharm连接docker,使用docker环境

pycharm连接docker,使用docker环境一、生成镜像和容器1.1 创建容器,需要加端口映射1.2 进入容器1.3 设置root密码,后续登录会用到1.4 修改配置文件1.5 重启ssh服务1.5 本机连接ssh二、pycharm连接docker2.1 允许远程客户端连接2.2 pycharm配置…

线程互斥与同步--Linux

文章目录线程互斥的概念与意义互斥的原理--原子性关于售票模拟的互斥应用死锁问题线程同步的概念与意义条件变量实现同步生产者消费者模型--互斥与同步基于阻塞队列的生产者消费者模型基于环形队列的生产者消费者模型POSIX信号量线程池线程安全下的单例模式总结线程互斥的概念与…

OMS标准 第二卷 主要通讯

版本4.1.2/2016-12-16 发布 1 引言 1.1 概述 本部分描述了从设备(仪表或执行器或断路器)和(固定的,通常由市电供电的)主设备(网关或其他通信单元)之间有线和无线通信的最低开放式计量系统要…

1. Mybatis 入门

文章目录1. Mybatis 简介2. Mybatis 快速入门3. 使用 idea 写 SQL4. Mapper 代理开发5. MyBatis 核心配置文件1. Mybatis 简介 MyBatis 是一款优秀的持久层框架,用于简化 JDBC 开发。 官方文档:https://mybatis.org/mybatis-3/zh/index.html 持久层&am…

【自学Docker】Docker cp命令

Docker cp命令 大纲 docker cp命令教程 docker cp 命令用于在本地文件系统与 Dokcer容器 之间复制文件或者文件夹。该命令后面的 CONTAINER 可以是容器Id,或者是容器名。 docker cp命令语法 从容器复制到宿主机 haicoder(www.haicoder.net)# docker cp [OPTION…

第57篇-某日头条signature参数分析【2023-02-01】

声明:该专栏涉及的所有案例均为学习使用,严禁用于商业用途和非法用途,否则由此产生的一切后果均与作者无关!如有侵权,请私信联系本人删帖! 文章目录 一、前言二、网站分析三、signature参数四、完整代码一、前言 今天来看一下新闻网站,分析一下参数 二、网站分析 网…

WebDAV之葫芦儿·派盘+一叶日记

一叶日记 支持WebDAV方式连接葫芦儿派盘。 推荐一款操作方便、界面简洁,记录生活点滴与心情,具有诗情画意的日记软件。 一叶日记是一款记录日记的手机软件,在这款软件中它里面有着各种不同的工具,可以方便用户去随时随地的记录日记,同时里面还有着各种不同的主题背景&…

补充:论Unity_InputSystemPacakage如何使用

图1补充一下默认特殊值如何设定,点击ProjectingSettings——InputSystemPacakage——Create Settings Asset 即可设置默认特殊值,或者点击图1中的Open input settings也可以打开此界面。 创建后会在Project窗口出现一个配置文件,不需要时删除…

你说反射有点难追,我觉得应该知难而退。

文章目录问题源码解析溯源问题解决方案第一种:第二种:第三种:问题 今天小伙伴遇到一个问题,有关于反射的,写个demo,大家看一下。 如上,运行之后会报错:出现了非法参数。 Exception…

深度学习论文: YOLOv6 v3.0: A Full-Scale Reloading及其PyTorch实现

深度学习论文: YOLOv6 v3.0: A Full-Scale Reloading及其PyTorch实现 YOLOv6 v3.0: A Full-Scale Reloading PDF: https://arxiv.org/pdf/2301.05586.pdf PyTorch代码: https://github.com/shanglianlm0525/CvPytorch PyTorch代码: https://github.com/shanglianlm0525/PyTorch…

2023年IB考试该如何备考?

IB课程考试时间 考试时间:IBO官方近期公布了2023年的考试时间与计划,中国学生IB考试时间定在2023.5.1至5.19。 在世界各地,学生在IB体系中均按照相同的教学大纲进行,并且于毕业时参加全球统一考试。一年两次(北半球于5…

拉伯证券|北向资金1月净买入超1400亿,啥信号?

2023年1月份,电视剧《狂飙》热播,被视为A股投资“风向标”的北向资金也敞开“狂飙”态势,月内五次净买入额超百亿,1月30日单日净买入额更是创2021年12月以来新高。 单月净买入超1400亿,刷新纪录! 北向资金…

Ventoy安装教程

目录Ventoy五大优势Ventoy安装教程其他链接Ventoy是一款国人开发的新一代多ISO启动引导程序,用户只需要将所需的ISO镜像文件拷贝至优盘中即可在Ventoy界面中选择自己想要的ISO镜像文件。 Ventoy五大优势 广泛兼容:支持包括Windows 10、Windows 8.1、Wind…

【哈希表】leetcode15. 三数之和(C/C++/Java/Python/Js)--梦破碎的地方

leetcode15. 三数之和--梦破碎的地方1 题目2 思路2.1 哈希解法--含代码2.2 双指针2.3 去重逻辑的思考2.3.1 a的去重2.3.2 b与c的去重3 代码--双指针法3.1 C版本3.2 C版本3.3 Java版本3.4 Python3版本3.5 JavaScript版本4 总结用哈希表解决了两数之和 ,那么三数之和呢…

[Lua实战]Skynet-2.如何启动(Win10-WSL环境Ubuntu18.04)[开箱可用]

Skynet-2.如何启动Win10-WSL环境Ubuntu18.04接上文,在linux运行skynet1.WIN10-WSL1.1 用Microsoft Store安装WSL(会遇到商店下载失败等问题...)1.1.1控制面板支持Linux配置1.1.2Microsoft Store 找到 Ubuntu18.041.1.3如果遇到安装问题如图请直接跳到1.21.2 使用PowerShell工具…

概论_第7章_参数估计_点估计之极大似然估计__性质

一 性质 极大似然估计 有一个简单有用的性质: 如果 θ^\hat\thetaθ^ 是 θ\thetaθ的极大似然估计, 则对任一 θ\thetaθ的函数g(θ)g(\theta)g(θ), 其极大似然估计为 g(θ^)g(\hat\theta)g(θ^) . 该性质称为极大似然估计的不变性,它使…

项目代码版本控制与维护

一、版本命名规则 1.1 需求开发分支命名规则 格式:dev_v版本号_需求名称 案例:dev_v01.31_TX202301141 dev_v01.31_数字产品平台订单查询优化 1.2 测试环境发布分支命名规则 格式:uat_deploy 1.3 预上环境分支命名规则 格式&#xff1a…

操作系统权限提升(六)之系统错误配置-不安全的服务提权

系列文章 操作系统权限提升(一)之操作系统权限介绍 操作系统权限提升(二)之常见提权的环境介绍 操作系统权限提升(三)之Windows系统内核溢出漏洞提权 操作系统权限提升(四)之系统错误配置-Tusted Service Paths提权 操作系统权限提升(五)之系统错误配置-PATH环境变量提权 注&…