恶补FPGA知识——竞争与冒险

2023-10-12 06:59
文章标签 知识 fpga 竞争 恶补 冒险

本文主要是介绍恶补FPGA知识——竞争与冒险,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1、竞争与冒险

竞争:信号由于不同的路径传输到达某一汇合点的时间有先有后的现象。(当一个门的输入有两个或两个以上的变量发生改变时,由于这些变量是经过不同路径产生的,使得他们的状态改变的时刻有先有后,这种时差引起的现象称为竞争。)

冒险:由于竞争现象引起的电路输出发生瞬间错误(产生干扰脉冲)的现象。

2、判断电路是否存在竞争冒险现象

代数法:只要输出函数中出现互补信号,就有可能出现竞争与冒险的可能

产生负向尖峰脉冲:F=A+\widetilde{A}

产生正向尖峰脉冲:F=A\widetilde{A}

卡诺图法:观察卡诺图中是否有两个圈相切但不相交的情况,如有则存在竞争冒险的现象。

实际中:实际上逻辑电路级数多、输入变量多、判断竞争冒险非常复杂,广泛采用仿真和实际测量逻辑电路来观察是否存在竞争冒险的现象。

3、消除竞争与冒险的方法

当组合电路的某一部分存在竞争与冒险现象时,可能危及电路整体正常工作。因此必须消除竞争与冒险,以提高电路的可靠性。

接入滤波电容:在逻辑电路较慢的速度下工作,为了消除竞争与冒险,可以在输出端并联一个电容(4-20pf),这时输出端不会出现逻辑错误,该方法只能用于对波形和延迟时间要求不严格的情况。

注:电容通高频阻低频,毛刺相当于高平信号,对地短路了

这种方法简单易行,缺点是导致了输出波形的边沿破坏,只适用于低速逻辑电路中。

引入选通信号:在输入信号变化并有可能出现竞争冒险,选用一个选通信号将输出门封锁,等到所有输入信号都变为稳态后,再去掉封锁输出信号。这样就避免了电路输出端出现瞬时尖峰脉冲。

缺点:脉冲宽度和产生的时间有严格的要求。

更改逻辑设计(利用卡诺图增加冗余项):适当利用逻辑表达式中增加一些冗余项,增加冗余项不改变逻辑功能,但是可以消除互补信号产生的竞争冒险现象。

注意

①在数字逻辑设计中,并不是最简的逻辑表达式在设计组合逻辑上一定是最优的。

②每个门从输入到输出都有一定的时间延迟,这个时间通常叫做电路的开关延迟。制作工艺、门的种类甚至制造时微小的工艺偏差都会引起这个开关延迟的变化。

③任何组合电路都可以进行冒险分析。然而,一个设计良好的同步数字系统的结构中,其多数电路不需要做冒险分析。在同步系统中,组合电路的所有输入都是在特定时刻发生变化的,其输出只有达到稳态后才会被“看到”。一般来说,只在异步时序电路中需要进行冒险的分析和消除,如反馈时序电路。理解冒险现象对于设计可靠的电路时非常重要的。

这篇关于恶补FPGA知识——竞争与冒险的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/194117

相关文章

Java架构师知识体认识

源码分析 常用设计模式 Proxy代理模式Factory工厂模式Singleton单例模式Delegate委派模式Strategy策略模式Prototype原型模式Template模板模式 Spring5 beans 接口实例化代理Bean操作 Context Ioc容器设计原理及高级特性Aop设计原理Factorybean与Beanfactory Transaction 声明式事物

sqlite3 相关知识

WAL 模式 VS 回滚模式 特性WAL 模式回滚模式(Rollback Journal)定义使用写前日志来记录变更。使用回滚日志来记录事务的所有修改。特点更高的并发性和性能;支持多读者和单写者。支持安全的事务回滚,但并发性较低。性能写入性能更好,尤其是读多写少的场景。写操作会造成较大的性能开销,尤其是在事务开始时。写入流程数据首先写入 WAL 文件,然后才从 WAL 刷新到主数据库。数据在开始

