Systemverilog

スポンサーリンク
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...
Systemverilog

【SystemVerilog】UVMで検証環境を作成する~Virtual InterfaceでクラスとDUTを接続する~【#5】

前回のおさらいSequence_item/Sequencer/Driver/Sequenceを作成してテストベンチに組み込みました。ここまではclass内で完結する話でした。Virtual InterfaceでclassとDUTを接続する今...
Systemverilog

【SystemVerilog】UVMで検証環境を作成する~Sequence_item/Sequencer/Driver/Sequenceを追加する~【#4】

前回のおさらいテストベンチにAgent階層を追加しました。sample_agent.svhclass sample_agent extends uvm_agent; `uvm_component_utils(sample_agent) fu...
Systemverilog

【SystemVerilog】UVMで検証環境を作成する~Agentを追加する~【#3】

前回のおさらいテストベンチにEnv階層を追加しましたsample_env.svhclass sample_env extends uvm_env; `uvm_component_utils(sample_env) function new(...
Systemverilog

【SystemVerilog】UVMで検証環境を作成する~Envを追加する~【#2】

前回のおさらいuvm_testを継承してsample_testのclassを作成しました。top.svmodule top; `include "uvm_macros.svh" // uvmのマクロを有効にする。「`」で始まるやつ。 imp...
Systemverilog

【SystemVerilog】UVMで検証環境を作成する~Hello World~【#1】

UVMとはUVM(Universal Verification Methodology)は、ハードウェアの検証を効率化するためのフレームワークであり、IEEE 1800 SystemVerilogの一部として提供されています。UVMのテスト...
Systemverilog

【SystemVerilog】randomize()でクラスのrand変数を確定する

randomize()systemverilogではclass内の変数をランダム変数(rand)で宣言することができます。randで宣言された変数は、classのbuilt-in methodであるrandomize()で確定されます。mo...
Systemverilog

【SystemVerilog】Constrained Randomを使用するテストベンチ【サンプルコード】

はじめにConstrained Randomの考え方を使ってテストベンチを作成します。実装では、実際にテストベンチを作成します。まずは制約なしで作成します。構成は以下の通りです。DUTの仕様in_validがHighのとき、din1とdin...
スポンサーリンク