News and Views 2007 Autumn
[FEATURE-1] FPGA Design
最前線FPGA設計に必要とされるパフォーマンスと生産性の改善
パーティショニングを使わないインクリメンタル更新の必要性
FPGAユーザーは設計プロセスが比較的簡単 であり、短い設計サイクルで簡単に目標パフォー マンスを達成できることを期待しています。パー ティション・ベースのインクリメンタル設計フロー には人手による作業が多く、QoRも低下する傾 向にあるため、広く受け入れられるに至ってい ません。
Precision RTL Plusには、パーティション・ ベースのインクリメンタル設計フローがもたらす 利点のすべてを、人手によるパーティショニング を行わずに実現できるインクリメンタル設計ソ リューションがあります。ユーザーが行うべき人 手が必要な事前作業は何もありません。合成と 配置配線ツールは設計変更を自動的に判断し、前回のインプリメンテーションに基づいて設計 をできるだけ維持しようとします。また、Precision RTL Plusでは設計者がパーティション・ベース のフローを使用するか、自動化されたインクリ メンタル設計フローを使用するかを柔軟に選択 することも可能です。
Precision RTL Plusの柔軟なインクリメンタ ル設計フローは以下の機能を備えています。
- タイムスタンプではなくパース・ツリー比較に基 づいて実際の設計変更を認識し、間違った更 新を防止。コメントやスペース、インデントの追 加等の変更は自動的にフィルタリング処理
- インクリメンタル設計フローでは境界を超え た最適化を適切に行うことにより高い結果品 質を維持
- ユーザー定義の属性セットを必要とせずに 本当の設計変更を自動的に認識
- ネットリストのオブジェクト名を維持すること により、配置配線ツールでの名前のマッチン グが可能。合成ツールから出力されるネット リストは、配置配線ツールでインスタンスレベ ルの更新を行うことが可能
- ユーザーが簡単にパーティションを指定し、 必要な制約を作成するための機能
- ベンダが必要とする、適切なプロパティを備 えた単一あるいは複数のネットリストを作成する機能
これらの機能により、配置配線ツールは必要 なロジック、配置、配線のみをインクリメンタル に更新することができるのです。その結果、これ らの機能により合成と配置配線ツールは柔軟か つ完全なインクリメンタル設計ソリューションを 実現することができ、設計繰り返し数を削減し、 1回の繰り返しにかかる時間を短縮することが可能になります。
リソース管理
FPGAのダイ面積の大部分は任意のロジックをマッピングするための論理構造のタイルで構成されています。このような論理ファブリックは柔軟ですが、すべての設計構造に対して効率的とは言えません。例えば、論理ファブリックのみを使って大規模なRAMを構築することは不可能ではありませんが、専用 RAM回路と比較すると非常に面積効率の悪いものとなります。
ブロックRAMは現在ほとんどすべてのFPGAで利用可能なリソースの1つです。他に、専用乗算器もよく使われているリソースです。面積効率の問題だけでなく、専用乗算器リソースを使った方が、論理ファブリックで構築した回路よりもずっと高速です。先端FPGAアーキテクチャには、積和演算機能やパフォーマンス向上の為のパイプライン・レジスタを含んだ専用DSPブロックも含まれています。将来のデバイスには、さらに複雑な機能が専用リソースとして搭載されることでしょう。
合成結果の品質はかなりのところ、ツールがこれらの専用リソースをいかに効率的に利用するかということで決まってきます。FPGAリソースの適切な利用により、多くの場合より大規模な設計を小型のデバイスにマッピングすることが可能になります。また、専用リソースは論理ファブリックのみを使った場合よりも、高いタイミング目標を達成することが可能です。これらのリソースは限られており、ターゲット・デバイスに含まれるよりも多くのリソースを設計が必要とするケースも多くあります。このリソース不足により、合成ツールはターゲット・デバイスで使用可能なリソースを使って設計をどのように最適にマッピングしたらよいかを決めるのに困難な選択をしなければならなくなります。
最近の合成ツールは設計の一部を自動的にこれらの専用リソースに割り当て、これに伴うトレードオフ管理を上手く行うことができます。ツールは面積を最も小さくするためのマッピングを見つけ出そうとします。例えば、より大きなRAM構造をブロックRAMに、より小さな RAM構造はファブリックにマッピングする、というような処理を行います。また、タイミングも重要な検討事項です。クリティカル・パス上のロジックは論理ファブリックで実装するのが最適というケースもあるでしょうし、また別のケースでは、専用リソースを利用することによってのみパフォーマンス目標を達成できるという場合もあります。
合成ツールは発見的手法を使ってほとんどの設計に対して最適な実装を判断できますが、合成ツールは設計エンジニアが持っている知識のすべてを備えることはできません。多くの場合、最適な結果を得るには設計者がツールを導く必要があります。多くの場合、設計の重要な部分に対して設計者が手作業でリソース割り当てを行って合成ツールに指示を与えることで、より優れた結果を得ることができます。このような割り当ては、ほとんどの合成ツールにおいて属性を通じて行うことができました。しかしリソースの複雑性が増すにつれ、この情報を合成エンジンに提供することは次第に困難で面倒なタスクとなってきています。
統合されたリソース管理
今日のFPGAに値するリソース割り当てには複雑な(将来も複雑性が増すことが予測される)選択肢が存在し、ここで必要とされているのは合成ツールに統合された、使いやすく包括的なリソース管理システムであり、これらの情報を設計者にわかりやすく提供する仕組みです。
Precision RTL Plusのリソース・マネージャはリソース管理タスクを行うべきブロックを素早く見つけ出します。これによって設計者は設計要件(面積、パフォーマンス)とターゲット・テクノロジで利用可能なリソースを考慮した有効な選択肢を判断でき、ハードウェア・リソースのオーバー・アロケーションを回避し、設計の検討と繰り返しを簡単に行える環境が提供されます。理想的には、設計者は設計の要件に基づいて、特定のFPGAアーキテクチャの詳細にとらわれることなく決定を行いたいところです。
Precision RTL Plusのリソース・マネージャは先端FPGAでの複雑なリソース割り当てを効率化するツールです。このツールにより対応可能な問題には次が含まれます:
- 設計がタイミング要件を満たしていない。クリティカル・パス上の演算子を別のインプリメンテーションに割り当て直し、パフォーマンスを改善
- 設計がターゲット・デバイスに収まらない場合に、空いている専用リソースを使うことで論理ファブリックの使用を削減することができる
- 専用リソースが足りない。このような場合にこれらの貴重なリソースをより注意深く利用することで結果が改善
リソース・マネージャはその直感的なGUIと、合成ツールの解析ツールとの強力な統合によりこれらの問題を簡単に見つけ出し、対応することが可能です。変更可能なすべての演算器が、使用可能なハードウェア実装選択肢とともにユーザーに提示されます。
Precision RTL Plus
洗練されたデジタル技術がますます幅広いアプリケーションに適用される中で、先端FPGAがその実現手段として利用されるようになりました。これらの複雑なデバイスには、デバイスのパフォーマンスと面積のバランスをとり、効率的に設計を解析、デバッグしてチップ全体を検証し、スケジュール通りに製品を完成するという難しい設計課題も伴います。開発に対する投資回収率を最大にするには、設計の複雑性を上手く管理し、プロジェクト開発サイクル全体を通じて設計リスクを低減し、設計者の生産性を向上し、FPGAベンダーとの交渉力を維持できるFPGA合成設計ツールが必要です。メンター・グラフィックスの Precision Synthesis製品群はお客様が市場で成功するのに必要な、これらの重要な機能を提供します。
特に、Precision RTL PlusはPrecision RTLの技術をベースとして、業界初となる次の3つの機能を拡張することにより画期的な生産性の向上を、熟練度を問わずあらゆる設計者に対して可能にする、ベンダーに依存しないソリューションです。
1.物理設計を考慮した合成を利用することで、設計者はより早期に、より少ない繰り返し工数で設計目標を達成できます。
- 唯一のマルチベンダ対応物理合成ツール
- 5-40%、平均10%のFmax改善
- プッシュボタン方式ですべての設計に適用可能
2.インクリメンタル合成により最終段階での設計変更の影響を最小化
- 業界初の自動インクリメンタル合成 - QoRを維持し、パーティショニングの必要なし
- Xilinx SmartGuideとの組み合わせによる業界初の完全自動インクリメンタル合成+配置配線フロー
- パーティション・ベースのインクリメンタル合成により変更を局所的に管理し、影響を受けないパーティションを保護
3.リソース・マネージャによるFPGAアーキテクチャ・ブロックの効率的利用
- 特許申請中の技術
- Fmaxとデバイス使用率の改善