スポンサーリンク
Systemverilog

SystemVerilog|interfaceについて考える

サンプルコードinterfaceを使用したサンプルコードですこのあとに解説がありますsample1.svinterface i_dut_t; // interfaceを定義 logic data;endinterfacemodule tb;...
Systemverilog

SystemVerilog|parameterで型を上書きする

サンプルコードまずはparameterを上書きしないでみますmodule tb; bit clk = 0; always #5 clk = ~clk; // クロックを生成 initial #10 $finish; // dutをインスタン...
Systemverilog

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

使い方bind <A> <B> #( .<Bのパラメータ>(値)) <bind名> ( .<Bのポート>(<Aのポート>),);サンプルコード以下のコードは、リセット解除されるとオール1を出力するDUTとそれを出力するモニタテストベンチから...
Systemverilog

SystemVerilog|bindについて考える

サンプルコードテストベンチ、モニタ、DUTから構成されていますDUTとモニタをテストベンチでバインドしていますmodule tb; bit clk = 0; bit rst_n = 0; always #5 clk = !clk; init...
Systemverilog

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

構成DUTとテストベンチに分けて説明しますカウンタ回路今回モニタする回路ですリセットで初期化(0)するカウンタ回路です入力ポート・clk:クロック・rst_n:非同期リセット。1でカウンタ値が初期化される出力ポート・dout:カウンタ値を出...
Systemverilog

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

forkでプロセスの並列実行forkを使うことでプロセスを並列に実行できます3種類あるのでそれぞれ紹介しますfork/joinfork/joinで囲ったプロセスがすべて終了すると次のプロセスに移動しますmodule tb; initial ...
Systemverilog

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

仕様3x1の水平移動平均フィルタです(1/4-1/2-1/4)画像の水平両端では注目画素を出力しますtop.svmain.svとctrl.svをインスタンスしている回路module top #( parameter IMG_W = 512,...
Systemverilog

SystemVerilog|メディアンフィルタの実装

全体構成BMPの画像に3×1のメディアンフィルタをかけてresult.bmpの名前で保存します画像データをテストベンチで読み込み回路に与えますenableがHighのときのdinが有効入力画像データで、validがHighのときのdoutが...
Systemverilog

SystemVeilog|画像処理回路とテストベンチ

概要BMP画像をテストベンチに与えると、8ビットのデータに変換して1クロック毎に回路に与える回路は画像データを2値化して出力する出力データが有効のときはvalidがHighになる入力データをすべて処理し終わるとinterruptがHighに...
Systemverilog

SystemVerilog|BMPファイルを2値化する

サンプルコードグレースケールのBMPファイルを読み込み、同じ画像サイズで保存しますIMG_H,IMG_Wで画像の高さ、幅を指定していますmodule tb; localparam IMG_H = 512; localparam IMG_W ...
スポンサーリンク