スポンサーリンク
Systemverilog

SystemVerilog|【string】文字列操作について考える

田中太郎 stringのmethod(組み込みfunction/task) についてまとめます string型のmethod method 内容引数戻り値a.len()aの長さを返すなしinta.putc(<位置>, <文字>)aの<位置>...
Systemverilog

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

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

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

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

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

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

SystemVerilog|interfaceについて考える

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

SystemVerilog|parameterで型を上書きする

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

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

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

SystemVerilog|bindについて考える

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

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

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

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

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