スポンサーリンク
Systemverilog

SystemVerilog softでconstraintを上書きする

はじめにrand変数で定義した変数はrandomizeで値が確定します。withを付けることで、インラインで制約を付けることができますが、class内に宣言した制約とconflictするとrandomizeが失敗します。softを使用するこ...
Systemverilog

Verilog defineマクロで「”」を使う

はじめにVerilogのDefineマクロでダブルクォーテーション「"」を使用します。やり方「`」バッククォートでエスケープできます。`defineDISPLAY(a)$display(`"a`");サンプルコードmoduletop();`...
Python

fontawesome Edgeで表示されるがIEでは表示されないときの対処法

はじめにEdge環境でFontawesomeが表示されるが、IEでは表示されないときの対処法です。対処法headタグに下記を追加します。なるべく最初に入れます。<head><metahttp-equiv="X-UA-Compatible"c...
Systemverilog

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

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

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

はじめにVerilogではParameterは以下のように宣言できます。parametermodulesample1();parameterA=1;parameterB=2;また、SystemVerilogではParameterをPortの...
Systemverilog

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

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

inout ポートはwireでつなぐ SystemVerilog

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

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

はじめに$displayなどで変数の値をログに表示することができますが、その他にも色々な値を表示できます。Format%mを使用することで、現在の階層を取得することができます。使い方$display("%m");サンプルコードmodulet...
Python

現在のアクセス権に別なアクセス権を追加するPython

はじめにアクセス権を付与するのはos.chmod()で行えます。しかし、現在あるアクセス権に対してWrite権限のみを追加するなどはできません。そこで、アクセス権を追加するスクリプトを作成しました。コードadd_mod(<ファイル>,<追加...
Python

ディレクトリの中身を別なディレクトリにコピー Python

はじめにディレクトリはshutil.copytreeでコピーできますが、コピー先のディレクトリがすでに存在する場合は使えません。やりたいことwork1/の下にディレクトリやファイルが格納されています。それらをwork2/にすべてコピーします...
スポンサーリンク