Using Vivado 2015.1, I'm attempting to use a hierarchical name to access an object on the top level module of my design. The simulation runs fine but I receive the following synthesis error:
[Synth 8-660] unable to resolve 'top' ["child.sv":3]
module top()
logic foo;
endmodule
module child()
always(bar) begin
logic top.foo <= bar;
end
endmodule
Any Ideas?
So, It turns out that hierarchical names are not supported in Vivado synthesis.
http://www.xilinx.com/support/documentation/sw_manuals/xilinx2015_1/ug901-vivado-synthesis.pdf