2022年6月22日水曜日

Primelib は SiliconSmart と同じ

 タイトルそのまま.同じスクリプトがそのまま動きます.むしろ起動時に
> Reading  /cad/synopsys/primelib/T-2022.03-1/etc/sis.err...done
なんてログが出てくるので,「さては SiliconSmart だな,テメー」,という気分になります.

2022年6月3日金曜日

インターンシップの思い出

唐突に,1x年前の学部時代のインターンシップの事を思い出したので書いてみる.もう時効だよね.当時まだ赤かった頃です.

・統合して4年経つのに旧M,旧Hと言う言葉が普通に使われる.福利厚生も違うという噂.
・技術者数に対してCADのライセンスが全く足りない.そのため技術者はライセンスサーバーをポーリングするスクリプトを書いて,ライセンスを取れたら仕事をするという感じだった.
・上記のため,回路設計のためのシミュレータ(Cadence ncverilog)がほとんど使えない.仕方が無いので別のマイナーメーカーの設計ツールを利用していた(Novas debussy).手持ちのノートPCにインストールした Veritak の方が便利だった始末.
→ debussy は使えると便利で,後継(?)の Veridi をたまに利用するようになった.
・前年度落選したベンダーが翌年営業攻勢をかけるため使えるCADが年度ごとに変わる.当時は意味を理解していなかったが,今思うと毎年習熟すべき CAD が変わるとか習熟コストを考えると非効率的すぎるのでは.
・技術者は忙しいのか,メンターさん含めてあまりこまめに見てもらえなかった.朝から晩まで会議だったり.派遣の方が一番優しかった気がする.これは部署や時期にもよるだろう.
・いっぽうでたばこ休憩が多かった.
・食堂がキツキツなうえにとにかくご飯がおいしくなかった.
・昼休憩後のトイレの個室が空いているところを見たことがない.寝てる?
・寮の食堂が量は多いわおいしいわで天国だった.お風呂も広かった.
・8時出社して20時帰寮して22時ぐらいまで試行錯誤していた.

3週間かけてI2Cの仕様書を理解してバスマスタ・スレーブのRTLを書く課題で,半泣きだったけれどステートマシンの理解がきちんとできたのでそういう意味では大変よかった.大学院生向けの課題だと聞いて後で泣いた.ここには絶対就職しないとも思った.事業所はなくなった.
青くなった今はよくなっていると思います,たぶん.

2022年5月28日土曜日

Setup search inside SiliconSmart

Flip-Flop の遅延特性のうち,Setup time の定義は2つある.
(1) C2Q 遅延の最小値から C2Q 遅延が 3~5% 悪化した点の D2C 遅延を Setup とする.
(2) D2Q 遅延が最小となる D2C 遅延を Setup とする.

広く認識されているのは (1) で,(2) はマイナーなイメージ.多くの人が参照している CMOS VLSI Design では (1) と (2) の両方を上げて,(2)でよいのではと述べている.

実際のキャラクタライザではどうしているのか調べたところ,SiliconSmart では D2C 遅延を変更し Q 出力が失敗する直前を探す探査をしているとマニュアルに書かれていた((1),(2)とも違う動き).
なお SiliconSmart が吐き出した SPICE ネットリストを見ると,SiliconSmart 自身は HSPICE による Setup の bisection 探査を呼び出していて,HSPICE の内部アルゴリズムが Setup を調べてレポートしているようだ.

Calibre PEX を使ってみる

とあるプロセスのプロセスパラメータがわからないので,個々の要素の抵抗容量を見積もりたい(リバースエンジニアリング?).ルールファイルが暗号化されているので生の値はわからないので,Calibre PEX の見積もり結果を RVE で解析してみる.

まず前提として,Calibre で RC 抽出する.今回は xACT を使った.xRC でもいけるのかはわからない.xACT の起動方法はこちら.

次に,レイアウトビューアから RVE を起動する.Virtuoso でもかまわないし,Calibre DESIGNrevでもかまわない.Database Type に PEX を選択し,RC抽出時に生成されるsvdbを指定する.



Net ごとにRC抽出結果が表示される.それぞれ
R Count:抽出された抵抗の素子数
C:固有容量値
CC:他ネットへのカップリング容量
C+CC:容量総和
となる.

ネット名をダブルクリックすると詳細を解析できる.VSSを選択してみる.



CCを選ぶと,VSSとカップリングしているネット名とカップリング容量が表示される.



