2024年7月31日水曜日

draw.io の PMOS シンボルを作る

draw.io を使おうと試行錯誤しているのだが,PMOS のシンボルが気に入らない.なのでテンプレートを元に編集して作ってみた. 
  1. <shape aspect="fixed" h="110" name="PMOS" strokewidth="inherit" w="70">
  2. <connections>
  3. <constraint name="NE" perimeter="0" x="1" y="0" />
  4. <constraint name="SE" perimeter="0" x="1" y="1" />
  5. <constraint name="W" perimeter="0" x="0" y="0.5" />
  6. </connections>
  7. <background>
  8. <save />
  9. <ellipse h="10" w="10" x="30" y="50" />
  10. </background>
  11. <foreground>
  12. <stroke />
  13. <path>
  14. <move x="41" y="35" />
  15. <line x="41" y="75" />
  16. </path>
  17. <stroke />
  18. <path>
  19. <move x="70" y="0" />
  20. <line x="70" y="35" />
  21. <line x="45" y="35" />
  22. <line x="45" y="75" />
  23. <line x="70" y="75" />
  24. <line x="70" y="110" />
  25. </path>
  26. <stroke />
  27. <path>
  28. <move x="0" y="55" />
  29. <line x="30" y="55" />
  30. </path>
  31. <stroke />
  32. <restore />
  33. <rect />
  34. <stroke />
  35. <fillstroke />
  36. </foreground>
  37. </shape>
 

ついでに NMOS も.
  1. <shape aspect="fixed" h="110" name="NMOS" strokewidth="inherit" w="70">
  2. <connections>
  3. <constraint name="NE" perimeter="0" x="1" y="0" />
  4. <constraint name="SE" perimeter="0" x="1" y="1" />
  5. <constraint name="W" perimeter="0" x="0" y="0.5" />
  6. </connections>
  7. <background>
  8. <save />
  9. </background>
  10. <foreground>
  11. <stroke />
  12. <path>
  13. <move x="41" y="35" />
  14. <line x="41" y="75" />
  15. </path>
  16. <stroke />
  17. <path>
  18. <move x="70" y="0" />
  19. <line x="70" y="35" />
  20. <line x="45" y="35" />
  21. <line x="45" y="75" />
  22. <line x="70" y="75" />
  23. <line x="70" y="110" />
  24. </path>
  25. <stroke />
  26. <path>
  27. <move x="0" y="55" />
  28. <line x="41" y="55" />
  29. </path>
  30. <stroke />
  31. <restore />
  32. <rect />
  33. <stroke />
  34. <fillstroke />
  35. </foreground>
  36. </shape>
 

ついでに,4端子版の PMOS と NMOS も作ってみた.
  1. <shape aspect="fixed" h="110" name="PMOS4" strokewidth="inherit" w="70">
  2. <connections>
  3. <constraint name="NE" perimeter="0" x="1" y="0" />
  4. <constraint name="SE" perimeter="0" x="1" y="1" />
  5. <constraint name="W" perimeter="0" x="0" y="0.5" />
  6. </connections>
  7. <background>
  8. <save />
  9. <ellipse h="10" w="10" x="30" y="50" />
  10. </background>
  11. <foreground>
  12. <stroke />
  13. <path>
  14. <move x="41" y="35" />
  15. <line x="41" y="75" />
  16. </path>
  17. <stroke />
  18. <path>
  19. <move x="70" y="0" />
  20. <line x="70" y="35" />
  21. <line x="45" y="35" />
  22. <line x="45" y="75" />
  23. <line x="70" y="75" />
  24. <line x="70" y="110" />
  25. </path>
  26. <stroke />
  27. <path>
  28. <move x="0" y="55" />
  29. <line x="30" y="55" />
  30. </path>
  31. <stroke />
  32. <path>
  33. <move x="70" y="55" />
  34. <line x="45" y="55" />
  35. </path>
  36. <stroke />
  37. <restore />
  38. <rect />
  39. <stroke />
  40. <fillstroke />
  41. </foreground>
  42. </shape>
 
  1. <shape aspect="fixed" h="110" name="NMOS4" strokewidth="inherit" w="70">
  2. <connections>
  3. <constraint name="NE" perimeter="0" x="1" y="0" />
  4. <constraint name="SE" perimeter="0" x="1" y="1" />
  5. <constraint name="W" perimeter="0" x="0" y="0.5" />
  6. </connections>
  7. <background>
  8. <save />
  9. </background>
  10. <foreground>
  11. <stroke />
  12. <path>
  13. <move x="41" y="35" />
  14. <line x="41" y="75" />
  15. </path>
  16. <stroke />
  17. <path>
  18. <move x="70" y="0" />
  19. <line x="70" y="35" />
  20. <line x="45" y="35" />
  21. <line x="45" y="75" />
  22. <line x="70" y="75" />
  23. <line x="70" y="110" />
  24. </path>
  25. <stroke />
  26. <path>
  27. <move x="0" y="55" />
  28. <line x="41" y="55" />
  29. </path>
  30. <stroke />
  31. <path>
  32. <move x="70" y="55" />
  33. <line x="45" y="55" />
  34. </path>
  35. <stroke />
  36. <restore />
  37. <rect />
  38. <stroke />
  39. <fillstroke />
  40. </foreground>
  41. </shape>
 

