SWEST/DAS 共同招待講演2・セッションA-2 「研究・標準化動向分析に基づくシステムレベル設計手法の提案  −JEITA SLD研究会の活動から−」 参加者:約100名 ====================================== 黒坂氏(NECエレクトロニクス): システムレベル設計はデジタルのLSI,SOCを対象としている SOCの中にはCPU,DSPなどが含まれ複雑なので設計手法を色々考えていかないといけな いためそれらを調査しまとめたものです。 研究会のメンバーである半導体メーカー、システムメーカー、EDAベンダと各種企業が 集まり、5年弱で述べ100人くらいが参加し調査・検討したものです。 研究会の目的はシステムレベル設計のニーズの調査、現在の技術動向を調査し、そこ から提案、技術発信ができないかということで行っています。 純粋な研究者ではなく、現場の人間が集まっているため、現場の声を集めることをフォ ーカスして行っています。 活動はアンケートによるニーズ調査、システムレベル言語の調査、実際の今の技術が どうなっているのかを調べ、それをシステムレベル設計フローとしてまとめました。 さらに、団体なども調査し今回まとめました。 我々が定義したシステムレベル設計は要求仕様の定義、機能決定、設計空間RTWS4つの 設計工程に定義されています。特徴的なところとしてプロファイリング技術も採用し ています。 このような設計フローを定義したときに色々な課題があります。それがどうのように 解決されているかを調べています。具体的には3つの標準化団体と、その他欧米、日本 の団体の活動を分析しました。調査の中で、現状の技術で標準化の提案やEDA技術が出 てきたものもあります。まだまだ問題のあるところもあり、アーキテクチャを決定する ツールや手法では実際の適用という観点から、またシステムモデルというものもまだギ ャップがあります。さらにはそういった技術を実際に適用していくという観点から色々 評価、実験していかなければならないというところあげ、見積もり、モデリング、設計 手法という3つの活動を定義しそれぞれのグループで調査、検討を行いました。 ====================================== 野々垣氏(東芝): 背景ですが、現在、新規に何かを作るというよりも以前に作ったものと似たようなも のを作るという流用設計が主流です。当初システムレベル設計は比較的白紙から作り ましょうというところも考えていましたが、その辺のところとギャップがあるので、 プラットフォームを定義してその上でやりましょうというのが現状普及しつつあると いうふうに認識しています。C言語ベースの設計も現場で注目されつつありますが、 まだまだ少ないかなと認識しており、徐々にというところです。 ツールが出てきて、それをポンと渡されてもなかなか使えないということで、ツール の実力の評価やどういった観点で評価すればいいのか、どういうふうに考えたらいい のか、どういうふうに運用すればいいのかといったことも考えたいという背景があり ます。 そこでシステムレベルの設計フロー、どういった技術や思想や思索を用意しておくか といったことを現状のツールベースで評価しました。SLD研究会の設計フローをベース にして議論を進めました。 現状の問題として、ハードウェアのシミュレーションは大事なのですが、シミュレー ション時間が長くてなかなか終わらない、また、大きなハードウェアを作ると規模が 大きすぎて全部検証しきれない、検証するのに工数が多すぎるし、ある工数で間に合 わせようとすると品質がどうしても落ちてしまう、さらに、ハードウェアを作りまし たと言っても、それを既存のハードウェアに適用するのに手間がかかる、また、設計 空間探索という面からは単純なトップダウンの設計だとなかなか解空間が広すぎて絞 り込めないというところが問題となっています。 そこで、設計の解空間が絞り込めないという問題は、現状では仕方がないため、これ については妥協し、残りの3つの問題について、HW/SWの協調シミュレーションの処理 時間が長いということについてはレイヤを意識したシミュレーションモデルの使用を 推進しましょうという提案をします。ハードウェアの実装設計に手間がかかるという 問題には動作合成ツールが使えるようになったのではという仮定の元に問題点指摘と そろそろ使えるのではという提案になっています。最後の問題については今までシミ ュレーションベースでやっていたものをアサーションベースもしくは形式検証を使う 技術を積極的に利用してシミュレーションベースを補完していきましょうという提案 になっています。 まず、HW/SWの協調シミュレーションについて、目的はシミュレーション時間の短縮 です。ハードとソフトのインターフェースを早い段階で検証し、ここでのミスをなく して効率よく開発をしたいということが非常に強く望まれています。また一方でハー ドとソフトのそれぞれの設計規模も増大しているので、全部シミュレーションするに は時間がかかります。HW/SWの協調シミュレーションツールというのは出現しつつあり ますが、そのツールを使って何が検証できるのかといったあたりがあまりはっきりし ないといったところが問題意識としてあります。そこでこれらの問題に対する解を与 え効率的なシミュレーション運用方法を考えます。動作記述などは研究機関に任せ、 ここではどうやってツールを使うかということにフォーカスを当てます。最終的にマ ルチレイヤでのハードとソフトの協調シミュレーションを行うことを提案します。こ こでは保証される精度と保証されない精度を定義したものをシミュレーションレイヤ と呼びます。実際は開発の状況によってレイヤの定義は異なりますので一概にこれが 1つの答えとは言えません。ここでは4つのレイヤを用います。いくつかのレイヤに 分けると、上位のモデルについては速いシミュレータで動作できます。細かいモデル は遅くなります。こういったものを考慮してレイヤモデルを作りましょうという提案 になります。これを背景に9社9ツールのシミュレーションツールをカタログスペッ クレベルで調査しました。調査結果の表を見ると分かりますが、ツールはどれが一番 いいということは一概にはいえないのですが、マルチレイヤで行うならこれがいいと いうようなものはあります。まとめると、HW/SWのシミュレータの課題として、検証 できる精度が異なります。なので検証用途ごとにシミュレーションモデルを変えまし ょう。シミュレーションモデルにはトレードオフがあるので十分に考えて効率的に実 行しましょう。シミュレーションレイヤを定義する際に、保証されない精度を明確に 定義することが大切です。 次に動作合成です。動作合成はハードウェアの実装を自動化したいという願いがあり ます。C言語ベースの開発によってシステムレベルの記述と検証の効率化が期待され ています。しかし動作合成ツールを現場使うほど実用化は進んでいません。そこで EDAベンダのツールについてどういった改善項目があるかを検討しました。動作レベ ルの定義をここではレジスタ記述の有無とします。動作合成ツールはここでは少なく ともレジスタ割り当てが自動的に決定できるツールとします。これについてカタログ スペックでの評価をしました。ここでは並列性の記述とスケジューリングの記述が重 要となります。研究的にチャレンジングな部分としては並列記述の合成、パイプライ ン記述の合成、自動的にスケジュールする機能、ブロック単位での並列化の機能が注 目されています。前半部分については揃ってきていますが、後半の並列性やパイプラ インの記述の部分はまだまだ研究の余地があり、ガイドラインのようなものが必要に なります。 最後に、ハードウェア検証の適用化に関してです。大きなハードウェアを作るとLSIの 設計工数の70%以上が検証になります。現在はシミュレーションベース検証ですが、 現実的な解としてアサーションベース検証で補完していく必要があります。これはデ ザインのある属性を仮定してそれをチェックするものです。これをどのようにやるか ということについては動的検証手法と静的検証手法があります。使い方としては自分 達が作ったブロックの中を検証するものと、自分のものと他のものをつなぐ部分が正 しいか検証するものがあります。これらを分けて行う必要があります。PSLが多くのツ ールでサポートされています。アサーションベースの検証は検証危機を緩和する有力 な方法です。網羅性も高いので検証品質の向上が望めますが、スケーラビリティに問 題があります。アサーション検証のガイドラインが必要と思われます。 ====================================== 大塚氏(富士通): モデリングに関する調査です。モデリングに着目したのはフローを用いた時、各フェ ーズでどのようなモデルを作ったらいいのか、それをどのように下(のレイヤ)につ なげていくのかという問題があるからです。機能決定のフェーズにおいては実装方法 を考慮しないでシステムの機能を定義したり検証したいという要望があります。アー キテクチャ決定のフェーズでは機能を複数のブロックに分割し、分析して最適な処理 量を決定したいというものです。 そこで計算モデル(MoC)に着目しました。ここで着目したいのはシステムの動作仕様 を形式的に定義し詳細化するためのフレームワークとして取り上げます。MoCを用い ることと対象システムに適合させることでモデル化の容易性や設計品質、設計生産性 が向上するのではないかと期待されます。 系統図に記した10種類のMoCについて調査しました。MoCの特徴を、アンタイムなモデ ルなのかタイムなモデルなのか、同期・非同期、プロセス間通信の仕組み、割込みの 有無、プロセスの活性化ルール、階層構造の指定の仕方、プロセスの状態、決定性が あるか、デッドロックの検出、静的なスケジューリング、リソースシェアリングにつ いて考えられるかについて比較しました。各MoCがどのフェースでどういったことに 適用可能かについて検討しました。各項目について考察しました。 提案と主張として、各MoCの特徴を正しく理解することで品質、生産性が向上します。 それぞれ違ったものの相互補完が重要になってきます。課題は要求仕様定義から機能 決定につなげる技術、MoCとアーキテクチャ生成をうまくつなげる技術が望まれます。 ベンダや研究者への期待として、MoCに関する調査、研究を活発化していただきたい と思います。また、MoCの利点を活かしたツール開発と実用化、MoCの選定ガイドライ ンや記述ガイドラインの策定が必要だと考えます。 ====================================== 荒木氏(インターデザイン・テクノロジー): 消費電力見積もりに関する調査と提案をいたします。背景として、消費電力見積もり 技術へのニーズがあります。これは携帯情報機器などの発展によりSoCの低消費電力へ の厳しい要求があるからです。現状としては、ハードウェアの回路設計で低消費電力 化しようというものが主流です。しかしシステムレベルで低消費電力を実現をしたほ うがよいと言われています。 システムレベルでどういった低消費電力のアプローチができるのかということを調査 しました。1つのアプローチとしてはHW/SWの最適な分割というものです。2つ目はCPU のインストラクションのレベルで低消費電力化しようというものです。3つ目は動作 合成の中でHWの消費電力をできるだけ下げる動作合成をしましょうというものです。 4番目はメモリのアクセスに伴う電力消費を低減させましょうというものです。その他 にバスにともなう電力消費の低減するアプローチ、動的にブロックごとに消費電力を 変化させるものもあります。見積もり手法の分類について、プロセッサ、カスタムHW、 バス、メモリそれぞれの消費電力を見積もるというものがあります。 ツール調査と見積もり技術の適用性検討を行います。見積もりには機能決定とアーキ テクチャ決定という2つのフェーズがあります。機能決定の見積もり適用性検討は、 前提として設計情報システムの機能記述であること、必ずしもシステム全体の機能記 述が存在するわけではないとします。考えられるシナリオとして、プロファイリング でファンクションな仕様を決めて、全体的なプロファイリングして、その結果、機能 定義をフィードバックします。ツールを使うメリットはありますが、問題点もありま す。ソフトのコンパイラの最適化をするがハードウェアに実装した場合にうまくいく のかという疑問があります。ですから、どこかでハードウェアの最適化を行わなけれ ばならないと考えます。また見積もりの精度は、絶対値として消費電力が見積もれる わけでなく相対値で見るわけですが、どの程度精度が保証されているのかという課題 があります。 アーキテクチャ決定における適用検討として、カスタムHWの低消費電力を行うツール、 アーキテクチャマッピングの最適化を行うツール、HW/SWの最適化を行うツールがあ ります。これらを組み合わせて使うと効果があると考えます。検討する点として、 流用設計が基本になるので、言語設計を最適化すること、プラットフォーム自体を 変更するということが考えられます。 まとめとして、論文調査を行いました。後半では機能決定とアーキテクチャ決定の 検討を行いました。カスタムHWに関する部分が問題となっています。また見積もり モデルを誰が作るのかということも課題です。 ====================================== 黒坂氏(NECエレクトロニクス): 発表全体のまとめを行います。今回は要求仕様定義、機能決定アーキテクチャ決定、 実装設計へのインターフェースや計算モデルの分析、消費電力見積もり技術の検討 を行いました。研究者の方々には課題を押さえていただいて研究していただきたい と思います。要求仕様の定義の工程については我々も手薄で課題として残っています。 発表を終わります。 ====================================== 以下 質疑応答 Q: 富山氏(名古屋大学) 要望ですが、アンケートをしてできると答えても実際は制限がある場合があるの で、ツールの調査をされる際に実際の例を多く与えてそれが合成できるかを調査 していただきたいと思います。 小林氏 実際の設計現場で使えるかという調査はされていませんか? A: そこまではできなかったのが現状です。システムレベル設計をフルチップでやっ ているところはまだ少なく、若干EDA部門に近い部分が評価をやっているところが 多いので、まだまだという現状です。色々新しい技術を提案していただける段階 にようやくはいってきたのだと考えています。 Q: 村岡氏(STARC) 最近、開発側ではなかなか受け入れられないという状況があります。今回の調査は 誰に対してなのか、開発者に対してなのか、ユーザなのか、EDA部門なのかという あたりを教えていただきたいと思います。 A: JEITAの活動としては標準化なら標準化団体、EDAならEDA団体に広く訴えていくの が活動の主旨になっています。実際に設計を担当している人たちに対して広く紹介 していくという意味もあります。今日の発表の中では課題として皆様に訴えたかっ たというのも発表の主旨としてあります。 Q: HWモデル・SWモデルのレベル分けの話がありました。会社でもシミュレータを使っ ているのですが、開発の初期段階では抽象的なレベルでの設計をしますが、HWもSW も資産がありそれに追加していくというのが現在の開発手法です。少し抽象的なも のを追加していくような、混在できるものがあったのでしょうか。また、LSIだけで なくモータなどのメカも含めた調査はされていませんか。 A: 我々の調査でモータの動作と電気側とのやりとりは今回は対象としていません。 SoCの設計について調査したというのが2点目への回答です。1点目については、RTL とCとの混在など既存のモデルとの混在は必ず要求されることです。混在環境とい うものは出現しつつありますが、やはり上流設計で書いて落としていくのが一番い いのではないかと考えます。モデルを何度も書くのではなく、そこを自動にし、落 としたときの品質を保証するのは大切であり、検証について何をどこまでやりたい かをきちんと押さえておく必要があります。