AR# 59021

2013.x Vivado シミュレータ - reverse_range 属性を使用すると致命的なエラーが発生する

説明

std_logic_vector を別の信号の reverse_range 属性を使用してスライスすると、Vivado シミュレータで次のようなエラー メッセージが表示されます。

FATAL_ERROR: FATAL_ERROR: Vivado Simulator kernel has discovered an exceptional condition from which it cannot recover.
Process will terminate. For technical support on this issue, please open a WebCase with this project attached at http://www.xilinx.com/support.

ソリューション

これは Vivado シミュレータの問題で、2014.1 リリースで修正されています。

この問題を回避するには、正しい範囲を手動で設定してください。

次に例を示します。


signal a: std_logic_vector (8 downto 0);
signal b : std_logic_vector (4 downto 0);
signal c : std_logic_vector (0 to 4);
begin


--Broken

b<= a (c'reverse_range) ;

--Works

b<= a(4 downto 0);

アンサー レコード リファレンス

マスター アンサー レコード

AR# 59021
日付 03/18/2015
ステータス アクティブ
種類 一般
デバイス
ツール 詳細 概略