アダルト・ヴァイオリン May the force be with you..

2006年7月26日

4004設計追体験

Filed under: 組込みシステム — @ 9:17 AM

MYCOMジャーナルにタイトルの記事が出ていた。

面白そうだなと思い、設計その1を読んだら、脱力した・・・

著者は、設計のこと分かっていないんだろうな。

設計その2でゲート数比較だけで、回路構成を検討しているので
最終的にどちらの回路が使われるかは不明だが、このレベルの
設計者なら、私なら雇わないね。

2006年7月18日

CELLの歩留まり

Filed under: 組込みシステム — @ 8:48 AM

CNETの記事によると、CELLの歩留まりは10%~20%程度とIBMが言及したとしている。

ということで、記事にリンクされているEE TimesのTom Reevesへのインタビュー記事を読んだ

こちらは、じつはCELLの話のような小さなことだけを言っておらず、
半導体の大きなトレンドの話をしていて、じつは、ずっと興味深い。

高速ロジック素子としてのバイポーラが100Wに達して、
次のステップとしてCMOSに移行してきて、それもすでに100Wに達し、
次なるステップが求められている。

まだ解が見つかっていない32nm以降の電力制御についての新しい方式の
研究開発が急務というのが、こういった流れからも分かる。

また、記事の最後に、

Clarification
Tom Reeves, IBM’s VP of semiconductor and technology services, said he was not making any specific references to past or current Cell yields in an executive insight interview that ran last week. He was, instead, referring to large die yield challenges in general and the successful leverage provided by logic redundancy strategies. IBM does not release product specific yield information. This clarification was made on July 14, 2006.
Click here!

と、書かれていて、特定のチップ(CELL)の歩留まりについて、述べたものではなく、大きなダイのチップに対する冗長性の必要性を述べたに過ぎないと注意書きがある。

2006年6月30日

ETロボコン

Filed under: 組込みシステム — @ 8:18 AM

7月1,2日に開催されるETロボコン
私は実行委員なので、今日の設置準備から作業開始である(21時終了予定)が、明日の集合時間は午前8時(!)

家から開場までは2時間はかかるので、今日は東京に宿泊しよう・・
(事務局が宿泊費を出してくれるかは不明・・)

今年の規約は去年のチャンピオンシップに準じてルールが設定されたことと、難所を難所とすべく多少コースに手を入れた。

元々、チャンピオンシップルールは私が提案したものだが、決定時には色々と議論があったものの、シンプルでいいルールだと自画自賛(笑)

今までずっと忙しく、コース設計時にはほとんどお手伝いできなかったので、実物コースとの対面は私は今日が初めてとなる。設置の便利と再利用性を考慮したコースになっているということだが、果たしてどんなものやら・・

2006年6月26日

WindowsXPコマンドラインのパイプ

Filed under: 組込みシステム — @ 2:24 PM


LiveCygwinを授業で使おうと、動作確認をしようとしたら、
職場の計算機室のマシンでは動かない!?

原因追求していったら、職場のWinodwsXPのコマンドラインでは、パイプ’|’が使えない!?

パイプを使わないと、中間ファイルをたくさん吐き出さなくてはならず、汚らしいが、使えないものはしかたない。

でも、なんでパイプが使えないコマンドラインなんてのがあるんだろう?

ちょっと検索したが、これに相当する問題点は探しきれなかった・・sigh

2006年6月20日

C言語のパーサー

Filed under: 組込みシステム — @ 8:31 AM

Jutta DegenerがANSI CのYACCとLEXのパーサーを公開している。

これ、少し手を入れると、BISONとFLEXが問題なく通る。
(FAQにはshift/reduce conflictが1つ出ると書かれているけど、%precを使って逃げられるので、エラーなしのファイルにはすぐ変更可能)

BISON・FLEXで通る文法ファイルがあれば、色々とやってみたいことがあるので、まじめに読んでみよう・・

ところで、このパーサー、著作権表示がまるっきりないんですけど・・

(日本の著作権法は何もしなくても、著作権が生じるけど、アメリカでは、積極的に著作権を主張しないかぎりパブリックドメイン扱いになるはず。これでいいのかなぁ?)

2006年4月26日

VHDL:真理値から論理値への変換関数

Filed under: 組込みシステム — @ 7:59 AM

VHDLで当たり前のように欠けていた(200Xではextraパッケージに入ったので過去形だがFPGAベンダーツールでは未サポート)ものに、真理値から論理値への変換関数がある。

論理設計者は真理値と論理値を自由に交換して、当たり前のように使うのだが、VHDLでは厳密に型が一致しないと利用できないので、真理値と定義されたものを自由に論理の中で信号としては使えない。

実は、簡単な関数で変換できるのであるが、こんな当たり前のものが何でIEEEの標準ライブラリに最初からないのか、とっても不思議なものだ。

function to_std_logic(b: boolean) return std_logic is
begin
if b then return ‘1’; else return ‘0’; end if;
end to_std_logic;

上の関数は真理値を論理値に変換する。
パッケージとして自分のプロジェクトに追加するか、architecture定義の中に書くことで利用できる。extraパッケージがベンダーツールで利用可能になる将来を考えればパッケージ化しておいたほうが役に立つ。

to_std_logicという関数名は他の論理値への変換関数と同一の名前である。VHDLでは引数の型が違えば同一関数名を利用しても問題にならない。多様体を許しているからである。

