システム・レベル設計とはなにか
●仕様決め,ハード設計,ソフト開発が混然と進む
組み込み機器やシステムLSIを開発する際の「システム・レベル設計」の範囲が明確になったところで,次に,これらの設計フローを考えてみましょう.従来,よく行われている組み込み機器の設計フローを図3(a)に示しました.システムLSIの開発では,左端の機構設計の部分が存在しないことになります.また,設計対象(あるいは会社の業態)によっては,組み込みソフトウェア開発のみ,あるいは電子回路設計のみで業務が閉じている場合もあるかと思います.
図3(a)のフローにしたがって,まず要求仕様をきっちり固め,その後,ソフトウェアの仕様分析,機能抽出,タスク設計,あるいはハードウェア(電子回路)のアルゴリズム設計,アーキテクチャ設計,ビヘイビア設計,RTL設計というように,上流から下流へ向かって整然と作業を進めるのが理想です.しかし,実際には,製品を他社より1日でも早く出荷するため,仕様決め,ソフトウェア開発,ハードウェア設計の各作業がなかば混然とした形で進むことが少なくありません.
仕様書には外部仕様書と内部仕様書があり,文章や式,図表を使って表現されます.実際の開発では,仕様を決めかねる箇所に「tbd(to be determined)」などと書いて,一安心してしまいがちです.試作機などができあがった後で,この箇所の記述が行われるということもあるようです.
設計技術者は内部仕様書をもとに所望のプログラムや電子回路(LSIやプリント基板など)を作成します.また,外部仕様書をもとにテスト環境(テストベンチやテスト・プログラム)を作成します.電子回路,プログラム,筐体などの設計が一通り終わったら,試作・統合して動作を確認します.会社の認定レビュー(認定試験)に合格すれば,製造開始となります.
認定レビューが近い設計作業の終盤で電子回路の不具合が見つかった場合,もはや作り直しをしている余裕はありません.LSIやプリント基板の作り直しには時間やコストがかかるからです.こうした不具合は,ソフトウェアの修正だけで対処することがよくあります.
〔図3〕システム・レベルの設計フロー
(a)では,設計の手戻り作業が多く発生する.仕様書を表現する言語(自然言語)と設計言語が異なっており,設計言語もハードウェアとソフトウェアで異なっている.仕様の内容について,誤解が生じやすい.