Vengineerの妄想(準備期間)

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

OVM 2.0 :release-notes(その1:sequencer/driver)

Verification Engineerの戯言

release-notes.txtには、
    Release Notes for OVM-2.0

    August 5, 2008
とあります。1ヶ月も前に、内部リリースされていました。

モデルとしては、Unified sequencesがメインです。
そうです。メンターのシナリオ(ovm_scenarioクラス)は、deprecatedになってしまいました。残念!

Unified sequencersequencer/driverAPIは、次の8つ!
    ・has_do_available()
    ・wait_for_sequences()
    ・get_next_item()
    ・try_next_item()
    ・item_done()
    ・put()
    ・get()
    ・peek()
これらAPIは、sqr_if_baseクラスのタスクおよび関数です。
ovm_driverクラスは、seq_item_portポートを持ちます。
seq_item_portポートは、ovm_seq_item_pull_portクラスインスタンスです。
また、ovm_scequencerクラスは、seq_item_exportエキスポートを持ちます。
seq_item_exportエキスポートは、ovm_seq_item_pull_exportクラスインスタンスです。
そうです。TLM(SystemCでのTLMとコンセプトは同じ)のport/exportの関係です。

sequencerdriverの接続は、connect関数で次のように行います。
    User GuideのP.53

    virtual function void connect();
      if(is_active == OVM_ACTIVE) begin
        driver.seq_item_port.connect(sequcener.seq_item_export);
      end
    endfunction : connect

検証、Verification、SystemVerilog、OVM、Open Verification Methodology