2024年5月14日火曜日

DesignCompilerでモジュールごとの面積内訳を見る

 DesignCompiler でモジュールごとの面積内訳を見たい場合,階層構造の展開をやめた上で,report_area -hierarchy オプションを付ける.compile_ultra はデフォルトで階層を展開して論理と回路を最適化してしまうので,-no_autoungroup オプションを付ける.

dc_shell> compile_ultra -no_autoungroup
dc_shell> report_area -hierarchy

 

同じように,電力も階層ごとに見ることが出来ます.
dc_shell> report_power -hierarchy


compile_ultra はデフォルトで階層を展開するので,
dc_shell> compile -ungroup_all
dc_shellcompile_ultra
compile コマンドと compiler_ultra コマンドを併用する必要は無いようだ.DesignCompiler R-2020.09-SP4 でのお話です.

2024年3月28日木曜日

論文誌の投稿スケジュール感覚(2023)

 Publish or Perish,悲しいことに論文誌を書かなければこの業界では生き残っていけない.日本の集積回路業界で標準的な(?),電子情報通信学会 (IEICE) と情報処理学会 (IPSJ) の論文誌の特集号のスケージュルをまとめてみる.ボス曰く,IEICEについては,一般号でもあまり時間の感覚は変わらないとのこと.(英文論文誌によっては査読は2回戦までしかないらしい)

12月には判定が出てないとD論に間に合わないのですけど(>_<),という心理をよく突いた?スケジュール感になっています.

3月中旬:投稿締め切り (3月上旬に設定された投稿締め切りは,2017年度以降毎年にわたり1週間延長されているようだ)
3月下旬:査読者割り当て
4月中旬:査読報告
5月中旬:判定報告
7月中旬:第二次投稿締め切り
8月中旬:査読報告
8月下旬:判定報告
12月  :早期公開
3月上旬:Preprint PDF発行

6月上旬:投稿締め切り
7月中旬:査読報告
8月上旬:判定報告
9月上旬:第二次投稿締め切り
10月上旬:査読報告
10月下旬:最終判定
11月下旬:最終原稿投稿
12月上旬:発行

7月中旬:投稿締め切り
7月下旬:査読者割り当て
8月中旬:査読報告
9月中旬:判定報告
10月中旬:第二次投稿締め切り
12月中旬:査読報告
12月下旬:判定報告
4月  :早期公開 (?)
7月上旬:Preprint PDF発行(?)

10月上旬:投稿締め切り
10月中旬:査読者割り当て
11月中旬:査読報告
12月上旬:判定報告
1月上旬:第二次投稿締め切り
2月上旬:査読報告
2月下旬:最終判定
3月下旬:最終原稿
6月上旬:発行

2024年2月6日火曜日

Listings の使用をやめて Algorithmicx を使う

Listingsのキャプションがいまいちすぎる.情報系では Algorithmicx を使うらしいので導入してみる.

tlmgrでインストールしよう
% sudo tlmgr install algorithmicx
とするもてめえの TexLive は 2019 で,最新の 2023 より古いから入らんよと言われてしまう.(ログは忘れた)
apt update して再度インストールを試みるも 2019 が再度インストールされてしまう...(LinuxMint 21.2です)

% sudo apt remove texlive-full
% sudo apt remove texlive-base
% apt update
(再起動)
% sudo apt install texlive-full
(2019をインストールしてしまう)

仕方ないので install-tl を使ってインストールすることに.texjpの指示通りです.
https://texwiki.texjp.org/?Linux#texliveinstall
ただリポジトリを指定するとうまくいかなかったので指定しなかった.
% wget http://mirror.ctan.org/systems/texlive/tlnet/install-tl-unx.tar.gz
% tar xvf install-tl-unx.tar.gz
% cd install-tl-2*
%  sudo ./install-tl -no-gui 
...
Actions:
 <I> start installation to hard disk
 <H> help
 <Q> quit
Enter command: I
(延々ダウンロード)
% sudo /usr/local/texlive/2023/bin/x86_64-linux/tlmgr path add

念のためアップデートしてみた.なぜかいくつかアップデートが走った.
% sudo tlmgr update --self --all
tlmgr: package repository https://ftp.yz.yamagata-u.ac.jp/pub/CTAN/systems/texlive/tlnet (verified)
tlmgr: saving backups to /usr/local/texlive/2023/tlpkg/backups
tlmgr: no self-updates for tlmgr available
[ 1/12, ??:??/??:??] update: acmart [4890k] (68950 -> 69242) ... done
...
[12/12, 00:15/00:15] update: versonotes [133k] (55777 -> 69249) ... done
running mktexlsr ...
done running mktexlsr.
running updmap-sys ...
done running updmap-sys.
tlmgr: package log updated: /usr/local/texlive/2023/texmf-var/web2c/tlmgr.log
tlmgr: command log updated: /usr/local/texlive/2023/texmf-var/web2c/tlmgr-commands.log

