一,概念

在数字电路设计时,无论是组合、时序,还是FPGA电路中,都需要考虑竞争冒险现象(Race and Competition)。

竞争:由于信号在传输和处理过程中经过不同的逻辑门、触发器或逻辑单元时产生时差,造成信号的原变量和反变量状态改变的时刻不一致,这种现象称为竞争(Race)。

冒险:由于竞争而引起电路输出信号中出现了非预期信号,产生瞬间错误的现象称为冒险(Competition)。表现为输出端出现了原设计中没有的窄脉冲,常称为毛刺(Burr)。

关系:有竞争不一定产生冒险,但有冒险就一定有竞争。

分类:竞争分为临界竞争和非临界竞争。冒险分为静态冒险和动态冒险。

临界竞争:产生暂时或永久性错误输出。

非临界竞争:没有导致冒险发生,或虽有冒险发生但不会产生错误输出,不影响系统的工作的竞争。

静态冒险:输入信号变化前后,输出的稳态值一样,但在输入信号变化时,输出信号产生了毛刺。在组合逻辑电路中,由于产生冒险的原因不同又分为功能冒险和逻辑冒险。

动态冒险:输入信号变化前后,输出的稳态值不同,并在边沿处出现了毛刺,即输入变化输出应变化的情况下,输出在变化的过程中产生了短暂的错误输出的现象。

产生原因:

组合逻辑电路中,产生竞争冒险的主要原因是时延。

时序逻辑电路中,产生竞争冒险的原因主要有两个方面:1,组合逻辑电路部分可能发生的竞争冒险现象。2,存储电路工作过程中发生的竞争冒险。同步时序电路不存在竞争现象。异步时序电路中,当输入信号和时钟信号同时改变是,而且是通过不同路径到达同意触发器时,就有可能导致竞争冒险。

FPGA中:在FPGA中,延时主要是由连 线的长短和逻辑单元的数目决定的,同时还受器件的制造工艺、工作电压、温度等因素影响。信号的电平转换也需要一定的过渡时间。由于FPGA以及其他的 CPLD器件内部的分布电容和电感不能过滤电路中的毛刺,从而使得毛刺逐级传递,对电路早晨的影响更加突出。即使是在最简单的逻辑运算中,如果出现多路信 号同时跳变的情况,在通过内部走线以后,也一定会产生毛刺。

二,消除方法

1,组合逻辑电路中

(1)加选通脉冲信号
(2)修改逻辑设计(增加乘积项法)
(3)输出端并联电容器(电容滤出法)
(4)卡诺图法
(5)加封锁脉冲

2,时序逻辑电路中

(1)修改电路法(加D触发器)
(2)信号同步法
(3)信号延时同步法
(4)灵活运用时钟信号法
(5)状态机控制法

