Systemverilog

スポンサーリンク
Systemverilog

SystemVerilog|パラレルシリアル変換回路

田中太郎パラシリ変換回路を作りますサンプルコードinitの立ち上がりで入力されたパラレルデータをシリアルデータに変換しますsample.svmodule sample #( parameter BW = 10)( input clk, in...
Systemverilog

SystemVerilog|カウンタ回路を作成する

田中太郎3ビットカウンタを作成します仕様リセットで初期化して1クロックごとに1カウントアップしますサンプルコードサンプルコードですsample.svmodule sample #( parameter BW = 3)( input clk,...
Systemverilog

SystemVerilog|classでモニタを作成する

田中太郎クラスを使ってモニタを作成しますはじめにclassでモニタを作成するとextendsで継承できるので流用性が高くなります今回はベースとなるシンプルなモニタクラスを作成します構成インターフェース、モニタ、テストベンチから構成されていま...
Systemverilog

SystemVerilog|interfaceについて考える

田中太郎interfaceの使い方について考えますサンプルコードinterfaceを使用したサンプルコードですこのあとに解説がありますsample1.svinterface i_dut_t; // interfaceを定義 logic da...
Systemverilog

SystemVerilog|parameterで型を上書きする

田中太郎parameterでビット幅や定数を上位階層で変更するのは一般的ですがデータ型も変更できますサンプルコードまずはparameterを上書きしないでみますmodule tb; bit clk = 0; always #5 clk = ...
Systemverilog

SystemVerilog|bindのparameterについて考える

田中太郎bindのparameterを使用します使い方bind <A> <B> #( .<Bのパラメータ>(値)) <bind名> ( .<Bのポート>(<Aのポート>),);サンプルコード以下のコードは、リセット解除されるとオール1を出力...
Systemverilog

SystemVerilog|bindについて考える

田中太郎モニタやチェッカをテストベンチを接続するとき、しばしばbindを使用しますbindの使い方について考えていきますサンプルコードテストベンチ、モニタ、DUTから構成されていますDUTとモニタをテストベンチでバインドしていますmodul...
Systemverilog

SystemVerilog|taskでモニタを作成する

田中太郎モニタを作成します期待値は今回は省略して、値を標準出力するだけです構成DUTとテストベンチに分けて説明しますカウンタ回路今回モニタする回路ですリセットで初期化(0)するカウンタ回路です入力ポート・clk:クロック・rst_n:非同期...
Systemverilog

SystemVerilog|fork/join, join_none, join_anyについて考える

田中太郎fork-join/join_none/join_anyについて考えますforkでプロセスの並列実行forkを使うことでプロセスを並列に実行できます3種類あるのでそれぞれ紹介しますfork/joinfork/joinで囲ったプロセス...
Systemverilog

SystemVerilog|移動平均フィルタの実装

田中太郎移動平均フィルタを実装しました仕様3x1の水平移動平均フィルタです(1/4-1/2-1/4)画像の水平両端では注目画素を出力しますtop.svmain.svとctrl.svをインスタンスしている回路module top #( par...
スポンサーリンク