UVM

スポンサーリンク
UVM

uvm_phase 実行順序 UVM

はじめに uvm_phaseの種類と、各フェーズがトップダウン(Test階層→Env階層→Agent階層)で実行されるかボトムアップ(Agent階層→Env階層→Test階層)で実行されるかを調べました。 uvm_phase uvm_pha...
Systemverilog

UVM driver/sequencerはマクロで作成しよう

はじめに UVMを久しぶりに書くと、Driver, Sequencerの書き方を忘れます。 なので、Defineマクロを使って簡単に作成できるようにしましょう。 マクロを作成する Sequencer uvm_sequnecerを継承したSe...
Systemverilog

uvm_comparer uvm_object::compareの設定を変更する UVM

コマンドの説明 uvm_comparerはuvm_objectのMethodであるcompareの設定を変更できます。 使い方 uvm_object ob1; uvm_object ob2; uvm_comparer comp; initi...
Systemverilog

UVM print_topology()でuvm_componentの階層を表示する

使い方 uvm_top.print_topology(); でuvm_componentの階層をログに出力します。 サンプルコード top.sv module top; `include "uvm_macros.svh" import uv...
Systemverilog

UVM uvm_config_dbでsetした値をログに表示する

uvm_config_db#()::dump(); 完結に、uvm_config_db#(<type>)::set()で登録した値は uvm_config_db#()::dump(); でログに表示されます。<type>は指定してもしなくて...
Systemverilog

UVM TPRGEDが出た uvm_warning

現象 同じAgentを継承して別々なEnvを作成して そのEnvをテストベンチに組み込むとTPRGEDのWarningが出ます top.sv package pkg1; `include "uvm_macros.svh" import uv...
Systemverilog

uvm_config_dbについて考える

はじめに UVMを使っていると必ず出てくるuvm_config_db。 なんとなく、テストベンチでInterfaceをデータベースに登録して、クラスの中で呼び出すんだなぁと漠然と思っていました。 今回は様々な条件で使用してみて理解を深めます...
Systemverilog

UVM Sequenceを実行する方法まとめ

サンプルコード sample_sequence_item.svh Sequenceで使用するSequence_itemです。 class sample_sequence_item extends uvm_sequence_item; `uv...
Systemverilog

UVM Virtual SequenceでSequenceを実行する方法まとめ

サンプルコード sample_seq.svh(Sequence) 今回使用するSequenceです。 クラス変数として、din1とdin2を持ちます。 class sample_seq extends uvm_sequence #(samp...
Systemverilog

【UVM】ScoreBoardを作成する~期待値比較する~【#3】

はじめに 前回はuvm_tlm_analysis_fifoを使用してFIFOを実装しました。 今回はDUTの出力を取得してScoreBoardで期待値比較します。 サンプルコード dut.sv 入力データをそのまま出力するだけの回路です。 ...
スポンサーリンク