这里写目录标题
学习记录
case中使用通配符
module case_test(
input [1:0]sel,
output reg [3:0]y ,
output reg [3:0]yx ,
output reg [3:0]yz
);
always@(*)
begin
case (sel)
2'b00: y = 1;
2'b01: y = 2;
2'bx0: y = 3;
2'b1x: y = 4;
2'bz0: y = 5;
2'b1?: y = 6;
default : y = 7;
endcase
casez (sel)
2'b00: yz = 1;
2'b01: yz = 2;
2'bx0: yz = 3;
2'b1x: yz = 4;
2'bz0: yz = 5;
2'b1?: yz = 6;
default: yz = 7;
endcase
casex (sel)
2'b00 : yx = 1;
2'b01 : yx = 2;
2'bx0 : yx = 3;<

这篇博客介绍了Verilog中case语句的使用,包括case、casez和casex的区别,并展示了逻辑或与按位或、向量隐式赋值的注意事项。还讨论了如何使用`default_nettype none避免bug,以及创建内存数组、数组元素切片、位拼接等操作。此外,提到了进位写法、8选1多位选择器、全加器的实现以及全0、全1、全X、全Z的赋值方法。博客还涵盖了有符号溢出检测和BCD编码的概念。
最低0.47元/天 解锁文章
2676

被折叠的 条评论
为什么被折叠?



