Verification Engineerの戯言
Verilog HDLの対するTransaction Recordingについては、Verilog HDL Transaction Recordingに書きましたが、
今回はSystemVerilogのTransation Recordingです。
今回はSystemVerilogのTransation Recordingです。
Mentorが提唱するTransaction Recording, Modeling and Extensions for SystemVerilogです。
この記事によると、Verilog HDLと同様にPLIを使って、次のようなシステムタスクと関数を定義しています。
この記事によると、Verilog HDLと同様にPLIを使って、次のようなシステムタスクと関数を定義しています。
stream = $create_transaction_stream( string streamName, string streamKind ) transaction = $begin_transaction( handle stream, string transactionName [,time beginTime, handle parentTransaction] ) $end_transaction( handle transaction [, time endTime] ) $free_transaction( handle transaction ) $add_attribute( handle transaction, object attributeValue [, string attributeName] ) $add_relation( handle sourceTransaction, handle targetTransaction, string relationshipName )
Verilog HDLとの大きな違いは、SystemVerilogで導入された引数や戻り値にstring、handle、objectを使っているところです。
integer型の変数(cpu0_stream、transaction_handle)で受けていたり、HANDLEという型がでてきます。
でも
後半のAppendixでは、戻り値をhandle型の変数ではなく、integer型の変数(cpu0_stream、transaction_handle)で受けていたり、HANDLEという型がでてきます。
ルール違反です
一貫性が無いのは、いけません。P.S
今日、アクセスが多いのですが、どうしてなのでしょうか?
今日、アクセスが多いのですが、どうしてなのでしょうか?
検証、Verification、SystemVerilog