私は現在、その内部にグローバル階層を使用している「ウォッチャー」モジュールを持っています。私は2番目のグローバル階層でこの2番目のインスタンスをインスタンス化する必要があります。現在階層を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のプリプロセッサ)を使用することですが、2事実上、同一のモジュール(各階層との1)を生成しますしかし、よりエレガントな方法がありますか?
お返事ありがとうございます。私は一般的にあなたのポイントのほとんどに同意します。 この場合、モジュールは内部で〜100本のプローブワイヤを持っていますので、明示的な入力に変換するのは明らかですが、かなり面倒です。 – pdq
こんにちはpdq。私はそれがSVインターフェイスを述べた理由だと思う。少なくとも、それらを複数の論理グループにカプセル化し、ドット表記を使用してモジュール内部からワイヤにアクセスすることができます。 – DMC