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. 三進加算器
2.1.1.2. スピードとレイテンシー
高いクロックレートでFPGAを実行すると、同じリソースでより多くの作業が可能になります。次の表は、バス幅が増加するにつれて各種の回路の成長率を示しています。回路機能は、バス幅の関数としてエリアの大きなO表記をlog(N)の準線形からN * Nの超線形までインターリーブします。
| Circuit Function | |||||||
|---|---|---|---|---|---|---|---|
| Bus Width (N) | log N | Mux | ripple add | N * log N | barrel shift | Crossbar | N * N |
| 16 | 4 | 5 | 16 | 64 | 64 | 80 | 256 |
| 32 | 5 | 11 | 32 | 160 | 160 | 352 | 1024 |
| 64 | 6 | 21 | 64 | 384 | 384 | 1344 | 4096 |
| 128 | 7 | 43 | 128 | 896 | 896 | 5504 | 16384 |
| 256 | 8 | 85 | 256 | 2048 | 2048 | 21760 | 65536 |
通常、回路部品はバス幅が2倍になると2倍以上の面積を使用します。マルチプレクサのような単純な回路の場合、バス幅が増加するにつれて、エリアは部分的に直線的に増加します。マルチプレクサのバス幅を半分にすると、リニアエリアのメリットがわずかに低下します。リップル加算器は、バス幅が増加すると直線的に増加します。
バレルシフターやクロスバーなどのより複雑な回路は、バス幅が増加するにつれて超直線的に成長します。バレルシフター、クロスバー、またはその他の複雑な回路のバス幅を半分にカットすると、エリアのメリットは半分よりも大幅に改善され、二次的な速度に近づきます。すべての入力がすべての出力に影響を及ぼすコンポーネントの場合、バス幅を大きくすると二次的な成長が起こる可能性があります。そのため、ハーフ幅のバスで作業するスピードアップを使用すると、元のエリアの半分以下のデザインが生成されることが期待されます。
ストリーミング・データパスを扱う場合、レジスターの数はパイプラインのレイテンシーをビット単位で公平に近似したものです。幅を半分にすると、レイテンシーに悪影響を与えずにパイプライン・ステージの数を2倍にすることができます。一般に、より速く進むために必要な追加のレジスターの量は、2倍より大幅に少なく、レイテンシーの性能を生み出します。