Cadence - Computational Software...Computational Software ööö K Ä K ËÃ Q·× 2 はじめに...

6
WHITE PAPER Computational Software エレクトロニクス技術は急速に進化し、私たちの生活に浸透しています。地球の人口よりも多くの 数のスマートフォンが使用され、自動車のドライブアシスタントは今や常識となり、民間航空機はよ り最新のインフォテインメントを備え、様々な用途のウェアラブルなヘルスモニターが使われていま す。あらゆるデバイスによってオーディオやビデオなど巨大なデータが生成され、通信されることに より情報データが爆発的に増大しています。今日の技術革新をもってしても、これらすべてのデー タをキャプチャし、処理、分析するためのネットワーク帯域幅、クラウドコンピューティング、ストレー ジは十分ではありません。 目次 はじめに..............................................................2 Computational Softwareの最適化 .....2 システムレベル設計における Computational Software .........................3 マシンラーニングによる最適化.................4 まとめ ...................................................................5

Transcript of Cadence - Computational Software...Computational Software ööö K Ä K ËÃ Q·× 2 はじめに...

  • WHITE PAPER

    Computational Software

    エレクトロニクス技術は急速に進化し、私たちの生活に浸透しています。地球の人口よりも多くの

    数のスマートフォンが使用され、自動車のドライブアシスタントは今や常識となり、民間航空機はよ

    り最新のインフォテインメントを備え、様々な用途のウェアラブルなヘルスモニターが使われていま

    す。あらゆるデバイスによってオーディオやビデオなど巨大なデータが生成され、通信されることに

    より情報データが爆発的に増大しています。今日の技術革新をもってしても、これらすべてのデー

    タをキャプチャし、処理、分析するためのネットワーク帯域幅、クラウドコンピューティング、ストレー

    ジは十分ではありません。

    目次

    はじめに ..............................................................2Computational Softwareの最適化 .....2

    システムレベル設計における

    Computational Software .........................3

    マシンラーニングによる最適化.................4

    まとめ ...................................................................5

  • Computational Software

    2www.cadence.com/jp

    はじめに

    最先端のアプリケーションを開発するシステム企業においては、将来に向けてテクノロジーおよび製品を強化するために自社で独自にソフ

    トウェアからハードウェアまで開発の全体をカバーする設計ソリューションを構築する事例が増えています。それらの企業では独自の半導

    体を設計し、チップ、パッケージ、プリント回路基板(PCB)、ソフトウェア、システムまで開発全体にわたりエンドツーエンドのソリューションを

    最適化することで厳しい市場要件に対応しています。図1に示すように、この動きはエレクトロニクス設計に関する以下の3つのトレンドに

    よって加速しています。まず最初に、多くの先端アプリケーションの開発においては、システム内の特定のアプリケーションおよびそのワー

    クロードに特化して最適化されたインテリジェントな演算処理(computation)が必須です。そして2番目のトレンドとして、従来のCPUコアアー

    キテクチャの限界によってCPUクロック周波数の進歩は減速しています。さらに3番目のトレンドとして、これまではムーアの法則に従って

    指数関数的に半導体プロセスが微細化され、新たな半導体プロセステクノロジーが採用されるたびにパフォーマンス面とパワー面のメリッ

    トを得られてきましたが、その進行速度は減速し、先端プロセスノードにかかるコストは大幅に上昇しています。

    図1:半導体、システム、およびインテリジェントデザインの収斂を加速する業界のトレンド

    各企業において革新的な製品を開発する設計チームのメンバーは、完璧な成果を早期に出さなければならないという苛酷なプレッシャーに

    さらされています。チームとして最大の課題は、シリコンとソフトウェア双方がますます複雑になる中で、3Dパッケージング、統合されたイン

    テリジェントなセンサー類、5G無線などの新しい技術課題に対応しながら、差別化する新たな製品をより早く効率的に提供することです。

    そこで、Computational Software技術の下で開発されている各ツールが、半導体、システム、インテリジェントなデザイン、それぞれの課題

    を解決します。

    これまで電子設計自動化(EDA)は、SPICE、レイアウト、合成、タイミング解析のような様々な自動化ツールの開発の礎となるComputational

    Software技術の進歩によって促進されてきました。また最近では、システムレベルの設計においても、マルチフィジックス解析およびシミュ

    レーションなど、Computational Software技術によって支えられるアプリケーションの整備が必須になっています。さらに、インテリジェントな

    演算処理をサポートするマシンラーニング技術は、パターンベース演算技術の最新イノベーションを活用し、あらゆる場面で応用されていま

    す。そしてさらに新たな問題として、上記それぞれの分野における課題が複雑に絡み合う状況になっており、システム設計の全範囲をカバー

    し、同時に大規模設計のトレードオフを解決するためのさらに革新的なComputational Software技術が必要になっています。

    インテリジェントなシステム設計を成功させるために、最適なComputational Softwareを開発することは極めて重要な要素となっています。

    従来の単なるアルゴリズムのインプリメンテーションだけでは機能および生産性を大幅に向上することはできません。演算(computation)の

    変革が起こっている現代においては、以下の新たなトレンドが加速しています。以前は独立して処理されていた設計、解析、インプリメンテ

    ーションを統合することによる設計結果の更なる最適化、数千のCPUコアとサーバーを活用した演算処理の分割、分散とスケーリング、そし

    て設計のヒューリスティック(問題発見アルゴリズム)と最適化をさらに進化させることを目的としたマシンラーニングの活用です。

  • Computational Software

    3www.cadence.com/jp

    Computational Softwareの最適化

    研究室、大学、初期の半導体企業などにおいて電子機器に向けた設計およびテスト用のソフトウェアツールが開発され、エンジニアは複雑

    な設計および市場投入に向けた課題に対応するソリューションを整備することが可能になりました。設計に関連する主要な問題の多くは複

    雑かつ扱いにくく、許容処理時間内に完了し最適な結果を生み出すには、複雑なアルゴリズムとヒューリスティック(問題発見アルゴリズム)

    を組み合わせた解法が必要でした。例として、図2に示すように、アナログ回路シミュレーションに向けた非線形常微分方程式と行列乗算、

    デジタルデザインの論理合成および配置配線インプリメンテーションにおける組み合わせ問題最適化と非線形方程式の最適化、多くのEDA

    ツールで使用されている論理シミュレーションおよびフォーマル検証に向けたコンパイラ技術や二分決定グラフのようなソルバー技術などが

    挙げられます。

    IntelligencePervasiveIntelligence

    System AnalysisSystemInnovation

    EDA Numerical solvers Binary decision diagrams

    SAT solvers

    Quantified boolean formula checker

    Symbolic model checkers

    SMT solvers

    Bounded model checking

    Adaptive meshing

    Matrix solvers

    Graph theory and topology

    Distributed processing

    Non-linear ordinary differential eq. solver

    Computational geometry

    Memory allocation and garbage collection

    DesignExcellence

    図2: Computational Softwareの基盤

    演算処理(computation)における様々な変革は、抽象化と自動化の導入により生産性および拡張性の面で新たな進歩をもたらしました。

    初期の電子機器はすべてアナログでしたが、その後、デジタル論理回路が続き、今では大規模なチップのほとんどがレジスタ転送レベル

    (RTL)で設計されています。そして現在では、多くのチップ設計チームが、設計プログラミング言語としてSystemC®/C/C++を使用し、高位合

    成を実行しています。様々なEDAツールを使用することで、設計者は設計の作成およびデバッグを行い、また、抽象度の高い高位レベルの

    記述から製造に必要なインプリメンテーション言語に自動的に変換することも可能です。最近の設計フローは、シミュレーション、論理合成、

    配置、配線、フィジカル情報を考慮したタイミング/パワー/エリアの最適化、タイミング検証、パワーインテグリティ(EM-IR)解析など各設計

    フェーズを自動化するツールによって構築されています。これらの解析ステップを総合的に自動化することによって、より良い設計結果を生

    み出し、設計フローの繰り返しを減らすことが可能になっています。

    設計の規模、複雑性、計算範囲の増大に対応するため、現在のアルゴリズムは複数のCPUコアや複数のサーバーを利用しています。

    数百もの種類のセルと数百のコーナーを持つスタンダードセルライブラリのキャラクタライズ処理には、50,000個ものCPUコアが容易に活

    用されています。一方で、デジタル設計の配置配線インプリメンテーションのように大量な共有データを扱い、複数の同時最適化を行うア

    ルゴリズムの場合は、常に大量の共有データを同期した状態で維持する必要があるため、並列処理のスケーリングは困難です。

    また、電磁解析用のマクスウェル方程式のような多くの連立一次方程式を解くこともComputational Softwareにとって重要な分野のひとつで

    す。このアルゴリズムでは、分散処理向けに非常に大規模な疎行列の分割を行い、CPUコア間の通信量を適切に管理しながら各サブマトリ

    クスを個別に解決します。3D解析、有限要素解析、回路シミュレーション、シグナルインテグリティ、そしてニューラルネットワークのトレーニ

    ングなどの処理においても、疎行列を使用しています。多くのCPUコア間で疎行列を効率よく並列化して解決する技術は、Computational

    Softwareの重要な適用分野です。

    特別なケースとして、ハードウェアにアルゴリズムを全体的または部分的に実装することによるComputational Softwareの高速化がありま

    す。この技術の例としては、半導体チップの機能を高性能で模倣するエミュレータと呼ばれる特殊用途のスーパーコンピュータ技術が挙げら

    れます。この技術により、チップ製造前の段階でRTLのような抽象度の高い設計記述からソフトウェアの早期開発およびシステムデバッグが

    可能になります。

  • Computational Software

    4www.cadence.com/jp

    システムレベル設計におけるComputational Software半導体の機能が増大するにつれ、設計はより複雑さを増し、動作環境、信号ノイズ、およびその他の要因に対する電子機器の感度が高まり

    ます。先端プロセスノードへの移行コストがますます増加しており、もはやムーアの法則ではそれに見合うメリットを生み出すことができませ

    ん。そのような状況の下、チップをマルチダイパッケージに組み合わせることで、多くの場合コストを最適化することが可能となります。

    電磁解析は、非常に高速なシステムにおけるシグナルインテグリティの影響を検証するために必要となっており、現在のほぼすべての先端

    チップの設計において、他のチップ、コネクタ、センサー、無線、PCBなどの影響を考慮し、協調して設計する必要があります。妥当な時間で

    有限要素解析アルゴリズムを完了するために、エンジニアは、シグナル伝送に問題が起こらないことを願いながら、手作業でシステムを解

    析処理時間に耐えられるレベルの小さなピースへとデザインを分割していました。この従来のプロセスでは、設計全体における収束制御が

    欠如していたため、品質を確保するために仕方なく設計マージンを取り、パフォーマンスを犠牲にしていました。

    システムはあらゆる面において、通信速度やサイズ、性能、電圧、消費電力、温度、放射などに依存します。そして現在の電子システム設

    計においてはマルチフィジックスシミュレーションが必要です。上記の様々な影響が相互に作用する例として、112 Gbpsのデータ転送レート

    で動作する高速SerDes通信があります。図3をご参照ください。このように半導体チップから出力された信号はピンを介してPCBに送信さ

    れ、ケーブルを介してトレースを通りコネクタに到達、そして、その他のシステムコンポーネントに到達した後、最終的に別の半導体チップに

    到達します。このパス全体を解析し、シグナル要件に合わせて最適化する必要があります。別の例としては、PCBからアンテナを介して信

    号を送信する5Gに向けた高周波(RF)設計が挙げられます。

    Server Farm Communication

    Complex 3D High-Speed Connector

    20 hours reduce to 2.1 hours

    9.5X speedup

    8GB average memory per machine vs 256GB

    図3:高速シグナルパスの電磁解析

    解析処理自体も重要ですが、市場投入までの時間を短縮することも大変重要です。システムの複雑性に対応するために、ICパッケージ、

    PCB、コネクタ、ケーブルと半導体を協調して設計し、同時に最適化することが求められます。システム全体における協調設計および同時

    最適化においては、最適な設計に向けた様々な選択肢を計算するための共有データとアルゴリズムの統合が必要です。

    つまり、最適なシステムインプリメンテーションの選択を自動で決定できるように、解析ツールをチップ/パッケージ/モジュール/PCB設計環

    境上で動作させる必要があります。

    マシンラーニングによる最適化

    Computational Softwareを電子設計に適用する際に、様々な演算式または処理フローの中から最適なものを見つけ出すことが長期的な課

    題となっています。実際、設計課題に対して演算アルゴリズムを使用する際に、設計ツール自体あるいはそれを使用する設計者も、多くの

    場合与えられた手順書や予め決められた一連のステップをそのまま実行しているだけです。それぞれの演算アルゴリズムは、最終的に解

    決すべき問題全体のうち部分的な問題に対して、結果の品質、処理時間、使用メモリのバランスを取って最適解を見つけるように機能しま

    すが、今後システム設計の複雑さが増せば増すほど、これまでのソフトウェアツールおよびフローで使われているヒューリスティック(発見

    的)な問題解決手法では最適な結果に到達することはできません。

  • Computational Software

    5www.cadence.com/jp

    マシンラーニング技術は、特に大規模なパターンベースのアルゴリズムに向いており、EDAおよびシステム解析と同様なマトリックス解析技

    術を用いて実装されます。回路レイアウトやPCBの配置配線のような設計用演算アルゴリズムを繰り返し適用することで、数千通りの解法

    を評価し、その中から最良の結果を選択することが可能です。このようにマシンラーニングは、過去に成功した設計結果を評価して学習する

    ことができるため、このタイプの問題解決に非常に適しており、新し設計課題に対して最適な選択肢を見つけ出すことができます。

    詳しくは図4をご参照ください。

    Genus and Innovus Digital Full Flow Genus and Innovus ML Results

    Design Input (Spec)

    Genus

    Innovus

    Tempus

    ResultOptimized PPA

    Auto-detects SI-critical region

    Auto-detects high congestion

    Adds routing screen

    図4:マシンラーニングを使用したデジタル設計フルフロー

    また、チップレベル設計におけるマシンラーニングの活用はチップ設計自体の最適化に関するものですが、システムレベル設計におけるマシンラーニングは、全体の設計要件を満たすためのチップおよびシステムの分割、設計などにも応用することができます。さらに、マシンラーニングを利用することで、与えられた設計課題に対して最適な収束と処理速度を得るためのシステムレベルの抽出(extraction)処理およびシミュレーションツールの設定を調整することも可能です。重要なことは、これらにより統合解析を展開するための統合データインフラストラクチャにさらなる価値が生まれるということです。

    まとめ

    Computational Softwareは、数十億ドル規模の電子システム業界に革新的なソリューションをもたらす原動力として登場しました。

    そして現代のComputational Softwareにおいては、以下に挙げる3つの重要なイノベーションに重点を置いている点が特徴です:

    f最適な設計結果の実現に向けて、以前は独立していた設計、解析、インプリメンテーションを統合

    f数千のCPUコアとサーバーを使用した並列分散処理に向けた演算処理の分割とスケーリング

    fシステム最適化に向け、設計ヒューリスティック(発見的問題解決)を改善するためのマシンラーニングの導入

    Computational Software企業であるケイデンスは、EDA市場の枠組みを超え、システム解析、マシンラーニング、およびその他のドメイン

    においても、演算アルゴリズムに関する自社の専門知識を活用しています(図5)。

  • Computational Software

    Cadenceは電子設計分野およびComputational Softwareの専門知識における業界の中心的なリーダーであり、Intelligent System Design戦略の下で設計コンセプトを具現化しています。Cadenceのお客様は世界で最もクリエイティブかつ革新的な企業であり、最もダイナミックな市場のアプリケーションに向け、チップ、ボードからシステムに至るまで卓越した電子製品を提供しています。

    © 2020 www.cadence.com/go/trademarksに掲載されているCadence、Cadenceロゴ、およびその他のCadenceマークはCadence Design Systems, Inc.の商標または登録商標です。その他記載されている製品名および会社名は各社の商標または登録商標です。 14013 04/20 SA/DM/PDF

    図5:Intelligent System Design戦略

    ケイデンスは、業界における重要な変化に対処するためにますます進化し、電子システム設計のあらゆる側面でクラス最高のソフトウェア

    機能を提供するためにIntelligent System Design™戦略を策定しました。私たちはそのビジョンを実現するために、優秀な人材を採用し、新

    たな成長を創生し、創造性を刺激し、成果に報いる、そのようなComputational Softwareにおけるイノベーションカルチャーを作り上げまし

    た。

    ケイデンスは、半導体およびシステム企業のエンジニアの皆様が、人々の生活や仕事を一変させる革新的でインテリジェント、かつ高度に

    差別化された電子製品の開発を行えるようサポートすることを目指しています。私たちは、人工知能、5G、およびHPC(高性能コンピュー

    ティング)などの先端アプリケーションにおける複雑なコンピューティングニーズに対応することで設計者の想像力を引き出し、自動運転、

    産業用IoT、先端データセンター、医療、航空宇宙など多岐にわたる分野でインテリジェンス(pervasive intelligence)を実現します。