FC2カウンター FPGAの部屋 Xilinxのライブラリをコンパイルする場合の注意(`default_nettype wire)
FC2ブログ

FPGAやCPLDの話題やFPGA用のツールの話題などです。 マニアックです。 日記も書きます。

FPGAの部屋

FPGAの部屋の有用と思われるコンテンツのまとめサイトを作りました。Xilinx ISEの初心者の方には、FPGAリテラシーおよびチュートリアルのページをお勧めいたします。

Xilinxのライブラリをコンパイルする場合の注意(`default_nettype wire)

私は、Verilogを書くときにwire宣言をしないとエラーにするために、Verilogコードの最初に必ず`default_nettype noneを書くが、この設定で、ほかの暗黙のwire宣言を使っているその他のVerilogコードをコンパイルするとエラーになってしまう。
そのためにテストベンチの最後に必ず`default_nettype wireを書いておく。

endmodule
`default_nettype wire


なお、ModelSimでは、コンパイル済みのライブラリを使っているので、こう書く必要はないが、Veritakではライブラリもコンパイルしているので、必要のようだ。ということはVeritakはライブラリのVerilogファイルのコンパイルは最後ということになるのかな?
  1. 2007年11月26日 06:20 |
  2. 入門Verilog
  3. | トラックバック:0
  4. | コメント:2

コメント

たっく

はい、Veritak3.32Bから、ライブラリに関しては、XLに準じたコンパイル順序になっています。(Veritak F.A.Q.364) インスタンス化の際に、インスタンス化するモジュールがコンパイルされていない場合のみ、ライブラリディレクトリ中の同名ファイルを探索、パース、Elaborateというロジックになっています。パース終了後に、TOPを確定させ、TOPからインスタンス化展開していますので、結果的には、最後にコンパイルされるように見えます。
  1. 2007/11/26(月) 09:56:03 |
  2. URL |
  3. #-
  4. [ 編集 ]

たっくさん、サポートをしていただいているようで、どうも申し訳ありません。
了解しました。Elaborateの時に、ライブラリからコンパイルとなって、エラーが出るわけですね。
今度から`default_nettype noneを書いたVerilogファイル終わりに`default_nettype wireを書こうと思います。
  1. 2007/11/26(月) 17:31:45 |
  2. URL |
  3. marsee #-
  4. [ 編集 ]

コメントの投稿


管理者にだけ表示を許可する

トラックバック URL
https://marsee101.blog.fc2.com/tb.php/665-55599add
この記事にトラックバックする(FC2ブログユーザー)