It is hard to call this behavior a bug, because it isn't specified by IEEE. The EDA company has full freedom to implement it. But in order to keep you code portable between different tools, try to code as accurately as possible. It can save you several hours later.
It is hard to call this behavior a bug, because it isn't specified by IEEE. The EDA company has full freedom to implement it. But in order to keep you code portable between differe ...
1 means 32'b00000000000000000000000000000001 , it is different from 1'b1;
when you user rptr + 1 the result will be 32 bit wide it maybe different from wptr.
1 means 32'b00000000000000000000000000000001 , it is different from 1'b1;
when you user rptr + 1 the result will be 32 bit wide it maybe different from wptr.
You are right.
Verilog is a weak-typed language. It is the most important difference between verilog and vhdl. The compiler do some type conversion silently, It allows a program in verilog "easy" to write and hard to debug.
I think this mistake can caused by two reasons . One is just the debug of simulator tools, the other just the 1 is 32-bit wide,in contrast, 1'b1 is just the one-bit.