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

【Python】CSVのデータの合計値をエクセルの対応する場所に書き込む

やりたいことCSVで管理されたデータをエクセルファイルの対応する場所に書き込みます。ユースケースCSVにNameごとにDataA-Cが管理されています。その合計値を、エクセルファイルのNameの対応する場所に書き込みます。サンプルコードデー...
Python

【Python】引数を別ファイルで管理する【importlib.import_module】

やりたいことコマンドライン引数で毎回値を打つのがめんどくさいので、コンフィグファイルを用意して引数を管理します。Pythonの標準モジュールimportlib.import_moduleを使用します。サンプルコードコンフィグファイル(con...
Python

【Python】コマンドライン引数とオプション

サンプルコードまずはサンプルコードです。sample.pyimport argparsedef arg_parser(): """Parser.""" parser = argparse.ArgumentParser() parser.ad...
スポンサーリンク