FPGA设计中常见的30个基本概念详细

作者:默宸

1、什么是同步逻辑和异步逻辑?

同步时序逻辑电路的特点:电路中所有的触发器都是与同一个时钟或者该时钟的衍生时钟驱动,而且当时钟脉冲到来时,电路的状态才能改变。改变后的状态将一直保持到下 一个时钟脉冲的到来,此时无论外部输入有无变化,寄存器状态都是稳定的。

异步时序逻辑电路的特点:电路中除了触发器外,还可以有其延迟元器件,电路中没有统一的时钟,电路状态的改变由外部输入的变化直接引起。

同步逻辑是时钟之间有固定的因果关系。异步逻辑是各时钟之间没有固定的因果关系。

2、同步电路和异步电路的区别:

同步电路:存储电路中所有触发器的时钟输入端都接同一个时钟脉冲源,因而所有触发器的状态的变化都与所加的时钟脉冲信号同步。

异步电路:电路没有统一的时钟,有些触发器的时钟输入端与时钟脉冲源相连,这些触发器的状态变化与时钟脉冲同步,而其他的触发器的状态变化不与时钟脉冲同步。

3、时序设计的实质:

电路设计的难点在时序设计,时序设计的实质就是满足每个信号的建立/保持时间的要求。

4、建立时间与保持时间的概念?

建立时间:触发器在时钟上升沿到来之前,其数据输入端的数据必须保持稳定的时间。
保持时间:触发器在时钟上升沿到来之后,其数据输入端的数据必须保持稳定的时间。

5、为什么触发器要满足建立时间和保持时间?

因为触发器内部数据的形成是需要一定的时间的,如果不满足建立和保持时间,触发器将进入亚稳态,进入亚稳态后触发器的输出将不稳定,在 0 和 1 之间变化,这时需要经过一个恢复时间,其输出才能稳定。简单的方式理解,就是时钟采集数据时候需要在数据最稳定的情况下进行采集。

6、什么是亚稳态?为什么两级触发器可以防止亚稳态传播?

亚稳态是指触发器无法在某个规定的时间段内达到一个稳定的状态。两级触发器可防止亚稳态传播的原理:假设第一级触发器的输入不满足其建立保持时间,它在第一个脉冲沿到来后输出的数据就为亚稳态,那么在下一个脉冲沿到来之前,其输出的亚稳态数据在一段恢复时间后必须稳定下来,而且稳定的数据必须满足第二级触发器的建立时间,如果都满足了,在下一个脉冲沿到来时,第二级触发器将不会出现亚稳态,因为其输入端的数据满足其建立保持时间。两级同步有效的条件:第一级触发器进入亚稳态后的恢复时间 + 第二级触发器的建立时间 <= 时钟周期。更确切地说,输入脉冲宽度必须大于同步时钟周期与第一级触发器所需的保持时间之和。最保险的脉冲宽度是两倍同步时钟周期。 所以,这样的同步电路对于从较慢的时钟域来的异步信号进入较快的时钟域比较有效。

7、系统最高速度计算(最快时钟频率):

熟悉了建立时间、保持时间以及传播延迟的基本概念,下面通过这三个基本参数来推导时钟的最高频率,对于同步时序逻辑电路,对时钟激励做出响应的开关事件是同时发生的,但是运行结果必须等到下一个时钟翻转时才能进入到下一级,也就说,只有在当前所有的计算都已经完成了并且系统开始闲置的时候下一轮的操作才能开始,

因此,为了保证时序电路数据采集和处理的正确性,时钟周期tCLK必须能容纳电路中任何一级的最长延时。假设该组合逻辑的最长延时等于tLOGIC,那么时序电路正确工作要求的最小时钟为:

tCLK = tCO+tLOGIC+tNET+tSU(公式1)

其中tNET为传输延迟,tCO 是寄存器固有的时钟输出延时,那么通过公式1很容易得到系统的最高频率fMAX,常用表示:

fMAX = 1/tCLK (公式2)

我们假设寄存器的固有最小延时时间为tCOregister,那么为了保证时序电路正常工作,还需要如下的约束:

tCOregister + tLOGIC >= tHOLD (公式3)

这一约束保证了时序元件的输入数据在时钟边沿之后能够维持足够长的时间,并且不会由于新来的数据流而过早的改变。

8、时序约束的概念和基本策略?

时序约束主要包括周期约束,偏移约束,静态时序路径约束三种。通过附加时序约束可以综合布线工具调整映射和布局布线,是设计达到时序要求。

附加时序约束的一般策略是先附加全局约束,然后对快速和慢速例外路径附加专门约束。附加全局约束时,首先定义设计的所有时钟,对各时钟域内的同步元件进行分组, 对分组附加周期约束,然后对 FPGA/CPLD 输入输出 PAD附加偏移约束、对全组合逻辑 的PAD TOPAD 路径附加约束。附加专门约束时,首先约束分组之间的路径,然后约束快、慢速例外路径和多周期路径,以及其他特殊路径。

9、约束的作用?

1:时序约束:提高设计的工作频率,减少系统布局布线时间

2:获得正确的时序分析报告;(静态时序分析工具以约束作为判断时序是否满足设计要 求的标准,因此要求设计者正确输入约束,以便静态时序分析工具可以正确的输出时序 报告)

3:电器约束:指定 FPGA/CPLD 的电气标准和引脚位置。

10、FPGA 设计包括那些基本技能:

SOPC,高速串行 I/O,低功耗,可靠性,可测试性和设计验证流程的优化等方面。随着芯片工艺的提高,芯片容量、集成度都在增加,FPGA 设计也朝着高速、高度集成、 低功耗、高可靠性、高可测、可验证性发展。随着FPGA的应用越来越多,FPGA工程师在设计与验证方面的要求也越来越高。

本文转载自:FPGA技术联盟

推荐阅读