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

2.1i XDW モジュール COMP_LT_UBIN_x で VHDL シミュレーションを実行すると不正な結果が生成される。

説明

キーワード:VHDL, simulation, XDW, Synopsys, DesignWare, Compiler, シミュレーション, コンパイラ

重要度 :標準

概要:
Alliance 2.1i の XDW モジュール COMP_LT_UBIN_x を使用して VHDL シミュレーションを実行すると、不正な結果が生成される。最初の結果が 1 であった場合、その後シミュレーションの結果は 1 から変化しない。

ソリューション

この問題は、XDW ライブラリの変数初期化が正しくないために発生します。この問題を解決するには、XDW ソース ファイルに直接アクセスし編集する必要があります。

エディタで $XILINX/synopsys/libraries/sim/xdw/src/xdw_VITAL.vhd を開きます。コンパレータの記述は次のようになります。

...
library IEEE;
use IEEE.STD_LOGIC_1164.all;

entity COMP_LT_UBIN_4 is
port (
Z : out STD_ULOGIC;
A : in STD_LOGIC_VECTOR (3 downto 0);
B : in STD_LOGIC_VECTOR (3 downto 0));

end COMP_LT_UBIN_4;

architecture COMP_LT_UBIN_4_V of COMP_LT_UBIN_4 is

begin

VITALBehavior : process (A, B)

VARIABLE O_zd : STD_ULOGIC := '0';

begin
-------------------------
-- Functionality Section
-------------------------
for I in 3 downto 0 loop
if (((NOT A(I)) AND B(I)) = '1') then
O_zd := '1';
exit;
elsif ((A(I) AND (NOT B(I))) = '1') then
exit;
end if;
end loop;
Z <= O_zd after 0.1 ns;
end process;

end COMP_LT_UBIN_4_V;
...
変数の初期化を修正するには、以下を挿入します。

O_zd := '0',

これはプロセスの文頭に追加します。

...
library IEEE;
use IEEE.STD_LOGIC_1164.all;

entity COMP_LT_UBIN_4 is
port (
Z : out STD_ULOGIC;
A : in STD_LOGIC_VECTOR (3 downto 0);
B : in STD_LOGIC_VECTOR (3 downto 0));

end COMP_LT_UBIN_4;

architecture COMP_LT_UBIN_4_V of COMP_LT_UBIN_4 is

begin

VITALBehavior : process (A, B)

VARIABLE O_zd : STD_ULOGIC := '0';

begin

O_zd := '0', -- THIS LINE MUST BE ADDED !!!

-------------------------
-- Functionality Section
-------------------------
for I in 3 downto 0 loop
if (((NOT A(I)) AND B(I)) = '1') then
...
...
ライブラリを再分析し、 正しい結果が生成されているか確認してください。

この問題は、Allianceソフトウェアの次のバージョンで修正される予定です。
AR# 7994
日付 06/13/2002
ステータス アーカイブ
種類 一般