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# 14272

6.1i HDL Bencher - パッケージに含まれるサブタイプに間違ったベクタ サイズが割り当てられている

説明

キーワード : HDL Bencher, subtypes, VHDL, 4.2i, testbench, サブタイプ, テストベンチ

重要度 : 重要

概要 :
VHDL コードでサブタイプ (subtyle) を使用する場合、HDL Bencher でこのサブタイプが間違って認識され、テストベンチにある値と競合する値が転送されます。

例 :

constant cCntWidth : integer := 4;
subtype stCntVec is std_logic_vector(cCntWidth-1 downto 0);

HDL Bencher ではこの stCntVec が次のように割り当てられます。

COMPONENT MyPackCnt
PORT (
Reset : in std_logic;
Clock : in std_logic;
OutPulse : out std_logic;
OutPulse2nd : out std_logic;
TstOut : out stCntVec (31 DOWNTO 0)
);
END COMPONENT;

SIGNAL Reset : std_logic;
SIGNAL Clock : std_logic;
SIGNAL OutPulse : std_logic;
SIGNAL OutPulse2nd : std_logic;
SIGNAL TstOut : stCntVec (31 DOWNTO 0);

このため、ModelSiim で次のようなエラー メッセージが表示されます。

"# WARNING[1]: mypackcnt_tb.vhw(57): Entity port length is 4. tstout length is 32."
"# ERROR: mypackcnt_tb.vhw(127): Index constraint cannot be applied to constrained type."

ソリューション

この問題を回避するには、手動で VHW ファイル (例 : designname_tb.vhw) を変更する必要があります。このファイルは、HDL Bencher で作成され、テストベンチから次のようにベクタ サイズを削除します。

COMPONENT MyPackCnt
PORT (
Reset : in std_logic;
Clock : in std_logic;
OutPulse : out std_logic;
OutPulse2nd : out std_logic;
TstOut : out stCntVec
);
END COMPONENT;

SIGNAL Reset : std_logic;
SIGNAL Clock : std_logic;
SIGNAL OutPulse : std_logic;
SIGNAL OutPulse2nd : std_logic;
SIGNAL TstOut : stCntVec;
AR# 14272
日付 03/19/2006
ステータス アーカイブ
種類 一般
このページをブックマークに追加