I get the following error when compiling RISCV VERILOG HDL on Xilinx ISE:
It says "Unsupported System Function Call" in the following code at line 296 in module vscale_pipeline
295: ifndef SYNTHESIS
296: PC_WB <= $random;
Some synthesis tools define the SYNTHESIS macro so that it is easier to skip non-synthesizable code in synthesis using
`ifdef SYNTHESIS
...
`endif
blocks, as is done in this code.
Xilinx XST does not define this macro by default, so you have to configure XST manually to define the macro during synthesis. See this Xilinx AR for details on how to do that.
SYNTHESISdefined and defined before this line of code? Compiling order matter. - Greg