Systemverilog

スポンサーリンク
Systemverilog

Verilog Defineマクロでエスケープ文字を使う

はじめに VerilogのDefineマクロで「"」を使用します。 やり方 「`」バッククォートでエスケープできます。 `define DISPLAY(a) $display(`"a`"); ...
Systemverilog

UVM driver/sequencerはマクロで作成しよう

はじめに UVMを久しぶりに書くと、Driver, Sequencerの書き方を忘れます。 なので、Defineマクロを使って簡単に作成できるようにしましょう。 マクロを作成する Sequencer uvm_...
Systemverilog

parameter port listとparameterを宣言すると上書きできない SystemVerilog

はじめに VerilogではParameterは以下のように宣言できます。 parameter module sample1(); parameter A = 1; parameter B = 2; ...
Systemverilog

class内のtask/functionはautomaticになる SystemVerilog

はじめに task/functionはデフォルトでstaticで宣言されるので注意が必要です。 しかし、LRM 11.9よりclass内のtask/functionはautomaticで宣言されます。 解説 ...
Systemverilog

inout ポートはwireでつなぐ SystemVerilog

はじめに Verilogは信号をその用途によってregかwireで宣言する必要があります。 代わってSystemVerilogにはlogicという便利な宣言方法があります。Verilogでreg/wireで宣言していた信号は「...
Systemverilog

$display RTLの階層を表示する Verilog

はじめに $displayなどで変数の値をログに表示することができますが、その他にも色々な値を表示できます。 Format %mを使用することで、現在の階層を取得することができます。 使い方 $display(&q...
Systemverilog

uvm_comparer uvm_object::compareの設定を変更する UVM

コマンドの説明 uvm_comparerはuvm_objectのMethodであるcompareの設定を変更できます。 使い方 uvm_object ob1; uvm_object ob2; uv...
Systemverilog

【>>>/<<<】算術シフト演算子とシフト演算子 Verilog

はじめに Verilogにはシフト演算子「>>/<<」(Shift Operator)と算術シフト演算子「>>>/<<<」(Arithmetic Shift Operator)があります。 使い方...
Systemverilog

【default_nettype】暗黙的なWire宣言 Verilog

はじめに Verilogでは1ビットの信号は宣言しなくてもWireと認識されます。 それは、default_nettype というDirectiveのデフォルト値がWireだからです。 module top; a...
Systemverilog

Priority/Unique/Unique0の動作確認 SystemVerilog

はじめに Priority, Unique, Unique0というものがあると聞いて、動作確認してみました。 使い方 if/caseの前に付けることが可能です。 priority if (<条件1>) ...
スポンサーリンク
タイトルとURLをコピーしました