システム設計者が最新の電子機器の設計に着手する際には、電力レベルを維持しながら帯域幅を増やすこと、機能性を高めること、市場投入までの時間を短縮することという3つの重要な課題に直面します。
ルーティング遅延を減らして帯域幅を増やす
前の世代では プログラマブルロジック デバイスでは、配線遅延が設計の遅延特性を左右します。これらのアーキテクチャでは、スループットを高めるための通常の方法は、より広いデータ バスを実装することですが、これにより電力が増加し、ルーティングの輻輳が増加します。 ルーティングの混雑が増加すると、混雑したエリアを迂回するために信号線が長くなります。この追加の遅延により、より広いデータ バスを使用することで得られるパフォーマンスの向上の一部が相殺されます。 HyperFlexアーキテクチャは、これらのパフォーマンスの問題を解決するための大きな革新を導入しています。ハイパーレジスタはすべてのルーティング セグメントのあらゆる場所に追加され、パフォーマンスを向上させるために必要に応じてこれらのレジスタを選択的に含めるかバイパスすることができます。 HyperFlexアーキテクチャでは、ファブリックのロジック部分に配置されている従来のALMレジスタよりも桁違いに多くのレジスタがFPGAルーティング ファブリック内に配置されます。ハイパーレジスタにより、主要な設計の最適化が可能になり、電力やロジックの効率を犠牲にすることなく、以前のアーキテクチャの2倍のパフォーマンスを実現できます。さらに、Hyper-awareソフトウェア ツールを使用すると、設計者は設計内でHyper-Registerを自動的にターゲットにすることができ、開発プロセスが大幅に簡素化されます。
図1: HyperFlexアーキテクチャは従来のアーキテクチャの10倍のレジスタを備えています (図はAltera提供)
どこでもレジスター
プロセスジオメトリが縮小するにつれて、FPGA内のロジックモジュールの速度が向上します。残念ながら、ロジック モジュール間の相互接続の速度はそれほど速く向上していません。したがって、ルーティング信号はすべてのFPGA設計においてパフォーマンスを制限する要素になりつつあります。この問題に最も適切に対処できる相互接続ルーティングにハイパーレジスタを配置することは、HyperFlexアーキテクチャの重要な革新の1つです。
相互接続ルーティング内の「あらゆる場所にあるレジスタ」はハイパーレジスタと呼ばれ、アダプティブ ロジック モジュール (ALM) 内に含まれる従来のレジスタとは異なります。ハイパーレジスタは、デバイス内の個々のルーティング セグメントに関連付けられます。ハイパーレジスタは、ALM、組み込みメモリ (M20K) ブロック、デジタル信号処理 (DSP) ブロックなどのすべての機能ブロックの入力でも使用できます。ハイパーレジスタは選択的にバイパス可能であり、配置配線後に設計ツールが最適なレジスタ位置を自動的に配置して、相互接続パフォーマンスを最大化できます。相互接続全体にハイパーレジスタを配置すると、パフォーマンスのチューニングに追加のALMリソースは必要なくなり (従来のアーキテクチャとは異なります)、設計の配置配線に追加の変更や複雑さが加わることもありません。さらに、相互接続にハイパーレジスタを組み込むと、相互接続のパフォーマンスを向上させるために幅の広いバスが必要なくなるため、ルーティングの混雑を軽減するのに役立ちます。
拡張クロッキング ネットワーク
HyperFlexアーキテクチャの他の要素が、より高性能なファブリックに追いつくことができることを確認することが重要です。たとえば、クロッキング ネットワークは、設計の制限要素にならないように実装する必要があります。HyperFlexプログラマブル クロック ツリー ネットワークを使用すると、システム設計者はローカライズされたクロック ツリーを作成し、スキューとタイミングの不確実性を低減して、最大のコア クロッキング パフォーマンスを得ることができます。この機能は、HyperFlexアーキテクチャが従来のアーキテクチャの2倍のパフォーマンスを実現できるようにする重要な機能です。さらに、コア クロッキングではインテリジェントなブランチ イネーブルを使用してクロック ネットワークの動的電力消費を削減し、電力効率を大幅に向上させます。
効率的なロジック実装による機能性の向上
HyperFlexアーキテクチャはパフォーマンスを向上させるだけでなく、設計の実装も容易にします。HyperFlexアーキテクチャにより、設計者はパフォーマンス、電力、帯域幅、ダイ サイズ、機能をより簡単に最適化できるため、積極的な設計目標を達成するために設計を「調整」するのにかかる時間が大幅に短縮されます。タイミング要件と電力予算を満たしながら、設計をより小型のデバイスに押し込もうと、エンジニアリングの時間と予算の大半を費やす必要はもうありません。HyperFlexアーキテクチャと関連する設計ツールは、設計の最適化部分を大幅に簡素化し、多くの場合は自動化します。これにより、設計者は、低レベルの信号配置と遅延時間の最適化に大部分の時間を費やすのではなく、アーキテクチャ レベルのオプションと代替実装を検討できるようになります。
Hyper-Aware設計フローが実装を簡素化
Alteraは、HyperFlexアーキテクチャとともに、Quartus Prime設計ソフトウェアに統合された強力な新しいツール セットを開発しました。これにより、システム設計者はHyperFlexアーキテクチャを最大限に活用し、開発者の設計生産性を最大化できます。Hyper-Aware設計フローには、次の3つの主要な改善点が含まれています:
• パフォーマンスの調査を可能にし、ユーザーを最大の設計パフォーマンスに導くFast Forward Compileツール。
• 配置配線後のパフォーマンス最適化をサポートするHyper-Retimerステップ。
• ハイパーレジスタを使用する強化された合成および配置配線アルゴリズム。
HyperFlexアーキテクチャを使用した設計のパフォーマンスを最大化するために、設計者は、レジスタの再タイミング、パイプライン処理、設計の最適化という、使い慣れた設計手法に基づいた3段階のプロセスを使用します。ハイパーレジスタを使用すると、設計者は使い慣れた設計手法を使用して、従来のFPGAアーキテクチャで可能な範囲をはるかに超えて設計のパフォーマンスを向上させることができます。Hyper-Aware Design Flowを使用する場合、これらの手法はHyper-Retiming、Hyper-Pipelining、およびHyper-Optimizationと呼ばれます。表1は、各ステップで達成される一般的なパフォーマンスの向上をまとめたものであり、各ステップの詳細な説明は表の後に続きます。
ハイパーリタイミング
ハイパーリタイミング ステップでは、相互接続ルーティングでハイパーレジスタを使用して、クリティカル パスの遅延を削減します。これは、レジスタをALMからインターコネクトに選択的に移動し、レジスタ間の遅延をより適切にバランスさせることによって実現されます。遅延のバランスをとることで、長い遅延パスが排除され、より高速なクロック周波数で設計を実行できるようになります。下の図2は、ハイパーレジスタを使用してクリティカル パスの遅延を3.5nsから1.2nsに改善した結果を示しています。
従来のアーキテクチャ
ハイパーフレックスアーキテクチャ
図2: 従来のアーキテクチャでの不均衡な遅延 (上) とHyperFlexアーキテクチャでの均衡のとれた遅延 (下) の比較
Hyper-Retimingとは対照的に、従来のリタイミング手法では追加のFPGAロジックと配線リソースが必要となり (実際の製品機能で使用できるリソースが減少)、実装を「調整」するために設計の再コンパイル、再調整、再配線を複数回行う必要があります。Hyper-Retimingでは追加のFPGAロジックや配線リソースは使用されない為、追加の製品機能を実装できます。ハイパーリタイミングは配置配線後に実行され、設計者による追加の調整を必要とせずにパフォーマンスを大幅に向上させます。このプロセスでは、ユーザーの労力はほとんどまたはまったく必要ありませんが、前世代の高性能FPGAと比較して、Stratix 10デバイスの平均パフォーマンスが1.4倍向上します。
ハイパーパイプライン
ハイパー パイプライン ステップでは、ハイパー レジスタを使用して、ALM間の相互接続にパイプライン ステージを追加することで、長いルーティング遅延を排除します。パイプライン ステージを追加するとレイテンシ サイクルが追加されますが、多くのデータ処理アプリケーションでは追加のレイテンシは許容され、結果として得られるクロック サイクルの短縮が全体的なシステム パフォーマンスにとってより重要になります。この手法では、ユーザーの労力はほとんど必要なく、前世代の高性能FPGAと比較して、Stratix 10デバイスの平均パフォーマンスが1.6倍向上します。Hyper-Retimingと同様に、Hyper-Pipeliningは追加のFPGAロジックおよび配線リソースを使用せず、配置配線後に実行されます。
ハイパー最適化
ハイパー最適化ステップでは、ハイパーレジスタを使用して、長いフィードバック ループと複雑なステート マシンを含む制御指向の設計を改善します。このようなタイプの設計では、パフォーマンスを向上させるために、これらのロジック セクションを再構築する必要があります。ロジック実装を再構築することで、設計では機能的に同等のフィードフォワードまたは事前計算ロジック手法を使用して、長い組み合わせフィードバック パスを排除できます。この方法は、デザインに応じて、もう少しの労力を必要とします。その結果、Stratix10デバイスでは、前世代の高性能FPGAと比較して平均2倍以上のパフォーマンス向上が実現します。従来のアーキテクチャでは、このプロセスは設計最適化と呼ばれます。HyperFlexアーキテクチャでは、ハイパーレジスタがハイパーリタイミングとハイパーパイプラインの利点をフィードフォワード パスまたは事前計算パスに適用するため、このプロセスはハイパー最適化と呼ばれます。
市場投入までの時間を短縮
HyperFlexアーキテクチャにより、FPGA実装の最適化に通常必要な時間が大幅に短縮されます。最適化プロセスを簡素化および自動化することで、開発時間を短縮し、市場投入までの時間を短縮できます。あるいは、節約した時間を、製品を競合製品と差別化する機能や性能の実装に再割り当てすることもできます。多くの場合、市場投入までの時間を短縮することと、魅力的な新機能を追加することを組み合わせることが最善の選択となります。HyperFlexアーキテクチャにより、プログラマブル デバイスから得られる市場投入までの時間を最大限に実現できるようになります。
Intel 14 nmトライゲート トランジスタ テクノロジーが支援を受ける
最先端のプロセスがなければ、パフォーマンス、電力、機能の要件を満たしながら、HyperFlexアーキテクチャで使用されるすべての機能を組み合わせることは不可能です。Stratix® 10 FPGAおよびSoCは、Intelの14 nmトライゲート トランジスタ テクノロジ (一般にFinFETと呼ばれる) を活用して、HyperFlexアーキテクチャを最適に実装します。Intel 14 nm Tri-Gateプロセスと新しいHyperFlex高性能アーキテクチャの組み合わせにより、Stratix 10デバイスは、現在のハイエンドFPGAと比較して、2倍のコア性能、同等の性能で最大70% の低消費電力、5倍の密度で動作しながら、最も包括的な高性能FPGA機能を提供します。
HyperFlexアーキテクチャにより大幅な電力削減が可能になることも注目すべき点です。コアを他の実装の2倍の周波数で実行することにより、設計は他のアーキテクチャで必要なロジックの最大半分を使用して実装されることがよくあります。HyperFoldingと呼ばれるこのアプローチにより、多くの場合、デバイスの小型化が実現され、高度なIntel 14 nm Tri-Gate (FinFET) プロセスと組み合わせると、Stratix Vデバイスと比較して最大70% の電力削減が実現します。
結論
Altera HyperFlexアーキテクチャは、プログラム可能なデバイスの潜在能力を完全に実現する画期的なアプローチです。HyperFlexは、電力効率を高めながらパフォーマンスを向上させ、機能性を高め、市場投入までの時間を短縮することで、他のすべてのFPGAアーキテクチャに対してハットトリックを達成しました。