Systemverilog SystemVerilog softでconstraintを上書きする はじめにrand変数で定義した変数はrandomizeで値が確定します。withを付けることで、インラインで制約を付けることができますが、class内に宣言した制約とconflictするとrandomizeが失敗します。softを使用するこ... 2022.12.14 Systemverilog
Systemverilog Verilog defineマクロで「”」を使う はじめにVerilogのDefineマクロでダブルクォーテーション「"」を使用します。やり方「`」バッククォートでエスケープできます。`defineDISPLAY(a)$display(`"a`");サンプルコードmoduletop();`... 2022.12.06 Systemverilog
Python fontawesome Edgeで表示されるがIEでは表示されないときの対処法 はじめにEdge環境でFontawesomeが表示されるが、IEでは表示されないときの対処法です。対処法headタグに下記を追加します。なるべく最初に入れます。<head><metahttp-equiv="X-UA-Compatible"c... 2022.12.05 Python
Systemverilog UVM driver/sequencerはマクロで作成しよう はじめにUVMを久しぶりに書くと、Driver,Sequencerの書き方を忘れます。なので、Defineマクロを使って簡単に作成できるようにしましょう。マクロを作成するSequenceruvm_sequnecerを継承したSequncer... 2022.12.01 SystemverilogUVM
Systemverilog parameter port listとparameterを宣言すると上書きできない SystemVerilog はじめにVerilogではParameterは以下のように宣言できます。parametermodulesample1();parameterA=1;parameterB=2;また、SystemVerilogではParameterをPortの... 2022.11.26 Systemverilog
Systemverilog class内のtask/functionはautomaticになる SystemVerilog はじめにtask/functionはデフォルトでstaticで宣言されるので注意が必要です。しかし、LRM11.9よりclass内のtask/functionはautomaticで宣言されます。解説sample1.svまずは、普通にtask... 2022.11.21 Systemverilog
Systemverilog inout ポートはwireでつなぐ SystemVerilog はじめにVerilogは信号をその用途によってregかwireで宣言する必要があります。代わってSystemVerilogにはlogicという便利な宣言方法があります。Verilogでreg/wireで宣言していた信号は「ほとんど」logi... 2022.11.16 Systemverilog
Systemverilog $display RTLの階層を表示する Verilog はじめに$displayなどで変数の値をログに表示することができますが、その他にも色々な値を表示できます。Format%mを使用することで、現在の階層を取得することができます。使い方$display("%m");サンプルコードmodulet... 2022.11.14 Systemverilog
Python 現在のアクセス権に別なアクセス権を追加するPython はじめにアクセス権を付与するのはos.chmod()で行えます。しかし、現在あるアクセス権に対してWrite権限のみを追加するなどはできません。そこで、アクセス権を追加するスクリプトを作成しました。コードadd_mod(<ファイル>,<追加... 2022.11.11 Python
Python ディレクトリの中身を別なディレクトリにコピー Python はじめにディレクトリはshutil.copytreeでコピーできますが、コピー先のディレクトリがすでに存在する場合は使えません。やりたいことwork1/の下にディレクトリやファイルが格納されています。それらをwork2/にすべてコピーします... 2022.11.03 Python