FPGA 竞争与冒险的更多相关文章

  1. 基于FPGA的有限状态机浅析

    前言:状态机大法好,状态机几乎可以实现一切时序逻辑电路. 有限状态机(Finite State Machine, FSM),根据状态机的输出是否与输入有关,可分为Moore型状态机和Mealy型状态机 ...

  2. 【不定期更新】FPGA/IC岗位常见笔试面试题总结(基础知识)

    1 数字IC(ASIC)设计流程: IC设计分为前端和后端.前端设计主要将HDL语言-->网表,后端设计是网表-->芯片版图. 前端主要有需求分析与架构设计.RTL设计.仿真验证.逻辑综合 ...

  3. FPGA笔试必会知识点1--数字电路基本知识

    组合逻辑与时序逻辑 组合逻辑电路:任意时刻电路输出的逻辑状态仅仅取决于当时输入的逻辑状态,而与电路过去的工作状态无关. 时序逻辑电路:任意时刻电路输出的逻辑状态不仅取决于当时输入的逻辑状态,而与电路过 ...

  4. FPGA大疆考试准备内容

    1.寄存器与锁存器 锁存器:电平触发的存储单元,在有效电平时间里可以多次改变数据. 优点:    占触发器资源少,缺点是容易产生毛刺.(附上去毛刺的方法:格雷码计数器(*https://blog.cs ...

  5. 硬件设计原理图Checklist 参考案例二 【转载】

    类别 描述 检视规则 原理图需要进行检视,提交集体检视是需要完成自检,确保没有低级问题. 检视规则 原理图要和公司团队和可以邀请的专家一起进行检视. 检视规则 第一次原理图发出进行集体检视后所有的修改 ...

  6. 硬件原理图Checklist检查表(通用版)

    类别 描述 检视规则 原理图需要进行检视,提交集体检视是需要完成自检,确保没有低级问题. 检视规则 原理图要和公司团队和可以邀请的专家一起进行检视. 检视规则 第一次原理图发出进行集体检视后所有的修改 ...

  7. 嵌入式开发—C语言面试题

    嵌入式开发—C语言面试题 源地址:http://blog.csdn.net/xdx2ct1314/article/details/7358929   1. 用预处理指令#define 声明一个常数,用 ...

  8. 原理图Checklist

    类别 描述 检视规则 原理图需要进行检视,提交集体检视是需要完成自检,确保没有低级问题. 检视规则 原理图要和公司团队和可以邀请的专家一起进行检视. 检视规则 第一次原理图发出进行集体检视后所有的修改 ...

  9. cancel_delayed_work和flush_scheduled_work【转】

    转自:http://blog.chinaunix.net/uid-9688646-id-4052595.html 是不是觉得很玄?像思念一样玄?那好,我们来看点具体的,比如935行,INIT_DELA ...

随机推荐

  1. Qt5.3.0的安装与测试

    Qt5.3.0的安装与测试(交叉编译,用于arm,支持tslib触摸屏) 本次移植可以使用触摸屏. 首先下载源码包: http://download.qt.io/official_releases/q ...

  2. 【Head First Servlets and JSP】笔记6:什么是响应首部 & 快速搭建一个简单的测试环境

    搭建简单的测试环境 什么是响应首部 最简单的响应首部——Content-Type 设置响应首部 请求重定向与响应首部 在浏览器中查看Response Headers 1.先快速搭建一个简单的测试环境, ...

  3. 乌云TOP 10 简单介绍

    已知OWASP TOP10的WEB漏洞,乌云出了一个更加符合中国国情的 乌云:Top10 for 2014. A1-互联网泄密事件/撞库攻击 本质上来说是使用了不安全的口令,也许我可以将自己的密码设置 ...

  4. get_called_class--后期静态绑定("Late Static Binding")类的名称

    get_called_class--后期静态绑定("Late Static Binding")类的名称 string get_called_class ( void ) 获取静态方 ...

  5. SQL题

    1.取出sql表中第31到40的记录(以自动增长ID为主键) sql server方案: select top 10 * from t where id not in (select top 30 i ...

  6. HIVE HSQL 基本操作命令

    创建表: hive>create table tablename(id int,name string,password string); 创建一个名字为tablename的表,表的属性有int ...

  7. JMeter常用的调试工具

    JMeter常用的调试工具有如下五种: 1.View Tree:查看结果树.含请求信息.响应信息等,请求头信息中的cookie信息一般默认不会显示,可通过修改JMeter配置参数进行显示.日常大家用的 ...

  8. FMX.TTabControl_多行

    1. 重载 TTabControl.RealignTabs; 2. 3.

  9. JavaWeb中的中文编码问题

    一.为什么要编码? 1.在计算机中存储信息的最小单元是1字节,即8个bit,所以能表示的字符范围是0~255个. 2.人类要表示的符号太多,无法用1个字节来完全表示. 这就是矛盾,要解决这个矛盾,就出 ...

  10. struts2学习(4)

    Struts2拦截器概述 1 Struts2是框架,封装了很多功能,struts2里面封装的概念都是在拦截器里面 2 Struts2里面封装了很多的概念,有很多拦截器,不是每次这些拦截器都执行,每次执 ...