I have a global file added to my project in Project Navigator. I have selected "Include as Global File in Compile List" in the global file's source properties. I can synthesize this design successfully. However, when I attempt to run a simulation in ISim, I get the following error:
ERROR:HDLCompiler:870 - Macro <memory_width> is not defined.
"memory_width" is defined in the global file; however, it appears ISim is not compiling that module.
How can I resolve this issue?
This is a known issue. ISim currently does not read the status of the "Include Global File in Compile List". As such, this module is not compiled by the ISim compiler.
To work around this issue, include the global file when compiling each of the sources. e.g.
verilog work global.v top.v
verilog work global.v uut.v
verilog work global.v submodule_A.v
where global.v defines the macro definitions and top.v, uut.v and submodule_A.v make sure of the macros defined in global.v
Review the header of the ISim compiler (fuse) log file to learn how to run the compilation manually from a command window or terminal console.
This issue has been resolved in ISE Design Suite 12, available for download athttp://www.xilinx.com/csi/dlc-tab-12_1.htm