PCI Expressに着手しましたが、もともと出来合いのボードを買ってきて、FPGAの中をいじれましたと言うところを見せて、開発の許可が降りたところなので
まだ何も始まっていません。
まずは、買ってきたボードを使って、ボード内部に仮想のカメラを用意して
取り込んだ事にします
そして、それをソフトウェアで表示する様にプログラムを作ります
VisualStudioを使っていたと思います(←あんま覚えていない)
実際には、カメラの取り込み口が付いたボードが必要なので
これを設計しなければいけません
回路は私が引きました。一年間カメラを作った事で、回路は何となく引ける様になっていました。見様見真似ですが、必要な回路を方々から参照して切り張りのの様にして仕上げました。
私にはアートワーク(PCBを設計する)の能力が無いので
当時20代の若い子が上司に色々言われて作っていました
全く何をしているか分からなかったのですが
時折、「インピーダンスが・・・」「等長配線・・・」と聞こえてきます
x1レーンのPCI Expressと言うのは、PCIバスに比べて圧倒的に線の本数が少ないので
簡単だろうと考えていました。
電気の線なんて繋がってればなんとかなるだろうと言うのが、当時の私の感想でした。
これは半分は当たっていて、意外にどの信号も繋がってれば動きました。
ですが、それでは痛い目に合う事も多くあります
その場合は全く動作しないのではなく、「動いてるけど時々止まる」等のとても見つけにくい不具合として出てきます。
1GHzを超える様な信号が通る線を引くには、それなりのルールがあります
この当時は私はそんな事何も知らなくて、上司が全部管理していました。
従業員4人の小さな会社では、その上司のカバーできる範囲もそれなりに制限があり
後から考えるとめちゃくちゃやって来たなと思う事は幾つもあります
ともあれ回路を引いてしまえば、アートワークが終るまでには時間があるので
その間にもくもくとFPGAの開発を進めていきます
このPCI Expressのボードを設計するまでは、私はJTAGと言うものを良く理解できていませんでした。(上司も良く分かってなかった)
なので、FPGAの回路はPOFファイルを作成してEEPROMに直接焼き込んで
電源を入れなおしてから起動して、オシロスコープで一本一本信号を確認していました。
本当に無知とは罪ですね。
ともあれ、最初に用意したボードは、何といっても最初から動くモジュールのソースが用意されているので、コンパイルすれば動くので、最初は楽でした。