2012年12月31日月曜日

タッチパッドにテフロンシートを貼る

愛用している【・・dynabook SS RX2のタッチパッドのコーティングがはがれ,所々滑りが悪くなってきた.元々はさらさらした滑りだったのだが,ツルツルになり滑りが悪い.
この問題を解決するために調べたところ,タッチパッドにテフロンシートを貼ることで滑りを改善する事ができるらしい.

http://www.amazon.co.jp/gp/product/B0056EWK6M/

KAWADAのテフロンシートを買ってみた.Amazonで945円.上記写真では黄色だが,実物はほぼ透明である.剥離すると分厚いシートと薄いシートに分離できるが,薄いシートの方がテフロンシートだと思われる(粘着面があるので).

張り替えた結果だが,指がさらさらしている状態では摩擦も少なく上等だが,汗ばむとツルツルと抵抗を感じるのが残念.ただしコーティング剥げ状態よりは具合はよい.945円で延命ができたと考えれば,上等かと思われる.

結構大きいので,もう一回り小さいものでも良いかもしれない.いずれにせよ,おすすめ.

http://www.amazon.co.jp/KAWADA-TZ13-ハード・テフロンシート-Mini-Z用/dp/B005DJP9TA/ref=pd_sim_sbs_hb_1

2012年11月23日金曜日

Excelの数式を他のExcelブックにそのままコピーする

あるExcelブック(ファイル)内で数式を使っている時に,数式を他のブックに流用したいことありますよね.たとえば
・Book1.xlsのシート1を参照するシート2の数式
をそのまま
・Book2.xlsのシート1を参照するシート2の数式
として使いたい事があります.

しかし,元のExcelブック内の他のシートを参照している場合,単純にコピーするとExcelのブック間リンク機能が有効になってしまいます.


これでは,Book2.xlsのシート1ではなくBook1.xlsのシート1を参照してしまいます.

このようなときは,Excelのワークシート分析を使います.キーボードの[Ctrl+Shift+@]を押すと,シートに書かれている数式がそのまま表示されます.



これをBook2.xlsに貼り付けると…



残念ながらこれでもブック間リンクになってしまいます.




一旦メモ帳に貼り付けると,ようやく意図したとおり,Book2.xlsのシート1を参照するシート2の数式になりました.

Excelブックの数式を他のブックに流用したいときすごく便利ですよ!

参考:教えてGoo 【Excel】数式をそのまま他のシートにコピーする方法

2012年11月13日火曜日

HSPICEでモンテカルロで変動させたパラメータを表示させない(.option mcbrief)

HSPICEでモンテカルロシミュレーションを行うと,シミュレーションの過程で変動させたパラメータが標準出力(.lis)および.MEASUREの出力ファイル(.ma0, .mt0, .ms0等)に出力される.モンテカルロシミュレーションで大量の変数を変動させた場合,見たいパラメータが変動した変数に埋もれてしまう.
モンテカルロシミュレーションの結果をこれらのファイルに出力しないために,MCBRIEFオプションを使う.

.option mcbrief=value

valueは0から3の数字で,それぞれ

0: 変動したパラメータをすべて表示(default)
1: 標準出力(.lis)および.MEASUREの出力に変動したパラメータを表示しない
2: 標準出力のみ変動したパラメータを表示
3: .MEASUREの出力のみ変動したパラメータを表示


である.おすすめはMCBRIEF=1である.

なお余談だが,HSPICEの乱数は種を意図的に変えない限り再現性があるので,何度モンテカルロシミュレーションを行っても同じ結果が得られる.
乱数の種を変えるには,SEEDオプションを使う.

.option SEED="value | random"

valueが指定する乱数の種であり,1から259200の間の値を取る."random"を指定すると,HSPICEはシステムクロックから乱数を生成し,乱数の種とする(再現性が無くなる).

2012年11月12日月曜日

gnuplotのグラフをPowerPointに貼る

PowerPointでは,gnuplotが出力したepsファイルをOffice描画オブジェクトとして編集することができる.

epsファイルをドラッグアンドドロップでスライドに移動させると,epsがスライドに表示される.この状態で右クリック→[図の編集]を選択すると,以下のようなダイアログが表示される.




ここで[はい]を押すと,Office描画オブジェクトに変換される.任意の回数右クリックし,[グループ化]→[グループ化の解除]を選択すると,以下のように各オブジェクトを個別に操作することが可能になる.




ベクターイメージなので,拡大しても綺麗なままなのがうれしい.A0のポスターに貼り付けたがビットマップイメージと異なり綺麗なまま印刷できた.
昔はepsから外部ツールを使ってemfに変換したり,それではうまくいかないからと泣く泣くpng等に変換して貼っていたが,ドラッグアンドドロップでうまくいくとは気がつかなかった.

2012年10月30日火曜日

コマンドの出力結果から空白行を消す

