作者:张杨波 ,MYMINIEYE微信公众号
说在前面
随着5G浪潮席卷全球,FPAG作为5G基础设施和终端设备的零部件,5G基站、IoT、终端设备、边缘计算的FPGA使用量必然会显著提升;还有自动驾驶技术的成熟,FPAG在摄像头和激光雷达领域应用广泛。所以FPGA的前景是十分可观的。本文可以帮助大家大概了解FPGA工程师的面试时的热门问题,让大家在面试的时候能提前有所准备,找到理想的工作。
主观题
1. 你认为你从事这项工作有什么主要的优点?
2. 描述一下你之前参与的最有成就的项目,你觉你的成就来源是什么?
3. 你觉得你自身最大的缺点是什么?该如何克服或改进。
4. 你该如何与最新的技术保持同步?
专业知识题
1. 什么是同步逻辑和异步逻辑?
同步时序逻辑电路的特点:各触发器的时钟端全部连接在一起,并接在系统 时钟端,只有当时钟脉冲到来时,电路的状态才能改变。改变后的状态将一直保持到下一个时钟脉冲的到来,此时无论外部输入有无变化,状态表中的每个状态都是稳定的。
异步时序逻辑电路的特点:
电路中除可以使用带时钟的触发器外,还可以使用不带 时钟的触发器和延迟元件作为存储元件,电路中没有统一的时钟,电路状态的改变由外 部输入的变化直接引起。
同步逻辑是时钟之间有固定的因果关系。异步逻辑是各时钟之间没有固定的因果关系。
2. 同步复位和异步复位的区别
同步复位是在时钟沿变化时,完成复位动作。
优点:
1)抗干扰能力高,可以提出复位信号中周期短于时钟周期的毛刺;
2)有利于静态时序分析工具的分析;
3)有利于基于周期的仿真工具的仿真。
缺点:
1)占用更多资源;
2)对复位信号的脉冲宽度有要求,由于线路上的延迟;可能需要多个时钟周期的复位脉冲的宽度,而且很难保证复位信号到达各个寄存器的时序;
3)同步复位依赖时钟,如果电路中时钟信号出现问题则无法复位。
异步复位是只要复位信号满足条件就完成复位动作。
优点:
1)不需要额外的逻辑资源,实现简单;
2)复位信号不依赖于时钟。
缺点:
1)复位信号易受外界干扰,并对电路内的毛刺敏感;
2)复位信号的随机性可能导致时序违规,也就是复位信号释放时在时钟有效沿附近,会使电路处于亚稳态。
3.什么是亚稳态?为什么两级触发器可以防止亚稳态传播?
这也是一个异步电路同步化的问题,具体的可以参考《EDACN 技术月刊20050401》亚稳态是指触发器无法在某个规定的时间段内到达一个可以确认的状态。
两级触发器防止亚稳态传播原理:
4. FPGA芯片内有哪两种储存器资源?
FPGA 芯片内有两种存储器资源:一种叫block ram,另一种是由 LUT 配置成的内部存储器(也就是分布式ram)。Blockram由一定数量固定大小的存储块构成的,使用BLOCK RAM资源不占用额外的逻辑资源,并且速度快。但是使用的时候消耗BLOCKRAM的资源是其块大小的整数倍。
假设第一级触发器的输入不满足其建立保持时间,它在第一个脉冲沿到来后输出的数据就为亚稳态,那么在下一个脉冲沿到来之前,其输出的亚稳态数据在一段恢复时间后必须稳定下来,而且稳定的数据必须满足第二级触发器的建立时间,如果都满足了,在下一个脉冲沿到来时,第二级触发器将不会出现亚稳态,因为其输入端的数据满足其建立保持时间。同步器有效的条件:第一级触发器进入亚稳态后的恢复时间+第二级触发器的建立时间<=时钟周期。更确切地说,输入脉冲宽度必须大于同步时钟周期与第一级触发器所需的保持时间之和。最保险的脉冲宽度是两倍同步时钟周期。所以,这样的同步电路对于从较慢的时钟域来的异步信号进入较快的时钟域比较有效,对于进入一个较慢的时钟域,则没有作用 。
5. 什么是竞争与冒险现象?怎样判断?怎样消除?
竞争:在组合逻辑中,由于门的输入信号通路 中经过了不同的延时,导致到达该门的时间不一致叫竞争。
冒险:
由于竞争而使电路输出发生瞬时错误的现象叫做冒险。(也就是由于竞争产生的毛刺叫做冒险)
判断方法:
1)代数法:如果布尔式中有相反的信号则很有可能产生竞争和冒险现象;
2)图形法:有两个相切的卡诺圈并且相切处没有被其他卡诺圈包围,就有可能出现竞争和冒险现象;
3)实验法:使用示波器观测。
解决方法:
1)加滤波电路,消除毛刺影响;
2)加选通信号,避开毛刺;
3)增减冗余项消除逻辑冒险。
以上便是在FPGA工程师面试中比较热门的题目了,希望看完后对大家能有所帮助,祝大家都能早日找到自己心仪的工作,走向人生颠峰。