UVM uvm_phase 実行順序 UVM はじめにuvm_phaseの種類と、各フェーズがトップダウン(Test階層→Env階層→Agent階層)で実行されるかボトムアップ(Agent階層→Env階層→Test階層)で実行されるかを調べました。uvm_phaseuvm_phaseの... 2023.01.26 UVM
Systemverilog UVM driver/sequencerはマクロで作成しよう はじめにUVMを久しぶりに書くと、Driver, Sequencerの書き方を忘れます。なので、Defineマクロを使って簡単に作成できるようにしましょう。マクロを作成するSequenceruvm_sequnecerを継承したSequnce... 2022.12.01 SystemverilogUVM
Systemverilog uvm_comparer uvm_object::compareの設定を変更する UVM コマンドの説明uvm_comparerはuvm_objectのMethodであるcompareの設定を変更できます。使い方 uvm_object ob1; uvm_object ob2; uvm_comparer comp; initial... 2022.10.24 SystemverilogUVM
Systemverilog UVM print_topology()でuvm_componentの階層を表示する 使い方uvm_top.print_topology();でuvm_componentの階層をログに出力します。サンプルコードtop.svmodule top; `include "uvm_macros.svh" import uvm_pkg... 2022.08.13 SystemverilogUVM
Systemverilog UVM uvm_config_dbでsetした値をログに表示する uvm_config_db#()::dump();完結に、uvm_config_db#(<type>)::set()で登録した値はuvm_config_db#()::dump();でログに表示されます。<type>は指定してもしなくても、す... 2022.08.12 SystemverilogUVM
Systemverilog UVM TPRGEDが出た uvm_warning 現象同じAgentを継承して別々なEnvを作成してそのEnvをテストベンチに組み込むとTPRGEDのWarningが出ますtop.svpackage pkg1; `include "uvm_macros.svh" import uvm_pk... 2022.08.12 SystemverilogUVM
Systemverilog uvm_config_dbについて考える はじめにUVMを使っていると必ず出てくるuvm_config_db。なんとなく、テストベンチでInterfaceをデータベースに登録して、クラスの中で呼び出すんだなぁと漠然と思っていました。今回は様々な条件で使用してみて理解を深めます。また... 2022.05.20 SystemverilogUVM
Systemverilog UVM Sequenceを実行する方法まとめ サンプルコードsample_sequence_item.svhSequenceで使用するSequence_itemです。class sample_sequence_item extends uvm_sequence_item; `uvm_o... 2022.04.24 SystemverilogUVM
Systemverilog UVM Virtual SequenceでSequenceを実行する方法まとめ サンプルコードsample_seq.svh(Sequence)今回使用するSequenceです。クラス変数として、din1とdin2を持ちます。class sample_seq extends uvm_sequence #(sample_s... 2022.04.21 SystemverilogUVM
Systemverilog 【UVM】ScoreBoardを作成する~期待値比較する~【#3】 はじめに前回はuvm_tlm_analysis_fifoを使用してFIFOを実装しました。今回はDUTの出力を取得してScoreBoardで期待値比較します。サンプルコードdut.sv入力データをそのまま出力するだけの回路です。validが... 2022.04.20 SystemverilogUVM