PCIバスの構成でカメラを作り終えた私は、次はPCI Expressに挑みます
実は当時既にPCIバスは陳腐化しかけていた技術でしたが
PCI Expressは、PCIバスと違い、信号が一本(一対)のラインで送られます
複数のラインであっても、それはパケットを分けて送っているだけで
パラレルに信号を見る事が出来るPCIとは意味合いが違っています
なので、ちょっと閾の高い技術になります
今は然るべきFPGAにはPCI ExpressのIPコアが入っていて
開発キットも簡単に手に入るのですが、当時はなかなか大変でした
まず、IPコアがサードパーティになっていて、PHYも外付けでした
そして何より、私が、全体像が全く見えていませんでした。
実は先日、今の会社の上司に「出来るかどうかも分からないもの、うちの会社じゃやらせないかんね」と言われたところです。
そう考えると、この潰れかけた会社に来て、無鉄砲にトライする事が出来たのは
実はとても行幸だったのだろうと思います。
経験も知識もない人間が、様々な制限があるとは言え、出来るかどうかも分からない事に挑戦して、現在は”経験者”の地位を手に入れたのだから。
さて、 PCI Expressの話です
私は最初にPCIボードを作った訳ですが、当時のPCIボードの転送速度と言うのは、33MHzで32ビットでした132MB/secが転送レートの上限でした
しかもこれは物理的な理想値の話であって、実際にはオーバーヘッドがかかる為
60MB/secとかくらいの製品しか作っていませんでしたが
要求される転送レートはどんどん上がっていきます
この時PCI Expressでは、既に2.5Gbpsと言う転送レートで
送受信が干渉せずに転送できると言う事が分かっていました
これは250MB/sec(理想値)での転送が可能になると言うものでした
そしてレーン数をx2, x4と増やす事で2倍4倍の転送速度になっていきます
x1レーンのPCIExpressは、転送速度が大体160MB/secで使っていたので
x4レーンだと、600MB/sec以上出る計算になります。
むぅ、これはやるしかない
とか思いました。
けどまあ、どうやって作るのか分からなかった私は、インターネットで色々と探しました。
そして、上記の様にIPコアを使う必要があると言うところまでは突き止め連絡をとりました。
当時私が見つける事が出来たIPコアの会社はPLDaと言うフランス(当時)の会社で、営業の人は熱心に(メールで)説明してくれました。
英語もPCI Expressの知識もちんぷんかんぷんだったので、一生懸命理解しながら進めていきます。