FPGA/数字IC复习八股

一、FPGA概念,与数字IC的区别

二、从底层理解FPGA的LUT和FF

三、FPGA底层逻辑

三、同步电路、异步电路以及优缺点

四、同步复位、异步复位、异步复位同步释放

深入理解复位---同步复位,异步复位,异步复位同步释放(含多时钟域)_画出支持异步复位dff的电路图-CSDN博客

1、同步复位:只有在时钟沿到来时复位信号才起作用,则复位信号持续的时间应该超过一个时钟周期才能保持系统复位。

优点:1)抗干扰能力强,能够剔除复位信号中周期短于时钟周期的毛刺;(过滤掉毛刺)

           2)电路稳定性强,一般能够保证电路百分百同步。

缺点:1)大多数厂商目标库中的触发器(DFF)都是异步复位端口,适用同步复位的时候,综合器就会在寄存器的数据输入端(D端)插入组合逻辑,占用更多的逻辑资源;

           2)同步复位依赖于时钟,如果电路中的时钟信号出现问题,无法完成复位;

           3)对复位信号的脉冲宽度有要求,复位信号的有效时长必须大于时钟周期,才能真正被系统识别并完成复位;同时考虑:时钟偏移、组合逻辑路径延时、复位延时等因素,可能需要有多个时钟周期的复位脉冲宽度,且很难保证复位信号到达各个寄存器的时序。

2、异步复位:只要有复位信号,系统马上复位,不依赖于时钟。

优点:1)无需额外的逻辑资源,实现简单

2)

五、锁存器、触发器

1、SR锁存器

SR锁存器(Set-Reset Latch)是静态存储单元中最基本、也是电路结构最简单的一种。通常是由两个或非门或者与非门组成。

输入端:S_{D}R_{D},输出端:QP(\overline{Q})

对于与非门对称形式S_{D}R_{D}低电平输入有效,Q端对应输入S_{D},共实现三个功能,保持功能(记忆)S_{D}=1、R_{D}=1)、置数功能S_{D}=0、R_{D}=1)、复位功能S_{D}=1、R_{D}=0),不支持输入(S_{D}=0、R_{D}=0)原因是:(1)如此输出Q=1,P=1,破坏了锁存器互补输出关系;(2)S_{D}R_{D}同时从0变化到1,由于门延迟时间不一致,使触发器的次态不确定,这种情况不允许(当锁存器有约束条件时候,不允许状态->保持状态,会出现次态不确定情况)。

状态方程(特征方程)

\left\{\begin{matrix} Q^{n+1}=\overline{S_{D}}+R_{D}Q^{n}\\ S_{D}+R_{D}=1\end{matrix}\right.

注意:(1)对S_{D}R_{D}输入都有约束条件,才能对应相应输出状态;(2)保持功能,保持的是什么?是保持之前的输出状态,Q值,也就是当输入S_{D}=1、R_{D}=0时,不管之前输出Q处于什么状态,输出Q立即变为0,当输入S_{D}=0、R_{D}=1时候,不管之前输出Q处于什么状态,输出Q立即变为1,当输入S_{D}=1、R_{D}=1时候,不管之前输出Q处于什么状态,输出Q依然保持之前的值。

对于或非门对称形式S_{D}R_{D}高电平输入有效,\overline{Q}端对应输入S_{D},共实现三个功能,保持功能S_{D}=0、R_{D}=0)、置数功能S_{D}=1、R_{D}=0)、复位功能S_{D}=0、R_{D}=1),不支持输入(S_{D}=1、R_{D}=1)原因是:(1)如此输出Q=0,P=0,破坏了锁存器互补输出关系;(2)S_{D}R_{D}同时从1变化到0,由于门延迟时间不一致,使触发器的次态不确定,这种情况不允许(当锁存器有约束条件时候,不允许状态->保持状态,会出现次态不确定情况)。

状态方程(特征方程)

