AR# 46318

13.4 - XST : option IOB = FORCE が IOB = TRUE と同じように機能しない

説明

IOB 属性を FORCE に設定してレジスタの出力信号が定義されていると、合成プロセスの後同等のレジスタが保持されません。

ソリューション

IOB 属性を FORCE に設定してレジスタの出力信号が定義されていると、関連付けられている同等のレジスタがトリムされます。しかし、同じ IOB 属性が TRUE に設定されていると、すべてのレジスタは保持され、IOB にパックされます。

通常、フリップフロップ/レジスタで IOB 属性を FORCE に設定されている場合は、これが TRUE に設定されている場合と同じように XST で処理されるはずです。この問題では、レジスタ/フリップフロップの出力信号が、IOB 属性が FORCE に設定されていると正しく処理されず、その結果、フリップフロップが IOB にマップされません。

IOB 属性が FORCE に次のように設定されていると、DataBitOut2 および DataBitOut3 が保持されません。

attribute IOB : string;
attribute IOB of DataBitOut1 : signal is "FORCE";
attribute IOB of DataBitOut2 : signal is "FORCE";
attribute IOB of DataBitOut3 : signal is "FORCE";

この問題を回避するには、トリムされた信号に対し HDL コードで次のように属性を宣言します。

attribute equivalent_register_removal : string;
attribute equivalent_register_removal of DataBitOut2: signal is "no";
attribute equivalent_register_removal of DataBitOut3: signal is "no";

この問題は 14.1 で修正されています。
AR# 46318
日付 12/15/2012
ステータス アクティブ
種類 一般
ツール