HSPICEの出力結果は,ムダに空白行が多い.わかりにくいので,zshの関数を使って出力結果の空白行を削除してみた.ついでに,"***"から始まる行を消し,.lisに標準出力をリダイレクトするようにしてみた.
# cshなら引数をエイリアスに入れられるが,zshだと関数にしないといけないらしい.

function hspice-func () {
   local input_file_name
   input_file_name=$1
   hspice64 $1 | grep -v -e '^\s*$' | grep -v '\*\*\*' | tee ${1}.lis
}


1つめのgrepで,空白行に該当しなかった行を表示し,2つめのgrepで,***に該当しなかった行を表示させている.他に,grepを駆使しまくれば,いらないメッセージもどんどん消せるだろう.出力結果はなるべくシンプルにしたいものだ.

11/13追記:
grepで"***"を消してしまうと,HSPICEの出す***simulation concluded***というメッセージも消してしまうので,やめた方が良いかも.


2012年10月25日木曜日

GVimのフォントを変える

GVimのフォントを変える際,以下の手順をたどると良い.

(1) GUIで好みのフォントを探す.
(2) 指定したフォントを.vimrcに指定する.

(1) フォントを探す
GVimをひらき,[編集]→[フォント設定]をひらく.するとGUIでフォントを選ぶ画面が出るので,好みのフォントを入れる.



 今回は,Osakaフォントの10ptを選ぶ.

(2) 指定したフォントを.vimrcに指定する.
次に,指定すべきフォントの名前を調べる.現在のフォントの設定は,以下のコマンドで調べることができる.

:set guifont

実行した結果を以下に示す.




これを,.vimrcに書けばよい.フォントの名前に全角が入っているが,きちんと認識するようだ.スペースはバックスラッシュ"\"を使ってエスケープする必要がある.

set guifont=Osaka-等幅\ 10


参考にしたサイト
新しくフォントをインストールしてVimエディタから利用する。
vim/任意のフォントを設定する方法

2012年10月23日火曜日

HSPICEの出力桁の制御(.option measdgt/numdgt)

HSPICEは標準出力(.lis)および..MEASUREの出力ファイル(.ma0,.mt0,.ms0等)に測定結果を書き込むが,デフォルトの出力桁は4桁でしかない.出力桁数を変えるには,MEASDGTオプションおよびNUMDGTオプションを使う.
MEASDGTオプションは.MEASUREの出力ファイルへの出力桁数を指定し,NUMDGTオプションは標準出力への出力桁数を指定する.

.option measdgt=value
.option numdgt=value


valueのところに桁数を指定する事で,出力桁を制御する.なお,最大値は10である.

2012年10月19日金曜日

HSPICEのライセンス数を知る

最近のHSPICEは-mpオプション(マルチプロセッサ),-mtオプション(マルチスレッド)等があり,うまく制御できれば計算速度を飛躍的に向上させることができる.一方でこれらの高速化機能を使うとモリモリライセンスを占有してしまう欠点がある.特にVDECのCADを使わせてもらっているところでは,むやみにライセンスを占有すると他の利用者に迷惑になる可能性が高い.

従って,今存在しているFloating License数を知る事ができれば,ある程度並列化しても良い規模を見積もることができる.

HSPICEでシミュレーションを実行すればライセンス数はわかるが,毎回C-cで止めるのはおっくうである.この場合,HSPICEをインタラクティブモードで起動させることで,HSPICEのライセンスを知ることができる.

hspice -I

インタラクティブモードで起動することで,1ライセンスを取り,次の入力待ちとなる.なおquitでHSPICEを終了する.

% hspice -I  
lic:
lic: FLEXlm: v10.8
lic: USER: xxxxxxxxxx HOSTNAME: xxxxxxxxxx
lic: HOSTID: xxxxxxxxxx PID: 2426
lic: Using FLEXlm license file:
lic: 
lic: Checkout 1 hspice
lic: License/Maintenance for hspice will expire on 01-may-2013/2011.09
lic: 37(in_use)/xxx(total) FLOATING license(s) on SERVER 
lic:
Hspice license have checked out
HSPICE >quit

lic: Release hspice token(s)

%

もう少しエレガントにできればいいのだが,まあこれで満足(でもC-cと大して変わらないかも).

2012年10月18日木曜日

HSPICEの出力フォーマットを変える(.option measform)

HSPICEの出力結果は,デフォルトで見やすいものではなく,またgnuplotやExcel
等の加工に向かない.
いままではスクリプトを使って加工していたが,実はHSPICEのオプションで制御できる.

.option measform=value

valueは0から3の数字で,それぞれ
0: default
1: スペース区切り
2: HSIM互換
3: csv (.m*は作らない)
となる.
以下に,それぞれのオプションの出力結果を示す.

