Cベース設計とは? 導入の課題は? ――人手による介入が必須,完全自動合成は幻想
3)相対通信決定
次に「timed記述」,つまり,各部分動作間の実行時間関係が明確になった記述をより詳細化し,各クロック単位の動作を決定します.通常,各クロックで具体的に実現するべき演算が明確に定義されているレベルをRTLと呼んでいます.この処理は,いわゆるビヘイビア合成ツールなどでは「スケジューリング」と呼ばれています.ここまで設計が詳細化されると,並列に動作している複数のモジュール間(各モジュールはハードウェアのみから構成されるかもしれないし,プロセッサとその上で動作するソフトウェアから構成されるかもしれない)のインターフェースを明確に定義できるようになります.
図3ではこの処理のことを「相対通信決定」と呼んでいます.ここまでで,機能面から見た動作は完全に確定していますが,構造面から考えると,例えば機能として二つの加算が必要なとき,それを一つの加算器で実行するのか,二つの別の加算器を使うのかの選択などを行う必要があります.この処理は,ビヘイビア合成ツールで「アロケーション」と呼ばれているものです.
4)実装レベル
アロケーションが完全に済むと,ハードウェア部は論理式とネットリストになっているので,論理合成ツールを使って論理式の部分をゲート・レベルの回路に変換します.最終的にLSI内部のレイアウト(配置・配線)を決定すれば,完全な構造記述となり,製造プロセスへと送られることになります.この過程を図に表すと,図4の中央から右へのステップになります.