mailbox
mailboxの例題です。
mailboxはどんな型を扱うかを宣言するときに指定する必要があります。
mailbox #(int) u_mail;
次のように型を指定しない場合は、
mailbox u_mail;
エラーメッセージが表示されます。
** Warning: mailbox.sv(6): (vlog-2181) Use of a parameterized class mailbox as a type creates a default specialization.
添付ファイル(mailbox.sv)をModelSim AE 6.4a Starter Editionでシミュレーションした結果は、次のようになります。
# vsim -do {run -all;quit} -c test_mailbox
# Loading sv_std.std
# Loading work.test_mailbox
# run -all
# get start at 50
# put = 100 at 100
# num = 1 at 100
# get done = 100 at 100
# num = 0 at 200
# try_put = 200 at 550
# try_get done = 200 at 600
# ** Note: Data structure takes 1703952 bytes of memory
# Process time 0.00 seconds
# $finish : mailbox.sv(19)
# Time: 1 us Iteration: 0 Instance: /test_mailbox