官方论坛
官方淘宝
官方博客
微信公众号
点击联系吴工 点击联系周老师
您的当前位置:主页-old > 新闻中心 > FPGA技术教程 > 笔试面试 >

出题率最高的15道FPGA面试题附答案《一》

发布时间:2019-12-21   作者:FPGA大神 浏览量:

1.什么是同步逻辑和异步逻辑?
      同步时序逻辑电路的特点:各触发器的时钟端全部连接在一起,并接在系统 时钟端,只有当时钟脉冲到来时,电路的状态才能改变。改变后的状态将一直保持到下 一个时钟脉冲的到来,此时无论外部输入 x 有无变化,状态表中的每个状态都是稳定 的。异步时序逻辑电路的特点:电路中除可以使用带时钟的触发器外,还可以使用不带 时钟的触发器和延迟元件作为存储元件,电路中没有统一的时钟,电路状态的改变由外 部输入的变化直接引起。同步逻辑是时钟之间有固定的因果关系。异步逻辑是各时钟之间没有固定的因果关系。


2.同步电路和异步电路的区别:
      同步电路:存储电路中所有触发器的时钟输入端都接同一个时钟脉冲源,因而所有触发器的状态的变化都与所加的时钟脉冲信号同步。异步电路:电路没有统一的时钟,有些触发器的时钟输入端与时钟脉冲源相连,这有这些触发器的状态变化与时钟脉冲同步,而其他的触发器的状态变化不与时钟脉冲同步。


3.时序设计的实质:
电路设计的难点在时序设计,时序设计的实质就是满足每一个触发器的建立/保持时间的而要求。


4.建立时间与保持时间的概念?
建立时间:触发器在时钟上升沿到来之前,其数据输入端的数据必须保持不变的时间。保持时间:触发器在时钟上升沿到来之后,其数据输入端的数据必须保持不变的时间。


5.为什么触发器要满足建立时间和保持时间?
      因为触发器内部数据的形成是需要一定的时间的,如果不满足建立和保持时间,触发器将进入亚稳态,进入亚稳态后触发器的输出将不稳定,在 0 和 1 之间变化,这时需要 经过一个恢复时间,其输出才能稳定,但稳定后的值并不一定是你的输入值。这就是为 什么要用两级触发器来同步异步输入信号。这样做可以防止由于异步输入信号对于本级 时钟可能不满足建立保持时间而使本级触发器产生的亚稳态传播到后面逻辑中,导致亚 稳态的传播。(比较容易理解的方式)换个方式理解:需要建立时间是因为触发器的 D 段像一个锁存器在接受数据,为了稳定的设置前级门的状态需要一段稳定时间;需要保 持时间是因为在时钟沿到来之后,触发器要通过反馈来所存状态,从后级门传到前级门 需要时间。


6.什么是亚稳态?为什么两级触发器可以防止亚稳态传播?
      这也是一个异步电路同步化的问题,具体的可以参考《EDACN 技术月刊 20050401》。亚稳态是指触发器无法在某个规定的时间段内到达一个可以确认的状态。使用两级触发
器来使异步电路同步化的电路其实叫做“一步同位器”,他只能用来对一位异步信号进 行同步。两级触发器可防止亚稳态传播的原理:假设第一级触发器的输入不满足其建立 保持时间,它在第一个脉冲沿到来后输出的数据就为亚稳态,那么在下一个脉冲沿到来 之前,其输出的亚稳态数据在一段恢复时间后必须稳定下来,而且稳定的数据必须满足 第二级触发器的建立时间,如果都满足了,在下一个脉冲沿到来时,第二级触发器将不 会出现亚稳态,因为其输入端的数据满足其建立保持时间。同步器有效的条件:第一级 触发器进入亚稳态后的恢复时间 + 第二级触发器的建立时间 < = 时钟周期。更确切地 说,输入脉冲宽度必须大于同步时钟周期与第一级触发器所需的保持时间之和。最保险 的脉冲宽度是两倍同步时钟周期。 所以,这样的同步电路对于从较慢的时钟域来的异 步信号进入较快的时钟域比较有效,对于进入一个较慢的时钟域,则没有作用 。


7.系统最高速度计算(最快时钟频率)和流水线设计思想:
      同步电路的速度是指同步系统时钟的速度,同步时钟愈快,电路处理数据的时间间隔越短,电路在单位时间内处理的数据量就愈大。假设 Tco 是触发器的输入数据被时钟打 入到触发器到数据到达触发器输出端的延时时间;Tdelay 是组合逻辑的延时;Tsetup 是 D触发器的建立时间。假设数据已被时钟打入 D 触发器,那么数据到达第一个触发器 的Q输出端需要的延时时间是 Tco,经过组合逻辑的延时时间为 Tdelay,然后到达第二 个触发器的D端,要希望时钟能在第二个触发器再次被稳定地打入触发器,则时钟的延 迟必须大于 Tco+Tdelay+Tsetup,也就是说最小的时钟周期 Tmin =Tco+Tdelay+ Tsetup,即最快的时钟频率 Fmax=1/Tmin。FPGA 开发软件也是通过这种方法来计算系 统最高运行速度 Fmax。

       因为 Tco 和Tsetup 是由具体的器件工艺决定的,故设计电路 时只能改变组合逻辑的延迟时间 Tdelay,所以说缩短触发器间组合逻辑的延时时间是 提高同步电路速度的关键所在。由于一般同步电路都大于一级锁存,而要使电路稳定工 作,时钟周期必须满足最大延时要求。故只有缩短最长延时路径,才能提高电路的工作 频率。可以将较大的组合逻辑分解为较小的 N 块,通过适当的方法平均分配组合逻辑, 然后在中间插入触发器,并和原触发器使用相同的时钟,就可以避免在两个触发器之间 出现过大的延时,消除速度瓶颈,这样可以提高电路的工作频率。


这就是所谓"流水线"技术的基本设计思想,即原设计速度受限部分用一个时钟周期实 现,采用流水线技术插入触发器后,可用 N 个时钟周期实现,因此系统的工作速度可 以加快,吞吐量加大。注意,流水线设计会在原数据通路上加入延时,另外硬件面积也 会稍有增加。

   拓展阅读