High-Level Synthesis
RTL Low-Power

Catapult® High-Level Synthesis

D A T A S H E E T
機能と特長■ 標準C++/SystemCによる機能設計のC/C++/SystemC
高位合成

CATAPULT

容易化– C++/SystemCで実行可能な仕様を作成

高位検証&RTLサインオフ– 記述量80%削減で得られる容易な開発とデバッグ■ パワー、性能、面積を最適化する包括的なプラットフォーム– 手書きRTLと同等の合成品質（QoR）を10倍早く実現– マイクロアーキテクチャの探索が可能– PowerProを統合したローパワー向

ローパワー
高位合成

けディープシーケンシャル解析と最適化■ 検証コストを80%削減– 機能シミュレーションを100〜500倍高速化

Catapult高位合成プラットフォーム– 合成前にCatapult Design Checkerでバグを迅速に検出

はじめにCatapult® High-Level Synthesis (HLS) Platformは、業界標準のC++やSystemC記述に設計者の意図した機能を直接示すことにより、さらに生産性の高い抽象度でASICやFPGAの開発が可能になります。Time-toMarketが重要視され、開発早々にパワー／性能の情報を求められるうえに、仕様が頻繁に変更になる今日のデザインやIP（AI、ディープラーニング、画像認識、イメージプロセッシング、ビデオコーデッ
ク、5G/IoT通信など）において、Catapult HLSは、こうした要求に応えながら品質も機能も妥協せずに済む効果的なソリューションを業界で唯一提供します。

– Catapult Coverageで合成後のRTLを考慮したカバレッジメトリクスを提供– RTL-to-C検証環境を自動生成– RTLカバレッジクロージャを迅速に達成■ 使いやすいデバッグ、ビジュアライ
ズ機能– 高位合成プロセスを可視化– Visualizer Debug Environmentをベースにした解析ツール■ 数千の商用デザインで実績のあるフC++/SystemCによる高位合成手法で最大限に生産性を向上させるには、検証と実装を開発フローに包括した上で、今日の大規模デザインにも対処できる合成性能とキャパシティを備える必要があります。Catapultは数千もの商用デザインで実績があり、合成されるRTLは各ユーザのきわめて厳しいデザインガイドラインやECOフローの要求を満たしています。さらに、高位検証（HLV: High-LevelVerification）機能を統合している唯一の高位合成がCatapultであり、C++/SystemCレベルで十分な機能品質を達成させ、RTL検証でも迅速なクロージャを可能にしています。

w w w. m e nto r g . co. j p/ h ls - l p

ロー– データパスロジックとコントロー
ルロジックの合成– 数百万ゲートのASICおよびFPGAデザインに対応したキャパシティ
– トップダウンおよびボトムアップ方式でデザインの階層管理– 包括的なECOフロー

C++/SystemCで迅速かつ容易な設計を実現
Catapult HLSは、高位の機能記述とアーキテクチャ制約に基づいてRTLを自動生成することで、設計フローを簡素化します。C++/SystemCを使用すると、コード行数が従来のRTL設計比で最大80%削減するため、高位合成モデ
ルの記述とデバッグは極めて容易になります。さらにデザインの機能と実…
int sum = 0;
for(int i=0; i<4; i++){sum += in[i];}…

装詳細の分離が可能になり、開発終盤での仕様変更への対応、さらには別テクノロジへ最適化されたリターゲットも可能です。変更した高位合成モデルや新しい制約に基づいて簡単にRTLを再合成できます。
複数の抽象度にも対応し、シミュレーションとモデリングを高速化
設計者は、SystemCを用いてRTLのようなクロックサイクルを考慮したコーディングスタイルから、C++/SystemCを使ったアンタイムドの抽象的モデルまで、またはその両者の組合せから選択できます。Catapultは合成過程でユーザ指示のマイクロアーキテクチャ制約を適用し、入力されたアルゴリズム／ビヘイビア記述からRTLを合成します。Catapultの基幹特許の一つ
インタフェース合成技術により、タイミング、プロトコル、帯域幅を高位合成モデルとは独立して定義でき、それに基づき必要なRTLハードウェアを合成過程で追加します。Catapultを活用すれば、設計者は並列処理、デザインスループット、メモリ対レジスタ実装などをRTLにハードコーディングするのではなく、ツールのオプション制約機能を使って指定できます。その結果、デザインの再利用が簡単になり、かつ実装をその都度最適化できます。
パワー、性能、面積を最適化する包括的なプラットフォーム
Catapultは、デザインの高位合成中に性能、面積、パワーの自動最適化を行います。Catapultは、業界で初めて最適化の目標にパワーを加えました。PowerPro®を統合することで、高位からもRTLからもパワー解析を実施でき、かつ詳細な最適化を行うことができます。これにより、パワー、性RTL能、面積の迅速かつ正確なトレードオフを実現するフローを提供します。
生成されるRTLは、手書きRTLコードと同等もしくはそれ以上の合成品質

