電子回路設計者として37年間の試行錯誤で得た
様々な経験や出来事を思い出しています。


多く設計していると、失敗することもあります。

マイコンの性能が上がって、多くの処理を
ソフトウェアで出来ることが増えました。

どんどん処理する内容が増えて行くと、
高性能のマイコンでも処理が遅くなり出します。




そこで、
ソフトウェアで処理していた重い負荷処理部分を、
マイコンの外に回路化してソフトウェア処理を
軽くすることにしました。

回路化する手法として、
FPGAを使うことにしました。

主な理由は、出荷数が少なくてLSI化する予算が
足りなかったことと、FPGAのデバイス価格が
安くなっていたからです。


FPGAの選定では、
LSIの選定感覚で進めてしまい、
有効使用素子数ギリの容量で決めてしまいました。

FPGAはLSIと違い、内部配線の遅延時間が
最後の論理合成結果まで不明な為、
クリティカルなタイミング回路を組めないことが、
設計中に分かりました。


有効使用素子数に余裕があれば、
配線遅延時間を短くする設定も可能でしたが、
素子不足になって、論理合成出来なくなりました。

試行錯誤に多くの時間が掛かかってしまいました。


未経験なデバイスの選定には、
不測の事態を想定した余裕が必要です。

しかし、
仕様検討とコスト試算をする時には、
不測の事態を検討書には書き加え難く、
ある程度、見切ることをしてしまいがちです。


設計検証の時には、
100%完璧と思える所まで確認しても、
それは90%の完成度でしかないという
余裕度の考え方がありました。

部品選定を含めた仕様の検討時にも、
余裕度を考慮した検討が必要でした。

何とか製品化は出来ましたが、
数年後には余裕のある
FPGAに入れ替えることになりました(笑)