UPGRADE YOUR BROWSER

We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

AR# 16026

5.2i XST - XST で推論されたブロックROM が正しく初期化されない

説明

キーワード : block, RAM, ROM, initial, initialize, INIT, infer, XST, VHDL, ブロック, 初期化, 推論

重要度 : 標準

概要 :
VHDL でブロック ROM を推論すると、XST で ROM の定数の方向とブロック RAM の初期化方法が区別されません。 次に示すのは、XST で同じロケーションに同じ値がプログラムされている例です。

例 1 :

type rom is array (255 downto 0) of std_logic_vector (3 downto 0);
constant ROM1 : rom := (
"0000", "0001", "0010", "0011", "0100", "0101", "0110", "0111",
"1000", "1001", "1010", "1011", "1100", "1101", "1110", "1111",
:
:

例 2 :

type rom is array (0 to 255) of std_logic_vector (3 downto 0);
constant ROM1 : rom := (
"0000", "0001", "0010", "0011", "0100", "0101", "0110", "0111",
"1000", "1001", "1010", "1011", "1100", "1101", "1110", "1111",
:
:

ソリューション

ROM を推論する場合、次のタイプの構文のみを使用してください。

type rom is array (0 to 255) of std_logic_vector (3 downto 0);
constant ROM1 : rom := (
"0000", "0001", "0010", "0011", "0100", "0101", "0110", "0111",
"1000", "1001", "1010", "1011", "1100", "1101", "1110", "1111",
:

これにより、定数が正しいアドレスにプログラムされます。

この問題は、最新版の 5.2i サービス パックで修正されています。サービス パックは次のサイトから入手できます。
http://support.xilinx.co.jp/support/techsup/sw_updates
この修正は、5.2i サービス パック 1 以降に含まれます。
AR# 16026
日付 10/20/2005
ステータス アーカイブ
種類 一般
このページをブックマークに追加