Main Content

このページは前リリースの情報です。該当の英語のページはこのリリースで削除されています。

RAM マッピングのパラメーター

このページでは、[コンフィギュレーション パラメーター] ダイアログ ボックスの [HDL コード生成][最適化][一般] タブにあるコンフィギュレーション パラメーターについて説明します。このセクションのパラメーターを使用すると、レジスタのブロック RAM をトレードオフすることでターゲット デバイス上の使用面積を削減できます。パラメーターは、生成コードのパイプライン レジスタを RAM にマッピングするかどうかおよび FPGA のブロック RAM にマッピングする際の最小 RAM サイズを指定します。

RAM へのパイプライン遅延のマッピング

生成された HDL コードのパイプライン レジスタを RAM にマッピングします。パイプラインやリソース共有といった特定の速度または面積の最適化、あるいは指定する特定のブロック実装は、生成された HDL コードにパイプライン レジスタを挿入する可能性があります。これらのパイプライン レジスタを RAM にマッピングすることで、ターゲット デバイスの面積を節約できます。

設定

既定の設定: オフ

オン

生成された HDL コードのパイプライン レジスタを RAM にマッピングします。これらのレジスタをブロック RAM にマッピングするには、RAM サイズは RAM マッピングのしきい値 (ビット単位) 以上でなければなりません。遅延の合計 RAM サイズを計算するには、次の式を使用します。

RAMSize = Delay length * Word length * Vector length * Complexity
Complexity は、複素数データ型の場合は 2、実数データ型の場合は 1 です。

オフ

生成された HDL コードのパイプライン レジスタを RAM にマッピングしません。

コマンド ライン情報

プロパティ: MapPipelineDelaysToRAM
型: 文字ベクトル
値: 'on' | 'off'
既定の設定: 'off'

このプロパティを設定するには、関数 hdlset_param または makehdl を使用します。プロパティの値を表示するには、関数 hdlget_param を使用します。

たとえば、次のいずれかの方法を使用して sfir_fixed モデル内の symmetric_fir サブシステムの HDL コードを生成する際に MapPipelineDelaysToRAM 設定を有効にできます。

  • プロパティを引数として関数 makehdl に渡す。

    makehdl('sfir_fixed/symmetric_fir', ... 
            'MapPipelineDelaysToRAM','on')
  • hdlset_param を使用すると、モデルにパラメーターを設定してから、makehdl を使用して HDL コードを生成できる。

    hdlset_param('sfir_fixed','MapPipelineDelaysToRAM','on')
    makehdl('sfir_fixed/symmetric_fir')

参考

RAM マッピングのしきい値

ブロック RAM にマッピングする際の最小 RAM サイズを指定します。HDL Coder™ は、設計の RAM サイズと指定した RAM マッピングのしきい値を比較することで、FPGA のレジスタまたは RAM リソースを使用するかどうかを判断します。

RAM マッピングのしきい値は、次のいずれかを使用して指定できます。

  • 単一の整数。このしきい値のビット サイズを超えるすべての遅延または永続配列が RAM にマッピングされます。

  • 2 つのしきい値を指定する MxN の形式の string。ここで、M は遅延の長さ (遅延の場合) または配列サイズ (永続配列変数の場合)、N はデータ型の語長またはビット幅です。両方のしきい値を設定すると、ターゲット ハードウェアのブロック RAM に効率的にマッピングされない遅延または永続配列が除外されます。詳細については、Use the RAM Mapping Thresholdを参照してください。

設定

既定の設定: 256

RAM マッピングのしきい値は以下でなければなりません。

  • 0 以上の整数。

  • MxN の形式の string。ここで、M は遅延の長さまたは配列サイズ、N は語長です。

HDL Coder はこのしきい値を使用して、次の要素をレジスタではなくブロック RAM にマップするかどうかを決定します。

コマンド ライン情報

プロパティ: RAMMappingThreshold
型: 整数、string
値: 0 以上の整数、MxN の形式の string
既定の設定: 256

このプロパティを設定するには、関数 hdlset_param または makehdl を使用します。プロパティの値を表示するには、関数 hdlget_param を使用します。

たとえば、次のいずれかの方法を使用して sfir_fixed モデル内の symmetric_fir サブシステムの HDL コードを生成する際に RAMMappingThreshold1024 に設定できます。

  • プロパティを引数として関数 makehdl に渡す。

    makehdl('sfir_fixed/symmetric_fir', ... 
            RAMMappingThreshold=1024)
  • hdlset_param を使用すると、モデルにパラメーターを設定してから、makehdl を使用して HDL コードを生成できる。

    hdlset_param('sfir_fixed',RAMMappingThreshold=1024)
    makehdl('sfir_fixed/symmetric_fir')

たとえば、次のいずれかの方法を使用して sfir_fixed モデル内の symmetric_fir サブシステムの HDL コードを生成する際に RAMMappingThreshold"500x50" (遅延の長さ 500 サイクル、語長 50 ビット) に設定できます。

  • プロパティを引数として関数 makehdl に渡す。

    makehdl('sfir_fixed/symmetric_fir', ... 
            RAMMappingThreshold="500x50")
  • hdlset_param を使用すると、モデルにパラメーターを設定してから、makehdl を使用して HDL コードを生成できる。

    hdlset_param('sfir_fixed', RAMMappingThreshold="500x50");
    makehdl('sfir_fixed/symmetric_fir')

参考