メディア

ESL設計の現状、その可能性複雑化するSoC設計の救世主となれるか(1/4 ページ)

ESL設計は、従来のRTL設計に代わる次世代のIC設計手法として注目されながらも、設計者の期待を裏切り続けてきた。しかし、最近になって、ESLの利用事例が増えてきたことで、一部の設計フローではESLの役割は拡大している。ただし、ESLの概念はいまだにあいまいで、その利用法もユーザーによって異なるというのが現状だ。本稿では、ESLによって何ができるのか、将来はどのように発展していくのかといったことについてまとめる。

» 2008年12月01日 00時00分 公開
[Ron Wilson,EDN]

過大な評価、現実の有用性

 ますます複雑化するSoC(System on Chip)においては、設計作業の効率化が求められている。そのため、設計者はこれまでのRTL(Register Transfer Level)設計に代わる新手法として、ESL(Electronic System Level:電子システムレベル)設計と呼ばれる次世代の設計手法が登場することを期待した。ESL設計では、例えばC++などのような高級言語を使ってシステムの動作を表現し、さらにシステムをモデル化し、ソフトウエア/ハードウエアの構成要素を規定する。スクリプト型のプログラムとESL合成ツールによってシステムレベルでの設計内容が抽出され、ほぼ最適化されたRTLコードはもちろん、ネットリストも同時に、さらには所要のソフトウエアまでができあがる。かくして、設計の生産性はシステムの複雑さを乗り越えることができる──このようなことが期待されていたのだ。

 しかしながら、設計者のそうした期待は長い間、裏切られてきた。数多くの失敗や誤り、あるいは設計ツールの貧弱な機能などを見せられてきたため、設計者の中には、上述したようなESL設計など、永遠に実現しない未来の技術であるととらえている者もいるに違いない。ただし、ESLがまったく現実味のないものであるとの評価は、ESLの登場初期に、それを過大評価したのと同様に正しいことではない。

 今日では、ESLツールが多くの設計で活用されている。その使われ方は設計チームや設計分野によって異なるが、ESLの重要性は、設計部門のマネジャがそれを否定しようとすれば、自身の立場を失うことを覚悟しなければならないようなレベルにあるのだ。

あいまいな概念

 米Gary Smith EDA社の創設者で、EDAアナリストとしても知られるGary Smith氏は、「すでにESLを多用しているユーザーも、実際に使用し始めたのは2004年ころからだろう。彼らが使用しているESLツールの多くは、それぞれの社内で開発されたものだ。そのため、ESLツールとはどのようなものなのかということについて、業界内でも混乱が続いてきた」と指摘する。

 混乱が生じるのも無理はない。“システムレベル”という表現には、さまざまな意味での抽象的概念が含まれるからだ。そのうえ、ツールには数多くの種類があり、それぞれが異なる抽象化レベルを備え、性能や機能も異なるという状況である。「当初のESLの概念は、アーキテクチャ設計のことを意味していた」とSmith氏は語る。この意味であれば、ESL設計のプロセスはビヘイビア設計に比べて単純である。つまり、ESLでは、ホワイトボードや表計算シートを使って自然言語ベースで表現したシステムアーキテクチャを、実行可能なテキスト(プログラム)として表現すればよいということになる。

 ところが、「ESLツールは民生向けアプリケーションで利用されるようになり、その概念もアーキテクチャ設計用からアルゴリズム設計用へと変化した。そのため、プロセッサやメモリーなどのブロックを含むレベルでの抽象化には重点が置かれなくなってきた」(Smith氏)のだという。

 アルゴリズム設計用のツールについても、人によって思い浮かべるものはさまざまだ。ある設計者は、人間に適した自然な形式でアルゴリズムを表現して取り扱えるツールと言えば、米The MathWorks社の「MATLAB」のような代数ベースのツールのことを連想する。あるいは、厳格な文法構造を要するという問題はあるとしても、ミニコンピュータシステム「PDP-11」に使われたC言語やC++言語が適切だと考える技術者もいる。さらに別の技術者たちは、アルゴリズムの開発には専用の記述言語が必要であり、そうした言語は単純な代数的手法や純然たる手続き的/逐次的手法を用いるものではないと考える。この最後の観点は一風変わった言語が使われなくなった数年前には見受けられなくなっていたが、最近になって復活しつつある。「SoC分野においてプロセッサのマルチコア化が広まってきたことに伴い、ESLツールにも多くの革新があった」とSmith氏は述べる。

 これらの観点とはさらに異なるものが、関連ソフトウエアの開発で先行しているプロジェクトリーダーなどから語られることがある。彼らのプロジェクトでは、ESLツールがソフトウエアベースのバーチャルプロトタイプを構築するために使用されている。構築したプロトタイプに、例えば開発中のドライバソフトウエアを組み込み、統合ソフトウエアシステムとして試験を行ったりする。この試験は以降に行われるハードウエアによるドライバソフトウエアの試験とほとんど等価なものとなる。

 また、当然のことだが、ESLは単にアルゴリズムを表現するだけでなくアーキテクチャレベルの設計に重点を置くべきだと感じる向きも多い。このような観点からは、機能の実装を抽象化して表現するとともに、RTL設計に進んだ際の構造やタイミングあるいは消費電力に関する情報と関連付けて表現できるような言語(主としてC言語をスタートとする)やツールが求められる。こうした観点からの開発の努力も行われてきた。

       1|2|3|4 次のページへ

Copyright © ITmedia, Inc. All Rights Reserved.

RSSフィード

公式SNS

EDN 海外ネットワーク

All material on this site Copyright © ITmedia, Inc. All Rights Reserved.
This site contains articles under license from AspenCore LLC.