FPGA笔试14

1,如果线网类型变量说明后未赋值,起缺省值是高阻态Z

2,某设计中使用了DDR3-1066,数据位宽32bit,FPGA工程中实现的DDR3 controller时钟为800MHz, 应用端时钟为200MHz, 数据位宽为128bit,请问,应用端DDR3可用的理论带宽为()
答:
DDR3-1066 理论带宽 = 1066 * 32 / 8 = 4264
FPGA内存带宽 = 800 * 32 / 8 = 3200
应用端带宽 = 200 * 128 / 8 = 3200
取瓶颈3200

3,建立时间:时钟脉冲沿到来之前,数据保持稳定不变的时间。
保持时间:时钟脉冲沿到来之后,数据保持稳定不变的时间。
亚稳态:亚稳态是指触发器无法在某个规定的时间段内到达一个可以确认的状态

4,异步FIFO设计注意事项有哪些?
答:
1)在地址信号跨时钟域时需要对其进行二进制码转格雷码的转换并进行目标时钟域的时钟打两拍同步,以防止亚稳态的产生。
(2)写满信号由读地址同步到写时钟域并与写地址进行比较产生,读空信号由写地址同步到读时钟域并与读地址进行比较产生。这样可以在第一时间得到读空与写满的信息,并对异步fifo进行操作。
(3)异步fifo的深度需要考虑到写状态的背靠背写入状态以得到最适合的深度。
(4)读写地址需要扩展一位来判断是读空还是写满,当扩展后的读写地址的格雷码相等时为读空,若其前两位不同,后面相等时为写满。

5,在一个FPGA项目中,既有建立时间异常(setup violation),也有保持时间异常(hold violation),应该如何修改设计以使其正常工作?
答:对于建立时间异常的路径,可以适当降低时钟频率,修改组合逻辑电路以减少组合逻辑的延时,选择传输延时更少的寄存器,并可以适当增大时钟延时
对于保持时间异常的路径,修改组合逻辑电路以增加组合逻辑的延时,选择传输延时更长的寄存器,并可以适当增大时钟延时,数据有效状态各增加一个或几个(根据建立和保持时间而定)时钟周期

6,一个32bit浮点的累加器,A = A + data, A初始化为0, data为串行输入数据流,包含数据使能信号,加法器延迟5个时钟周期。请问如何用verilog语言实现一个累加器。

7,某FIR滤波器的频率响应为H(z)= a + bz-1+bz-2+cz-3。现需要对某采样输入信号x(n)滤波,滤波器和输入信号同属于一个时钟域,频率300MHz。
a) 请画出滤波器的实现框图;
b) 假如乘法器输出延迟5个时钟周期,加法器延迟7个时钟周期,输入到输出的最小延迟是多少?
c) 若输入都是定点数据,如何做量化处理?

参考文献:商汤FPGA优化验证

你可能感兴趣的:(FPGA笔试14)