Xilinx ISE and Verilog $signed/$unsigned tasks?

Sep 23, 2004 0 Replies

In ISE Webpack 6.2i, XST (Xilinx Synthesis Technology) supports Verilog-2001 signed operators and datatypes. However, for some reason, it doesn't support $signed and $unsigned.



I mention this, because I frequently use the $signed and $unsigned calls to explicitly force type-conversion.



I know the Verilog simulator/compiler doesn't care, but I use $signed/$unsigned for documentation and code-readability purposes...(did this guy accidentally or intentionally transfer a signed -> unsigned?!?)



(as long as the bitwidths don't change ... otherwise you have to be careful about the sign-extension!)



output [16:0] unsigned_y;



wire signed [15:0] x, y; wire signed [16:0] sum; wire [16:0] sum;



assign sum = x + y; // 2's complement addition!



assign unsigned_y = $unsigned(sum); // type-cast!



......



The problem is that ISE 6.2i doesn't support the $signed or $unsigned system-tasks...



Is there a workaround for this ... does ISE 6.3i support it? (Or does a planned servicepack add $signed/$unsigned support?)



Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required