ALTERA社のMAXシリーズに代表されるCPLD時代においては、回路図エントリーの非同期回路が主流でしたが、昨今の主流であるFPGAは、ロジック容量増加、動作周波数アップに伴い内部回路は同期設計、言語エントリーとなり、シミュレーションも波形から言語によるエントリーになりました。
ただし、言語でエントリーできる様になった弊害として、容易にロジックを構成、シミュレーションできるため、ハードウェア設計の基本、同期設計の基本、FPGAの特性の理解不足のまま設計されたコードがよく見受けられます。
PLDの内部ロジックのみを設計する場合は問題ありませんが、PLDの周辺には様々な回路が接続されます。その中で特に非同期信号を取り扱う場合、異なるCLK間にまたがって処理をする場合において、設計を失敗すると論理シミュレーションでは発見できず、実機をリリース後数十時間に一度不具合が発生するなど非常に発見と原因の特定が困難な不具合が発生してしまいます。
弊社はロジックICとPAL/GALの時代からPLDを使用した設計を行ってきました。主要4社のPLDの設計経験があり、要求仕様に合わせて最適なデバイスを選定します。その中で、特にALTERA社のPLDの設計を主として行っています。 当社は、2000年以前はVerilogHDLを、2000年以降はVHDLを主言語とし、言語によるエントリーを15年以上にわたり行っています。
通常、デザインレビュー等ベテランエンジニアアドバイスの元、要注意点のチェックは行いますが、品質を高めるために、FPGA設計に対してLINT TOOLを導入しました。LINT TOOLは基本的なコーディングルールにおける静的解析ですが、このTOOLを使用することでコードの可読性を向上し、ベテランエンジニアのチェックの有効性と社内の設計品質レベルの統一によるメンテンナンス性向上、またTOOLの機能によりコード上では発見しにくいモジュール間にまたがった信号における不具合要素の洗い出しを行うことで、さらに精度を高めた高品質なFPGA設計を可能にしました。