雑誌無償購読申込み 最新号 バックナンバー 広告資料請求 EDN Japanについて お問合せ
雑誌無償購読申し込み
メールニュースレター登録
登録内容変更
アナログ IC/ディスクリート
電源/電池/コントローラー
PLD / メモリー
組み込みシステム
コンピュータ&ボード
EDA/IP/CAE/ソフトウェア
電子部品
計測器
ディスプレイ
デジタル家電
通信・ネットワーク
カーエレクトロニクス/産業機器
EDN Japan 記事検索
検索方法の詳細
雑誌無償購読申込み ニュースレター登録 この記事に対する感想/ご意見
designfeature
2005年7月号
解析ソフトとの連携で
開発期間短縮を図るEDAツール


エレクトロニクス業界では自然言語で書かれた製品仕様書が一般的に使われてきた。System VerilogやVHDL、C++を使用することは、設計者にとってこれまでは困難なことだった。
Gabe Moretti
停滞するEDA市場
 トランジスタが発明される以前から、電子技術者はシステムレベルでの設計を行ってきた。しかしシステムレベルの設計は、複雑になるにつれて問題も生じてきた。製品仕様は一般に何百ページにもなり、理解できないことも多い。米MathWorks社の信号処理および通信のマーケティング担当ディレクタであるKen Karnofsky氏は、「設計の欠陥は仕様書の段階で発生するが、一般に検証段階までは検出されることはない」と言う。これらの欠陥は、開発を本来よりもずっと費用のかかるものにしてしまう。なぜなら、開発者はより厳しいスケジュールの中で作業のやり直しをしなければならないからである(図1)
 マーケットリサーチ会社である米Dataquest社は、EDA*担当のチーフアナリストのGary Smith氏がESL*と名づけたEDA市場に関するレポートを4年前からまとめていた。その中で、EDA製品は、論理合成の導入以来、ハードウエア設計の出発点であるRTL*よりも高い抽象度で技術者が電子設計を行っていることを記述している。そのため、多くのEDAベンダーが抽象度の高い製品を投入してきたが、売り上げの伸びは予想をはるかに下回っており、さらに最新の技術は未開発のままである。設計の複雑さがますます進み、65nm半導体製造プロセスが導入されると、システム設計の問題を解決することが、ますます避けられないものとなる。

Advertisement
VerilogとVHDLのアプローチ

 たいていのEDAベンダーは、設計技術者は手馴れたツールが浸透すれば自然とシステム設計に慣れるだろうという仮定の下に、設計問題に取り組んできた。業界では3つの団体が独自の取り組みを行い、高いレベルの抽象構造で概念を記述可能にすることにより、RTLで使用される言語ベースの設計をシステムレベルに拡張している。それぞれの取り組みは、Verilog、VHDLあるいはC言語といった既存言語を基にしている。
 世界的な標準化団体であるAccelleraは、会員企業と協議して、拡張Verilogともいえる多くのビヘイビア構造を追加するVerilogのスーパーセットであるSystemVerilogを策定した。VerilogはRTL設計で最も広く利用されている言語のため、同コンソーシアムでは、この言語を拡張することにより技術者の再教育を最小限にとどめることができ、業界全体のコスト削減にもなるということで策定した。
 一方、IEEEは同じ目的でVHDLを拡張するために、Computer Society DASC*の活用を始めた。同委員会によれば、VHDLベースの言語はVerilogで追加されるビヘイビア構造のほとんどをすでに提供しており、新バージョンの言語への移行を簡単にしているという。しかしながら、この作業の進み具合はゆっくりしており、市場機会を失ってしまう危険をはらんでいる。
 また、C言語、正確にはC++をベースにしたもう一つの主要な取り組みがSystemCである。このSystemCは、OSCI*コンソーシアムが推進し、多くの企業が採用している。このアプローチの支持者は、多くの技術者が大学時代にC言語を学習しており、授業の課題を仕上げているため、C言語ベースのツールについてそれほどの再教育は必要ない、と強調する。