(1) .option measform=0
% cat nmos_TT.ms0
$DATA1 SOURCE='HSPICE' VERSION='E-2010.12 32-BIT'
.TITLE '*ring oscillator'
 index    _vdd             iload              ipower              
          temper           alter#          
 1         1.000000e-01     3.992798e-10     1.215245e-08   
           2.500000e+01    1               
 2         2.000000e-01     5.940276e-09     1.756581e-07   
           2.500000e+01    1               
 3         3.000000e-01     7.720563e-08     2.095723e-06   
           2.500000e+01    1               
 4         4.000000e-01     7.989804e-07     1.771483e-05   
           2.500000e+01    1               

(2) .option measform=1
% cat nmos_TT.ms0
$DATA1 SOURCE='HSPICE' VERSION='E-2010.12 32-BIT'
$OPTION MEASFORM=1
.TITLE '*ring oscillator'
index _vdd iload ipower temper alter#
1  1.000000e-01  3.992798e-10  1.215245e-08  2.500000e+01 1
2  2.000000e-01  5.940276e-09  1.756581e-07  2.500000e+01 1
3  3.000000e-01  7.720563e-08  2.095723e-06  2.500000e+01 1
4  4.000000e-01  7.989804e-07  1.771483e-05  2.500000e+01 1


(3) .option measform=2
% cat nmos_TT.ms0
$DATA1 SOURCE='HSPICE' VERSION='E-2010.12 32-BIT'
$OPTION MEASFORM=2
.TITLE '*ring oscillator'
index =  1.000000e+00 
_vdd =  1.000000e-01 
iload =  3.992798e-10 
ipower =  1.215245e-08 
temper =  2.500000e+01 
alter# =  1.000000e+00 

index =  2.000000e+00 
_vdd =  2.000000e-01 
iload =  5.940276e-09 
ipower =  1.756581e-07 
temper =  2.500000e+01 
alter# =  1.000000e+00 

index =  3.000000e+00 
_vdd =  3.000000e-01 
iload =  7.720563e-08 
ipower =  2.095723e-06 
temper =  2.500000e+01 
alter# =  1.000000e+00 

index =  4.000000e+00 
_vdd =  4.000000e-01 
iload =  7.989804e-07 
ipower =  1.771483e-05 
temper =  2.500000e+01 
alter# =  1.000000e+00 



(4) .option measform=3
% cat nmos_TT.ms0.csv
$DATA1 SOURCE='HSPICE' VERSION='E-2010.12 32-BIT'
.TITLE '*ring oscillator'
index,_vdd,iload,ipower,temper,alter#
1, 1.000000e-01, 3.992798e-10, 1.215245e-08, 2.500000e+01,1
2, 2.000000e-01, 5.940276e-09, 1.756581e-07, 2.500000e+01,1
3, 3.000000e-01, 7.720563e-08, 2.095723e-06, 2.500000e+01,1
4, 4.000000e-01, 7.989804e-07, 1.771483e-05, 2.500000e+01,1


個人的には,.option measform=1にするのがお薦め.

2012年7月8日日曜日

dynabook SS RX2のCPUファンを換装する

dynabook RX2 TJ140Hを買って3年.今年の冬にHDDを投げ捨ててSSDにしたこともあり快適なのだが,古いSSD(Kingston V100S2/256GB)が理由なのか妙に熱い.


最近はWindowsMediaPlayerで音楽聞きながら書類書きという軽作業でもCPUが100%に張り付き,温度は65度に張り付き,動作がのろのろと遅くなる.またキーボードもパームレストもあっちっちで.CPUから廃熱もすっごく熱い空気がちょろちょろとしか出てこない.CPUファンがダメになってしまったようだ.


そこで,出張ついでにCPUファンを買ってきた.お店はもちろん,東芝ファンの聖地,信頼とサービスのチチブデンキである.「dynabook SS RX2用のCPUファンありますか?」と聞いたら0.1ぐらいのディレイで出てきて笑ってしまった.それだけみんな買い換えているのだろうか.


1個3150円です.念のため2個買っておいた.


買ったブツ.GDM61000413という部品らしい.


帰宅し,さっそく愛機を解体して,CUPファンを取り出す.


こいつがCPUファン.



買ったもの.


取り外したもの.型番は同じだけれど,スタンプされた記号も,シールのフォントも異なる.ロットが異なるのだろう.

CPUに着いている硬化したグリスを拭き取り,新たにグリスを塗り,新しいファンに交換.電源を入れると
「ブオン!」
とファンの音が.そういえばこいつ,起動時にファンが一瞬全力で動作するんだっけ.完全に忘れていたwww


ファンを交換したことで,負荷をかけても媒体が熱くなることもなく,動作もサクサクである.おそらく以前はCPUの温度が制限値に達したためにNOPをボンボン入れてたので遅くなっていたのだろう.ファンの横に位置するSSDの温度も下がった!RX2は,あと10年は戦える!

あなたの愛機,CPUファンはちゃんと動いていますか?