classの簡単な応用例として、packetのclassをqueueに積んでから、取り出して中身を表示するということをやってみます。
--- test.sv ---
module test;initial文中、forループでpacketを1つずつ生成してqueueに積んでいます。…①
queueに積まれた数は、.size()メソッドでわかりますから、while文の条件に入れてqueueが空になるまでpacketを取り出し、classに埋め込んだfunctionをcallしています。…②
--- 実行結果 ---
# ==================================# header : 00h# payload[0] : 12153524h# payload[1] : c0895e81h# payload[2] : 8484d609h# payload[3] : b1f05663h# ==================================# header : 01h# payload[0] : 06b97b0dh# payload[1] : 46df998dh# payload[2] : b2c28465h# payload[3] : 89375212h# ==================================# header : 02h# payload[0] : 00f3e301h# payload[1] : 06d7cd0dh# payload[2] : 3b23f176h# payload[3] : 1e8dcd3dh# ==================================# header : 03h# payload[0] : 76d457edh# payload[1] : 462df78ch# payload[2] : 7cfde9f9h# payload[3] : e33724c6h