インテル® Quartus® Primeプロ・エディションのユーザーガイド: デザイン上の推奨事項

ID 683082
日付 4/13/2020
Public

このドキュメントの新しいバージョンが利用できます。お客様は次のことを行ってください。 こちらをクリック 最新バージョンに移行する。

ドキュメント目次

1.4.3. HDLコードでのシフトレジスターの推論

インテル® Arria® 10デバイスにシフトレジスターを推測するに 、合成ツールは同じ長さのシフトレジスターのグループを検出し、それらをIntel FPGAシフトレジスターIPコアに変換します。

検出のために、すべてのシフトレジスターには次の特性が必要です。

  • 同じクロックとクロックイネーブルを使用する
  • 他の二次信号なし
  • 少なくとも3つのレジスタが離れている等間隔のタップ

合成では、専用RAMブロックを備えたデバイス・ファミリーのシフトレジスターのみが認識されます。 インテル® Quartus® Primeプロ・エディション 合成では次のガイドラインを使用します。

  • インテル® Quartus® Primeソフトウェアは、レジスターされたバスの幅(W)、各タップ間の長さ(L)、またはタップ数(N)に基づいて、Intel FPGAシフト・レジスターIPコアを推測するかどうかを決定します。
  • Auto Shift Register RecognitionオプションがAutoに設定されている場合、 インテル® Quartus® Primeプロ・エディション 合成は、レジスターを使用してロジック用RAMブロックに実装されてシフトするかを決定します。
    • 最適化手法設定
    • デザインに関するロジックおよびRAM使用率情報
    • タイミング駆動合成からのタイミング情報
  • レジスターされたバス幅が1( W = 1 )の場合、 インテル® Quartus® Primeタップ数と各タップ間の長さの積が64以上( N x L> 64 )の場合、合成はシフトレジスターIPを推測します。
  • レジスターされたバス幅が1より大きく( W > 1 )、レジスターされたバス幅にタップ数×各タップ間の長さを掛けた値が32( W×N×L> 32 )以上の場合、 インテル® Quartus® Prime合成はIntel FPGAシフトレジスターIPコアを推測します。
  • 各タップ間の長さ( L )が2のべき乗でない場合、 インテル® Quartus® Prime合成では、シフトレジスターのサイズが異なるため、リードおよびライトカウンターをデコードするために外部ロジック(LEまたはALM)が必要です。この余分なデコードロジックにより、メモリーにシフトレジスターを実装することによるパフォーマンスと使用上の利点がなくなります。

インテル® Quartus® Prime合成がIntel FPGAシフトレジスターIPコアにマップして、RAM内に置くレジスターは、合成後にノード名が存在しないため、シミュレーション・ツールのVerilog HDLまたはVHDL出力ファイルでは使用できません。

注: Compilerは、 shift enable信号を使用するシフトレジスターをMLABメモリーに実装できません。代わりに、コンパイラは専用のRAMブロックを使用します。シフトレジスターを実装するメモリー構造のタイプを制御するには、 ramstyle属性を使用します。