スポンサーリンク
Systemverilog

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

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

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

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

【UVM】ScoreBoardを作成する~uvm_tlm_analysis_fifoを使用する~【#2】

はじめに前回はScoreBoardでAnalysis Exportを定義してMonitor階層のAnalysis Portと接続しました。Analysis Exportはデータを受け取るだけなので、FIFOのようにデータを保持する仕組みをS...
Systemverilog

【UVM】ScoreBoardを作成する~Monitor階層からトランザクションを取得する~【#1】

はじめにScoreBoardはDUTの出力と期待値を比較する階層です。UVMモデルのMonitorとAnalysis Portを介してDUTの出力を取得します。サンプルコードsample_scoreboard.svhuvm_scoreboa...
Systemverilog

【UVM】Register階層を作成する~AdapterでAgentと接続する~【#2】

前回のおさらいRegister階層を作成しました。UVMモデルを介してDUTのレジスタにアクセスするためにAdapterを作成します。サンプルコードsample_sequence_item.svhRegister階層と接続するUVMモデル(...
Systemverilog

【UVM】Register階層を作成する~uvm_regでレジスタを管理する~【#1】

はじめにRegister階層(Register Layer)を作成します。UVMではレジスタをuvm_regを継承したクラスで定義します。1レジスタごとに1クラスを作成して、uvm_reg_blockを継承したクラスで1まとめにします。サン...
Systemverilog

【UVM】クロック生成モデル

はじめにUVM環境でクロック生成モデルを作成します。構成とサンプルコードUVMモデルの構成Sequence_itemclock_sequence_item.svhclass clock_sequence_item extends uvm_s...
Systemverilog

【SystemVerilog】UVMで検証環境を作成する~なるべく最小構成~【#8】

前回のおさらいVirtual SequenceとVirtual Sequencerを作成しました。今回は、これまで作成したテストベンチをなるべく短いコードで再掲します。なるべく最小構成top.sv(最上位階層)top.svmodule to...
Systemverilog

【SystemVerilog】UVMで検証環境を作成する~Virtual SequencerとVirtual Sequence~【#7】

前回のおさらいuvm_monitorを継承してMonitor階層を作成しました。Virtual SequencerとVirtual Sequenceを作成する複数の検証コンポーネントをテストベンチに組み込むと、Sequenceも増えていきま...
Systemverilog

【SystemVerilog】UVMで検証環境を作成する~MonitorでDUTを監視する~【#6】

前回のおさらいVirtual Interfaceを追加してDUTをテストベンチを接続しました。Monitorを追加する前回使用したVirtual Interfaceを使ってテストベンチにMonitor階層を追加します。uvm_monitor...
スポンサーリンク