HDLBits Exams/m2014 q6c

1、这个题是独热码检测,如果用之前状态逻辑进行检测的话,如果跳到不是上述状态的就会报错。

 2、总感觉我的独热码检测有点问题,以及 那个always有没有都没必要啊。

完整代码如下:

module top_module (
    input [6:1] y,
    input w,
    output Y2,
    output Y4);
      reg[6:1] state;
 
	
    always@(*)begin
        case(y)
        	6'b000_001:state=w?6'b000_001:6'b000_010;
            6'b000_010:state=w?6'b001_000:6'b000_100;
            6'b000_100:state=w?6'b001_000:6'b010_000;
            6'b001_000:state=w?6'b000_001:6'b100_000;
            6'b010_000:state=w?6'b001_000:6'b010_000;
            6'b100_000:state=w?6'b001_000:6'b000_100;
            default:state=6'b000_001;
        endcase      
    end
  
    assign Y2=!w&(y[1]==1);
    assign Y4=w&(y[2]==1||y[3]==1||y[5]==1||y[6]==1);
endmodule

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值