この関数はFPGAベンダーツールで普通にコンパイルできるので、少し仕事が楽になった。std_logicとstd_logic_vectorの違いも標準関数を呼び出し、何とかできるので、どんどん記述が長くなり人の読むものではなくなるが、一応、VHDLでもVerilogHDL並みの記述は作成できる(読みたくもないものを書くなんてとんでもなく、私にとって、あくまでもVHDLはアセンブラもしくは中間言語以上のものではないが)ことになったので、VHDLターゲットの仕事もこれで請けられそうだ。

2006年4月25日

sfl2vhの最適化処理

Filed under: 組込みシステム — @ 1:52 AM

やはり、人任せにせず、まじめに最適化VHDLコードを出すことを考えた。
一応、基本設計は終了し、基礎実験において、きちんと正しく動作しそうなことは分かったが、最適化VHDLを出力して欲しいという要望はほとんどないので、気が向いたときに少しずつ作業を進めることにしようか・・・
(VerilogHDL側で修正が入ると、ファイル管理が面倒になるので、本当は一気にやっつけてしまったほうが簡単ではあるが)

面倒だったのは、VHDL-200Xでサポートされる機能がいつまでたってもFPGAベンダーのツールでサポートされないので、同じ関数を独自に定義しなくてはならない点である。

これは、定義すればいいだけなのだが、本来はパッケージとしてファイルの外部に出すべきところ、変換ツールという性格上、パッケージは作りにくい。
結果、関数をモジュール内部に定義して使うことにした。

2006年4月24日

verilogHDLからVHDLへの変換ツール

Filed under: 組込みシステム — @ 12:34 PM

sfl2vlではVHDL出力の最適化はVerilogHDL出力ほどやっていない。というのも、VHDLの構文でVerilogHDL並みの最適化をするには、色々と信号を増やしたり、回避すべき問題が多く出力行数が今の1.5倍にはなりそうな感じだからというのと、(自動合成にさせるにせよ)VHDLで最適化された回路を書くのはとても面倒なのが理由である。

そこで、最適化されたVerilogHDLの出力結果を変換プログラムに食わせて最適化されたVHDLが得られれば、この面倒な作業を外部ツールに任せられるかも?と、二つのツールを試してみた。

一つは、CQ社のDWMで森脇氏が発表したツールV2Vである。

もう一つは、John Sheahan氏のv2vhdである。

で、結論から言うと、どちらのツールも機能不足であり、sfl2vlが最適化したコードは扱えなかった。

両者ともソースは公開されているが、森脇氏のはライセンス条件が不明なので、修正するとしたら、GPLが明示されているJohn Sheahan作のv2vhdだろうなぁ。

でも、これって、pearlで書かれていて、とても読みたい代物ではない・・・

2006年4月23日

sfl2vhの修正

Filed under: 組込みシステム — @ 11:13 PM

O氏より、sfl2vhでVHDLに変換した結果に一部問題が発生し、うまく合成できないケースがあるとの情報をいただく。

問題点は2つである。

一つは外部端子の宣言をきちんと判定せず、内部的に保持している端子を誤って外部端子としてVHDLのentityに出力するケースがあり、不正な端子が余分に出力される場合があった。これは、外部端子の宣言であることをきちんと調査した上でentityの合成を行うように修正して対策。

もう一つはVHDLで算出演算を使うときの型変換のエラーである。私の使っているISE8.1iでは問題なく通る記述も、ISE8.1SP2では通らないらしい。
同じ環境がないと再現はできないのであるが、現象をじっと観察して、おそらく、型変換の演算オーバーライドがうまくいかないと判定。が、ISEのバージョンによって違うというのは困りものである。
結果、unsignedパッケージを新たにインポートすることで、オーバライドの状況をコンパイラに伝えることに成功。余分な型変換の呼び出しは抑止し、デフォルトの型で利用するように修正。

これで、VHDLの多くの合成系に対応できる・・・はずである。

2006年4月10日

MIX PowerC コンパイラ

Filed under: 組込みシステム — @ 5:06 PM

MSDOS全盛の頃、MIXコンピュータのPowerCコンパイラが発売された。これは、$19.95という格安であるにもかかわらず、100ページ以上にも渡るANSI Cのチュートリアルと420個のライブラリ関数の全例題付きの数百ページの解説書として、その分かりやすい構成と文章に優れたものであった。

Windowsの時代になっても、Cの初心者向けには、このチュートリアルとライブラリの説明は充分役に立つし、(当然ながら、GUI部分はないが)今でも入手できるのかなと、検索してみたら、

まだ会社は健在のようでショッピングサイトから購入可能である。

が、$19.95のショッピングにUPS経由で送料が$26かかり、何とも・・・

今日から、新しい人たちに職場にある本を使って、チュートリアルの読みあわせをしてもらっているが、いくつかのメリットがある。

・英語であるので、読み飛ばしをせずにきっちりとチュートリアルを読んでもらえる。
  日本語の教科書を渡しても斜め読みして全部をまともに読んでもらえないものだが、英語だと斜め読みが出来ない人たちが多いので、ちゃんと読む訓練に良い

・英語の訓練になる
  構文はかなり単純で癖もなく読みやすい本なので、英語が苦手な彼らにはちょうど良い英文読解訓練だ

・C言語の基本構文の解説がしっかり書かれている。
  C言語の勉強用に読みあわせをさせているが、本来の(笑)目的にも優れた本である。

というように、この本(いや、本当はプログラムのマニュアルなのだが)にはかなり優れたところが多々あり、出来れば各自が自分で買って手元において欲しいくらいなのだが・・・送料さえかからなければとてもお買い得なんだけれどな・・

Older Posts »

Powered by WordPress