How does synthesis tool handle the ports either driven by or to a module that is empty(Black Box)?
If you define the module as 'black box' the synthesis stool will not optimize it away or use it to optimize signals away. 

I can't remember the exact phrase but it was something like
// synopsys syn_black_box