美文网首页
FPGA基础问题

FPGA基础问题

作者: BadRosoul | 来源:发表于2018-09-25 08:49 被阅读0次


    1、关于“毛刺”现象的处理

    原因:手电得弄清楚毛刺为何会产生。

    这里需要先了解“竞争”和“冒险”

    在组合电路中,某一输入变量经过不同途径传输后,到达电路中某一汇合点的时间有先有后,这种现象称竞争;由于竞争而使电路输出发生瞬时错误的现象叫做冒险。(也就是由于竞争产生的毛刺叫做冒险)

    信号在FPGA器件中通过逻辑单元连线时,存在延时。延时的大小与逻辑单元数目、连线长短、器件工艺等都有关系。因此,信号在器件中传输时,时延无法准确估计,当多路信号在短时间内发生跳变时,就可能会产生毛刺。

    解决方法:1、添加D触发器

    因为D触发器对输入信号不敏感,即这个毛刺对D触发器的输出结果没影响,缺点是会产生交大延时;

    2、格雷码

    主要是因为格雷码计数器的输出每次跳变只有一位,即使输入信号一次性多位跳变,输出结果也是经过多次的一位跳变的;

    3、信号同步法

    关键:在时钟跳变沿读取的数据是稳定的而不是毛刺数据。

    (1)信号延时同步

    在两级信号间加一个延时环节

    (2)状态机控制

    在数据传输比较复杂的多模块系统中,状态机在特定的时刻发出控制特定模块的时钟信号或者模块使能信号,状态机的循环控制就可以使得整个系统协调运作,同时减少毛刺信号。

    4、加滤波电路,消除毛刺的影响

    2、跨时钟域数据处理。

    核心:保证下级时钟堆上级数据采样的setup时间或者hold时间满足要求,即避免亚稳态的产生和传播。

    (1)用触发器打两拍

    将输出信号进过两级触发器同步,而且该输出基本不存在亚稳态。原理是即使第一个触发器的输出端存在亚稳态,进过一个CLK周期后,第二个触发器的D端的电平仍未稳定的概率很小,因此第二个触发器的Q端基本不会产生亚稳态。原理:假设第一级触发器的输入不满足其建立保持时间,它在第一个脉冲沿到来后输出的数据就为亚稳态,那么在下一个脉冲沿到来之前,其输出的亚稳态数据在一段恢复时间后必须稳定下来,而且稳定的数据必须满足第二级触发器的建立时间,如果都满足了,在下一个脉冲沿到来时,第二级触发器将不会出现亚稳态,因为其输入端的数据满足其建立保持时间。同步器有效的条件:第一级触发器进入亚稳态后的恢复时间 + 第二级触发器的建立时间 < = 时钟周期。

    (2)异步FIFO或者DPRAM

    因为这两者都是使用格雷码计数器读写地址的指针。

    (3)采用握手信息

    3、模块复用和系统资源。

    4:锁存器(latch)和触发器(flip-flop)区别?

    电平敏感的存储期间称为锁存器。可分为高电平锁存器和低电平锁存器,用于不同时钟之间的信号同步。

    有交叉耦合的门构成的双稳态的存储原件称为触发器。分为上升沿触发和下降沿触发。可以认为是两个不同电平敏感的锁存器串连而成。前一个锁存器决定了触发器的建立时间,后一个锁存器则决定了保持时间。

    5、什么是时钟抖动?

    时钟抖动是指芯片的某一个给定点上时钟周期发生暂时性变化,也就是说时钟周期在不同的周期上可能加长或缩短。它是一个平均值为 0 的平均变量。

    6、使用同一个时钟信号,生成多个时钟使能信号,驱动多个器件,可以减少时钟摆率

    相关文章

      网友评论

          本文标题:FPGA基础问题

          本文链接:https://www.haomeiwen.com/subject/ahqonftx.html