念のため既存の tex をコンパイルしてちゃんと動くか確認.
% cd ~/(適当なTexディレクトリ)
% make

本番の tex 環境に戻り,コンパイルしてみる.

参考にしたサイトだと tlmgr で以下のようにパッケージをインストールせよとあったけれど,うちの環境では不要のようだった..
% sudo tlmgr install algorithmicx
% sudo tlmgr install algorithms

Listings では HTML の plane タグの様に特殊文字のエスケープなどは必要なかったのだけれど, alrogithmic の環境だと
通常の Latex の環境同様エスケープや改行などは必要みたい.あと文中に日本語があるとコンパイル時に
! Not two-byte family.
と警告が出て止まってしまう.まあでも日本語でアルゴリズム書くこと無いからいいか.

Algorithmicx の参考に下サイト:
https://li-feel.hatenablog.com/entry/2017/12/19/160618
https://github.com/PMOB/study-tex/wiki/reference-algorithm



2024年2月5日月曜日

IEICEのクラスファイル を TeXLive 2023で動かすようにする

環境は Linux Mint 21.2です.クラスファイルは ieice2.2 です.(2015年)
普通にコンパイルすると
.
で止まる.
\usepackage{graphicx,xcolor}% for pdflatex
\usepackage[dvipdfmx]{graphicx,xcolor}
に変える.

これまで Bibtex では ieicetr.bst と reference.bib をワーキングディレクトリに置いて
\bibliographystyle{ieicetr}
\bibliography{reference}

という記述を使っていたのだが,TexLiveをアップデートしてから
というエラーが出るようになった(TexLive 2023 なのになんで 2022 なん?).それどころか TexLive デフォルトでインストールされる IEEEtran もエラーになるように.bst ファイルのデフォルトの保存ディレクトリにある bst ファイルも,カレントディレクトリにある bst ファイル,bib ファイルも読めない.これらはカレントディレクトリに置けばいいって奥村先生も言っているのになぜ


悩んでいたのだが,以下のサイトからパスをちゃんと書かないといけないらしいという情報を見つけた.

ほんとうかいな.カレントディレクトリに置いたファイルは"./"をつけよう.
\bibliographystyle{./ieicetr}
\bibliography{./reference}

デフォルトでインストールされる BST ファイルについては, BSTINPUTS が
% echo $BSTINPUTS 
/usr/local/texlive/2023/texmf-dist/bibtex/bst/
を指していて IEEEtran は
% ls /usr/local/texlive/2023/texmf-dist/bibtex/bst/IEEEtran/IEEEtran.bst
にあるので,以下のように書き換えれば良いらしい.\bibliographystyle{IEEEtrran/IEEEtran}
\bibliographystyle{ieeetrran/IEEEtran}

上記の様にコードを変更したらどちらも動いた.良かったけれど動き方がなんか想定と違う気が...

念のため,.zshrc にBSTINPUTSも設定しておこう.
% export BSTINPUTS=/usr/local/texlive/2023/texmf-dist/bibtex/bst/

24/02/15 訂正
bibliographystyle のディレクトリ名 IEEETran はieeetran とすべて小文字でした.

2024年2月2日金曜日

PDFへのフォントの埋め込み TexLive 2023版

PDFへのフォントの埋め込みをしないと IEEE PDF eXpres が文句を言うので埋め込む.

初手でいきなり気持ち悪い事をするのだが,GhostScriptの設定を変更する.設定ファイルは以下にあるようだ.(いくつかのWebサイトでは [ver]/lib の下と書いているが,そうでは無いらしい)

.standardfonts で指定している基本フォントをすべてコメントアウトしてしまう.

マップするフォントを指定するファイルを作成する.

-f オプションをつけてコンパイル

確認
全部 emb が yes になっているからOK.

環境構築すると GS の設定を変更するのすぐに忘れちゃうんだよな.

2024年2月1日木曜日

HSPICE で過渡解析の結果として初期値のみが表示される

HSPICEで過渡解析を行ったときに,初期値(時間0点)のみ表示されて波形が表示されないことがある.

これは autostop を使っている状態で .Measure の条件を満たす波形入力が存在しないことが自明な場合(例えばトリガ条件の信号が存在しないなど)に過渡解析を実施せずに終了してしまう様だ.ややこしいのは最後のログが "*** job concluded" と表示される事だけれど,実際には初期条件の評価しかしていない.

例えばこんなSPICE CARDを入力すると.


