当前位置: 首页 > news >正文

【数字IC基础】竞争与冒险

竞争-冒险

  • 1. 基本概念
  • 2. 冒险的分类
  • 3. 静态冒险产生的判断
  • 4. 毛刺的消除
    • 使用同步电路
    • 使用格雷码
    • 增加滤波电容
    • 增加冗余项,消除逻辑冒险
    • 引入选通脉冲

1. 基本概念

示例一

在这里插入图片描述
如上图所示的这个电路,使用了两个逻辑门,一个非门和一个与门,本来在理想情况下,gate2的输入端口同时变化, 输出 F 应该是一直稳定为 0 ,但是实际上每个门电路从输入到输出是一定会有时间延迟的,而且信号在互连线的传播也是有延时的,所以就会出现如下情况:
在这里插入图片描述
可以看到,输出端 F 出现了短暂的高电平,也就是说会输出端口会出现错误的的输出。

示例二

在图4.9.1(a)所示的与门电路中,稳态下无论 A=1,B=0 还是 A=0,B=1,输出皆为 Y=0。但是在输入信号A从 1 跳变为 0 时,如果B从0跳变为1,而且 B 首先上升到VIL(输入低电平)以上,这样在极短的时间内将出现A、B同时高于VIL的状态,于是便在门电路的输出端产生了极窄的Y=1 的尖峰脉冲,或称为电压毛刺,如图中所示(在画波形时考虑了门电路的传输延迟时间)。显然,这个尖峰脉冲不符合门电路稳态下的逻辑功能,因而它是系统内部的一种噪声

在这里插入图片描述
同样,在图4.9.1(b)所示的或门电路中,如果 A 从 1 变成 0 的时刻和 B 从 0 变成 1 的时刻略有差异,而且在 A 下降到 VIH (输入高电平)时,B 尚未上升到 VIH ,则在暂短的t时间内将出现 A 、B 同时低于 VIH 的状态,使输出端产生极窄的Y=0的尖峰脉冲。这个尖峰脉冲同样也是违背稳态下逻辑关系的噪声。

根据上述示例,将门电路两个输入信号同时向相反方向的逻辑电平跳变(一个从 1 变为 0,另一个从 0 变为 1 )的现象称为竞争

由于竞争往往会出现一些不正确的尖峰信号,这些尖峰信号称为“毛刺”。 如果一个组合逻辑电路中有“毛刺”出现,就说明该电路存在“冒险

由于竞争而在电路输出端可能产生尖峰脉冲的现象就称为竞争-冒险

需要注意的是,竞争不一会都会产生毛刺。例如,在图4.9.1(a)中所示的与门电路,如果在 B 上升到 VIL 之前,A 已经降到了 VIL 以下(图中的虚线),这时,电路的输出端时不会产生毛刺的。同理,对于或门电路,如果 A 下降到 VIH 之前,B已经上升到 VIH 以上(图中虚线部分),输出端也不会产生毛刺(逻辑门的控制值后变化,这样就不会产生毛刺)。

如果图4.9.1所示的与门和或门是复杂数字系统中的两个门电路,而且 A, B 又是经过不同的传输途径到达的,那么在设计时往往难于准确知道A, B到达次序的先后,以及它们在上升时间和下降时间上的细微差异。因此,我们只能说只要存在竞争现象,输出就有可能出现违背稳态下逻辑关系的尖峰脉冲(毛刺)。

示例三

对于下图的译码器电路,同样也会存在竞争冒险。由于G4和G5的传输延时不相同,信号到达G0的时间有所差异,这样就会倒是Y0出现毛刺。
如果译码器的负载是一个对尖峰脉冲敏感的电路(如触发器),那么就可能是的负载电路发生错误动作。
在这里插入图片描述

2. 冒险的分类

冒险按产生形式的不同可以分为静态冒险和动态冒险。

  • 静态冒险:输入有变化,而输出不应变化是产生的单个窄脉冲
  • 动态冒险:输入有变化时,输出也应该变化时产生的冒险
    动态冒险是由静态冒险引起的,所以存在动态冒险的电路也存在静态冒险。

静态冒险根据产生条件的不同,又可以分为功能冒险和逻辑冒险。
功能冒险:两个或两个以上输入信号同时变化时,在输出端口产生毛刺
逻辑冒险:只有一个比那辆产生变化时出现的冒险

