改訂版EDA用語辞典とは・著者一覧

 LSIのシステム・レベル設計・検証は,大きく二つのフェーズに分けることができる。「システム設計フェーズ」と「アーキテクチャ設計フェーズ」である。

 前者のシステム設計フェーズでは,顧客要求やマーケティングによる市場分析から要求仕様を抽出し,標準化団体等で策定している標準規格の下で,システム要件をまとめるのが最初の仕事である(図1)。この時,UML(Unified Modeling Language)のようなシステム・レベル記述言語を用いることが多い。この後,機能仕様書と性能仕様書を作成し,さらに機能モデルと性能モデルを作る。

【図1 システム・レベル設計工程】 出典はJEITA。
図1 システム・レベル設計工程
出典はJEITA。
[画像のクリックで拡大表示]

 そしてシステム・レベルの機能検証と性能検証を実行する。機能モデルや性能モデルは,従来,各社各様に作成されており相互運用性が低かった。最近,OSCI(Open SystemC Initiative)がトランザクション・レベルモデリング(TLM:Transaction Level Modeling)を策定したことにより,標準化が進んでいる。

 一方,後者のアーキテクチャ設計フェーズでは,機能検証と性能検証の結果に基づいて,実装(後段の設計)のためのアーキテクチャ・マッピングやハードウェア・ソフトウェアの分割作業を行う。この時,ハードウェア・ソフトウェア協調設計ツールやプラットフォーム・ベース設計手法を利用するケースが増えている。また, ASIP(application specific instruction-set processor)を利用する場合もある。

 これらの作業と並行して,アルゴリズムに関しても作業を進める。すなわち,実装のためにアルゴリズムの詳細化や最適化を行い,ハードウェア実装モデルやソフトウェア実装モデルを作成する。この段階でもハードウェア・ソフトウェア協調設計ツールを利用し,実装が正しいかどうかシステム・レベルで確認を行う。ハードウェア実装モデルは動作合成可能なレベルにまで詳細化されており,動作合成を使ってRTL(register transfer level)コードを生成するケースが増えている。