In the following module, module mult (output reg[7:0] z, input [3:0] a); always @* begin z = a*a; end endmodule
ModelSim returns 225 when a is 15, but the Xilinx implementation on a Spartan3 returns a 1 (-1 * -1). Does anybody know why Xilinx ISE is interpreting the four bit numbers as signed numbers rather than unsigned?
-Gary