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

FPGA Express - HDL-178 警告 : バス スライスがセンシビリティ リストでサポートされていない

説明

キーワード : bus slice, sensitivity list, support, warning, バス スライス, センシビリティ リスト, サポート, 警告

重要度 : 標準

概要 :
FPGA Express 2.1 を使用した場合、バス スライスがプロセス文で読み込まれると、信号は読み込まれたがセンシビリティ リストではサポートされないことを警告するメッセージが表示されます。 ただし、バス スライス (bob(2 downto 1) など) がセンシビリティ リストに追加されると、FPGA Express で次のような警告が表示されます。

Warning L69/C0 : #0 Warning: Only simple variables are checked in the sensitivity list. The variable in the sensitivity list on line 69 will be ignored. (HDL-178)

ソリューション

1

バス スライスはセンシビリティ リストでサポートされません。 デザインを正しくコード化するには、まずダミー信号をバス スライス (組み合わせ) に割り当て、プロセス文およびセンシビリティ リストでそのバス スライスをダミー信号に置き換える必要があります。

これには、次の手順に従います。

1. 問題のバス スライスの各ビットに対してダミー信号を作成します。
2. バス スライスのビットを組み合わせロジックでダミー信号に割り当てます。
3. センシビリティ リストおよび問題のプロセス文で、バス スライスへの参照をダミー信号に置き換えます (バス スライスから読み込むプロセス文のみ)。

例 :
architecture CFG_arch of CFG_REG is

-- Added for workaround *******************************
signal dummy_net : std_logic;

begin
-- Added for workaround ******************************
dummy_net <= is_sel(0);

-- original sensitivity list
-- process (cfg, is_sel(0))
-- workaround sensitivity list - uses redirected signal for bus slice *******
process (cfg, dummy_net)

begin
if cfg='1' then

-- original assignment
-- db(2) <= is_sel(0);
-- Redirected Bus bit used in place of slice - workaround ****
db(2) <= dummy_net;

else
db(2) <= 'Z';
end if;

end process;

end CFG_arch;

2

プロセス文内でバス全体にアクセスする場合、センシビリティ リストに含める必要があります。 正しい構文を使用する限り、これは有効です。

Incorrect syntax:
process (a, b, bob(3 downto 0))

Correct syntax:
process (a, b, bob);
AR# 4689
作成日 09/25/1998
最終更新日 08/11/2003
ステータス アーカイブ
タイプ 一般