スポンサーリンク
Systemverilog

SystemVerilog|【struct】構造体について考える

使い方構造体は様々な型を組み合わせて新たな型を作成します以下のように定義しますstruct { <型> <変数名>;} <構造体名>;または、typedefを使用して以下のように定義しますtypedef struct { <型> <変数名>...
Systemverilog

SystemVerilog|動的配列を使用する

動的配列とは配列を作成するとき、要素数は定義時に決定しますint data;動的配列はシミュレーション中に要素数を決定できますdata = new;配列の要素数を所得できますdata.size();使い終わったら削除できますdata.del...
Systemverilog

SystemVerilog|【inside】右辺に左辺が含まれるか

使い方<要素>が<要素群>に含まれていれば1、それ以外は0を返す<要素> inside <要素群>サンプルコードsample1.svmodule sample; int a; initial begin a = {1, 2, 3}; if ...
Systemverilog

SystemVerilog|【連想配列】キーで値を参照する配列ついて考える

田中太郎連想配列(associative array)についてまとめます連想配列のmethod<key_type>は連想配列のキーの型ですmethod 内容引数戻り値a.num()aの要素数を返すなしinta.exists(<key>)aの...
Systemverilog

SystemVerilog|【Queue】キューについて考える

Queueのmethod<queue_type>は、定義したキューの型です例)int q = {1, 2, 3, 4}; // 左の場合、<queue_type>はintになるmethod 内容引数戻り値a.size()要素数を返すなしin...
Systemverilog

SystemVerilog|【enum】列挙型について考える

enumのmethodmethod 内容引数戻り値a.first()aを定義するenumの最初の値を返すなしenuma.last()aを定義するenumの最後の値を返すなしenuma.next()aの次の値を返すintenuma.prev(...
Systemverilog

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

string型のmethodmethod 内容引数戻り値a.len()aの長さを返すなしinta.putc(<位置>, <文字>)aの<位置>と<文字>を置換するint,byteなしa.getc(<位置>)aの<位置>の文字を返すintst...
Systemverilog

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

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

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

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

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

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