FPGAの開発を全く知らず、誰からも教わらずに使ってきた私にとって、とても後悔していることは、ちゃんと工程を知らないと時間を浪費するという事です。
例えて言うと、全く知らない土地に白紙の地図を持って立っている時と、完成した地図を持っている時のような違いだったかなと思います。
現在地も目的地もよくわからず、街を歩くところから始めます
行き止まりに当たって、地図に書き込んで、戻ってを繰り返して
自分で地図を完成させていきます。
散々苦労しても出来上がるのは今回の目的地までの地図です。
シミュレーションもシグナルタップも知らなかった私は
頭の中でロジックを作成して、FPGAに焼き込み、オシロスコープで確認します。間違えたら、出力する信号を入れ替えてまたコンパイルを繰り返します
初期の製品はFPGAとしてはごく小さい規模のものでしたが、コンパイルには
5分くらいかかります。当時何回コンパイルしたか忘れましたが、2000回以上はコンパイルさせていたと思います。パターンを変えて一晩中コンパイルさせたりもしてました。
知識の足りない部分を何度もトライアンドエラーで時間を使って完成させました。残業も毎日したし、完成するか不安な日々も常でした。
きちんとした基礎知識があれば、そんな思いもしなかったろうなと思っています。