2015年11月4日水曜日

AnalogArtistでshared libraryが無いと言われた

Cadence AnalogArtist(Virtuoso)でshared libraryのlibgdbm.so.2が無いと言われてSpiceINが出来なくてはまったのでメモ.OSはCentOS 6.4,ArtistはIC6.1.5です.

Virtuosoのインストールディレクトリでlibgdbm.so.2を調べると,私の環境では4つ表示された.
% ls -l /usr/CAD/cds/IC610/tools.lnx86/**/libgdbm*
lrwxrwxrwx. 1 363 bin 23 11月  6 13:42 2013 /usr/CAD/cds/IC610/tools.lnx86/lib/64bit/SuSE/SLES11/libgdbm.so.2 -> /usr/lib64/libgdbm.so.3
lrwxrwxrwx. 1 363 bin 23 11月  6 13:42 2013 /usr/CAD/cds/IC610/tools.lnx86/lib/64bit/SuSE/libgdbm.so.2 -> /usr/lib64/libgdbm.so.3
lrwxrwxrwx. 1 363 bin 21 11月  6 13:42 2013 /usr/CAD/cds/IC610/tools.lnx86/lib/SuSE/SLES11/libgdbm.so.2 -> /usr/lib/libgdbm.so.3
lrwxrwxrwx. 1 363 bin 21 11月  6 13:42 2013 /usr/CAD/cds/IC610/tools.lnx86/lib/SuSE/libgdbm.so.2 -> /usr/lib/libgdbm.so.3

試しに/usr/lib64/libgdbm.so.3を見てみると,実体は/usr/lib64/libgdbm.so.2.0.0だった.
% ls -l  /usr/lib64/libgdbm*
lrwxrwxrwx. 1 root root 16 11月  4 14:24 2015 libgdbm.so.3 -> libgdbm.so.2.0.0

libgdbm.so.2は,gdbmに格納されているらしい.

% sudo yum provides "*/libgdbm.so.2"
Loading mirror speeds from cached hostfile 
 * base: www.ftp.ne.jp 
 * extras: www.ftp.ne.jp 
 * updates: www.ftp.ne.jp 
gdbm-1.8.0-38.el6.x86_64 : A GNU set of database routines which use extensible hashing 
Repo        : base 
Matched from: 
Filename    : /usr/lib64/libgdbm.so.2 
 
gdbm-1.8.0-38.el6.i686 : A GNU set of database routines which use extensible hashing 
Repo        : base 
Matched from: 
Filename    : /usr/lib/libgdbm.so.2 
 
gdbm-1.8.0-38.el6.x86_64 : A GNU set of database routines which use extensible hashing 
Repo        : installed 
Matched from: 
Filename    : /usr/lib64/libgdbm.so.2 
 
gdbm-1.8.0-38.el6.i686 : A GNU set of database routines which use extensible hashing 
Repo        : installed 
Matched from: 
Filename    : /usr/lib/libgdbm.so.2 

gdbmの32bitと64bitをインストールして解決.
%sudo yum install gdbm-1.8.0-38.el6.i686l gdbm-1.8.0-38.el6.x86_64

ハマったのは,OSが64bitなのにVirtuosoが32bit版だったので,64bitのgdbmを入れるだけではダメだったという事か.

2015年11月2日月曜日

学歴ロンダリングのススメ

学歴ロンダリングした当事者として,学歴ロンダリングの利点欠点をまとめてみる.あくまで私見です.組織を代表する意見では決してないのでその点ご注意ください.

利点
・周りの人たちは優秀な人が多いので刺激になる(研究室による)
・資金的/資源的に余裕の多い研究室が多い(研究室による)
・博士前期/後期課程進学者が多い(研究室による)
・CAD等各種ツールの使い方のノウハウがたまっている事が多い(研究室による)
・教員に対する学生の数が少ないのできめ細かい指導を期待できる(教員による)
・大きい大学ほど小講座制で教授/准教授/助教x2がフルにそろっている事もある.研究員/博士学生が多いので,研究推進時に大いに頼れる(研究室による)
・(某大学の場合)大学院の授業は完全に軽視されているので,研究に集中できる
・異なる2つの大学/研究科の比較が出来るのは興味深く楽しい
・卒論/修論と異なる指導教員がつくので,指導教員の指導方針の比較ができるのも興味深い


欠点
・基礎学力に差があるので,慣れるまで大変
・基礎学力には,彼我の能力差もあるが,講義内容が大学間で異なる事も大きい
・上記の問題によって,内部生は難なく通る入試を通るのが大変
・進学先の先生方の研究内容や教育スタイルを一から勉強しなくてはならない
・周りに優秀な人が少ない可能性がある(大学が有名でも学生が優秀とは限らない)
・成績によっては意図した研究室に配属されない可能性がある(知り合いに複数該当)
・タイミングによっては意図した研究ができない可能性がある(該当した)
・転出元から裏切り者扱いされる可能性もある・・・(該当した)
・転出元の教員に「なんであの子がxx大にいけたんだろ?」とか言われる(知り合いが言われていた)
・教員に対する学生の数が少ないので,マンパワーの観点では大変
・進学先の大学がすばらしいとは限らない点は注意.大きな大学ほど事務方が大きな力を持っていて,何かと研究遂行の邪魔になることも多い(高価な機材を壊されたこともある.補償無し)
・研究科が内部進学研究室と外部進学&留学生研究室の2つにくっきり分かれる大学もある…(欠点と言っていいのかよくわからないが)

