非同期式回路は、従来のクロック信号と呼ばれるグローバル信号によって制御される同期式回路とは異なり、ローカルなハンドシェーク信号を用いて回路動作を制御する。この為、低消費電力、低電磁放射などの利点がある。しかしながら、設計支援環境が充実していないので、実用化には設計支援環境の構築と、合成された回路の評価が必須である。 そこで、本研究では、制限つきのC言語によって記載されたアプリケーションの動作仕様より、束データ方式による非同期式回路の論理設計を自動合成する動作合成手法を提案した。また、プログラミング言語Javaを用いて、提案手法を実装し、設計支援環境の構築を行なった。 提案手法は、入力としてアプリケーションの動作仕様、時間制約、リソースライブラリからなる。フロントエンドでは、データフローグラフと呼ばれる中間表現を生成する。中間表現上の各演算に対して、リソースライブラリにあるリソースを割り当て、演算の実行時間を概算する。概算された実行時間と時間制約をもとに、各演算の開始時間をスケジューリングし、スケジュールされた演算に実際にリソースライブラリにあるリソースを割り当てる。次に、演算回路を制御するための制御回路を合成する。制御回路の合成後、演算の完了とレジスタへのデータ書き込みを保証する遅延素子を挿入する。最後に、出力生成部分で、論理設計と機能検証用のシミュレーションモデルを生成する。 提案手法をベースとした設計支援環境の構築により、上述の設計過程は完全に自動化された。このため、非同期式回路の設計手法を熟知していない設計者でも、非同期式回路を容易に実現することが可能である。また、画像処理やフィルタなどのベンチマークを合成し、合成された回路における面積や性能の評価を行なった。今後は、C言語の制限を緩和するために、提案手法を拡張し、更なる最適化手法を提案する予定である。
|