Pt-to-Pt Res. を選ぶと,ネットもしくはピン間の抵抗の総和を計算してくれる.またレイアウトに抵抗値と経路も表示してくれる.("5"の左横のZ状の黄色線が経路)

2022年5月21日土曜日

VNC で画面が真っ黒になる

Cent OS7 のマシンに Windows10 PC で VNC 接続をしたいが,接続すると画面が真っ黒になる.
CentOS (server):TigerVNC 64bit v1.8.0
Windows (client):UltraVNC 1.3.81

~/.vnc/xstartup に
unset SESSION_MANAGER
unset DBUS_SESSION_BUS_ADDRESS
を追記したら XFCE4 セッションが見えるようになった.

CentOSマシンは同じで,以前のWindows10マシン@UltraVNC 1.2.3.0 では unset しなくてもよかったのだが,なぜかクライアント側ではなくサーバー側の変更が必要になってしまった.

unset SESSION_MANAGER
unset DBUS_SESSION_BUS_ADDRESS
については,今となっては TigerVNC は xstartup や同一アカウントによる複数の Xvnc セッションのサポートをしていないので不要(なはず)らしい.一方で過去にこのようなサポートを必要とした時に,個々の Xvnc ごとに D-Bus セッションバスインスタンスを分離するために必要であったと言うお話が書かれていた.互換性のためにも unset はした方がよいとのことだった.
https://groups.google.com/g/tigervnc-users/c/8s4pLFNHitA

2022年5月5日木曜日

Silvacoのツール名とできる事の対応表

わからなくなったので調べた.

Victory Process:プロセスシミュレータ
Victory Device:デバイスシミュレータ
Utmost IV:Spiceモデルジェネレータ
SmartSpice:Spiceシミュレータ
SmartView:波形ビューア
Gateway:回路図エディタ
Expert:レイアウトエディタ
Cello:ライブラリジェネレータ(旧Nangate Library Creator?)
Viola:キャラクタライザ(旧Nangate Library Characterizer?)

Cello と Viola は使ってみたいがライセンスもバイナリも無いのである.

旧 Nangate の 15nm/45nm Open Cell Library は利用されている方もいらっしゃるだろう.ダウンロード申請はここから.
https://si2.org/open-cell-library/

2022年4月29日金曜日

Calibre をサポート外 OS で動かしたい

タイトル通りなのだが,Calibre は RedHat,CentOS,Suse Linux しかサポートしていないので,それ以外の OS 例えば Ubuntu では
ERROR: Unknown Linux operating system environment
と表示されて起動しない.

途方に暮れていたのだが,中国の掲示板に
「/etc/redhat-release を作成して"CentOS Linux release 7.3.1611 (Core)"って書いとけばいいよ」
とあって,実行したら Caliber のバイナリが走った.そんな.

参考:https://bbs.eetop.cn/thread-481273-1-1.html

2022年3月21日月曜日

HSPICEで容量を測る

 容量を測るには3つ方法がある.

・AC解析で測る
.print ac cap(Node)
.ac dec 15 .1k 100k
対象 Node の容量の周波数特性を評価することができる.ただし,Nodeとどこの間の結合容量を見ているのかはわからない.他のすべてのノードとの容量の和なのだろうか.

・captabを使う
.option captab
回路中の全ノードを対象に,GND(0)に対するDC容量を評価する.抵抗などでGNDとつながっているノードの容量値の算出はできない.

・過渡解析で充電してみる
実際に過渡解析で充電を行い,流れた電流の積分(Q)とノード間電圧(V)からC=Q/Vで求める.理想コンデンサとして近似できる事が前提.

2022年2月22日火曜日

Mendeley Desktop で Citation Key が生成されない

タイトル通り,Mendeley Desktop で Citation Key が生成されなくて困っていた.ググると,Tools → Options → Document Detail を開き,当該タイトルの Document type を選択し,Citation Key にチェックを入れるとよい.チェックを入れると Citation Key の項目が開くが,登録されているすべての文献をチェックしに行くのか Mendeley が劇重になるので注意.

2022年1月16日日曜日

IC Compiler で配置が正しく行われているか調べる(check_legality)

IC Compiler で配置が正しく行われているか,check_legality コマンドで調べる事が出来る.

check_legality

実行すると,行 (Row) に載っていないセルの数,重なっているセルの数などが報告される.また legalize できなかったのでエラーコード PSYN-215 が報告される.
これを利用して,IC Compiler で配置が正しくできなかった場合に終了するプロシージャを以下に示す.


使い方