\left\{\begin{matrix} Q^{n+1}=S_{D}+\overline{R_{D}}Q^{n}\\ S_{D}\cdot R_{D}=0\end{matrix}\right.

2、钟控触发器

触发器与锁存器的不同在于,它除了置数、复位输入端外,又增加了一个触发信号输入端CLK。

锁存器输出Q状态的变化,仅仅取决于输入端S_{D}R_{D}的值的变化,与时钟CLK无关。

2.1、钟控RS触发器

钟控RS触发器是在RS锁存器基础上加上两个与非门构成的。R,S高电平输入有效,CP为时钟输入端

 钟控触发器需要触发条件,CP=1

也就是CP=0时,无论R,S如何变化,后面的锁存器都处于保持状态;CP=1时,正常工作。

钟控RS触发器:保持功能,置数功能,复位功能

状态方程(特征方程)

\left\{\begin{matrix} Q^{n+1}=S+\overline{R}Q^{n}\\ S\cdot R=0\end{matrix}\right.

2.2、钟控D触发器、钟控T触发器、钟控JK触发器(都没有约束条件了(保证不会进入不允许状态))

触发器特征方程功能
D触发器(Delay)Q^{n+1}=D次态等于输入D
T触发器Q^{n+1}=T\bigoplus {Q^{n}}

保持(T=0)、

翻转(T=1)

JK触发器Q^{n+1}=J\overline{Q^{n}}+\overline{K}Q^{n}

保持(J=0,K=0)、

置数(J=1,K=0)、

复位(J=0,K=1)、

翻转(J=1,K=1)

我的理解:发现D触发器比较特殊,它像是寄存器功能,输出Q就是输入D;其他的触发器都是输入相应的变化,对应的是输出Q自身的相应变化,比如次态等于现态,比如次态直接为0,比如次态直接为1,比如次态等于现态的翻转;也就是其他触发器输入的值只会影响输出Q的值状态的变化,而不会把输入的值传给输出端Q,而D触发器是输入的值会传给输出端Q。(这个理解在看信号波形的时候会有帮助)

我的理解:

(1)目前这几个都是电平触发器,也就是CP=0时,输入端无法影响输出端;CP=1时,输入端才能影响输出端,而且在CP=1的全部时间内,输出状态都会跟着输入端的变化而变化,这跟边沿触发是不同的,边沿触发只看时钟上升沿或下降沿到来时刻,输入端的值情况。

(2)两个电平触发的D触发器可以构成一个边沿触发D触发器,电平触发的图形符号中C1处没标识,边沿触发的图形符号中C1处有“>”标识。

3、电平触发、边沿触发、脉冲触发

触发器按照触发信号工作方式可以分为三种。

3.1、电平触发

其实就是2、钟控触发器(电平触发的SR触发器、门控SR锁存器)

3.2、边沿触发

触发器的次态仅仅取决于CLK信号下降沿(上升沿)到达时刻输入信号的状态。而在此之前和之后输入状态的变化对触发器的次态没有影响。目的:提高触发器的可靠性,增强抗干扰能力

1)由两个电平触发的D触发器构成的边沿触发器

2)维持阻塞触发器

3)利用门电路传输延迟时间的边沿触发器

3.3、脉冲触发

两个电平触发的SR触发器(主从触发器)可以构成一个脉冲触发的SR触发器。

脉冲触发RS触发器:在一个时钟周期内,输出端状态只改变一次,而且发生在CLK的下降沿(上升沿)

与边沿触发方式区别:脉冲触发RS触发器需要根据整个CLK=1期间主触发器状态的变化,来确定输出端Q状态(因为在CLK=1期间主触发器输出的状态可能随S和R状态的变化而发生多次翻转,输出端的状态不可能始终与输入状态保持一致,因此不能仅仅根据CLK边沿到来时刻输入端S和R状态来确定输出端Q的状态)

锁存器、触发器在FPGA应用中的区别

七、亚稳态

八、FIFO

九、跨时钟域

十、时序约束与分析

十一、竞争冒险、毛刺

十二、扇出的概念

参考包括博主:小火子Velsuked的文章。

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值