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

6.2i SP1 XST 全般- 「ERROR:HDLParsers:164 - <coregen_core>.vhd Line 135. parse error, unexpected $」 というエラー メッセージが表示される

説明

キーワード : synthesize, synthesis, COREGen, CORE Generator, $, 合成

重要度 : 標準

概要 :
CORE Generator のコアを合成すると、XST で次のエラー メッセージが表示されます。

"ERROR:HDLParsers:164 - <coregen_core>.vhd Line 135. parse error, unexpected $"

ソリューション

1

このエラーを解消するには、次のコンパイラ命令を <CoreGen_core>.vhd ファイルに追加してください。

LIBRARY ieee;
USE ieee.std_logic_1164.ALL;

-- off 命令を IEEE ライブラリの直後、Xilinx CoreLib の前に追加します。
-- synopsys translate_off

Library XilinxCoreLib;

-- on 命令をエンティティ宣言の直前に追加します。
-- synopsys translate_on

ENTITY dummy IS
port (
addra: IN std_logic_VECTOR(10 downto 0);
addrb: IN std_logic_VECTOR(10 downto 0);
clka: IN std_logic;
clkb: IN std_logic;
dina: IN std_logic_VECTOR(3 downto 0);
doutb: OUT std_logic_VECTOR(3 downto 0);
wea: IN std_logic);
END dummy;

ARCHITECTURE dummy_a OF dummy IS

-- off 命令をアーキテクチャの直後、コンポーネント宣言の前に追加します。
-- synopsys translate_off

component wrapped_dummy
port (
addra: IN std_logic_VECTOR(10 downto 0);
addrb: IN std_logic_VECTOR(10 downto 0);
clka: IN std_logic;
clkb: IN std_logic;
dina: IN std_logic_VECTOR(3 downto 0);
doutb: OUT std_logic_VECTOR(3 downto 0);
wea: IN std_logic);
end component;

-- Configuration specification
for all : wrapped_dummy use entity XilinxCoreLib.blkmemdp_v5_0(behavioral)
generic map(
c_reg_inputsb => 0,
c_reg_inputsa => 0,
c_has_ndb => 0,
c_has_nda => 0,
c_ytop_addr => "1024",
c_has_rfdb => 0,
c_has_rfda => 0,
c_yena_is_high => 1,
c_ywea_is_high => 1,
c_yclka_is_rising => 1,
c_yhierarchy => "hierarchy1",
c_ysinita_is_high => 1,
c_ybottom_addr => "0",
c_width_b => 4,
c_width_a => 4,
c_sinita_value => "0",
c_sinitb_value => "0",
c_limit_data_pitch => 18,
c_write_modeb => 0,
c_write_modea => 0,
c_has_rdyb => 0,
c_has_rdya => 0,
c_yuse_single_primitive => 1,
c_addra_width => 11,
c_addrb_width => 11,
c_has_limit_data_pitch => 0,
c_default_data => "0",
c_pipe_stages_b => 0,
c_yweb_is_high => 1,
c_yenb_is_high => 1,
c_pipe_stages_a => 0,
c_yclkb_is_rising => 1,
c_enable_rlocs => 0,
c_ysinitb_is_high => 1,
c_has_web => 0,
c_has_default_data => 1,
c_has_sinitb => 0,
c_has_wea => 1,
c_has_sinita => 0,
c_has_dinb => 0,
c_has_dina => 1,
c_ymake_bmm => 0,
c_has_enb => 0,
c_has_ena => 0,
c_depth_b => 2048,
c_mem_init_file => "mif_file_16_1",
c_depth_a => 2048,
c_has_doutb => 1,
c_has_douta => 0,
c_yprimitive_type => "1kx4");

on 命令をコンポーネント宣言およびコンフィギュレーション仕様の直後、BEGIN の直前に追加します。
-- synopsys translate_on

BEGIN

-- off 命令を BEGIN の直後、コンポーネントのインスタンシエーションの前に追加します。
-- synopsys translate_off

U0 : wrapped_dummy
port map (
addra => addra,
addrb => addrb,
clka => clka,
clkb => clkb,
dina => dina,
doutb => doutb,
wea => wea);

-- on 命令を END の直前に追加します。
-- synopsys translate_on

END dummy_a;



この問題は通知されており、今後のリリースで修正されます。

2

このエラー メッセージは、VHDL コードのブロックが正しく閉じられていない場合に表示されます。 よく使用される VHDL コードには、エンティティ、アーキテクチャ、パッケージ、パッケージ本体、ファンクション、プロシージャ、プロセスなどがあります。 これらのブロックは、それぞれ明確に開始および終了している必要があります。 また、アーキテクチャ、ファンクション、プロシージャ、プロセスには、キーワード begin で終わる宣言が含まれます。 こういったブロックも正しく閉じられていないと、次に続くコード ブロックが同じブロックにあるように認識されてしまいます。 合成ツールは、ファイルの終わりまで読み込むと、そのコード ブロックの終了を待つ状態、またはファイルの終了が認識できない状態になります。

HDL コードですべてのコードが正しく閉じられていることを確認してください。
AR# 19221
日付 07/18/2007
ステータス アーカイブ
種類 一般
このページをブックマークに追加