K
Kenneth Brun Nielsen
Guest
I have a Verilog netlist exported from a Cadence environment where I
see strange behaviour.
Debugging it, it turns out that the order of a bus (vector?) port has
been declared as "big endian".
However I am surprised that the order actually makes a difference in
this case, since the port bits are connected one-by-one when the
module is instantiated.
Would you Verilog experts expect different behaviours from module A
and module B below?
module A (out[1], out[0], dummy, in[1], in[0] )
input dummy;
input [0:1] in;
output [0:1] out;
endmodule
module B (out[1], out[0], dummy, in[1], in[0] )
input dummy;
input [1:0] in;
output [1:0] out;
endmodule
Both modules are instantiated similar to the following:
module main (....)
.....
A/B (test[1], test[0], signal, generated[1], generated[0]);
....
endmodule
So in that context would you expect different behaviour between module
A and B?
BTW, I'm simulating in Icarus.
Best regards,
Kenneth
see strange behaviour.
Debugging it, it turns out that the order of a bus (vector?) port has
been declared as "big endian".
However I am surprised that the order actually makes a difference in
this case, since the port bits are connected one-by-one when the
module is instantiated.
Would you Verilog experts expect different behaviours from module A
and module B below?
module A (out[1], out[0], dummy, in[1], in[0] )
input dummy;
input [0:1] in;
output [0:1] out;
endmodule
module B (out[1], out[0], dummy, in[1], in[0] )
input dummy;
input [1:0] in;
output [1:0] out;
endmodule
Both modules are instantiated similar to the following:
module main (....)
.....
A/B (test[1], test[0], signal, generated[1], generated[0]);
....
endmodule
So in that context would you expect different behaviour between module
A and B?
BTW, I'm simulating in Icarus.
Best regards,
Kenneth