2024年5月23日木曜日

集積回路における信頼性問題の具体例

忘れるのでメモ.

・ハードエラー関係
Intel のチップセットのSATAコントローラの動作が徐々に基準を満たさなくなると言う話.確かポート1,2だけは大丈夫で,ポート1,2だけ使う製品(ノートPCとか)は出荷を継続して,デスクトップPCのマザーはリコールして大量廃棄したという話.

ルーターなど組み込みで使われている Atom C2000 が長期起動するとクロックが出なくなって止まるという話.

ソースが無いが,2件ともコアトランジスタに IO 電源をつないでしまったための HCI での劣化が原因と言われていた気がする.

Intel 第13世代,14世代CPU (Raptor Lake系)の動作の不具合(24/05/22追記)
最近(2024年)の Intel CPU 向けの自作 PC 向けマザーボードは電力制限がかなり緩くて CPUの消費電力がかなり高設定( PL1 や PL2 が 253W だったり,無制限になったり)なのだが,そのせいで CPU 自体に不可逆的な劣化が発生してしまうとのこと.Intel は Intel Baseline Profile というのを提供し,これを満たす BIOS を入れると PL1 が 125W,PL2 が 188W などに制限されるらしい.もちろん性能も落ちる.
電圧が原因であれば NBTI,電力や発熱が原因であれば HCI であろうか.
24/10/26追記
Intel によると,想定以上の高温高電圧環境での使用により,クロックツリーのトランジスタが劣化し,その結果クロックのデューティー比が不適切となりシステムの動作が不安定になったとのこと.BIOSの制御が不適切とか,プロセッサの電源管理アルゴリズムが不適切とか,4つのシナリオを挙げている.マイクロコードのアップデートで(これ以上の劣化は)回避できるとのこと.

・ソフトエラー関係
日本語の記事はこちらが詳しい
ECC によって保護されていないため宇宙線による誤動作が多発し,その部分を無効化して性能を猛烈に悪化させつつ使うか,そもそもまともに長時間動かせなくて諦めた,というお話である.

「高温下において特定のデータを特定の順番で処理を実施した」時に,システムが不正にシャットダウンし保存データに異常が発生するとのこと.対策として周波数を800MHzまで落とすか,マザーボードを作り替えるか,CPUを入れ替えるらしい.結局何が原因なのかはわからなかったが,状況から考えるとIR-Dropかdi/dtノイズだろうか.

・パッケージ関係
富士通の HDD コントローラ突然死
富士通の HDD に積んだ Cirrus Logic 製のコントローラ LSI がパッケージに起因する経年劣化で死亡するという話.日経では「富士通が製造を委託した」とあるが,がっつり Cirrus Logic のロゴが入っているし LSI チップを買ったようだ.パッケージ材料である住友ベークライトの「EME-U」に含まれる無機リンを構成する赤リンおよびその皮膜が高温高湿下でリン酸になり,それがピンの材料である Ag を溶かし配線を短絡した.

パッケージ起因のソフトエラー
[1] T. C. May and M. H. Woods, “Alpha-Particle-Induced Soft Errors in Dynamic Memories,” IEEE Trans. Electron Devices, vol. 26, no. 1, pp. 2–9, 1979, doi: 10.1109/T-ED.1979.19370.
パッケージに含まれる残留放射性元素がアルファ崩壊したときに放射されるアルファ線が集積回路に突入して生じるソフトエラー.不具合として「システムノイズ」「最低動作電圧」「センスアンプ」「特定パターン依存」など候補があったが,この論文によって放射性粒子起因の誤動作というのが新しい候補になった(?).「ソフトエラー」という一過性の故障や「クリティカルチャージ」という集積回路が"0","1"を反転するのに必要な電荷量の差などが定義された論文みたい.

・コンデンサ関係 (23/02/11追記)
第四級アンモニウム塩を利用したコンデンサが液漏れを起こし電解液が基盤や基板上の部品を腐食させる事故が一時期多発していた.Wikipediaの記事にもなっている.

