2020华为海思校招芯片岗笔试

本文深入探讨数字电路设计原理,涵盖时序与组合逻辑特性,Verilog语法详解,包括信号定义、时序分析、代码优化及功能覆盖率提升策略。解析常见电路如计数器的工作机制,阐述异步设计挑战与解决方案。
  1. 表示任意两位无符号十进制数需要(7)位二进制数。
    9 为最高的十进制号码
    99 = 1100011 二进制
    故任意两位无符号的十进制需要7位二进制数!

  2. 时间尺度定义为timescale 10ns/100ps,选择正确答案(b)
    a. 时间精度10ns
    b. 时间精度100ps
    c. 时间单位100ps
    d. 时间精度不确定
    解析:10ns为时间单位,100ps为时间精度。
    时间单位主要用在timescale定义之后的代码中,直至遇到另一个timescale指令或`resetall指令为止,用来表示verilog语法中使用到时间的表达式的单位。比如:
    and # (5.22, 6.17 ) Al (Z, A, B); 里面的5.22和6.17分别代表52.2ns和61.7ns
    或者 always@(posedge clk) out <= #3 in; 里面的3代表30ns。
    时间精度一般体现在波形的时间横轴上,最小的一个时间单位跨度即时间精度100ps。

  3. 时序逻辑电路不仅与输入有关,还与原来的状态有关。(正确

  4. 同步复位需要进行recovery和removal检查,异步复位不需要进行recovery和removal检查(错误
    解析:recovery和removal存在于拥有async reset端口的寄存器,因此异步复位需要做这种检查。这种检查的目的是为了保证复位释放的时刻能早于时钟沿并且保持到时钟沿到来(recovery,恢复),并且保证复位置位的时刻能晚于时钟沿一段时间(removal,清除),以此来避免复位释放的时候出现亚稳态。类似于寄存器D端的setup和hold检查。

  5. 在异步FIFO设计中,满信号由写时钟产生,空信号由读时钟产生(正确
    解析:写时钟驱动写指针增加,和FIFO有效数据的增加,有效数据到达深度时满信号拉高;读时钟驱动读指针增加,和FIFO有效数据的减少,有效数据为0时空信号拉高;

6.关于false path,正确的是(d
a. 一般异步电路可以设置为false path
b. 两个不同频率的接口一定可以设置为false path
c. 一般异步复位可以设置为false path
d. 一般模拟ip和系统的互联接口都可以设置为false path
解析:
a是错误的。设置false path的原因是该路径没必要满足特定时序(比如setup/hold,recovery/removal,clock gating,max delay等特定时序)。虽然异步电路时钟之间没有固定的相位关系,工具没法直接做reg-reg的setup/hold检查,但是可以设置max delay等特殊约束对需要满足一定时序关系的异步电路做检查,需要看具体的场景。
b是错误的。频率不同和false path没有任何关系。而异步电路的频率可能不同,但是频率不同不等于异步电路,异步电路的本质是来自不同晶振的时钟源驱动的电路,他们频率甚至也可以相同。
c是错误的。对于异步复位,指的只是寄存器使用了异步复位端口async_reset,在复位的时候复位信号可以是异步的。但它在释放的时候是需要满足recovery-removal时序检查的,需要做同步释放,因为做了同步,所以STA工具有能力做检查。所以异步复位不能设为false path,需要检查recovery-removal时序。
d是正确的。模拟ip的时钟频率一般远小于数字电路,因此对数字电路的时序不敏感,互联接口可以设置false path。

7.下面是一个什么电路:(c)
always@(posedge clk or negedge rst_n) begin
If(rst

评论 19
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值