システム・レベル設計とはなにか
●システム・レベル設計には新しい記述言語が必要
さて,上述したシステム・アーキテクトの力強い武器となるのが,本特集の主要なテーマである「システム・レベル言語」です.システム・レベル言語は,前述のシステム・アーキテクトが仕様を検討したり,インプリメンテーションを担当するソフトウェア開発者や回路設計者に仕様を伝えるために利用されます.
既存のプログラミング言語(C言語など)と異なり,いくつかのシステム・レベル言語はハードウェアやリアルタイム制約をともなうソフトウェアの動作を表現するための構文を備えています.また,ハードウェア記述言語,あるいはたんなるプログラミング言語として利用することも可能です(システム・レベル言語がハードウェア記述言語やプログラミング言語にとってかわるかどうかは疑問だが...).
図3(b)に,システム・レベル言語を利用した場合の設計フローの例を示します.システム・レベル言語としては,SpecC,SystemC,C/C++,Superlog,Javaなど,さまざまな提案が行われています.いずれもまだ提案や普及推進活動が始まったばかりの段階で,どの言語が業界標準になるのかは明確になっていません.あるいはハードウェア記述言語のVHDLとVerilog-HDLのように,複数の言語が共存していく可能性もあります.本特集では,普及推進活動が日本を中心に進められているシステム・レベル言語「SpecC」を例に話を進めたいと思います.
〔図3〕システム・レベルの設計フロー
(b)では,設計の手戻り作業が少なくなる.仕様書を表現する言語,ハードウェアの設計言語,ソフトウェアの設計言語が共通になるので,仕様に関する誤解が生じにくい.