高位合成プロセス概要（QoR）を保証します。
容易なデバッグと最適化の制御
Catapultは、ガントチャートビューワ、リソースビューワ、回路図ビューワといったグラフィカルな解析ツールを内蔵しており、高位合成の結果を完全に可視化して、設計者が容易に主体的な判断ができるようにします。
C++/SystemCのソースコードを含め、異なる解析ビュー間のクロスプロービング機能が統合されているため、設計者は問題のある箇所に即座に焦点を当てて、設計指示を追加／変更しながら、対話的に最適なソリューションへ収束させることができます。Visualizerをベースにした解析環境によって簡単で詳細なデバッグが可能になり、ソースコードの高度な操作や、制御フロー解析ツール、特定項目のデバッグ機能（スケジューリングフェイル時の解析など）などを利用できます。
Catapultによるパワー、性能、面積の比較検討

w w w. m e nto r g . co. j p/ h ls - l p高位検証（HLV）

C++/SystemCと合成されたRTL間の自動検証

高位合成フローで早い段階から検証できる利点は非常に多Catapultは、C++/SystemCデザインを合成後のRTLと比較しくあります。高位合成で合成可能なC++/SystemCコードは、て検証する自動検証フロー（SCVerify）を備えています。

RTLのコード行数の5分の1で済むため、記述もデバッグも容このフローは、C++/SystemCのテストベンチを再利用して易です。シミュレーションは従来のRTL設計比で100〜500倍RTLを検証するSystemCのテストベンチを自動生成します。

高速なため、より多くの検証が可能な一方、消費する計算

これにより設計者はプッシュボタン式でユニットテストソリソースを大幅に削減します。また高位合成フローを採リューションを実行でき、下流のRTL統合／検証チームに用することで、RTLがまだ1つも生成されていないかなり早渡せるようRTLを迅速に整合性チェックできます。Catapult

期の設計プロセスから検証チームが関われるようになりまはまた、ランダムシーケンスを含む完全なUVM環境を自動す。こうしたすべてが、大幅な生産性向上と検証時間、お生成する自動検証フローも提供します。

よびコストの顕著な削減につながります。

ポータブルスティミュラス
生成

アーキテクチャ検討
アルゴリズム／アーキテクチャ

高位合成C++/SCデザイン
初回検証済みRTL

高位合成 C++
ソース

RTL検証

従来のRTLフローの25-50%高速

Catapultの検証フロー

テストベンチなしでC++/SystemCのバグを検出するデザインチェック機能

等価性検証

C++/SystemCシミュレーションでは、デバッグ困難なエラーにつながる可能性のある重大なバグ、例えば初期化されていない配列や変数の読み出し、配列の境界外のアクセス、オーバーフロー／アンダーフローの問題など、を頻繁に見落としてしまいます。さらにC++とSystemCは、言語的にシミュレーションや合成を実行するプラットフォームに依存して想定外の結果をもたらす、発見の難しい未定義動作を含みます。Catapult Design Checkerの利点は、テストベンチなしにこれらのバグを自動で発見できるため、設計サイクル終盤の貴重なデバッグ時間を節約できる点です。