.Measureの条件である W6_01,W6_02 は存在しないのでこの .Measure は無視される.


結局生成された波形ファイル (.tr0) を見ても,時間ゼロでの初期値(ここでは0.7 V)が点で表示されるだけである. ちゃんとログを見ると,

**warning** (delay_wring.sp:32) Unable to find referenced node w5_10; Output variable ignored. Specify a valid node.

という感じに存在しないネットについてはワーニングがでているので,まあちゃんと確認しなさいということか. 

昔の HSPICE はこんな振る舞いだったかな,とはちょっと疑問ではある.ここでは P-2019.06-1 を使っている.

2024年1月29日月曜日

アヴェンチュラの互換品?

 自転車に乗るときにクーレンズのアヴェンチュラを使っているのだが,買ってから 8 年経つ事もあり,インナーレンズフレームが崩壊して,公式のインナーレンズフレームを買い換えたらレンズが入らなくてフレームぶつ切りにして接着剤でくっつけ,つるも左側は折れてしまい接着剤でくっつけている.クーレンズはめがね事業から撤退してしまったようだ.アヴェンチュラ自体はフレーム+インナーレンズフレーム+アウターガラスレンズ4種(偏光2枚)+ハードケースのコミコミで5000円くらいと激安と当時有名だった.私はインナーレンズ買ったから1万5000円ぐらいしたけれど.

Amazonを見ていると,割とそっくりな商品として FERRY のアイウエアを見つけたので買ってみた.フレーム2つ(ただしツルは1セット)+インナーレンズフレーム+アウターガラスレンズ4種(偏光1枚)+ハードケースで2680円と激安である.


アヴェンチュラは黒だけれど,


FERRY は赤にした.形はすごく似ている.FERRY のロゴがダサい.


比較をしてみる.ツルは形は似ているけれど,根元も取り付け方法も違う.FERRY はなぜか90度回転して外すらしい.


サングラスそのものも形は似ているけれど,詳細は少々異なる感じ.


でも形状の互換性はある程度あってお互いに取り付け自体は可能.なんか隙間空いている?


インナーフレームも形は似ているけれど子細は違うような…….


互換性あるかなってぐいぐい押しつけていたら根元からポキッと折れたorz.まあ年数経っているしな…….結局,インナーレンズだけ接着剤でひっつけて使うのがいいのかね.

2024年1月26日金曜日

半導体クラウド学院

半導体クラウド学院 (半導體雲端學院 Semiconductor Cloud Academy)」という,TSMC が一般向けに作成した Web 教育システムがある事を教えていただいた.メールアドレスを登録すると,集積回路についてその原理から学ぶことができるみたい.コースの動画がかわいくて,中学・高校生が見ても楽しそうである.

なんとびっくり日本語対応である(でも句読点が台湾).

私のブラウザでの振る舞いがおかしくてテストを受けられないのだけれど,テストを受けると認証みたいなものももらえるらしい.

しかし TSMC は大学連携だったり教育だったりに力を入れだしていて,なんだか昔の STARC を一社でやり始めている感じだなぁ.

興味のある人は上記リンクから右上の「学生センター」を選択して登録してね.

2024年1月21日日曜日

sudo で X11 を有効にする

Cadence のインストーラー (installScape) を sudo で起動しようとすると,X11 に繋がらないと怒られる.
sudo で X11 を有効にするためには,xauth を用いてユーザーの X サーバ接続権限情報を sudo に与えてしまう.ユーザー名が [user] だとすると以下のような感じ.
/root/.Xauthorityが無いと怒られる場合は空のファイルを作ってから再実行.


まあ,オチとしては,installScape は root で実行するものではないという事なのですけどね.インストール先のパーミッションを適当な管理者にしてユーザー権限でインストールすべし.

2024年1月18日木曜日

"Error: 'top' doesn't specify a unique design" in DesignCompiler

 学生が以下のような tcl で論理合成中に current_design コマンドでエラーが出ると相談しにきた.
このエラーはファイル中に同じモジュール名の回路が複数ある場合に生じるエラー.しかし読み込んでいる Verilog ファイルは1つしかない.今回の例では,read_file コマンドで Verilog ファイルを読み込み,analyze コマンドで同じ Verilog ファイルを再読込しているため,メモリ中に同じモジュールが2つある事になっていたらしい.この場合,
list_design -show_files
list -designs
などでどのようなモジュールが読み込まれているか表示させてデバッグできる.今回についてはファイル読み込みが重複していたので,read_file コマンドを削除し analyze コマンドだけ実行することで解決した.

参考:
Pran Kurup and Taber Abbasi, "LOGIC SYNTHESIS USING SYNOPSYS® 2nd Ed.", KLUWER ACADEMIC PUBLISHERS