2015年2月25日水曜日

IEEEtran.bstで著者名が線になるのを防ぐ


IEEEtran.bstにおいて参考文献リストにおいて同じ著者が連続すると,著者名が"------"と表示されてしまう.不可解な仕様だ.
調べると,著者名が連続する場合にダッシュにしない方法があるらしい.

(1) 論文データベース(.bib)にIEEEtran.bstの制御情報(IEEEtranBSTCTRL)を加える.
連続する著者をダッシュにしないのであれば,CTLdash_repeated_namesをnoにすればよい.

@IEEEtranBSTCTL{IEEEexample:BSTcontrol,
CTLdash_repeated_names = "no"
}

(2) 定義した制御情報を有効にする
定義した制御情報を有効にするコマンドをTEXファイルの本文に追加する(\begin{document}の直後がいいらしい).

\bstctlcite{IEEEexample:BSTcontrol}

(3) bstctlcite コマンドを定義する.
IEEEのクラスファイル(IEEEtrantools.styパッケージなど)を使っていれば必要ない.
その他のクラスファイルを使っている場合,bstctlciteコマンドを定義する.プリアンプル(\begin{document}の前)に書けばよい.
bstctlciteコマンドのソースコードはIEEEtran.bstの冒頭にコメントとして書かれている.

\makeatletter
\def\bstctlcite{\@ifnextchar[{\@bstctlcite}{\@bstctlcite[@auxout]}}
\def\@bstctlcite[#1]#2{\@bsphack
\@for\@citeb:=#2\do{%
\edef\@citeb{\expandafter\@firstofone\@citeb}%
\if@filesw\immediate\write\csname #1\endcsname{\string\citation{\@citeb}}\fi}%
\@esphack}
\makeatother

定義後,コンパイルすると連続する著者もちゃんと表記されるようになった.



参考:
Is it normal for BibTeX to replace similar author names with “------”?
How to Use the IEEEtran BIBTEX Style: IEEEtran.bstのマニュアル(PDF).丁寧に説明されています.

2014年12月15日月曜日

IC CompilerでLeakage Power Aware Filler Insertionを行う

某会議で,Fillerの消費エネルギーが大きいと問題になっている.IC CompilerでFillerを自動で挿入する際に,指定した消費エネルギーの範囲内でFillerの種類を選択させる事が可能である.

insert_stdcell_filler -leakage_power value

valueはFillが消費するリーク電力で,単位はmWである.

2014年12月13日土曜日

difference between HSpiceD, HSpiceS, Spectre, SpectreS?

Analog Design Environment(ADE)を利用している際に,
シミュレータの選択肢が複数あるが,これらの違いがわからないので調べた.

まず,Spiceの種類として大きくCadenceのSpecterとSynopsysのHspiceの2種類がある.
そして,HspiceDとHspiceS(Hspice DirectとHspice Socket),SpecterとSpecterS(Specter DirectとSpecter Socket)が存在する.

過去の経緯として,これらのシミュレータは柔軟に変数化可能な構文をサポートしていなかったため,ADEとシミュレータの間にcdsSpiceというマクロ言語をサポートするツールを挟むことで,ADEでの柔軟なシミュレーションを可能にした.一方でcdsSpiceを挟んでしまうため,ユーザーはシミュレータのサポートするすべての構文を利用できない欠点があった.

その後,各シミュレータが実行可能なネットリストを出力するダイレクトモードをADEはサポートし,その結果より効率よいシミュレーションが可能になったそうだ.



内容は,英語の文献を要約しただけである.
Cadence Technology Forums: difference between HSpice,HSpiceS,Spectre,SpectreS?

2014年11月20日木曜日

HSPICEの乱数生成器を指定する(.option randgen)

HSPICEで乱数を生成する場合において,乱数生成器を指定する事ができる.

.option randgen=value

valueはそれぞれ

0: デフォルト. マニュアルには"traditional random generator"を使うとある.これが何なのかは調べてもわからなかったが,古典的擬似乱数生成法のどれかだろうか.
1: キャリー付き乗算(Multiply-with-Carry)を使う.
moa: 1と同じ

より品質の良い乱数が必要であれば,randgen=1を指定すると良いだろう.

広く商用で利用され,それなりに高精度な解析に使われるのでてっきりメルセンヌツイスタでも使っているのかと思っていた.がっかり.

2014年11月7日金曜日

Rの標準出力への出力をファイルに出力する

最近Rを使っているが,出力の仕方がよくわからない.
あるWikiにはteeを使ってログを書き出すよう指定しているので,面倒なのでファイル名を指定してログファイルを書くようfunctionを書いた.

function R-log () {
        local R_log_name
        if [ $# -eq 0 ]
        then
                R_log_name="R.log"
        else
                R_log_name=$1
        fi
        R | tee $R_log_name
}

shell> R-log "file"

で,Rの出力をteeを使って"file"に書き出す.引数を指定しなければ"R.log"に出力する.


Rは終了時にログを取るか聞いてくるが,この機能もいらない.
そこで問答無用で終了させる関数をブログを参考にして.Rprofileに書き込んだ.
R を終了させる最短コードがおもしろい

Q <- 1="" b="">
class(Q) <- b="" quit="">
print.quit <- b="" function="" x="">
    q("no")
}

これでだいぶ便利になった.
# 調べたらもっとスマートな方法がきちんと用意されている気もする...

2014年10月9日木曜日

Keysight U2723Aの出力コネクタの型番

Keysight U2723Aの出力コネクタを紛失した(これだから男子は!!!!)。マニュアルに記載されていなかったので問い合わせたところ、型番はU2722-80002というらしい。



緑のコネクタと保護キャップの3セットらしい。

なお、型番の問い合わせは以下のリンクから可能。
Find-A-Part: Part Identification Assistance

2014年9月30日火曜日

SSDの速度低下レポート

KingstonのSSDnow V100 SV100S2/256GBというSSDを2年半ほど利用した.最近すごくもっさりなので,ベンチマークを取ってみた.利用しているPCは東芝の【・・dynabook SS RX2である.

使用状況
・256GB中おおむね160GBぐらいは常にデータが入っている状態
・Windows XPで1.5年弱,Windows 8に入れ替えて半年程度利用した.半年は利用せず
・おおむね平日に12時間程度連続利用
・電源投入1064回,使用時間7814時間



新品時(OSはWindows XP)




2年半経過後(OSはWindows 8)



タスクマネージャ.平均応答時間がすごいことに…

利用しているノートパソコンの都合上,新品時の測定結果はSATA 1の速度(150MB/s)に律速されているが,注目すべきは2年半経過後のシーケンシャルWriteで,22MB/sとUSBメモリ程度しか出なくなってしまった.Defraggerによる0fillは定期的に行っていたがそれでも長期間利用するとこれだけ速度が低下するようだ.

PC利用時に頻繁に固まるので,ADATA SP610 256GBに乗り換えた.KingstonのSSDは速度回復を試みてみるつもり.

# しかし,OSも違うしCristal Disk Markのバージョンも違うし,データサイズも違うので
# 全然apple to apple comparisonになってないな…

2014年9月29日月曜日

ガラケーでau Walletを利用する

今更な話題? auのポイントプログラムが2014/4/1付で変更になり,auポイントは終了しau Walletに変更になった.
ポイント情報を移行しないといけないのだがそのためにはau IDが必要で,au IDを取得するためにはauの携帯を使ってオンラインで移行する必要がある.そのためEZ-winを成約していないフィーチャーフォンでは移行が不可能らしい.(PCでもアカウントを取ることはできる.au IDの登録ページの一番下に小さく「パソコンでご利用の方(au , 固定通信サービスをご利用でない方)はこちら」とある.しかし,試してみるとau IDはとれるがこのIDではau Walletは無効化された).

この場合,0077-777に電話してオペレータにつないでもらうと,IDの発行処理をしてもらえるようだ.au Walletカードも作るのであれば,後日カードが送付され,再度0077-777に電話してオペレータにつないでもらう事でアクチべーションできるらしい.発行には7~10日かかると言われたが,9日たった今でも届いていない…

楽天LTEを解約した

楽天LTEを解約した.最近あまりにもpingが遅いためである.自宅と大学で測ったが,なんと2000ms越えである.(2年前は200msと妥当だったと記憶している).

解約はWebでできるが,Webではアカウントを作成しなくてはいけない.
ユーザー名(メールアドレス)とパスワードをもらった記憶がない私は,電話(0077-75-5470)で解約処理を行った.

・本人氏名
・住所
・登録した電話番号
の3点があれば契約情報とひも付けの後あっさり解約された.月の半ば(14日)まで使用可能で,その後SIMカードのみ指定の住所に返送すればよいらしい.

ちなみにオペレータさんは無愛想だった.忙しいのだろう.

2014年9月26日金曜日

Sony Xperia Z Ultra(C6833)のrootを取り,LMT Launcherを入れる

Xperia Z Ultraを買った.Expansysで本体34300円+消費税1600円だった.消費税は本体代x0.6x消費税で計算するらしい.電子機器なので関税はかからない.
このままでは片手では使いにくいので,LMT Launcherを入れるためにrootを取る.

(1) root取得

必要なモノ.

Java SE Development Kit

adb (Android SDK)

・rootkitXperia
xdaからダウンロードする.[ROOT TOOL] rootkitXperia - Root Many Xperia!
端末ビルド14.4.A.0.108だったが,rootkitXperia_20140719で問題なかった.

・端末のUSBデバックモードの起動

以下メモ

adbを動かすためにはAndroid SDKを入れる.Eclipseで開発するつもりはないので,VIEW ALL DOWNLOADS AND SIZESからPCに対応するSDK Tools Onlyのリンクからインストーラーをダウンロート.端末のOSに対応するものだけ入れればよいみたいだ(4.4.4と不要なAndroid LのSDK一式で7GB超もあった).ダウンロード先はドライブ直下がよいだろう.少なくとも日本語ディレクトリはやめた方が良いだろう.インストーラーはPathを追加してくれないので,手動でadbの存在するPathを指定する.

端末のUSBデバッグモードを表示させるためには,端末情報のビルド番号を7連打し開発者オプションを有効にすると内部にメニューがある.

(2) LMT Launcherを入れる
xdaからダウンロードする.v2.1が最新だった.
[APP][ROOT] LMT Launcher v2.1 for various devices


インストールして,適当に設定するとこんな感じ.画面端を触れるとパイ型のメニューを表示する事が可能になる.片手でHome,Menu,Backなどのトリガや各種ショートカットにアクセスできるので便利.