上記の利点/欠点とは私が経験した/身近で聞いたものであり,探せばもっと他にも例があるかもしれない.

従って,2つの方針が立てられる.
(1) 単に学歴さえロンダリングできればよい場合:
なるべく容易に入学が可能で,容易に卒業が出来る大学/研究室を探すこと大切.大学によって試験の内容は異なるし,外部の評価と試験の難易度は一致しない.同じ大学であっても研究科によって試験の難易度は異なる.外部の評価の高い大学であっても,ろくに来なくても卒業させてくれる研究室もある(らしいので,大学院進学時に試験が簡単で研究も頑張らなくてよい研究室のある研究科へ転学科する人も複数いた).単に学歴がほしいのであれば忙しくて大変な研究室は志望しない方が良いだろう.

(2) ガンガン研究したい場合:
大型の外部資金を取っている/取ってきた研究室を探すといい.
外部資金をがんがん取っていると言うことは優秀な研究者である証であり,資金を言い訳に研究が出来ないと言うことが無くなる.Googleに教員の名前を入れて評判を調べよう.研究室のHP,KAKENのサイトに教員の名前を入れて競争的資金の取得状況を調べてみてもいいだろう.ただし,今の所属大学では本当に希望する研究が出来ないのか,きちんと調べた方がいい.

有名国立大学への進学だけでなく,私立大からお金のかからない地元の国立大の有名研究室に進学を希望するというのもアリだとは思う.

Custom Waveviewで波形表示利用する色のセットを定義する

タイトル通り,Custom Waveviewで波形表示利用する色のセットを定義する方法を紹介する.
[Config]→[Preferences...]からPreference Settingsダイヤログを起動する.
[Colors]タブを選択し,"Use User-Defined Waveform Colors"を選択する.
次に,下のパネルの"Add a New Color"を任意の回数押すと,色の選択肢(デフォルトで黒)が増える.任意のセットを選択した状態で,横のカラーパネルを押すと,その色が登録される.不要なセットは,"Delete Selected Colors"を押すことで削除できる.


[Apply-Save]を選択すると,設定ファイルの保存先を聞いてくるので,[User Home Directory]を選択する.すると~/.spxrcに設定ファイルが作成される.

デフォルトで黒背景の割に濃い青色など見づらい色を使うので,暖色系の色を登録しておくと見やすくていい

同タブの[Use Thick Lines as Default Waveform Line Thickness]にチェックを入れると波形が太くなるのでこちらもおすすめ.

2015年10月13日火曜日

Calibre Inreractiveでセルを見つけられない(セル名のエスケープ)

Calibre InteractiveでDRC/LVSをする時に,

calibre specified primary cell is not located within the input layout database

というエラーが出てLayout exportができなかった.
この時の原因は,セル名にハイフン"-"を使っており,それをAnalogArtistが内部でエスケープしており,そのためCalibreがセルを見つけられなかったためであった.
セル名に使う文字は,[a-z][A-Z][0-9]とアンダーバー"_"ぐらいにとどめた方が良さそうだ.

2015年9月10日木曜日

Cadence AnalogArtistをCUIで起動する(同時にSKILLコマンドを実行させる)

AnalogArtistをCUIで実行するには,-nographオプションをつける.

IC51:
icfb -nograph

IC61:
virtuoso -nograph

起動時に特定のSKILLコマンドを実行させたい場合は,-replayオプションをつける.

IC51:
icfb -replay [SKILL]

IC61:
virtuoso -replay [SKILL]

2015年9月8日火曜日

Calibre DRCで違反のないチェックを表示しない

Calibre DRCで違反のないチェックをresultに表示させないようにするにはDRC KEEP EMPTY構文を使う.

・表示させたい場合
DRC KEEP EMPTY YES

・表示させたくない場合
DRC KEEP EMPTY NO

デフォルトがYESであり,DRC KEEP EMPTY構文が存在しない場合はYESと解釈される.Calibre RVEを用いてDRCの結果を見る際に,大量のPassアイコンで埋め尽くされてしまうので,NOにするとシンプルでよい感じ.

Calibre DRCで特定のチェックを選択する,選択しない

CalibreでDRCを行う時,設計階層によっては必ず発生するエラーが存在する.あるエラーは必ずでるから無視させたい,逆にあるチェックを追加したい場合は,DRC SELECT/UNSELECT CHECK構文を使う.

・チェックを追加したい場合
DRC SELECT CHECK [rule1] [rule2] ...

・チェックを削除したい場合
DRC UNSELECT CHECK [rule1] [rule2] ...

例えばセルレベル設計でのラッチアップ違反などは,この命令をルールファイルに追加する事で,特定の違反を無視することができるようになる.