logic [31:0] sum_count;
//cnt0 和 cnt1 是 24 位信号
案例1:
assign sum_count = (cnt0 & {8'b0,{24{en0}}}) + (cnt1 & {8'b0,{24{en1}}});
案例2:
assign sum_count = (cnt0 & {8'b0,{24{en0}}});
对于 en0=1 的条件,en1=0;我在模拟中看到的是sum_count保持"0",而对于情况 2,sum_count正在正确更新。如何调试问题?
更好的写法是
assign sum_count = (en0 ? cnt0 : 32'b0) + (en1 ? cnt1 : 32'b0)