首页 > 其他 > 详细

case恒输出0的一个BUG

时间:2021-08-17 20:34:32      阅读:10      评论:0      收藏:0      [点我收藏+]

module encoder8_3(
input wire clk,
input wire rst_n,
input wire [ 7:0] x,
output reg [ 3:0] y
);

// always @(x) begin
// case (x)
// 8‘b0000_0001 : y = 3‘b000; // 当 x=16‘b00000001, 则 y 输出为 3‘b000
// 8‘b0000_0010 : y = 3‘b001; // 当 x=16‘b00000010, 则 y 输出为 3‘b001
// 8‘b0000_0100 : y = 3‘b010; // 当 x=16‘b00000100, 则 y 输出为 3‘b010
// 8‘b0000_1000 : y = 3‘b011; // 当 x=16‘b00001000, 则 y 输出为 3‘b011
// 8‘b0001_0000 : y = 3‘b100; // 当 x=16‘b00010000, 则 y 输出为 3‘b100
// 8‘b0010_0000 : y = 3‘b101; // 当 x=16‘b00100000, 则 y 输出为 3‘b101
// 8‘b0100_0000 : y = 3‘b110; // 当 x=16‘b01000000, 则 y 输出为 3‘b110
// 8‘b1000_0000 : y = 3‘b111; // 当 x=16‘b10000000, 则 y 输出为 3‘b111
// default: y = 3‘b000;
// endcase
// end

当x的位宽定义为非7的时候,Y恒定输出0,因为x总是满足default的条件。

case恒输出0的一个BUG

原文:https://www.cnblogs.com/wuyishaner/p/15153291.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!