C++/SystemCで検証品質メトリクスを提供するカバレッジ機能
RTLと同様、高位合成を用いる設計者もデザインをテストする際に品質の評価基準（メトリクス）を用いる必要があります。Catapult Coverageは、合成結果を考慮したC++/SystemCのカバレッジ機能であり、関数インラインやループのアンロールといった高位合成制約のコンセプトを理解して、デザインの完全なカバレッジ（ライン、ブランチ、エクスプレッション）を提供します。Catapult Coverageは、カバレッジデータをMentor UCDB（Unified Coverage Database）に書き込み、マージ、ランキング、レポーティング、そしてRTLと統一のテストプランへの接続に使用するポストプロセスツール一式を設計者に提供します。Catapult Coverageを高位合成モデルで使用することで、RTLカバレッジクロージャを容易にします。

w w w. m e nto r g . co. j p/ h ls - l p

Catapultの高位検証と高位合成

数千のプロジェクトで開発期間50%削減を達成した実績

大規模デザインでの実績

Catapultは、データパス主体の無線通信ハードウェア向けC++ベースのASIC高位合成ツールとして2004年にリリースされました。それ以来Catapultは、どのようなFPGA/ASICデジタルデザインにも対応できるC++/SystemC合成ツールへと進化し、数千ものプロジェクトで開発期間を半分に削減してきました。
Catapultで開発されたハードウェアは、何億という携帯電話、タブレット、自動車、コンピュータ、プリンタ、カメラ、コンピュータゲーム機、衛星で使用されています。このように広範な分野で採用された理由の一つに、既存RTLのGoogle VP9向けG2デコーダハードウェアリンティング、カバレッジクロージャ、合成、ECOの各フローと連携するように最適化されてきたことがあります。

Catapultではしばしば非常に大規模で複雑なシステムやサブその一例として、Qualcommの事例を紹介した文献では、システムのデザインを扱います。例えばGoogleはCatapultを非常に厳格な同社のRTL検証、合成、ECOフローでCatapultと使用して、VP9向けのビデオエンコーダとデコーダを合成しHLSがいかに効果を発揮するかを紹介しています。

ました。これは、データパスとコントロールロジックがバランスよく組み合わされた、150を超えるリーフブロックを持つ複雑な800万ゲートのデザインです。このように複雑な時間

従来のRTL
フルリグレッション
3ヶ月
1000個のCPU時間

HLS C++
フルリグレッション

ハードウェアに対応するためCatapultは、トップダウン方式2週間14個のCPUいます。設計者が作業中のブロックに集中できるよう、そリソースリソースとボトムアップ方式両方の階層デザイン管理機能を備えてれ以外のデザイン領域がロックされるため、効率的な設計フローが実現します。

高位合成で設計複雑化の溝を埋めるNVIDIA

開発終盤の設計変更にも柔軟な適応
Catapult HLSを使用する最大の利点の１つは、RTL実装では困難だった機能の再利用と変更が可能なことです。タイミン
グ、レジスタ、データパスの詳細はC++/SystemCソースコードに記述するものではなく、高位合成過程で指定するものであるため、大幅な仕様変更後に再実装と検証をしても、なおスケジュールには間に合うほどの即応性を持っています。NVIDIAの技術文献では、RTLのフリーズまで2ヶ月に満たない時期に2つの変更を実装できたことを紹介しています。従来のRTLフローでは実現できなかったことです。

システム要件と互換性
言語：VHDL 87、93、97、Verilog 95および2001、SystemVerilog、C++ (03, 11)、SystemC 2.3
プラットフォーム：Windows 10、Linux Red Hat
Enterprise 5および6
メモリ：4GB以上

詳しい製品情報は、www.mentorg.co.jp/hls-lp をご覧ください。
Copyright © 2018 Mentor Graphics Corporation. All rights reserved.
Mentor Graphics は Mentor Graphics Corporation の登録商標です。その他記載されている製品名および会社名は各社の商標または登録商標です。製品の仕様は予告なく変更されることがありますのでご了承ください。

メンター・グラフィックス・ジャパン株式会社
本社

大阪支店
名古屋支店
URL

〒140-0001 東京都品川区北品川 4 丁目 7 番 35 号 御殿山トラストタワー
電話（03）5488-3030（営業代表）〒532-0004 大阪府大阪市淀川区西宮原 2 丁目 1 番 3 号 SORA 新大阪 21
電話（06）6399-9521〒460-0003 愛知県名古屋市中区錦 1 丁目 11 番 11 号 名古屋インターシティ 11F
電話（052）204-2010
http://www.mentorg.co.jp

18/11-R1-PDF-BO