会社案内 (近況 2009/05)

先月   翌月

2009/05/29 PCIe コア、シャバで揉まれる (川井)

昨年末に都内近郊のとある会社から、当社の PCI Express IP コア GPCIe を 採用した基板開発の仕事を頂いた。開発はスムースに進み、予定通りの納期で 納品した。軽微な修正のすえ、先方での動作テストも無事に済んだ。

が、その後しばらくして、一部の PC では正常動作しないとの連絡を頂いた。 動作しない PC をお借りして原因を追求、修正、という作業を 3 回繰り返し、 ようやく当社、先方、および先方の顧客、の所有するすべての PC で動作するようになった。

3 つの不具合の原因はそれぞれ

  1. GPCIe にバグがあった。当社 (というか私) の落度。
  2. PCI Express の規格上は「開発者の判断にゆだねる」となっている箇所 の動作が、当社の期待と異なる振舞をする実機があった。PC のメーカと当社、 どっちが悪いか微妙。
  3. PCI Express の規格に準拠していない振舞をする実機があった。PC メーカの落度。
というものだった。先方に協力を頂き (大変お世話になりました)、これまで に 20 種以上の PC でテストを行ったので、GPCIe はそろそろ枯れてきたと思 う。しかし規格に準拠していない PC はおそらく今後も出てくるだろう。そう いう PC で動作しなかった場合に
  1. 量販店で買ったカードなら「相性が悪いですね〜」で片付けられてしまう。
  2. 大手ベンダのコアなら、運が良ければ次期バージョンアップで対応してもらえる。
  3. 当社 GPCIe なら、誤動作する PC をいじらせて頂ければ、たいていは数 日で対応。さらに、GPCIe には回路の VHDL ソースコードが付属するので、ツ ワモノならば自力解決も可能。
というわけなので、みんな GPCIe にしようぜ。

なんだ、ながながと書いておいて結局宣伝かよ。

2009/05/04 Windows 用 HIB ライブラリ (川井)

Windows 向けのデバイスドライバを作ったので、制御ライブラリ (HIB ライブラリ) も Windows に対応させた。まさか当社のコードに

#if defined(_WIN32)
などという directive が挿入される日が来ようとは。

2009/05/03 GRAPE-DR model1800 の箱(福重)

model1800 の箱です。写真は1台ですが、2台入ります。 ホストへはExternal PCI Express Cable(16レーン)で接続します。

2009/05/01 大樹の影だいたい終了 (川井)

一昨日に「kernel space を user space に map するのは WDF が許してくれなくて面倒かも」とか大変ぽいようなことを 書いたばかりだが、ちょっと調べたらふつうにできた。つまり、

ということができるようになった。特にインチキとか tricky な抜け道は必要 なかった。これで PIO も DMA もいちいち ioctl 経由で kernel に依頼する ことなく、全部 userland で出来るようになった。転送性能もざっと測定した ところでは Linux 版と同程度出ているようだが、より正確な検証は後日。 「Linux 版ドライバと同等のことができるようになっただけ」と言ってしまう と大したことないように感じるので、そういう表現はやめよう > 心優しい 読者の皆様

やり方の説明は面倒なのでパス。だいたいこの辺の関数を使う:

分かる人にはこれで分かるはず。

それから、デバッグ中に気づいたのだが、DMA の範囲がバッファの外にはみ出 ても OS はハングせずに、はみ出し者の process だけが終了する。どういう 仕組みか知らないがすごい。感動した。


先月   翌月
近況トップ