相比其他工程师,FPGA工程师的面试试题更加多变,涉及多学科,甚至部分面试还会谈到软硬件方面,所以FPGA工程师的面试难度相对比较高,今天我们寻找了四个常见的FPGA工程师面试必定会问到的题目。
1、锁存器(latch)和触发器(flip-flop)区别?
电平敏感的存储器件称为锁存器。可分为高电平锁存器和低电平锁存器,用于不同时钟之间的信号同步。
有交叉耦合的广]构成的双稳态的存储原件称为触发器。分为上升沿触发和下降沿触发。可以认为是两个不同电平敏感的锁存器串连而成。前一个锁存器决定了触发器的建立时间,一个锁存器则决定了保持时间。
2、FPGA芯片内有哪两种存储器资源?
FPGA芯片内有两种存储器资源:一种叫BLOCKRAM,另一种是由LUT配置成的内部存储器(也就是分布式RAM)。BLOCKRAM由--定数量固定大小的存储块构成的,使用BLOCKRAM资源不占用额外的逻辑资源,并且速度快。但是使用的时候消耗的BL.OCKRAM资源是其块大小的整数倍。
3、什么是时钟抖动?
时钟抖动是指芯片的某-一个给定点上时钟周期发生暂时性变化,也就是说时钟周期在不同的周期上可能加长或缩短。它是一个平均值为0的平均变量。
4、FPGA设计中对时钟的使用? (例如分频等)
FPGA芯片有固定的时钟路由,这些路由能有减少时钟抖动和偏差。需要对时钟进行相位移动或变频的时候,一般不允许对时钟进行逻辑操作,这样不仅会增加时钟的偏差和抖动,还会使时钟带上毛刺。=般的处理方法是采用FPGA芯片自带的时钟管理器如PLL,DLL或DCM,或者把逻辑转换到触发器的D输入(这些也是对时钟逻辑操作的替代方案)。