EDAツールのサポート言語

 これら3者のアプローチの技術的な詳細は異なるが*1)、それぞれ、RTLで設計をしている技術者はシステムレベルでも設計を行う、という前提は同じである。しかしながら、製品開発の歴史を見ると、EDA業界であろうが、そのほかの業界であろうが、この前提には疑問を感じているようだ。エレクトロニクス業界では、設計技術者は初期仕様や開発機能要件、プロジェクトガイドライン、市場におけるポジション設定などには関わらない。どちらかといえば、これらの業務はマーケティング、財務およびシステム技術部門が担当するものであり、彼らは概してハードウエア記述言語には詳しくない。彼らは、ほかに利用できる言語がなかったため、システムを記述するのに自然言語で書かれた文書や図面を使用してきた。彼らにとって、ハードウエア実装のシマティックスを持つSystemVerilogやVHDLといった2つの言語、あるいは構造化プログラミング構造を備えたC++を使用することは、システムレベル設計のために書かれた新しい言語を使用するのと同じくらい難しい。
 EDAツールの大手企業である米Cadence Design Systems社、米Mentor Graphics社、米Synopsys社の各社は、それぞれ力の入れ具合は異なるものの、SystemCとSystem Verilogをともにサポートしている。Cadence社はSystemCのプロモーションに積極的であり、Synopsys社はSystemVerilog製品のリーディング企業である。Mentor社は、中立的なアプローチを取っていて、両言語をサポートしている。SystemCをサポートする企業は、展示会や記者会見の場でも自社の戦略を主張している。システム設計に関して、SystemCをサポートする中小EDAベンダーには、英Celoxica社、米Summit Design社、米CoWare社などがある。
 Celoxica社は、FPGAデバイスの設計の実装に関するサポートに重点を置いている。適切なツールがあれば、どんなソフトウエア設計者でも正しいアルゴリズムをコーディングでき、きちんと動作するハードウエアを作り出すことができると考えている。
 Summit Design社は、CとSystemCを使用することによってのみ、設計者は完全なシステムを作り出すことができると確信している。Summit Design社の社長兼CEOのEmil Girczyc氏は、「アルゴリズムの設計はSoC*チームが直面する問題の一つに過ぎない」という。解析ソフトである「MATLAB」を使用した後、設計チームはアルゴリズムの最適な実装を決定しなくてはならない。性能、消費電力、およびアーキテクチャのトレードオフは、MATLABではなく、手続型モデリング言語によって実施されるのが最良である。また、設計チームは応用機器の制御の中心部分を設計し、そしてIP*を統合しなくてはならないと、断言している。「これはまさにC言語やSystemCの役割とするところであり、それらが最適な言語としてVerilogやVHDLに取って代わるものである」と同氏は言う。
 15カ月ほど前、Cadence社が投資を行い同社の「SPW」製品の権利を与えたことにより、CoWare社は新たな糧を得た。SPW製品は通信システムのシステムレベル開発のための環境を提供するものである。SPW製品のマーケティング・ディレクタであるJohannes Stahl氏によれば、「CoWare社は、広範なMATLABユーザーの間でC言語ベースの検証に利用されている「Simulink」の直接の代替となる製品で、メインストリームの市場に取り組んでいる」という。しかしながら、このアプローチは半導体に重点を置きすぎているという批判的な見方もある。光の波長よりも短い寸法の回路パターンを加工しなければならないため、シリコン上でユニークに動作するパターンを開発することは非常にコストが高くつき、誤りの可能性も大幅に大きくなる。ときには、これらの誤りを修正するためのコストを考え、設計チームがプロジェクト全体を取りやめざるを得ないといった結果にもなりうる。そこで、最も高機能で既知のビルディングブロックを使用してICを実装することにより、問題が緩和されるかもしれない。そのため多くの企業が、特定用途向けのIPコアの集合体であるプラットフォームの整備に移ってきている。このアプローチにより、ハードウエアであれソフトウエアであれ、設計の重要な部分はより管理しやすくなり、エラーも発生しにくくなる。

DSLによる設計

 米AccelChip社のマーケティング兼インターナショナル・セールス担当バイスプレジデントであるTom Feist氏によれば、「より高い生産性への要求は、システムレベル設計へのより良いアプローチを約束する新たなDSL*を生み出した」という。「DSLとは特定の問題領域に適合するために汎用性を犠牲にしたプログラム言語である。よく設計されたDSLは、大規模設計オブジェクトを簡潔に表現することができるほか、特定の設計領域にあわせた可視化ツールを完備することやハードウエアおよびソフトウエア実装プロセスへのリンクを提供することができる」(同氏)。
 過去2年間で、EDAコミュニティーにおいて最も関心を呼んだDSLはMathWorks 社のMATLABである(囲み記事「MATLABとSimulinkの進化」参照)。しかし、MATLABは厳密な意味ではDSLではない。なぜなら技術者や科学者はMATLABを使って多くのアプリケーション分野で問題を解決しているからである。EDAにおいては、設計者はMATLABを使って有線および無線通信分野の両方に適切なアルゴリズムを開発してきた。例えば、米AccelChip社などでは、設計者がMATLABでアルゴリズムを開発し試験ができ、そのアルゴリズムをハードウエアに実装するツールを提供している。