3. 静态冒险产生的判断

在输入变量每次只有一个改变状态的简单情况下,可以通过逻辑函数表达式判断组合逻辑电路中是否存在竞争-冒险。

如果一个组合逻辑函数表达式 F,在某些条件下能化简成 F = A + A'F = A'A 的形式,在 A 产生变化时,就可能产生静态逻辑冒险。(其实就是输出端连接的是一个与门或者是或门,然后输入信号A沿着不同的路径,经过不同的延时之后,到达了该逻辑门的输入端口,这样就有可能产生毛刺。)

示例:

在这里插入图片描述
在这里插入图片描述

4. 毛刺的消除

首先确定竞争和冒险是否影响系统,毛刺并不是对所有的输入都有危害,例如 D 触发器的D 输入端,只要毛刺不出现在时钟的上升沿并且满足数据的建立和保持时间,就不会对系统造成危害,我们可以说D 触发器的 D 输入端对毛刺不敏感。

使用同步电路

根据这个特性,我们应当在系统中尽可能采用同步电路,这是因为同步电路信号的变化都发生在时钟沿,只要毛刺不出现在时钟的沿口并且满足数据的建立和保持时间,就不会对系统造成危害。(由于毛刺很短,多为几纳秒,基本上都不可能满足数据的建立和保持时间)因此我们可以通过改变设计,破坏毛刺产生的条件,来减少毛刺的发生。

使用格雷码

例如,在数字电路设计中,常常采用格雷码计数器取代普通的二进制计数器,这是因为格雷码计数器的输出每次只有一位跳变,消除了竞争冒险的发生条件,避免了毛刺的产生。

增加滤波电容

在输出端并接一个很小的滤波电容。
简单易行,但是同时会增加输出电压波形的上升时间和下降时间,使波形变坏。

增加冗余项,消除逻辑冒险

在这里插入图片描述

引入选通脉冲

相关文章:

【数字IC基础】竞争与冒险

竞争-冒险 1. 基本概念2. 冒险的分类3. 静态冒险产生的判断4. 毛刺的消除使用同步电路使用格雷码增加滤波电容增加冗余项,消除逻辑冒险引入选通脉冲 1. 基本概念 示例一: 如上图所示的这个电路,使用了两个逻辑门,一个非门和一个与…...

速成版-带您一天学完python自动化测试(selenium)

Selenium是一套web网站的程序自动化操作解决方案。我们通过编写自动化程序,使得自动完成浏览器界面的相关操作,除了能够自动化的完成相关操作,还能从web页面获取相关信息,然后通过程序进行分析处理,本质上就是提升从网…...

windows 删除无法删除的文件

有两种原因: 文件被占用文件无权限 解决方案 通用解决方案是进入安全模式进行删除 安全模式: 不会启动非必要的进程有最高的系统权限 进入系统配置 安全引导,重启 删除文件 修改系统配置为正常启动 重启...

FFmpeg[7] - FFmpeg之预设编码参数preset

目录 前言 正文 一、定义与作用 二、取值范围 三、枚举值 四、使用实例...

CVPR2023新作:3D视频物体检测

