組み込まれたエンジニア

我輩は石である。名前はまだ無い。

MOS技術の黎明期

2009-08-30 08:17:28 | Weblog
MOS技術の発展の様子を通して、デジタル時代の黎明期を明らかにした本(To the Digital Age: Research Labs, Start-Up Companies, And the Rise of MOS Technology)が出版されています。

アメリカのアマゾンの書評は星5個と最高で、LSIが発展していくころのダイナミズムを感じさせるとしています。

今日、発見したばかりで、注文中なので、内容のコメントはできませんが、MOSのLSIに関わるものとしては、内容に期待できます。

Alliance VHDLでのLSI製造

2009-08-29 23:14:27 | Weblog
5年ほど前に、0.35umのプロセスを用いて、Alliance VHDLでレイアウトを作成し、LSIを製造した。このときの作業履歴を探していて、うろ覚えだった開発環境をクリアに思い出した。

5年前には、sfl2vh(VHDL変換)が今ほどきちんとしておらず、主としてVHDLの文法に私が不慣れだった理由によって、Verilogへの変換に比べて大幅に機能が不足していた。そこで、LSI製造時に、SFL→Verilog→EDIF→Allianceと複数のツールを組み合わせてネットリストを作成してAllianceで配置配線をしたのであった。
Verilogからの論理合成は、フリーのものはなかったので、私がIcarus Verilogのプラグインを作成し対応した。このルートで、レイアウトエラーなしのCIFファイルが作成でき、それを指定されたレイアウトチェックプログラムに通しただけで、変更なしで製造し、出来上がったチップの動作確認もできたのだった。

今回はもっと詳細なプロセスを用いるので、同じデザインフローで動作するチップができるかどうか、慎重に検証が必要。

3state端子の扱い

2009-08-21 09:26:01 | Weblog
一般にLSI内部でハイインピーダンス状態を作成すると、あまり良い結果を生まないので、束線を3stateとして扱うケースは、バスなどで限定的に用いるため、用意している。出力バッハの最終段だけ双方向扱いにするのが通常の使い方で、途中の生成式は通常論理として計算する。
ところが、束線内のビット単位でハイインピーダンスを制御したいという要望が来て、ディスティネーションが双方向の場合の式の生成を少し変更した。問題となったのは、VHDL側で、こちらは、最適化をかける場合には、アサート文を複数段に分割せざるを得ないので、最終段だけの対応では無理だ。そこで、最適化の論理分割式において、ディスティネーションが双方向かどうかを判断し、その場合には、途中式であってもバス形式で出力させることにする。(気持ち悪いが。。)

この仕組みを少し改造すれば、busとselの使い分けができるが、基本的にデータ確定時間が不安定なbusは、高速論理では、使えないと思っているので、採用するつもりは、今のところない。
どうしてもという要望があれば考えるが。。。

Windowsのショートカットからリンク元を探す

2009-08-20 17:08:37 | Weblog
ショートカットの元ファイルを探すには、COMを使って、IShellLinkから引っ張り出さないといけない。MSDNに対応するサンプルファイルがあって、確認は取れたが、Cygwinでは、ショートカットをシンボリックリンクの代わりに使っていて、ファイル名の拡張子 .lnk を隠蔽するので、この仕組みを使っても、あまりまともにショートカットの扱いができない。

もちろん、CygwinのDLLには、この仕組みが入っているので、Cygwin上だけでオープンソースで開発するならば、それほど面倒ではないが・・

仕組みは分かって、使えることも分かったが、結論は、対応せずとする。

しかし、たかがショートカットになんて大げさな仕組みを用意したんだ?→MSFT

携帯電話

2009-08-19 21:49:19 | Weblog
今回のタイ出張では、いつも使っているNokia E51がとても役に立った。タイの1-2-callのプリペイドSIMを入れて使っていたのだけれど、通話、SMS、email, webとたいていのことがこの一台でこなせるのだ。もちろん、Bluetoothドングルを持っていれば、モデムとしても使えただろう。(今回は、まさか、ホテルのネット環境がこんなに悪いとは想像していなかったので、持ってこなかった)
翻って、日本に戻って、いつものソフトバンクプリペイドSIMを入れると、とたんにパケット通信はできないし、SMSはキャリア内限定だし。。。と、できなことが多い。
日本のキャリアは、どこのキャリアでもこのダメさ加減はほとんど同じ(というか、中でもソフトバンクが一番まし)。

今までは、O2か、bMobileのSIMと入れ替えながら使っていたが、入れ替えは電源を切って、電池を抜いてとなるので、出先で行うのはちょっと勘弁してほしい作業の筆頭だ。

ならば、これら、パケットアクセス専用機を入手するのもいいかもしれない。

値段が安く、日本語にも対応というと、やはり、Symbian搭載のNokiaとなるだろう。特に、5320 MusicExpress なんかは、ずいぶんとよさげだと、1shopmobileの値段を見ながら考えている。

1shopmobileの価格情報

でも、やっぱり、パケット専用ならGPSもあった方が面白いかも?などという悪魔のささやきも。。。

sfl2vlのアップデート

2009-08-15 22:52:34 | Weblog
二週間のタイ出張で、SFLとLSI設計を教えてきた。
LSI設計のツールには、Alliance VHDLを使ったのだけれど、これは、その名の通り、エントリをVHDLで行う。sfl2vhという、SFLをVHDLに変換するコマンドで、必要な変換をしながら、LSIを作っていくコースなのだけれど、普段は自分ではVHDLを使わないので、少し使い勝手の悪いところがあった。

1)Allianceのセルは同期リセットしか許していない。でも、通常のFPGAのリセットは非同期であり、その辺りのつじつまをつけるため、同期リセットというオプションを用意していた。だが、VHDLはアライアンスエントリくらいしか使わないだろうと思い、すべて同期リセットにしていたのだった。
非同期リセットに対応した(つもり)

2)演習中に、引数なしのprocの呼び出しで、SEGVを起こす場合があった。Verilogは対策済みの修正反映ミス

以上の変更を加えたバージョンは、20090814となる。

Linux研修修了

2009-08-01 04:53:23 | Weblog
4日間の研修が修了。

受講生の皆様、おつかれさまでした。4日のうち、3日間、まるまる朝から晩までの講師で、私も体力限界状態ですが、この講座、やるたびに発見があり、受講生の皆様からもパワーをいただき、なんとか乗り切りました。

割り込みを用いたデバイスドライバの作成に、みなさん、ずいぶん苦労され、最後、大幅に時間が超過したのですが、終わった後の調整で、最後のチームも課題が動作し、よかったです。

もう少し時間があれば、せっかく、sysctlやprocの勉強もしたのだから、ドライバの動作を動的にsysctlやprocで表示変更しながら、デバッグできるとよかったですが、私の講義のペース配分が後ろに押していたので、時間的にいっぱいいっぱいになってしまいました。

明日からは、タイに出張で、向こうでは、ハードウェアの設計を教えてきます。

こういうのを貧乏暇なしというのか。。。