verilog2001の仕様書を見たときにどうして無いの思った所が
例のユーザー定義型ともう一つpackage文。。
例のユーザー定義型ともう一つpackage文。。
やっとsystemVerilogでpackage文も使えるようになりました。。喜)
packageではparameter,typedef struct..等の定義記述をまとめてコンパイル、
コンパイル済みライブラリとして参照できる。
→ライブラリ vlib workとかしてライブラリディレクトリを作るやつ。
コンパイル済みライブラリとして参照できる。
→ライブラリ vlib workとかしてライブラリディレクトリを作るやつ。
固定値をdefineで記述して作ったやたら長いファイル有りません??
includeするときにうっとうしいでしょう。
モジュール単体でシミュレーションするときとchipでシミュレーションするときで
pathが変わってしまいifdefで切り分けたりとか。
includeするときにうっとうしいでしょう。
モジュール単体でシミュレーションするときとchipでシミュレーションするときで
pathが変わってしまいifdefで切り分けたりとか。
この様なときに、packageでparameter,localparam,typedef..をまとめてコンパイル済み
ライブラリとして置けばinclude-pathの心配なしで便利です。
systemVerilog_3.1aをみるとpackage内にいっぱい書ける。 p262のBNFだ~~~
ライブラリとして置けばinclude-pathの心配なしで便利です。
systemVerilog_3.1aをみるとpackage内にいっぱい書ける。 p262のBNFだ~~~
package_declaration ::= { attribute_instance } package package_identifier ; [ timeunits_declaration ] { { attribute_instance } package_item } endpackage [ : package_identifier ] package_item ::= package_or_generate_item_declaration | specparam_declaration | anonymous_program | timeunits_declaration18 package_or_generate_item_declaration ::= net_declaration | data_declaration | task_declaration | function_declaration | dpi_import_export | extern_constraint_declaration | class_declaration | class_constructor_declaration | parameter_declaration ; | local_parameter_declaration | covergroup_declaration | overload_declaration | concurrent_assertion_item_declaration | ;
ポートに参照の必要なユーザー定義の型が有るときは
→Quaruts2 9.1sp1&modelSimの場合。
IEEE 1800リファレンスmanを見てないので本当にこれでOKかは??です。。汗)
import uart_package:: * ; module uart_transmitter(input wire clk_i, input wire nrst_i, input wire trans_clk_en, output wire txd_out, fifo_bus fifo_pop, input u_reg_t u_reg,とかmoduleの前に置けばOKでした。
→Quaruts2 9.1sp1&modelSimの場合。
IEEE 1800リファレンスmanを見てないので本当にこれでOKかは??です。。汗)
systemVerilog