I've been getting a cross-module resolution error, when the compiler expands the definition as follow:
in file, say path_defines.vh (where the definitions is at):
`define apple aaaa.bbbb.cccc.\pie[0] .dddd.eeee
I'm using the "\" character accompanied by a tailing "white-space" to escape the characters "[" and "]" as defined in the 2012 verilog manual.
So when the compiler parses a file(say eg: design.vs) with the defined term as seen here :
`apple.ffff.gggg
and tries to expand the definition, the compiler gives me a :
Cross-module reference resolution error.
Error found while trying to resolve cross-module reference.