一,概念

在数字电路设计时,无论是组合、时序,还是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. Linux 调优

    一.系统优化 1.硬件优化 增加内存 更换速度跟高磁盘(sata->sas)可以增加固态硬盘 更换更高校率的网卡,或者双网卡绑定,两个网卡作为一个网卡使用.服务器网卡一般为千兆 2.系统层优化 ...

  2. Guidelines for Successful SoC Verification in OVM/UVM

    By Moataz El-Metwally, Mentor Graphics Cairo Egypt Abstract : With the increasing adoption of OVM/UV ...

  3. JavaWeb Request和Response

    1. Request与Response 1.1. Web应用运行机制 到目前为止,我们已经掌握了Web应用程序的运行机制,现在学习的就是Web应用程序运行机制中很重要的内容 —— Request与Re ...

  4. Idea根据表自动生成实体

    Idea根据表自动生成实体: 首先说下这种方式有个缺点,就是如果表里面有日期.时间类型,那么需要手动的设置映射类型 第一步:在Idea中配置好数据库: 在Idea窗口右边,点击Database按钮 配 ...

  5. CCNA 课程 四

    Vlan基础: Vlan的作用:把物理上分割的用户,让他们逻辑上在一起. Vlan 范围: 0- 4095 0  4095 是保留的 不可以使用 1 cisco 本证vlan 标准vlan 1 -10 ...

  6. Kafka详解六:Kafka如何通过源码实现监控

    问题导读: 1.kafka的消费者组的消费偏移存储,kafka支持两个版本?        2.ConsumerOffsetChecker类的作用是什么?        3.Kafka如何通过源码实现 ...

  7. Spring初学之bean之间的关系和bean的作用域

    一.bean之间的关系 <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="h ...

  8. 解决:git warning: LF will be replaced by CRLF in xxxx

    一. git add -A报错 在利用git add -A添加文件时,意外的发现报错了 报错信息中: LF:Line Feed 换行 CRLF:Carriage Return Line Feed  回 ...

  9. python中的单引号双引号和三引号

    python的单引号和双引号没有本质的区别,而三引号有两种作用:注释和换行 一. 单引号中可以包含双引号,双引号中可以包含单引号 print("好好学习,'天天向上'") 结果: ...

  10. Git学习--创建版本库

    什么是版本库呢?版本库又名仓库,英文名repository,你可以简单理解成一个目录,这个目录里面的所有文件都可以被Git管理起来,每个文件的修改.删除,Git都能跟踪,以便任何时刻都可以追踪历史,或 ...