できあがりはこんな感じ.コピペして使います.


テンプレートそのものを編集できれば良いのだけれど.

参考:

2024年7月23日火曜日

IC5のライブラリ(CDB)をIC6に変換する

cdb2oa を使う事で,IC5 のライブラリ (CDB) を IC6 のライブラリ (OpenAccess) に変換できる.これは IC6 に入っているので,IC5 は必要ない.

・準備
IC6 の設計ディレクトリを IC5 とは別の設計ディレクトリを用意する.
IC5 の変換対象のライブラリと同名のライブラリを IC6 にも用意する.空っぽで OK.
IC5 の変換対象のライブラリのロックを解除しておくこと.cdb.lock を削除すればよい.
LIB1 が LIB2 のセルを利用している場合,LIB2,LIB1の順番に変換すること.
LIB1 が LIB3 のテクノロジファイルを Attach している場合,LIB3,LIB1の順番に変換すること.

・使い方
IC6 の設計ディレクトリに移動する.
% cd [IC6 dir]
cdb2oa を実行.
% cdb2oa -cdslibpath [path of IC51] -lib [lib name of IC51]

・参考

2024年7月18日木曜日

IC Compiler/ IC Compiler II でマクロの配線長を報告する

IC Compiler/IC Compiler II ではマクロ中の配線長を報告する事が出来る.報告の方法もいくつか段階がある.

(1) マクロ内の総配線長を知りたい場合 (統計値)
IC Compiler    : report_qor
IC Compiler II : report_qor

(2) マクロ内の各配線層ごとの配線長を知りたい場合(統計値)
IC Compiler      : report_design -physical
IC Compiler II  : report_design -routing

(3) 特定の配線の配線長を知りたい場合
IC Compiler    : report_net_physical [net_name]
IC Compiler II : report_nets -physical [net_name]

なんだか微妙にコマンドやオプションが変わっているけれど,報告内容そのものは同じのよう.

2024年7月4日木曜日

Let's Note CF-FV1の電力制御

Let's Note は「PC設定ユーティリティ」でファンの速度を変更できるのだが,CPU をぶん回す意図で「高速」設定にしていたのだけれど,これは間違いだったという小話.
PC:CF-FV1,Core i7-1165G7 4-core 8-thread,LPDDR4X-4266 16GB,CT100P1 (爆熱SSD)
負荷:ngspice 8 並列

観察していると以下のような感じだった.計測は OCCT を目視です.
・標準:最初10秒ほど28W,4GHz,1分ほどは25W,3.9GHz ぐらいで動作し,それから20W,3GHz ぐらいで継続して動作.温度は70度~80度,ファン爆速
・高速:17W,2.8GHz ぐらいで動作.温度は60度,ファン爆速
・低速:17W,2.6GHz ぐらいで動作.温度は65度,ファン低速

ファン高速モードは,CPU高速動作モードではなくて,CPUいたわりモードなのであった.標準にしておけということだな.

OCCT には以下の情報が記載されていた.
CPU TDP: 28.0W
CPU Power Limit 1 (Long Duration) : (21.00W)(28.00sec)
CPU Power Limit 2 (Short Duration) : (60.00W)(2.44msec)

TDP,TDPって一体何なんだ.