0

私は約4レベルの深さのワイヤーを持っており、それを階層の上位に伝播する必要があるという煩わしさを本当に望んでいません。ある種の参照を使用してワイヤを割り当てる方法はありますか?次のように入力して、ワイヤーにアクセスできることを知っています。

cca.cpu0.cca3_cpu.nc1_cp_checkpoint 

しかし

assign cca.cpu0.cca3_cpu.nc1_cp_checkpoint = checkpoint;

動作しません

誰かがそれを行う方法を知っていますか?

4

2 に答える 2

3

誰かがあなたの問題を再現するのに十分なコードを示しておらず、あなたの問題に関する詳細を明らかにしていないので、私たちにできることは推測することだけです。

私の推測では、それはインスタンス内nc1_cp_checkpointで宣言されています。連続代入を使用してに値を割り当てることはできません。たとえば、手続き型の割り当て(またはブロック内)を使用してみてください。regcca3_cpureginitialalways

initial begin
    cca.cpu0.cca3_cpu.nc1_cp_checkpoint = checkpoint;
end

これで問題が解決しない場合:

  1. より関連性の高いコードを表示する
  2. 「機能しない」について詳しく説明します。エラーメッセージがある場合は、それを表示します。

更新:インスタンス内nc1_cp_checkpointで継続的に駆動される場合、別の潜在的な問題が発生します。その場合、2番目の値が競合を引き起こし、値が不明になる可能性があります()。とを使用すると、この問題を回避できる場合があります。wirecca3_cpuassignxforcerelease

于 2010-02-01T13:56:14.887 に答える
2

タグから、VCSを使用していることを示しているようです。あなたは次のことをしていますか?

Error-[XMRE] Cross-module reference resolution error
Cross module resolution failed, token BLAH'. 
Originating module 'foo'. "foo.v", 666: 

これは、パスが正しくないことを示しています。

クロスモジュール参照は機能しますが、デザインを合成可能な構成に制限している場合は、それらが有効になっていない可能性があります。VCSユーザーガイドで「クロスモジュールリファレンス」を検索してください。

于 2010-02-01T04:02:50.587 に答える