我有一個「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