MATLABのサポート

 業界では何年間も、いかにして実行可能な仕様に到達できるかについて議論を重ね、問題の解決に役立てるためにUML*などの言語を策定してきた。MATLABのサポートを展開してきたMathWorks社やいくつかのEDAベンダーは、モデルベース設計と呼ばれるプロセスを説明している。これは書面による仕様を特定の実装方法を示唆することなく望んだとおりの実行を記述するアルゴリズムのブロックからなるシステムモデルで置き換えるものである(図2)。 設計チームは、MATLABとSimulinkを使用してさまざまなアーキテクチャを試し、それぞれのバージョンが一貫してテスト可能であることを確認し、RTLコードがその設計から生成可能であることを確認することができる。さらにマニュアル変換のステップを回避することにより一貫性を維持することもできる。このアプローチは、システムレベル設計にとっては最良の選択肢である。なぜなら、それによって設計チームは要件が現実的であるかどうかを検証することができ、実装が時間や予算の範囲内に収まる可能性を示唆するからである。米Synfora社の技術担当バイスプレジデント兼CTOであるVinod Kathail氏は、「MATLABはアルゴリズムの代替案をすばやく生成し検討する際に、既知の手法で簡単に使えるという環境をもたらすという点において、いくつかの大きなメリットをもたらした」と指摘する。
 Mentor社に加え、Synopsys社とCadence社も、顧客がハードウエアの開発にMATLABを使用できる方法を提供している。実際、Synopsys社では2000年以降、同社の「System Studio」の顧客がMATLABを利用できるようにしている。しかし、MATLABの急速な人気の高まりによって、最近になってようやく、同社はその言語に対する正式のコミットメントを強めた。米Altera社と米Xilinx社は、顧客がFPGA開発の間にMATLABとSimulinkを利用できる方法を提供し、顧客がそのツールの購入を希望した場合には顧客をMathWorks社に紹介しはじめている。


参考文献
*1)Chary, Ram, Pat Correia, Ravi Nagaraj, and James Song, "Intel Low-Power Technologies Can Extend Battery Life and Improve Device Usability,'' Technology @Intel magazine, September 2004, pg 1,

*2)"Laptops may damage male fertility,", BBC News, Dec 9, 2004,
http://news.bbc.co.uk/2/hi/health/4078895.stm.

MATLABとSimulinkの進化

 1984年にCleve Moler、Jack LittleおよびSteve Bangertの3人が米MathWorks社を設立した。会社の目的は「MATLAB」の製品化だった。コンピュータ・サイエンティストであったMoler氏は、1970年代の後半、FortranでMATLABを開発した。Little氏とBangert氏は、そのプログラムをC言語に変換し、会社設立の少し前にパソコンに移植したのだ。MATLABは、技術計算用の高級言語で、アルゴリズム開発、データの可視化、データ解析および数値計算のための対話型環境を実現している。
 MATLABによって、ユーザーは従来のプログラミング方式よりも早く、また信号および画像処理、通信、制御系設計、試験と計測、金融モデリングと解析、計算生物学などを含む幅広いアプリケーションにおいて、技術計算問題を解くことができるようになった。また、作業の文書化や共有化のための多くの機能を提供し、ユーザーはMATLABのコードをほかの言語やアプリケーションと統合化することができる。
 MathWorks社のもう一つの製品である「Simulink」は、ダイナミックシステムのマルチドメイン・シミュレーション、およびモデルベース設計のためのプラットフォームである。Simulinkは、対話型のグラフィカル環境および、MATLABを使用して解決するのと同じシステムの正確な設計、シミュレーション、実装、テストを行うカスタマイズ可能なブロック・ライブラリー群をユーザーに提供できる。
 2004年、Mentor社とMathWorks社は、Simulinkを「ModelSim」とリンクさせ、技術者がアルゴリズムとハードウエアの実装の両方を同時にシミュレーションすることができるような方法を開発した。2004年のEDA部門のEDNイノベーションアワードを受賞した製品「Link for ModelSim」は、VerilogあるいはVHDLに、MATLABとSimulinkを同時に、直接混在できる言語シミュレーションを行う機能を付加することによって、アルゴリズムとハードウエア実装の間のギャップを埋めたものである。
 最近英ARM社が買収した米Axys Design Automation社の共同設立者であるVojin Zivojnovic氏は、「MATLABは、ほとんどユーザーが、意識することなく信号処理や制御システムの数学的理論を現実の動作に変換するソフトウェアツールである」と説明する。ツールは60年代および70年代の初期の統計ライブラリーから着実に進化した。MATLABは20年間で、学術分野での主たる利用から産業分野にも広がり、テクニカル・ソフトウェアマーケットにおける最大のユーザー・コミュニティを形成している。

▲本文へ戻る

用語解説 / 会社情報
【EDA】
electronic design automation
▲本文へ戻る
【ESL】
electronic system level
▲本文へ戻る
【RTL】
register-transfer level
▲本文へ戻る
【DASC】
Design Automation Standards Committee
▲本文へ戻る
【OSCI】
Open SystemC Initiative
▲本文へ戻る
*1)参考文献
Moretti, Gabe, "The search for the perfect language," EDN, Feb 5, 2004, p40
▲本文へ戻る
【VHDL】
VHSIC description language
▲本文へ戻る
【SoC】
system on chip
▲本文へ戻る
【IP】
intellectual property
▲本文へ戻る
【DSL】
domain-specific languages
▲本文へ戻る
【UML】
unified modeling language
▲本文へ戻る
雑誌無償購読申込み ニュースレター登録 この記事に対する感想/ご意見
Reed Electronics Group
Electronic BUSINESS Japan | Design News Japan | Semiconductor INTERNATIONAL | DETAIL JAPAN
EDN Japanについて | 広告掲載について | サイトマップ | お問合せ
 Copyright (C) 2000-2007 Reed Business Information Japan K.K. 
個人情報に関する方針 | 著作権・リンクについて | 会社情報