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