NEC Tokin のプロートライザが使用中に劣化するらしく,デカップリング容量として採用したノートパソコンの死亡例が一時期よく観察された.腕に自信のある人はプロートライザを剥がしてタンタルコンデンサに入れ替えるらしいが...

タンタルコンデンサは小さい逆電圧でも電流が流れる上,短絡モードで故障するので,使い方にはかなり気をつけないといけない.交流や電源電圧・電流がグラグラ動く箇所のデカップリングコンデンサとして使うと壊れる可能性があります.テクトロはタンタルコンデンサが好きなのか,燃えて壊れた報告がいくつか[1][2]あります.

2024年5月14日火曜日

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

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

dc_shell> compile_ultra -no_autoungroup
dc_shell> report_area -hierarchy

  1. design_vision> report_area -hierarchy
  2. ****************************************
  3. Report : area
  4. Design : cpu_top_wo_mem
  5. Version: R-2020.09-SP4
  6. Date : Tue May 14 10:42:04 2024
  7. ****************************************
  8.  
  9. Information: Updating design information... (UID-85)
  10. Warning: Design 'cpu_top_wo_mem' contains 1 high-fanout nets. A fanout number of 1000 will be used for delay calculations involving these nets. (TIM-134)
  11. Library(s) Used:
  12.  
  13. mrow_0p7 (File: /home/xxx/mrow_0p7.db)
  14.  
  15. Number of ports: 579
  16. Number of nets: 17670
  17. Number of cells: 17221
  18. Number of combinational cells: 15986
  19. Number of sequential cells: 1226
  20. Number of macros/black boxes: 0
  21. Number of buf/inv: 3293
  22. Number of references: 22
  23.  
  24. Combinational area: 8079.139917
  25. Buf/Inv area: 2618.919946
  26. Noncombinational area: 539.439997
  27. Macro/Black Box area: 0.000000
  28. Net Interconnect area: undefined (Wire load has zero net area)
  29.  
  30. Total cell area: 8618.579914
  31. Total area: undefined
  32.  
  33. Hierarchical area distribution
  34. ------------------------------
  35.  
  36. Global cell area Local cell area
  37. ------------------ ----------------------------
  38. Hierarchical cell Absolute Percent Combi- Noncombi- Black-
  39. Total Total national national boxes Design
  40. -------------------------------- --------- ------- --------- --------- ------ ----------------
  41. cpu_top_wo_mem 8618.5799 100.0 1204.0700 47.0800 0.0000 cpu_top_wo_mem
  42. alu_0 1550.5800 18.0 1550.5800 0.0000 0.0000 alu
  43. decoder_0 91.5500 1.1 91.5500 0.0000 0.0000 decoder
  44. gpi_0 3.5200 0.0 1.7600 1.7600 0.0000 gpi
  45. gpo_0 8.3600 0.1 6.6000 1.7600 0.0000 gpo
  46. hardware_counter_0 142.5900 1.7 128.5100 14.0800 0.0000 hardware_counter
  47. regfile_0 4915.3600 57.0 4478.8800 436.4800 0.0000 regfile
  48. uart_0 307.0500 3.6 290.7700 16.2800 0.0000 uart
  49. uart_rx_0 348.4200 4.0 326.4200 22.0000 0.0000 uart_rx
  50. -------------------------------- --------- ------- --------- --------- ------ ----------------
  51. Total 8079.1399 539.4400 0.0000
  52.  
  53. 1
 

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

  1. design_vision> report_power -hierarchy
  2. ****************************************
  3. Report : power
  4. -hier
  5. -analysis_effort low
  6. Design : cpu_top_wo_mem
  7. Version: R-2020.09-SP4
  8. Date : Tue May 14 10:43:05 2024
  9. ****************************************
  10.  
  11.  
  12. Library(s) Used:
  13.  
  14. mrow_0p7 (File: /home/xxx/mrow_0p7.db)
  15.  
  16.  
  17. Operating Conditions: mrow_0p7 Library: mrow_0p7
  18. Wire Load Model Mode: top
  19.  
  20. Design Wire Load Model Library
  21. ------------------------------------------------
  22. cpu_top_wo_mem wl1 mrow_0p7
  23.  
  24.  
  25. Global Operating Voltage = 0.7
  26. Power-specific unit information :
  27. Voltage Units = 1V
  28. Capacitance Units = 1.000000pf
  29. Time Units = 1ps
  30. Dynamic Power Units = 1 W (derived from V,C,T units)
  31. Leakage Power Units = 1pW
  32.  
  33.  
  34. --------------------------------------------------------------------------------
  35. Switch Int Leak Total
  36. Hierarchy Power Power Power Power %
  37. --------------------------------------------------------------------------------
  38. cpu_top_wo_mem 90.595 N/A 3.24e+06 N/A N/A
  39. hardware_counter_0 (hardware_counter)
  40. 12.242 N/A 3.04e+04 N/A N/A
  41. gpo_0 (gpo) 0.789 N/A 5.75e+03 N/A N/A
  42. gpi_0 (gpi) 0.000 5.31e-04 1.56e+03 5.31e-04 N/A
  43. uart_rx_0 (uart_rx) 0.293 N/A 8.16e+04 N/A N/A
  44. uart_0 (uart) 12.376 N/A 6.87e+04 N/A N/A
  45. alu_0 (alu) 0.000 0.000 6.24e+05 6.24e-07 N/A
  46. regfile_0 (regfile) 2.594 N/A 1.85e+06 N/A N/A
  47. decoder_0 (decoder) 41.427 N/A 2.64e+04 N/A N/A
  48. 1

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年)
普通にコンパイルすると
  1. ! Undefined control sequence.
  2. \set@color -> ;\pdfcolorstack;
  3. \@pdfcolorstack push{\current@color }\aftergroup...