系统架构师考试学习笔记第三篇——架构设计高级知识(20)通信系统架构设计理论与实践

本章知识考点:         第20课时主要学习通信系统架构设计的理论和工作中的实践。根据新版考试大纲,本课时知识点会涉及案例分析题(25分),而在历年考试中,案例题对该部分内容的考查并不多,虽在综合知识选择题目中经常考查,但分值也不高。本课时内容侧重于对知识点的记忆和理解,按照以往的出题规律,通信系统架构设计基础知识点多来源于教材内的基础网络设备、网络架构和教材外最新时事热点技术。本课时知识

【Python知识宝库】上下文管理器与with语句:资源管理的优雅方式

🎬 鸽芷咕:个人主页  🔥 个人专栏: 《C++干货基地》《粉丝福利》 ⛺️生活的理想,就是为了理想的生活! 文章目录 前言一、什么是上下文管理器?二、上下文管理器的实现三、使用内置上下文管理器四、使用`contextlib`模块五、总结 前言 在Python编程中,资源管理是一个重要的主题,尤其是在处理文件、网络连接和数据库

dr 航迹推算 知识介绍

DR(Dead Reckoning)航迹推算是一种在航海、航空、车辆导航等领域中广泛使用的技术,用于估算物体的位置。DR航迹推算主要通过已知的初始位置和运动参数(如速度、方向)来预测物体的当前位置。以下是 DR 航迹推算的详细知识介绍: 1. 基本概念 Dead Reckoning(DR): 定义:通过利用已知的当前位置、速度、方向和时间间隔,计算物体在下一时刻的位置。应用:用于导航和定位,

【H2O2|全栈】Markdown | Md 笔记到底如何使用?【前端 · HTML前置知识】

Markdown的一些杂谈 目录 Markdown的一些杂谈 前言 准备工作 认识.Md文件 为什么使用Md? 怎么使用Md? ​编辑 怎么看别人给我的Md文件? Md文件命令 切换模式 粗体、倾斜、下划线、删除线和荧光标记 分级标题 水平线 引用 无序和有序列表 ​编辑 任务清单 插入链接和图片 内嵌代码和代码块 表格 公式 其他 源代码 预

Ajax 解决回调竞争

回调的竞争,即多次快速点击同一按钮导致多个异步的AJAX请求同时返回,导致数据更新顺序混乱。这种情况在异步编程中很常见,特别是前端开发时,AJAX请求的回调并不保证按顺序执行。 $.ajaxSetup() 可以设置全局的 beforeSend 和 complete 回调函数,这样每个 AJAX 请求在发送前和完成后都可以执行相应的逻辑。 let isRequestPending = false

FPGA编译与部署方法全方位介绍

FPGA编译与部署是FPGA开发中的核心环节,涉及从代码编写、调试到将设计部署到FPGA硬件的全过程。这个流程需要经过创建项目、编写FPGA VI、模拟调试、编译生成比特流文件,最后将设计部署到硬件上运行。编译的特点在于并行执行能力、定制化硬件实现以及复杂的时钟管理。通过LabVIEW的FPGA模块和NI硬件,可以快速完成开发和部署,尤其适用于复杂控制与高性能数据处理系统。 1. FPG

FPGA开发:条件语句 × 循环语句

条件语句 if_else语句 if_else语句,用来判断是否满足所给定的条件,根据判断的结果(真或假)决定执行给出的两种操作之一。 if(表达式)语句; 例如: if(a>b) out1=int1; if(表达式)         语句1; else         语句2; 例如: if(a>b)out1=int1;elseout1=int2; if(表达式1) 语句1; els

图神经网络(2)预备知识

1. 图的基本概念         对于接触过数据结构和算法的读者来说,图并不是一个陌生的概念。一个图由一些顶点也称为节点和连接这些顶点的边组成。给定一个图G=(V,E),  其 中V={V1,V2,…,Vn}  是一个具有 n 个顶点的集合。 1.1邻接矩阵         我们用邻接矩阵A∈Rn×n表示顶点之间的连接关系。 如果顶点 vi和vj之间有连接,就表示(vi,vj)  组成了