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

6.2i XST - XST で符号付演算に適切ではないロジックが生成される

説明

キーワード : sign, VHDL, operator, wrong, 符号, オペレータ, 不正

重要度 : 標準

概要 :
次の例に示すように、符号付き比較演算で不正なロジックが生成されます。

library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_arith.all;
use ieee.std_logic_unsigned.all;

entity accup_8_loooolo is
port(
a : in std_logic_vector(18 downto 0);
b: in std_logic_vector(18 downto 0);
q : out std_logic;
clk : in std_logic
);
end accup_8_loooolo;

architecture archi of accup_8_loooolo is
signal tmp :std_logic_vector(18 downto 0);

begin
tmp <= "1111111111111111111";
q<='1' when ( signed(a) > signed(tmp) ) else '0';
end;

ソリューション

VHDL の符号付きデータ型で発生するこの問題を回避する簡単な方法はありません。 回避するには、符号付きデータ型を真似してビットを拡張し、独自のベクタ サインを作成します。

この問題は、最新版の 6.2i サービス パックで修正されています。サービス パックは次のサイトから入手できます。
http://support.xilinx.co.jp/xlnx/xil_sw_updates_home.jsp
この修正は、6.2i サービス パック 3 以降に含まれます。
AR# 19187
日付 07/18/2007
ステータス アーカイブ
種類 一般
このページをブックマークに追加