本文首发在【公众号——FPGA探索者】         单选1~10题及解析       1. 多 bit 跨时钟域       1. 下列关于多 bit 跨时钟域的处理思路,错误的有()             答案:A       解析:       多bit数据跨时钟域:       异步FIFO,格雷码(连续变化的地址/计数信号等),握手信号,DMUX               参考:CDC跨时钟域处理及相应的时序约束【set_clock_groups】【set_max_delay】【FPGA探索者】              2. 定点数量化       2. 对 12.918 做无损定点化,需要的最小位宽是多少位,位宽选择11位时的量化误差是多少?        答案:C       解析:       (1)首先对于整数部分的12,至少需要4-bit量化;       (2)对于小数部分的0.918,只要量化的误差小于数据最小精度的一半,就可以认为是无损量化。当小数部分使用8-bit量化时,0.918*(2^8)=235.008,即采用8-bit量化时的误差为0.008/(2^8)=0.00003125,数据0.918精确到0.001(小数点后第三位),量化误差小于数据最小精度的一半,满足“无损”量化,所以12-bit量化(整数4,小数8)可以满足“无损”。               当小数部分使用7-bit量化,0.918*(2^7)=117.504,量化误差为0.504/(2^7),显然量化误差大于精度的一半(0.504>0.5),不满足无损量化,量化误差为0.504/(2^7)=0.0039375。       如果按照四舍五入量化为118,误差也是大于0.0005的,不满足无损量化。                      3. 噪声源均方误差          3. 两个噪声源的均方根噪声幅度分别是 10 uVrms,5uVrms;两个噪声源叠加后的均方根噪声幅度不可能是以下值中的哪个?                  答案:B          解析:                 原噪声均方根幅度X1、X2,叠加后的均方根噪声幅度X,满足:          abs(X1-X2)<= X <= X1+X2                 当两个噪声在任意时刻恰好幅度均能抵消,则取减号的等;                 当两个噪声在任意时刻恰好幅度均能叠加,则取加号的等;                 其他条件下,取中间区间;                 所以,5 <= X <= 15,B 肯定不可能。                     4. 关键路径          4. 考虑如下的 4*4 的“二维仲裁器”,R00 到 R33 为输入,G00 到 G33 为输出,N 和 W 也为输入,E 和 S 也为输出,假设所有的逻辑门(包括非门/与门/反相器)延时都为 1 ns,请问该电路的最大延迟为?                         答案:D          解析:            每个 Arbiter 从输入到输出S 和E 延时3 ns,整个4*4仲裁器最长路径需要经过7个Arbiter,每个3 ns,一共 21 ns。                          5. 时序逻辑运算          5. 下图所示 4 bit 右移位寄存器,0 时刻 ABCD 初始状态为 0111,请写出 5 个时刻以后的 ABCD 的输出?           答案:选B,但是此题实际没答案       解析:              A(n+1)= ~(A(n)|B(n)|C(n)),当 A、B、C均为 0 时,下一时刻 A = 1,否则 A = 0;              0 时刻:ABCD = 0111              1 时刻:ABCD = 0011              2 时刻:ABCD = 0001              3 时刻:ABCD = 1000              4 时刻:ABCD = 0100              5 时刻:ABCD = 0010              6. 存储器相关问题       6. 1 个 16K * 8 位的存储器,其地址线和数据线总和是?           答案:D       解析:       8位可以确定8根数据总线;       16K和地址有关,1K是1024=2^10,所以16K=1K*16=(2^10)*(2^4)=2^14,需要14根地址总线;       共计需要8 + 14 =22;                 扩展题目:            7. 原码和补码       7. 数字系统中,采用()可以将减法运算转化成为加法运算?        答案:D       解析:              A – B =A + (-B);              对 B 取负数,即使用补码进行有符号数表示;                      有符号数的加法和乘法运算,只有 2 个数均为有符号数,才按照有符号数运算,只有有 1 个是无符号数,就按照无符号数运算。               8. 流水线设计       8. 关于流水线设计的理解,错误的是()?        答案:A       流水线的实现方式:       (1)插入寄存器(触发器Flip-Flop,FF)去分割延迟比较大的组合逻辑,消耗了更多的触发器,组合逻辑资源不变(理论上);       (2)由于增加了寄存器,每增加一级寄存器就会对数据寄存一个时钟周期,所以对于单个数据来讲,从输入到输出的延时增加;       (3)对于整体来讲,速度提升,最大工作频率提高,是典型的面积换速度的思想。                     9. 位拼接       9. 在 Verilog 语言中,如果 a =1’b1,b = 3’b101,c = 1’b0,则 {a, {3{c}}, b} = ?        答案:C       解析:              {} 位拼接,前面的放高位;              {3{c}} 是将 c 复制 3 份,等效于 {c, c, c},结果为 3’b000;              总的结果为 {1’b1, 3’b0, 3’b101},即 7’b1000101;               10. 逻辑门       10. 下面哪种逻辑门可以实现逻辑 (A XOR B) OR (C AND D)?        答案:A       解析:              (A XORB) OR (C AND D) = A^B + CD = AB’ + A’B + CD = (…)’              本文首发在【公众号——FPGA探索者】            
点赞 3
评论 1
全部评论

相关推荐

点赞 收藏 评论
分享
牛客网
牛客企业服务