大疆数字IC2019

1.异步fifo的深度计算

FIFO主要用于异步数据传输之间的数据缓冲。我们选择的FIFO深度应该能够保证在最极端的情况下,仍然不会溢出。因此考虑的最坏情况一般都是写时钟频率大于读时钟频率,但是若写操作是连续的数据流,FIFO都无法保证数据不溢出。可以认为写数据的传输是“突发Burst”的,即写操作并不连续。

从整个时间域上看,“写数据=读数据”。但是在发送方"突发"发送数据的时间T内,是很有可能写数据>读数据的,因此FIFO的深度要能够保证,在这段时间T内,如果接收方未能将发送方发送的数据接收完毕的话,剩下的数据都是可以存储在FIFO内部而且不会溢出的。

实例:一个8bit宽的异步FIFO,输入时钟为100MHz,输出时钟为95MHz,设一个数据包为4Kbit,且两个数据包之间的发送间距足够大。问异步FIFO的深度至少为多少?

发送发一次Burst突发的数据量为4Kbit,即500byte,在两次Burst突发之间有足够的时间,因此我们只用考虑在发送方Burst发送数据的时间T内,如果接受方没法将数据全部接收,其余数据均可存在FIFO内且不溢出。首先发送方Burst发送数据的时间段为 T = 500/100MHz。而在T这段时间内,接收方能够接受的数据量为B_receive = T*95MHz = 500 * 95 / 100 byte = 475 byte,因此 B_remain = B_send - B_ receive = 500 -475 = 25 byte。那么FIFO的深度至少要大于等于25 byte才行。
2、如果只使用2选1mux完成异或逻辑,至少需要几个mux?
Y= A xor B=A!B+AB!= (A == 1’b0) ?B: B!= (A 1’b0) ?B: ( (B1’b0) ? 1’b1: 1’b0)
在这里插入图片描述
即至少需要两个MUX

3.在对信号采样过程之前抗混滤波,其作用是什么?它选用何种滤波器?其截止频率如何确定?

根据“奈奎斯特采样定律”: 在对模拟信号进行离散化时,采样频率f2至少应2倍于被分析的信号的最高频率f1,即: f2≥2 f1;否则可能出现因采样频率不够高,模拟信号中的高频信号折叠到低频段,出现虚假频率成分的现象

但工程测量中采样频率不可能无限高也不需要无限高,因为我们一般只关心一定频率范围内的信号成份。为解决频率混叠,在对模拟信号进行离散化采集前,采用低通滤波器滤除高于1/2采样频率的频率成份。实际仪器设计中,这个低通滤波器的截止频率(fc) 为:

截止频率(fc)= 采样频率(fz) / 2.56

4.线与逻辑

线与逻辑是两个输出信号直接相连可以实现“与”的功能,可以用OC或OD门来实现,需要在输出端加一个上拉电阻。

5.将二输入的与非门当非门使用时,另一端的接法应该是

Y= !A=!(1’b1 && A)
所以另一端接高电平

6.属于高速串行接口的是

PCIE,USB,SPI,RapidIO

7.关于芯片启动时初始化代码在调到main函数之前会执行的操作

硬件初始化?

8.Verilog HDL中哪些结构是不可综合的

Verilog语法很多,没法把所有的关键词都列出来。

主要的关键词中always,assign,case,for,function等都是可综合的,注意for循环的次数需要固定。

另外一些用于验证的fork-join,initial,#delays等不可综合

9.关于同步设计和异步设计的描述

10.代码覆盖率

覆盖率是对仿真进度的评估,其中代码覆盖率是客观的,功能覆盖率是主观定义的。代码覆盖率主要有语句覆盖,条件覆盖,路径覆盖,有限状态机覆盖等等

11.面积和速度优化

面积优化:资源共享,串行化;
速度优化:流水线,缩短关键路径法,配平寄存器,乒乓操作

面积和优化存在矛盾,逻辑综合的目的就是要在满足时序的情况下尽量减小面积。

12.关于正则表达式中的计数符和通用字符集进行搜索匹配

  • 0 or more
  • 1 or more
    ? 0 or 1

13.时序检查中对异步复位电路的时序分析叫做()和()?

恢复时间检查和移除时间检查。recovery time 和removal time检查

14 FPGA内部资源包括哪些及其作用

根据作用就很容易联想出来

15 画一个序列发生器的Moore状态机

两种状态机的区别

16 电路最大频率计算

setup time 和 hold time

猜你喜欢

转载自blog.csdn.net/gemengxia/article/details/108037255