FPGAがいっぱいいっぱい

SDRAMの調整も終息に向かって、最終調整に向かう頃、とても苦労したのが

FPGAのリソースが殆どなくなってきた事です

75%くらい消費していました。

後25%も残っているように思いますがFPGAコンパイルは消費リソースが増えるとより苦しくなってきます。例えば90%とかになると、ほぼそれ以上は何も入らないです。

 

この回路をいじっていた当時、私は新入社員で、基板が出来上がっていたので

この回路のままなんとかしなければいけないと思っていました。

素人にとって、出来上がった電子回路基板と言うのは、絶対的で、置き換えるとかの発想は全くありませんでした。

 

そんなわけでこのFPGAのまま完成させていきました。

実は私の上司にとっても、AlteraのFPGAを採用するのは初めてで、実際に使った事がなかった様なので、以下の事を報告しましたが、何も聞いてくれませんでした。

・リソースがいっぱいいっぱいになってギリギリ

・ロジックエレメントが増えるとコンパイルの時間がかかる

・配置配線が毎回違ってタイミングが変わってしまう

何度も報告しましたが、これらは後に上司が自分でFPGAをコンフィグレーションするまで理解してもらえませんでした。

 

今になって思う事ですが、この上司の開発は、「回路図ファースト」だったのですが、FPGA開発の基本(と言うか理想)は、「FPGAファースト」なのだと思います

これはどういう事かと言うと、まずFPGAを含めたシステム全体のブロック図を作成し

そこに基板が出来ていると仮定して、FPGAのロジックを書き連ねる

シミュレーションを行い、FPGAの内容がある程度完成したところで、最適なFPGAを探す。リソースが不足していれば大き目なFPGAにして、リソースがだぶついていれば、よりリーズナブルなFPGAに変更する。

 

そうする事によって、FPGAの致命的なミスマッチを防ぐ事が必要なのだと思います。

私の上司は、FPGAが一般的な物になる前から回路図を引き続けていて、仕様検討の段階で的確にICを選定するのがとても得意でした。それ故にFPGAの選定も仕様検討の段階で行い、回路図も間違えはありませんでした。

おかげで、私の提案はどうにも聞き入れてもらえませんでした。

一つの要因として、私は可愛げが無かった事もあるのかと思います。

 

FPGAの開発と言うより、仕事をするものの心得として、周囲の人間と円滑にコミュニケーションを取れる事は大事だなと痛感しています。

私の上司は最後まで私の意見を取り入れる事はなく、何をするにも私には確認を取らず

いきなり回路を書いて、基板を作ってから指示をする事を繰り返しました。

幸い、FPGAもどんどん進化したおかげで、容量不足に悩む事は少なくなりましたが

やりづらさは依然として続きました。

 

上司を説得する能力の低かった私は、結果として開発効率を上げる事ができず

ひいては、社内の生産性を理想値より下げてしまいました。

今は反省しています。