Vengineerの妄想(準備期間)

人生は短いけど、長いです。人生を楽しみましょう!

How VMM can help controlling transactors easily?

Verification Engineerの戯言

VMM BlogのHow VMM can help controlling transactors easily?では、VMM 1.1で導入されたvmm_xactor_iterクラスの使い方について説明しています。

vmm_xactor_iterクラスを使うことで、イタレータで各トランザクタを扱えるようになります。

使い方を、VMM 1.1のVMM Standard Library User Guildeの例題で確認してみましょう!
    vmm_xactor_iter iter = new("/AHB/");
    
    while (iter.xactor() != null) begin
        ahb_master ahb;
        if ($cast(ahb, iter.xactor()) begin
            ...
        end
        iter.next();
    end
ポイントは、iter.xactor()iter.next()です。
この他にも、iter.first()というものもありますが、この関数は明示的に呼ぶ必要はありません。

トランザクタをたくさん扱うときに便利なクラスですね!

今回のBlogのように、VMM 1.1の新しい機能(クラス)を説明してくれるのは非常にうれしいです。

検証、Verification、SystemVerilog、VMM、Verification Methodology Manual