华为2019数字芯片设计笔试题目与解析(单选第三部分)

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

你可能感兴趣的:(华为2019数字芯片设计笔试题目与解析(单选第三部分))