21.异步FIFO读写地址编码常采用独热码,以便于读写地址跨异步时钟域处理()
【A】正确
【B】错误
解析:独热码:有多少状态就有多少比特,只有一个比特为1,其余比特都为0。格雷码:又称循环码,相邻两个码之间只
有一位发生变化。异步FIFO读写地址编码常采用格雷码,然后打两拍跨时钟域处理。
正确答案:B
22.两个同源时钟之间可能是同步时钟,也可能是异步时钟()
【A】正确
【B】错误
解析:由同一个时钟源产生的时钟相位关系是固定的,为同步时钟;由不同时钟源产生的时钟相位关系不确定,为异步时钟。(个人理解,参考虞希清版《专用集成电路设计实用教程》p56“同步电路是指电路的所有时钟来自同一时钟源;异步电路是指电路的时钟来自不同时钟源”)
参考答案:B
23.形式验证技术需要外界提供测试向量和时钟激励()
【A】正确
【B】错误
解析:验证有动态验证和静态验证,动态验证需要外界提供测试向量和时钟激励,而形式验证技术属于静态验证,使用基于数学变换的静态分析来确定硬件或软件行为的正确性,不需要外界提供测试向量和时钟激励。
正确答案:B
24.下列跨时钟域设计存在问题的是()
【A】FIFO设计地址跨时钟域,可以通过格雷码转换+打2拍方式
【B】希望得到C = A & B,A、B在clkx域,C在clky时钟域,则单独用clky对A和B分别打2拍产生Adly2和Bdly2,然后再让C = Adly2& Bdly2
【C】单bit数据跨时钟域,在目的时钟域打3拍后使用,打拍过程中不带组合逻辑
【D】一组数据线跨时钟域,如果数据有足够的持续不变时间,可以通过握手机制实现同步化解析:希望得到C = A & B,A、B在clkx域,C在clky时钟域,则先在clkx域进行A & B的运算,然后将结果在clky域打两拍处理得到C。
正确答案:B
25.异步时钟数据采样的方法错误的是()
【A】使用FIFO隔离进行多bit采样
【B】高频时钟直接采样低频时钟的多bit数据
【C】单bit高频时钟脉冲展宽后给低频时钟进行采样
【D】握手信号后再采样
解析:多bit信号采样一般采用异步FIFO的方法,A正确;跨时钟域即便是高频时钟采样低频时钟也不可以直接采样,直接采样可能会造成亚稳态的传播,严重影响电路的性能,B错误;低频时钟采样高频信号,必须先对高频信号进行展宽处理,否则采样不完全,会丢失数据,C正确。异步时钟数据采样可以采用握手的方法,D正确。
正确答案:B
26.(1)(2)所描述的电路功能是否相同?哪种描述综合结果面积较小?()
【A】相同,(2)面积小
【B】不同,没法比较面积
【C】相同,(1)面积小
【D】相同,面积与信号a、b的位宽有关
(1)
if(select == 1'b1)
sum <= a+b;
else
sum <= c+d;
(2)
if(select == 1'b1) begin
temp1 <= a;
temp2 <= b;
end
else begin
temp1 <= c;
temp2 <= d;
end
assign sum = temp1 + temp2;
解析:电路功能显然相同;(1)和(2)综合出来的电路如下图所示(使用quartus II软件),显然两个电路的面积不一定相同,(1)相对(2)多了加法器,(2)相对于(1)增加了数据选择器。
(1)
(2)
正确答案:D
27.表示任意两位无符号十进制数需要()位二进制数
【A】7
【B】8
【C】6
【D】5
解析:最大的两位无符号十进制数是99,介于26-1和27-1之间,需要用7位二进数表示。
正确答案:A
28.随机测试不具有目标性,我们在验证中不应该使用随机测试,应该全部采用直接测试激励()
【A】正确
【B】错误
解析:这里的直接测试指的是定向测试。在验证中应该采用随机测试与定向测试相结合的方法,随机测试更快,去发现大部分的漏洞,定向测试更有目标性,去验证随机测试很难覆盖到的部分漏洞。
正确答案:B
29.下面两段代码中in、q1、q2和q3的初值分别为0、1、2、3,那么经历1个时钟周期后,左侧q3的值和右侧q3的值分别变成了()【A】0,0
【B】0,3
【C】2,0
【D】0,2
always @(posedge clk) begin
q1 = in;
q2 = q1;
q3 = q2;
end
always @(posedge clk) begin
q1 <= in;
q2 <= q1;
q3 <= q2;
end
解析:“=”是阻塞赋值,当clk的上升沿到来时,in的值赋给q1,然后q1的值赋给q2,然后q2的值赋给q3。最终结果q3等于in的值,为0。“<=”是非阻塞赋值,当clk的上升沿到来时,in的值赋给q1,同时q1的值赋给q2,同时q2的值赋给q3。最终结果q3等于q2的值,为2。参考下图:
阻塞方式的“always”电路图
非阻塞赋值方式的“always”电路图
以上两个图片参考《Verilog 数字系统设计教程》夏宇闻版
正确答案:D
30.十六路数据选择器的地址输入端至少需要几根线()
【A】2
【B】4
【C】16
【D】8
解析:十六路数据选择器有16个输入,所以需要16个地址,最少需要4根线(一根线最多表示2个地址,四根线最多表示24个地址)
正确答案:B