← 2022 · 华为海思 笔试

推荐答案 测试一下

input clk;

A.按照0、0、0、0、0、1、2、3、0、0、0、0、……这样的规律计数 B.始终按照0、1、2、3、0、1、2、3、……这样的规律技术 C.按照0、0、0、0、3、3、3、3、0、0、0、0、……这样的规律计数 D.按照0、1、2、3、3、2、1、0、0、1、2、3、……这样的规律计数
单选题 中等 笔试真题单选

参考答案

正确答案:D。 解析:cnt是3位计数器,从0到7循环(每次加1,复位到0)。cnt[2]为最高位,当cnt=0~3时cnt[2]=0,当cnt=4~7时cnt[2]=1。{2{cnt[2]}}生成两位重复值:cnt[2]=0时得到2'b00,cnt[2]=1时得到2'b11。assign cnt_out = {2{cnt[2]}} ^ cnt[1:0];异或运算规则:0异或x=x,1异或x=~x。因此,cnt=0~3时,cnt_out = cnt[1:0](即0,1,2,3);cnt=4~7时,cnt_out = ~cnt[1:0](即3,2,1,0)。完整序列:0,1,2,3,3,2,1,0,然后重复(下一个周期从cnt=0开始,再次输出0,1,2,3,3,2,1,0)。选项D的描述“0、1、2、3、3、2、1、0、0、1、2、3、……”与此一致。选项A和C只出现部分值,选项B始终0-3循环,均错误。

涉及知识点

  • 位宽运算与重复操作符
  • 异或运算的基本性质
  • 计数器时序分析
  • 多位信号的拼接与按位异或
← 上一题
登录后反馈错题
下一题 →