.
で止まる.
\usepackage{graphicx,xcolor}% for pdflatex
\usepackage[dvipdfmx]{graphicx,xcolor}
に変える.

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

という記述を使っていたのだが,TexLiveをアップデートしてから
  1. This is BibTeX, Version 0.99d (TeX Live 2022/dev/Debian)
  2. The top-level auxiliary file: IEICE_CAD.aux
  3. I couldn't open style file ieeetran.bst
  4. ---line 26 of file IEICE_CAD.aux
  5. : \bibstyle{ieicebst
  6. : }
  7. I'm skipping whatever remains of this command
  8. I couldn't open database file reference.bib
  9. ---line 27 of file IEICE_CAD.aux
  10. : \bibdata{reference
  11. : }
  12. I'm skipping whatever remains of this command
  13. I found no database files---while reading file IEICE_CAD.aux
  14. I found no style file---while reading file IEICE_CAD.aux
  15. (There were 4 error messages)
というエラーが出るようになった(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 の下と書いているが,そうでは無いらしい)
  1. /usr/share/ghostscript/9.55.0/Resource/Init/gs_pdfwr.ps

.standardfonts で指定している基本フォントをすべてコメントアウトしてしまう.
  1. /.standardfonts [
  2. % /Courier /Courier-Bold /Courier-Oblique /Courier-BoldOblique
  3. % /Helvetica /Helvetica-Bold /Helvetica-Oblique /Helvetica-BoldOblique
  4. % /Times-Roman /Times-Bold /Times-Italic /Times-BoldItalic
  5. % /Symbol /ZapfDingbats
  6. ] readonly def

マップするフォントを指定するファイルを作成する.
  1. echo "rml H :0:ipam.ttf" > textfont.map
  2. echo "gbm H :0:ipag.ttf" >> textfont.map
  3. echo "rmlv V :0:ipam.ttf" >> textfont.map
  4. echo "gbmv V :0:ipag.ttf" >> textfont.map

-f オプションをつけてコンパイル
  1. dvipdfmx -f textfonts.map main.dvi