Title: 3D Video Object Detection With Learnable Object-Centric Global Optimization Affiliation: 中国科学院自动化研究所 (Institute of Automation, Chinese Academy of Sciences),中国科学院大学人工智能学院 (School of Artificial Intelligence, Univers…...

Keepalived热备、Keepalived+LVS、HAProxy监控及后端服务器健康检查、负载均衡调度器对比

day02 day02KeepAlived高可用集群配置高可用的web集群监控本机80端口,实现主备切换实现原理实施配置高可用、负载均衡的web集群配置高可用、负载均衡HAProxy配置haproxy负载均衡调度器比较LVS(Linux Virtual Server)NginxHAProxy KeepAlive…...

用Vue开发仿旅游站webapp项目总结 (上)

写着写着发现会写不少内容... 全部写在一篇文章里感觉太多了不方便看,所以分为上下篇吧... 下篇写完啦,感兴趣的朋友可以继续关注~ > 用Vue开发仿旅游站webapp项目总结 (下) 温馨提示 此文章,仅是做完项目后的个人…...

【Koa】[NoSQL] Koa中相关介绍和使用Redis MongoDB增删改查

目录 NoSQL非关系型数据库关系型数据库(RMDB)介绍非关系型数据库(NoSQL)介绍Redis & MongoDB 在 Koa 中使用 Redis (了解)Redis 的安装和使用在 Koa 中连接 和 调用 Redis 在 Koa 中使用 MongoDBMongoDB 的安装MongoShell 操作…...

【JS 阻止滑动穿透】

在实现阻止滑动穿透时,可以使用以下方法之一: 使用 CSS 属性 overflow: hidden 来禁止页面滚动。 body {overflow: hidden; }使用 JavaScript 监听滚动事件并阻止默认行为。 document.addEventListener(touchmove, function(e) {e.preventDefault(); …...

编译原理

目录 一,基本概念 二,词法分析 三,自上而下推导 一,基本概念 二,词法分析 三,自上而下推导...

项目播报 | 新基德携手璞华易研PLM,打造企业新一代研发管理平台

近日,“新基德PLM(Product Lifecycle Management,产品生命周期管理)项目”在新基德(深圳)电子有限公司(以下简称:新基德)正式启动。新基德是一家集手机研发、生产、销售、…...

elementui el-table 封装表格

ps: 1.3版本 案例&#xff1a; 完整代码&#xff1a; 可直接复制粘贴&#xff0c;但一定要全看完&#xff01; v-slot"scopeRows" 是vue3的写法&#xff1b; vue2是 slot-scope"scope" <template><!-- 简单表格、多层表头、页码、没有合并列行…...

集合--collections

一、collections概述 Collections和Arrays、Objects-一样&#xff0c;都是一种针对性的工具类, Arrays是针对数组&#xff0c;Objects是针对Object, 而Colections则是针对集合的一种工具类&#xff0c;里面提供了大量的方便我们操作集合的方法: //往集合中添加一些元素。 p…...

go使用gin结合jwt做登录功能

1、安装gin go get -u github.com/gin-gonic/gin 2、安装session go get github.com/gin-contrib/sessions 3、安装JWT鉴权 go get "github.com/golang-jwt/jwt/v4" 4、创建一个jwt的工具文件 package utilsimport ("errors""github.com/golan…...

【C++】开源:Boost网络库Asio配置使用

&#x1f60f;★,:.☆(&#xffe3;▽&#xffe3;)/$:.★ &#x1f60f; 这篇文章主要介绍Asio网络库配置使用。 无专精则不能成&#xff0c;无涉猎则不能通。——梁启超 欢迎来到我的博客&#xff0c;一起学习&#xff0c;共同进步。 喜欢的朋友可以关注一下&#xff0c;下次…...

图像滤波器

图像噪声 • 图像噪声是图像在获取或是传输过程中受到随机信号干扰&#xff0c;妨碍人们对图像理解及分析处理 的信号。 • 图像噪声的产生来自图像获取中的环境条件和传感元器件自身的质量&#xff0c;图像在传输过程中产 生图像噪声的主要因素是所用的传输信道受到了噪声…...

【每日一题】2569. 更新数组后处理求和查询

【每日一题】2569. 更新数组后处理求和查询 2569. 更新数组后处理求和查询题目描述解题思路 2569. 更新数组后处理求和查询 题目描述 给你两个下标从 0 开始的数组 nums1 和 nums2 &#xff0c;和一个二维数组 queries 表示一些操作。总共有 3 种类型的操作&#xff1a; 操作…...

PLC的高端版本通常具有以下特点:

高速处理能力&#xff1a;高端PLC通常具有更快的处理速度和更高的运行频率&#xff0c;可以处理更复杂的控制逻辑和更多的输入/输出信号。 大容量存储&#xff1a;高端PLC通常具有更大的存储容量&#xff0c;可以保存更多的程序和数据&#xff0c;以满足更复杂的应用需求。 多种…...

Scrum敏捷开发项目管理和产品研发管理培训- Leangoo领歌

Scrum是目前运用最为广泛的敏捷开发方法&#xff0c;是一个轻量级的项目管理和产品研发管理框架。 这是一个两天的实训课程&#xff0c;面向研发管理者、项目经理、产品经理、研发团队等&#xff0c;旨在帮助学员全面系统地学习Scrum和敏捷开发, 帮助企业快速启动敏捷实施。 …...

爬虫小白-如何辨别是否有cookie反爬案例

目录 一、Cookie介绍二、cookie生成来源区分查找三、如何判断是否有cookie反爬四、来自服务器生成的cookie反爬解决方法五、来自js生成的cookie反爬解决方法一、Cookie介绍 先推荐该篇文章简单了解Cookie、Session、Token、JWT1、cookie的类型:会话cookie和持久cookie;其唯一…...

vscode(仍待补充)

写于2025 6.9 主包将加入vscode这个更权威的圈子 vscode的基本使用 侧边栏 vscode还能连接ssh&#xff1f; debug时使用的launch文件 1.task.json {"tasks": [{"type": "cppbuild","label": "C/C: gcc.exe 生成活动文件"…...

C# 类和继承(抽象类)

抽象类 抽象类是指设计为被继承的类。抽象类只能被用作其他类的基类。 不能创建抽象类的实例。抽象类使用abstract修饰符声明。 抽象类可以包含抽象成员或普通的非抽象成员。抽象类的成员可以是抽象成员和普通带 实现的成员的任意组合。抽象类自己可以派生自另一个抽象类。例…...

css的定位(position)详解:相对定位 绝对定位 固定定位

在 CSS 中&#xff0c;元素的定位通过 position 属性控制&#xff0c;共有 5 种定位模式&#xff1a;static&#xff08;静态定位&#xff09;、relative&#xff08;相对定位&#xff09;、absolute&#xff08;绝对定位&#xff09;、fixed&#xff08;固定定位&#xff09;和…...

Redis数据倾斜问题解决

Redis 数据倾斜问题解析与解决方案 什么是 Redis 数据倾斜 Redis 数据倾斜指的是在 Redis 集群中&#xff0c;部分节点存储的数据量或访问量远高于其他节点&#xff0c;导致这些节点负载过高&#xff0c;影响整体性能。 数据倾斜的主要表现 部分节点内存使用率远高于其他节…...

.Net Framework 4/C# 关键字(非常用,持续更新...)

一、is 关键字 is 关键字用于检查对象是否于给定类型兼容,如果兼容将返回 true,如果不兼容则返回 false,在进行类型转换前,可以先使用 is 关键字判断对象是否与指定类型兼容,如果兼容才进行转换,这样的转换是安全的。 例如有:首先创建一个字符串对象,然后将字符串对象隐…...

C++.OpenGL (14/64)多光源(Multiple Lights)

多光源(Multiple Lights) 多光源渲染技术概览 #mermaid-svg-3L5e5gGn76TNh7Lq {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-3L5e5gGn76TNh7Lq .error-icon{fill:#552222;}#mermaid-svg-3L5e5gGn76TNh7Lq .erro…...

CVPR2025重磅突破:AnomalyAny框架实现单样本生成逼真异常数据,破解视觉检测瓶颈!

本文介绍了一种名为AnomalyAny的创新框架&#xff0c;该方法利用Stable Diffusion的强大生成能力&#xff0c;仅需单个正常样本和文本描述&#xff0c;即可生成逼真且多样化的异常样本&#xff0c;有效解决了视觉异常检测中异常样本稀缺的难题&#xff0c;为工业质检、医疗影像…...

零知开源——STM32F103RBT6驱动 ICM20948 九轴传感器及 vofa + 上位机可视化教程

STM32F1 本教程使用零知标准板&#xff08;STM32F103RBT6&#xff09;通过I2C驱动ICM20948九轴传感器&#xff0c;实现姿态解算&#xff0c;并通过串口将数据实时发送至VOFA上位机进行3D可视化。代码基于开源库修改优化&#xff0c;适合嵌入式及物联网开发者。在基础驱动上新增…...

Visual Studio Code 扩展

Visual Studio Code 扩展 change-case 大小写转换EmmyLua for VSCode 调试插件Bookmarks 书签 change-case 大小写转换 https://marketplace.visualstudio.com/items?itemNamewmaurer.change-case 选中单词后&#xff0c;命令 changeCase.commands 可预览转换效果 EmmyLua…...

32单片机——基本定时器

STM32F103有众多的定时器&#xff0c;其中包括2个基本定时器&#xff08;TIM6和TIM7&#xff09;、4个通用定时器&#xff08;TIM2~TIM5&#xff09;、2个高级控制定时器&#xff08;TIM1和TIM8&#xff09;&#xff0c;这些定时器彼此完全独立&#xff0c;不共享任何资源 1、定…...