2020年10月21日水曜日

VIMのスペルチェッカーの塗りつぶし方法を変える

VIMでスペルチェックをかけると違反箇所は標準で赤塗りになるが,カラースキームによっては非常に見づらい.hilight SpellBadコマンドで制御できるのだが,うまくいかない場合はColorSchemeコマンドで囲うとよいようだ.

set spell
set spelllang+=cjk
autocmd ColorScheme * hi clear SpellBad
    \| hi SpellBad cterm=underline ctermbg=black
colorscheme ron

アンダーラインのみに変えた.


Source: 
jshint vimrc SpellBad customization does not stick
https://stackoverflow.com/questions/17333210/jshint-vimrc-spellbad-customization-does-not-stick

2020年8月23日日曜日

IC Compilerの配線長に制約を設定する (set_max_length)

IC Compile rでは通常使用する配線長に制約はない.意図的に制約を設けたいときは,
set_max_length オプションを使用することができる.
> set_max_length integer design
このオプションは設計者がトップレベルで配線バッファを挿入することを想定しているので,バッファ挿入コマンド create_buffer_tree と併用することが想定されている.
> set_max_length integer design
> create_buffer_tree -on_route
create_buffer_tree コマンドを実行するとバッファの挿入と配線がされてしまうので,配線を後でしたい場合は -skip_detail_route オプションをつけるとよい.

2020年8月21日金曜日

Calibre で cell is referenced but not defined とエラーが出る

Calibre LVS で
ERROR: Cell cellname is referenced but not defined
と表示されて LVS が止まる場合,GDS 中で参照されているセルのレイアウトが空である可能性がある.例えば参照している Milkyway が参照している Milkyway (孫)の参照が切れた状態で GDS を出力すると,孫に格納されていた Cell View が読み取れず空のレイアウトができてしまい,LVS が実行できなくなる.

とりあえず動かしたい場合は,空の GDS を参照しているマクロを GDS とソースネットから削除すれば LVS が動くようになる.

ソースネットではなくて GDS に問題があるので注意.なお DRC でも同じ違反がでます.

2020年8月12日水曜日

Mi Max 3

寿司食って膨らんだ男が浅草で爆発するCMで有名なXaomiのMi Max 3を買った.4月1日に注文したのに届いたのは4月22日だった.Amazon.co.jpで買ったのに中国直送とは思ってなかった…(COVID-19で物流が混乱している中申し訳なかった).



デカイデカイ言われるけれど,XPERIAより一回りちいさい.片手で十分持てる.


なぜかマスク2枚入ってた.日本でCOVID-19流行っているからかな,ありがたや.

2020年8月4日火曜日

Calibre xRC/xACT の出力ファイルを1つにまとめる

Calibre xRC/xACTの出力ファイルは,なぜか3つのファイルが出力される.手動でまとめてもよいが,Calibreのルールファイル中のネットリスト名指定時に SINGLEFILE オプションを与える事ではじめから1つのファイルに設定することができる.

PEX NETLIST "CELLNAME.spi" HSPICE 1 SOURCENAMES SINGLEFILE

2020年8月1日土曜日

BSIM-CMGでトランジスタ特性をばらつかせる

BSIM-CMGでトランジスタ特性をばらつかせるには,以下のモデルパラメータが利用できる.DELVTRAND,U0MULT,ISD0MULT以外はモデルパラメータとしてあらかじめ存在しているものである.

パラメータ:初期値:説明
DTEMP :0 K:デバイスの温度シフト量
DELVTRAND:0 V :閾値電圧シフト量
U0MULT:1.0 :移動度の係数
IDS0MULT:1.0 :ソースドレイン間チャネル電流の係数
TFIN:15e-9 m:Finの厚み
FPITCH:80e-9 m:Finピッチ
XL:0.0 m:マスク/エッチによるゲート長シフト量
NBODY:1e-22 m-3:チャネルドープ濃度
EOT:1e-9 m :実効ゲート酸化膜厚
TOXP:1.2e-9 m:実ゲート酸化膜厚
RSHS:0.0 Ω:ソースシート抵抗
RSHD:0.0 Ω:ドレインシート抵抗
RHOC:1e-12 Ω-m^2:シリコンシリサイド界面のコンタクト抵抗
RHORSD:計算される:ソースドレインの盛り上がり部の平均抵抗

Reference: BSIM-CMG 110.0.0 Multi-Gate MOSFET Compact Model Technical Manual, 2015

2020年7月25日土曜日

Perlの二次元配列の走査

よく忘れるのでメモ.

2020年6月26日金曜日

BSIM4 level 72におけるトランジスタ構造オプション

BSIM4 level 72 (BSIM-CMG)モデルは,一つのモデル式で様々な形状のトランジスタを表すことが可能である.近年のデバイス構造の進化によって様々なトランジスタ構造が提案されている.モデル式の中でトランジスタ構造を選択するオプションがあるので紹介する.

BULKMOD: default 1
BULK/SOIセレクターで,1だとBULK.

GEOMOD:default 1
ゲート構造セレクター.0はdouble gate, 1はtripple gate,2はquadruple gate,4はcylindrical gate

2020年6月19日金曜日

SiliconSmart のタイムステップ

SiliconSmart が呼び出すシミュレータのタイムステップは以下のパラメータで制御できる.

time_res_high
クリティカルな解析におけるシミュレーションタイムステップの最大値.高精度な過渡解析で必要となる最小の時間解像度となる.
デフォルト値:1e-12
レンジ:1e-15~1e-3

time_res_low
シミュレーションタイムステップの最大値.荒い時間分解の最大値となる.
デフォルト値:100e-12
レンジ:1e-15~1e-3

ちなみに,time_res_high のデフォルト値は 2016 はマニュアルの記載では 1e-10 なのだが,誤植です.Magma 発行の 2007 のマニュアルには 1e-12 が記載されていた.長年の疑問が解けた..

2020年6月16日火曜日

Libertyモデル(.lib)における,index_1とindex_2のxy軸対応

index_1がy軸,index_2が横軸.

fall_constraint(mpw){
index_1("0.1, 0.2, 0.3");
index_2("0.1, 0.2");
values( "1.10 1.11", \
"1.12 1.13" \
"1.14 1.15");
}

index_x,index_yとすればよかったのにね.開発当時多次元Matrixを想定していなかったのだろう.Liberty のフォーマットは結構レガシーなので,そういう問題が多々あったりする(エネルギーではなくPowerで計算していたり)

参考:Library Compiler User Guide, 2017