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

8.1i - XST で定数のファンクションを使用すると、「ERROR:HDLCompilers:303」というエラー メッセージが表示される

説明

キーワード : ISE, HDL, Verilog, 定数, ファンクション

XST で Verilog に定数ファンクションを使用すると、次のエラー メッセージが表示されます。

"ERROR:HDLCompilers:303"

次の Verilog 例で、この問題が発生します。

=================================
function integer APPROX_LOG2(input integer N);
integer i;
begin
i = 0;
while (2**i < N) i = i+1;
APPROX_LOG2 = i;
end
endfunction

// This expression is a CONSTANT FUNCTION call...
localparam COUNTER_WIDTH = APPROX_LOG2(PRESCALE_RATIO-1);

reg [COUNTER_WIDTH-1 : 0] counter;

=================================================

ソリューション

この問題は、ISE 9.1i で修正されています。また、次の VHDL コードを使用しても、この問題を回避できます。

========================================
ARCHITECTURE rtl OF supported_ok IS

function APPROX_LOG2(constant N : in integer)
return integer is
variable i : integer;
begin
i := 0;
while (2**i < N) loop
i := i+1;
end loop;
return i;
end function;

-- This expression is a CONSTANT FUNCTION call...
constant COUNTER_WIDTH : integer := APPROX_LOG2(PRESCALE_RATIO-1);

signal counter : unsigned(COUNTER_WIDTH-1 downto 0);

====================================================

AR# 23370
日付 01/08/2009
ステータス アーカイブ
種類 一般
このページをブックマークに追加