確認
  1. % pdffonts main.pdf
  2. name type encoding emb sub uni object ID
  3. ------------------------------------ ----------------- ---------------- --- --- --- ---------
  4. BFXFUH+NimbusRomNo9L-Regu Type 1C Custom yes yes yes 4 0
  5. TLDEQQ+CMSY8 Type 1C Builtin yes yes yes 5 0
  6. AKQSYA+NimbusRomNo9L-ReguItal Type 1C Custom yes yes yes 6 0
  7. NIKTLI+NimbusRomNo9L-MediItal Type 1C Custom yes yes yes 7 0
  8. YLFCCB+NimbusRomNo9L-Medi Type 1C Custom yes yes yes 8 0
  9. BWTDFP+Helvetica Type 1C WinAnsi yes yes no 10 0
  10. XBVXSN+CMMI10 Type 1C Builtin yes yes yes 18 0
  11. XYEUNM+CMR10 Type 1C Builtin yes yes yes 19 0
  12. TSPOJC+CMSY10 Type 1C Builtin yes yes yes 20 0
  13. VKZLRK+CMSY9 Type 1C Builtin yes yes yes 21 0
  14. NLQACA+CMMI9 Type 1C Builtin yes yes yes 22 0
  15. ACXUUK+Helvetica Type 1C WinAnsi yes yes no 27 0
  16. BHRAOW+Helvetica Type 1C WinAnsi yes yes no 32 0
  17. YZDJWY+CMMI8 Type 1C Builtin yes yes yes 39 0
  18. %
全部 emb が yes になっているからOK.

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

2024年2月1日木曜日

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

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

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

例えばこんなSPICE CARDを入力すると.
  1. ...
  2. * Prop. delay
  3. .Measure Tran Prop_dut Trig v(W5_10) Val='VOLT/2' rise=1 targ v(W6_01) val='VOLT/2' fall=1 print=0
  4. .Measure Tran Prop_ref Trig v(W5_10) Val='VOLT/2' rise=1 targ v(W6_10) val='VOLT/2' fall=1 print=0
  5.  
  6. V_D01 DATA01 0 pwl (40p 0 100p 0 '100p + SLEW' 'VOLT' )
  7.  
  8. .subckt INV4 IN OUT VDD VSS
  9. XINV1 IN OUT VDD VSS VDD VSS INV_X1
  10. XINV2 IN W1 VDD VSS VDD VSS INV_X1
  11. XINV3 IN W2 VDD VSS VDD VSS INV_X1
  12. XINV4 IN W3 VDD VSS VDD VSS INV_X1
  13. .ends
  14. ...


.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 に繋がらないと怒られる.
  1. % sudo /usr/cadence/iscape.04.23-s012/bin/iscape.sh [~]
  2. Initializing InstallScape using JVM at /usr/cadence/iscape.04.23-s012/runtime/LNX86/bin/java. This might take some time...
  3. X11 connection rejected because of wrong authentication.
  4. Exception in thread "main" java.lang.InternalError: Can't connect to X11 window server using 'localhost:19.0' as the value of the DISPLAY variable.
  5. at sun.awt.X11GraphicsEnvironment.initDisplay(Native Method)
  6. ...
  7. Failed with InstallScape JVM.
  8. Now loading System JVM...
  9. X11 connection rejected because of wrong authentication.
  10. Exception in thread "main" java.awt.AWTError: Can't connect to X11 window server using 'localhost:19.0' as the value of the DISPLAY variable.
  11. at java.desktop/sun.awt.X11GraphicsEnvironment.initDisplay(Native Method)
  12. ...
  13. Error:
  14. /bin/java
  15. Could not use JVM packaged with Installcape. The Java in your path did not work or could not find Java in your path. Ensure that Java 1.6 or later is in your PATH environment variable and restart InstallScape.
sudo で X11 を有効にするためには,xauth を用いてユーザーの X サーバ接続権限情報を sudo に与えてしまう.ユーザー名が [user] だとすると以下のような感じ.
  1. sudo xauth add $(xauth -f ~[user]/.Xauthority list|tail -1)
/root/.Xauthorityが無いと怒られる場合は空のファイルを作ってから再実行.
  1. % sudo xauth add $(xauth -f ~[user]/.Xauthority list|tail -1)
  2. xauth: file /root/.Xauthority does not exist
  3. % sudo echo " " > /root/.Xauthority
  4. % sudo xauth add $(xauth -f ~[user]/.Xauthority list|tail -1)


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