systemVerilogのimport問題 解決。。喜)

ある学校の先生がIEEE1800-2009(systemVerilogのリファレンスman)を持っていました。。喜)

早速に見せていただいた。。K先生ありがとう


で「systemVerilogのimport問題」とは

下記の記事で指摘したmoduleのportにpackage文を参照する物がある時、
どこへimportを記述するの???
http://blogs.yahoo.co.jp/sawaragikun/24742247.html

この時はmoduleの外側にimportを置いて切り抜けたけど。。moduleの外側では
グローバルに効いてしまい、イマイチおいしくないのだ。。

IEEE1800-2009を見せて貰いました。。

結果。。

module uart_transmitter import uart_package::* ;
                       (input wire    clk_i,
                        input wire    nrst_i,
                        input wire    trans_clk_en,
                         .....
                         .....

と言う感じにport listの直前に書く。
帰ってからコンパイルしてみると確かにOK!!
解決しました。


IEEE1800-2009に記述してあるBNFを見ると
module_ansi_xxxxxx 注)xxxxxx部分は忘れた。。汗)
と言う文になりport listの部分と分離してしまっている!!
   → import uart_package::* ;
と最後にセミコロンが有るでしょ。。文の終わりを示している。

文法的に美しくないと思うが。。
まあいいでしょう。。解決しましたから。


追記> 巨大BNFは解りづらいな~~~げろが出そうでした。。汗)
    だれか3Dでtreeを表示するBNFビュワーを作ってくれないかな。
    BNFはページ2枚がが限界だな。。汗)

systemVerilog RLM