0

icarus verilogを使用して、xilinxが提供するユニシムライブラリからICAP_SPARTAN6.vをコンパイルしようとしています。

以下のコンパイルエラーが発生します:

/opt/Xilinx/14.3/ISE_DS/ISE/verilog/src/unisims/ICAP_SPARTAN6.v:79: syntax error
/opt/Xilinx/14.3/ISE_DS/ISE/verilog/src/unisims/ICAP_SPARTAN6.v:79: error: invalid module item.

参照される関連するコード行は次のとおりです。

  tri (weak1, strong0) done_o = p_up;//line 78
  tri (pull1, supply0) [15:0] di_t = (icap_idone == 1 && WRITE == 1)? 16'bz : dix; //line 79

また、triがどのように正確に機能するかについてはあまり明確ではありません。3つの状態があることを除けば、ワイヤーに似ていると思いましたが、それに続くパランセシスは私には意味がなく、デバッグが少し難しくなります:)助けていただければ幸いです。-ありがとう

4

1 に答える 1

2

triwireは同等です。

括弧内のキーワードはドライブ強度を決定し、スイッチおよびゲートレベルのモデリングを可能にします。ルールはやや複雑ですが、基本的に強い信号は弱い信号をオーバーライドできるため、同じ信号でapull1とを駆動すると、またはではなく状態になる可能性があります。strong00XZ

エラーは、iverilogのバグまたは欠落している機能のように見えます。ベクトル範囲を削除すると、コンパイルが成功します。

于 2012-11-08T20:13:24.573 に答える