Main Content

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

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

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

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

設定

既定の設定: オフ

オン

生成された HDL コードのパイプライン レジスタを RAM にマッピングします。これらのレジスタをブロック RAM にマッピングするには、RAM サイズは RAM マッピングのしきい値 (ビット単位) 以上でなければなりません。RAM サイズは、遅延の長さ x 語長 x ベクトルの長さ x 複素数の長さの積です。

オフ

生成された 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 サイズをビット単位で指定します。コード ジェネレーターは、設計の RAM サイズと指定した RAM マッピングのしきい値を比較することで、FPGA のレジスタまたは RAM リソースを使用するかどうかを判断します。

設定

既定の設定: 256

RAM マッピングのしきい値は 0 以上の整数でなければなりません。HDL Coder™ はこのしきい値を使用して、次の要素をレジスタではなくブロック RAM にマップするかどうかを決定します。

コマンド ライン情報

プロパティ: RAMMappingThreshold
タイプ: 整数
値: 0 以上の整数
既定の設定: 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')

参考