我有一个“watcher”模块,它当前正在使用全局层次结构。我需要使用第二个全局层次结构来实例化第二个实例。将层次结构传递到Verilog模块
目前:
module watcher;
wire sig = `HIER.sig;
wire bar = `HIER.foo.bar;
...
endmodule
watcher w; // instantiation
期望:
module watcher(input base_hier);
wire sig = base_hier.sig;
wire bar = base_hier.foo.bar;
...
endmodule
watcher w1(`HIER1); // instantiation
watcher w2(`HIER2); // second instantiation, except with a different hierarchy
我的最好的办法是使用VPP(Verilog的预处理器)穷举生成两个实际上,相同的模块(一个与每个层次) ,但是有没有更优雅的方式?
感谢您的回应,我当然同意你的一般观点。 不幸的是,在这种情况下,模块内部有大约100根探针导线,所以将它们转换为明确的输入,虽然更清晰,但是相当混乱。 – pdq 2008-09-16 04:59:21