Xcelium ML: ツールの中の黒帯検証エンジニア
リグレッションテストの効率を向上させる、すなわち、より少ないシミュレーション回数、より少ないシミュレーション実行時間に改良して、同等のカバレッジ結果を得る、そのようなことができる人がいたとしたら?
まさに、長年の経験を持つ優れた検証エンジニア、もしもあなたが人事担当であれば、是非ともすぐに履歴書持ってきてください、いや、いっそ、競合他社に持って行かれる前に直ぐに内定出しますから、と言いたくなってしまうこと請け合いです。
Xcelium ML
たまたまですが、私はそのような技能へアクセスする方法を知っています。その力を借りるのに、履歴書を持ち込んでもらう必要もありません。その方法は簡単、ケイデンスのXcelium™ ML、正式名称:Xcelium Parallel Logic Simulation with Machine Learning Technologyを使うだけでよいのです。
エコノミストは、「世の中にタダ飯のようなうまい話は転がっていない」とよく言いますが、英語ではTANSTAAFL(there ain't no such thing as a free lunch)と略しています(豆知識)。これは、常にリソースの制約があり、したがってトレードオフがあるという考え方です。お金がたくさんあっても、体というリソースはひとつですから、夕食に出かけると同時に新作映画を見に行くことはできない、というトレードオフがあります。(残念ながら、今はコロナ禍で家にいることが推奨されているため、どちらもなかなかできない状況ですね。まあ、これは別のトレードオフですが。)検証エンジニアは、無料のテストパタンのようなものはない、というような似た言い方があるかもしれませんが、実行できるシミュレーションの量は常に制限されており、最も大きな違いをもたらす設計インスタンスに可能な限り最も効率的な方法でこれらのテストパタンを適用する必要があります。経験豊富な検証エンジニアは、意識的または無意識的にそのようなことを行いますが、どのシミュレーションを実行するのか、また制約付きランダムの場合はどのくらいの実行時間となるのかなどなかなか難しい部分もあります。 Xcelium MLは、より構造化された方法で同様の選択を行います。
多くのディープラーニングアプローチと同様に、トレーニングフェーズと推論フェーズがあります。トレーニングフェーズでは、大量のデータを使って、ニューラルネットワークの重みを計算します。推論フェーズでは、その重みを使用して、関連する可能性のある新しいデータセットの照合を行います。ここで重要な点は、今まで出てきたことが無いような新しいデータセットであっても、ディープラーニングでの結果はランダムよりも優れており、多くの場合非常に優れているという点です。たとえば、ディープラーニング技術を使用したNetflixのレコメンデーションエンジンは、おそらく気に入るであろう映画を、それが今まで見たこともなく評価したことがない映画も含めて、レコメンデーションできるようになっているのです。
Xcelium MLの場合、学習フェーズは、ランダム化されたテストスイートを実行し、その結果をトレーニングに使用することで構成されます。推論フェーズでは、同じテストスイートを実行し、作成した推論モデルを使用してシミュレーションの実行を制御します。結果はとても印象的で、同じカバレッジを得るためのリグレッションテストを最大5倍速くすることができます。
これは、ROIの観点からは大きな違いです。私がまだソフトウェアエンジニアであった頃、グレンフォードマイヤーズのThe Art of Software Testingという画期的な本を読みました。これにより、「成功した」テストはバグを発見したテストであり、問題を発見することなく終了するテストは実際には時間の無駄であるという点で、テストに対する私の見方が変わりました。
その同じ視点は、IC検証においても、1日1ドルあたりに見つかったバグの数を評価尺度とする、というようなROIの考え方につながります。ポイントは、検証スループットに着目することです。
マシンラーニングにより、結果(この場合はカバレッジ)に影響を与えることなく、リグレッションテストのスループットを向上させることができます。5倍速く同等のカバレッジを叩き出すということは、同じバグが5倍速く見つけられるということです。ただし、ランダム化にはプロセスのランダム性にも影響を与えることは明白ですので、これは正確な言い方ではないかもしれません。
上の図は、ランダム化テストスイートを実行するXceliumで、上部にはマシンラーニングがなく、下部にはマシンラーニングがある、という差での動きをそれぞれ示しています。実のところ図の下部での実行時間は上部での実行時間の約20%にすぎないので、このグラフの縮尺はあまり正しくないことに注意ください。もう1つ細かいことですが、マシンラーニングのエンジンは占有した一つのCPU(下部の赤)で実行され、他のCPUでのシミュレーションを達成されている結果に基づいて制御しています。
これらのグラフは結果を表しています。左側は、テラサイクルで測定されたランタイムです。当然、小さい方が良いものです。右側は、カバレッジです。こちらはバーが大きいほど良い結果ですが、おそらくもっと重要なことは、同じカバレッジを取得することです。
こちらは実際のケーススタディです。左側では、マシンラーニングなしで実行し、10,000時間かかります。右側では、XceliumMLの所要時間はわずか2,000時間です。このようなざっくりとしたグラフだけでは厳密にわかるものではないですが、カバレッジの傾向が似ているだけでなく、カバーのビンがより早く埋められていることがわかります。
概要
- Xcelium MLは、ランダムリグレッションについて、同じカバレッジを得ながら、シミュレーションサイクル数が最善で1/5となる削減が可能です。
- Xceliumロジックシミュレーションとネイティブに統合
- 複数のお客様でのトライアルで確認されています。キオクシア様からはターンアラウンドタイムを1/4.5に削減したとのクォートをいただいています。
より詳しく知るには:
XceliumMLのビデオをご覧ください。
また、The Sound of Cadenceのバックナンバー Volume 33 (Oct 2020)掲載、「検証作業における人工知能との新しい協力関係」もあわせてお読みください。
この記事の原文は、こちら をご参照ください。
Paul McLellan(米国ケイデンス)
日本語訳 後藤 謙治(日本ケイデンス)
Latest Issue
- 次世代仮想プラットフォーム Helium Virtual and Hybrid Studio 最先端のテクノロジとケイデンス検証プラットフォームとの融合
- FMEDAベースの機能安全開発ソリューションCadence Midas Safety Platform
- プリント基板設計ツールAllegro/OrCAD:SPB17.4-2019 QIR3 最新機能の一部をご紹介
- 基板レイアウト設計者によるスクリーニング・チェック Allegro In-Design Analysis
- RF/マイクロ波設計のための新しいCadenceの統合ソリューション-機能拡張と効率化
- Electro-Static Discharge: The Silent Killer Voltus ESD解析:大規模デザインに対応し、高速な検証エンジンと使い勝手の良い解析環境を提供するESD検証環境
- ケイデンス・ソフトウェア・ダウンロードサイトが一新しました
- Cadence Topics
Archive
2024 Issues
2023 Issues
2022 Issues
2021 Issues
2020 Issues