システム・レベル設計とはなにか
●設計生産性のギャップを埋める三つの手法
ここで,現在,半導体メーカや機器メーカの多くの技術者を悩ませているシステムLSIの設計について考えてみます.
図4で示したように,LSIに集積できる回路規模の伸びと設計者の設計能力の伸びの差が広がっています.LSI設計者の数を年々増やせれば問題ないのでしょうが,そうもいきません.考えられる解決策の一つは,設計の抽象度を引き上げることです.設計の抽象度を引き上げた場合のシステムLSIの設計手法としては,以下の三つが考えられます.
(1)プラットホーム・ベースの設計
プロセッサ・コア,周辺回路ブロック,オンチップ・バス,基本ソフトウェアなど,アーキテクチャの基本部分(これをプラットホームと呼ぶ)が用意されており,設計者はそのアーキテクチャの一部をカスタマイズしたり,ソフトウェアを追加することによって,所望の機能を実現します.半導体メーカのなかには,たとえばディジタル・カメラ用のプラットホームやCDMA(code division multiple access)電話機用のプラットホームを用意しているところがあります.
(2)IP(intellectual property)を組み合わせる設計
IPと呼ばれる再利用性を考慮して開発されたメガセル(大規模回路ブロック)やソフトウェア部品を組み合わせて,所望の機能を実現します.大手半導体メーカなどは,5年ほど前からIPの拡充を積極的に進めています.ただし,いくつかの問題点も指摘されています.たとえば,インターフェース・プロトコルの異なるIP同士を接続するのは容易なことではありません.また,他人の作ったIPの信頼性保証の問題もあります.
(3)システムの自動合成
ハードウェア・ソフトウェア協調合成とも呼ばれます.仕様記述からシステム全体(電子回路とプログラム)を自動合成しようという手法です.まだ研究段階の取り組みであり,実用化には時間がかかりそうです.