Cベース設計とは? 導入の課題は? ――人手による介入が必須,完全自動合成は幻想
●システムを決めるのは「構造」と「実行順序」
さて,システムLSI設計のような大きなシステム全体の設計を考える際には,ハードウェアやソフトウェアの実装面を中心とした「構造」という見かたと,機能を中心にどのように動作するかを考える各部分動作間の「実行順序」関係という見かたが重要です.
図2に示すように,一般に,設計の詳細度が低い(つまり,設計の抽象度が高い)レベルでは,構造情報はほとんどなく,動作の実行についても実現すべき機能が決まっているだけで,実行のしかたや順序は何も決まっていない状態です.このような抽象度の高い状態からスタートし,徐々に詳細化が進み,最終的に,構造としては物理的なレイアウトが決定し,動作の実行順序としては完全な順序付けとともに詳細なタイミングまで決定されることになります.
ここで重要なポイントは,このような二つの見かたから設計の抽象化レベルを議論する際には,ハードウェアだけでなくソフトウェアのことも考えて議論しなければならないという点です.また,可能であればハードウェアとソフトウェアを一体として扱える設計表現が望まれるということです.ある意味,ハードウェアとソフトウェアの両者を区別しない考えかたであるとも言えます.
〔図2〕設計の抽象度
設計の抽象度を測る尺度として,「構造の記述」と「実行順序の記述」の二つの面が重要である.設計抽象度が高くなればなるほど,大まかにとらえた構造を記述するようになり,また,各動作間の実行順序も大きな単位で考えるようになる.構造の記述では,配置・配線などの物理的な構造だけでなく,動作の階層などを表現する構造を記述することも重要である.