このドキュメントの新しいバージョンが利用できます。お客様は次のことを行ってください。 こちらをクリック 最新バージョンに移行する。
1. インテル® Hyperflex™ HyperFlex FPGAアーキテクチャーの概要
2. インテル® Hyperflex™ アーキテクチャーRTLデザイン・ガイドライン
3. インテル® Hyperflex™ アーキテクチャー・デザインのコンパイル
4. デザイン例ウォークスルー
5. リタイミングの制限と対処方法
6. 最適化の例
7. インテル® Hyperflex™ アーキテクチャーの移植ガイドライン
8. 付録
9. インテル® Hyperflex™ アーキテクチャー高性能デザイン・ハンドブック
10. インテル® Hyperflex™ アーキテクチャー高性能デザイン・ハンドブック
2.4.2.1. 高速クロック・ドメイン
2.4.2.2. ループの再構築
2.4.2.3. コントロール信号のバックプレッシャー
2.4.2.4. FIFOステータス信号によるフロー・コントロール
2.4.2.5. スキッドバッファーを使用したフロー制御
2.4.2.6. リード・モディファイ・ライトのメモリー
2.4.2.7. カウンターとアキュムレーター
2.4.2.8. ステートマシン
2.4.2.9. メモリー
2.4.2.10. DSPブロック
2.4.2.11. 一般ロジック
2.4.2.12. モジュラスと除算
2.4.2.13. リセット
2.4.2.14. ハードウェアの再利用
2.4.2.15. アルゴリズム要件
2.4.2.16. FIFO
2.4.2.17. 三元加算器
5.2.1. Insufficient Registers
5.2.2. Short Path/Long Path
5.2.3. Fast Forwardの制限
5.2.4. ループ
5.2.5. クロックドメインごとに1つのクリティカル・チェイン
5.2.6. 関連するクロックグループのクリティカル・チェイン
5.2.7. 複雑なクリティカル・チェイン
5.2.8. 配置可能ノードの拡張
5.2.9. ドメイン境界エントリとドメイン境界出口
5.2.10. デュアル・クロック・メモリーを備えたクリティカル・チェイン
5.2.11. クリティカル・チェインビットとバス
5.2.12. ディレイライン
2.4.2.4. FIFOステータス信号によるフロー・コントロール
フロー・コントロール信号を扱うときは、高いクロックレートが考慮されなければなりません。この考慮事項は、複数の位置で同時にデータパスをゲートする信号で特に重要です。例えば、クロックイネーブルまたはFIFOフル/エンプティ信号です。即時コントロール信号で作業する代わりに、遅延信号を使用してください。 FIFOブロック内にバッファを構築することができます。コントロール信号は、アップストリーム・データパスがほぼフルであることを示し、アップストリーム・データがそれらのゲート信号を受信するために数クロックサイクルを残します。このアプローチは、コントロール信号上のタイミング収束の困難性を緩和します。
FIFOフル信号と空信号を使用する場合、オーバーフローやアンダーフローを防止するために、これらの信号を1クロック・サイクルで処理する必要があります。
図 64. FIFOフロー・コントロール・ループループは、FIFOからコントロール信号を読み込む時に形成されます。
ほぼフルまたはほぼエンプティの信号を使用する場合、フロー・コントロール・ループにパイプライン・レジスターを追加できます。ほぼ完全なスレッショルドが低く、空のスレッショルドが高いほど、信号に追加できるレジスターが増えます。
図 65. 完全なFIFOの代わりにほぼ完全なFIFOフロー・コントロール・ループの改善次の例は、フルコントロールフロー信号の2つの追加レジスターを示しています。 FIFOがほぼ満杯のフラグを生成した後、信号がデータ・プロデューサー・ブロックに到達するまでに2サイクルかかります。送信されたデータがFIFOに到達するのを停止する前に、さらに2つのサイクルが必要です。この状態では、4サイクルのレイテンシーが発生します。ほぼ満杯のフラグがアサートされると、データ・プロデューサーはFIFOが実際に満杯になる前にさらに4ワードを送信できます。これらの追加の有効なデータを適切に保存できるように、FIFOブロックのサイズを調整します。制御パス内の余分な2つのパイプライン・レジスターは、ルーティングを支援し、従来のシングルサイクルFIFO制御スキームよりも高速を実現します。