Systemverilog

スポンサーリンク
Systemverilog

【SystemVerilog】Constrained Randomについて考える

田中太郎Constrained Randomの考えを使った検証環境のサンプルを作成しました。本当はclassにrandの変数を定義してconstraintで範囲を決定→randomize()するのですが、constraintとrandomi...
Systemverilog

【SystemVerilog】interfaceを使用して回路を作成する

田中太郎UVMの検証環境ではinterfaceをよく使用しますRTLでも使用できるので、サンプルを作成しました回路仕様dinにオフセットを3回に分けて加算して出力しますin_validが1のときのdinが有効データで、out_validが1...
Systemverilog

SystemVerilog|【union】共用体について考える

田中太郎共用体についてまとめます使い方共用体は変数のビットを共用します以下のように定義しますunion { <型> <変数名>; <型> <変数名>;} <構造体名>;または、typedefを使用して以下のように定義しますtypedef u...
Systemverilog

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

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

SystemVerilog|動的配列を使用する

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

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

田中太郎insideの使い方についてまとめます使い方<要素>が<要素群>に含まれていれば1、それ以外は0を返す<要素> inside <要素群>サンプルコードsample1.svmodule sample; int a; initial b...
Systemverilog

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

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

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

田中太郎キューのmethod(組み込みfunction/task)についてまとめますQueueのmethod<queue_type>は、定義したキューの型です例)int q = {1, 2, 3, 4}; // 左の場合、<queue_ty...
Systemverilog

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

田中太郎enumのmethod(組み込みfunction/task)ついてまとめますenumのmethodmethod 内容引数戻り値a.first()aを定義するenumの最初の値を返すなしenuma.last()aを定義するenumの最...
Systemverilog

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

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