AR# 50855

14.1 XST - レジスタの自動調整 (Register Balancing) の切り替えによって、RAMB36 プリミティブで MAP エラーが発生する

説明


XST の register_balancing オプションがオンで、RAMB36 プリミティブがコード内に存在する場合、MAP で次のようなエラーが発生します。

このようなプリミティブでは、カスケード接続されないブロック RAM 向けにアドレス ビット 15 を 1 に接続させる必要があります。それ以外では、MAP で次のようなエラー メッセージが表示されます。

ERROR:PhysDesignRules:2378 - Issue with pin connections and/or configuration on block::.
The cascadable BlockRam feature is not used for port A (RAM_EXTENSION_A set to NONE).
The highest order port A address bit (ADDRARDADDRL15) must be tied to LOGIC 1

ソリューション


このエラーは、register_balancing/register_ordering オプションによって RAMB36 プリミティブのピン[15] への信号がパイプライン処理されるために発生します。

アドレス ビットがコードで High に接続されていても、XST ツールによってデータ パスが次のように並べ替えられます。

924359_register_balancing_BRAM[15].JPG
この問題を回避するには、XST で -keep_hierarchy = soft を使用するか、次の属性を用いて HDL コードから register_balancing オプションをオフにしてください。

attribute register_balancing of {signal_name |entity_name }: signal|entity} is "no";
AR# 50855
日付 12/21/2012
ステータス アクティブ
種類 既知の問題
デバイス
ツール