A
AG
Guest
Hi all,
I have the following type of code :
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
USE IEEE.STD_LOGIC_ARITH.ALL;
LIBRARY mylib;
USE mylib.ioport.ALL;
ENTITY test IS
PORT(
clk : IN STD_LOGIC;
rst : IN STD_LOGIC;
A : IN STD_LOGIC_VECTOR (11 DOWNTO 0);
B : IN STD_LOGIC_VECTOR (15 DOWNTO 0);
C : OUT STD_LOGIC_VECTOR (19 DOWNTO 0)
);
END test;
ARCHITECTURE Solution_1 OF test IS
SIGNAL A_1 : STD_LOGIC_VECTOR (11 DOWNTO 0);
SIGNAL A_wire_z : STD_LOGIC_VECTOR (11 DOWNTO 0);
BEGIN
A_wire : mylib.ioport.wire
GENERIC MAP(
rscid => 1,
width => 12
)
PORT MAP(
d => A_1,
z => A_wire_z
);
etc...
END Solution_1;
When I compile this with Xilinx ISE, the compiler stops at the line below
this line :
A_wire : mylib.ioport.wire
with the following message :
ERROR:HDLParsers:164 - "C:/temp/XST/test/mytest.vhdl" Line 245. parse error,
unexpected GENERIC, expecting OPENPAR or TICK or LSQBRACK
and if write instead :
A_wire : wire
the compiler stays quiet. I did not had this kind of problem with Quartus
compiler. Who is wrong ? Is there somewhere an option that I can set so that
I don't need to change the code everywhere this happens (and it does often
in my code) ?
Alexandre.
I have the following type of code :
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
USE IEEE.STD_LOGIC_ARITH.ALL;
LIBRARY mylib;
USE mylib.ioport.ALL;
ENTITY test IS
PORT(
clk : IN STD_LOGIC;
rst : IN STD_LOGIC;
A : IN STD_LOGIC_VECTOR (11 DOWNTO 0);
B : IN STD_LOGIC_VECTOR (15 DOWNTO 0);
C : OUT STD_LOGIC_VECTOR (19 DOWNTO 0)
);
END test;
ARCHITECTURE Solution_1 OF test IS
SIGNAL A_1 : STD_LOGIC_VECTOR (11 DOWNTO 0);
SIGNAL A_wire_z : STD_LOGIC_VECTOR (11 DOWNTO 0);
BEGIN
A_wire : mylib.ioport.wire
GENERIC MAP(
rscid => 1,
width => 12
)
PORT MAP(
d => A_1,
z => A_wire_z
);
etc...
END Solution_1;
When I compile this with Xilinx ISE, the compiler stops at the line below
this line :
A_wire : mylib.ioport.wire
with the following message :
ERROR:HDLParsers:164 - "C:/temp/XST/test/mytest.vhdl" Line 245. parse error,
unexpected GENERIC, expecting OPENPAR or TICK or LSQBRACK
and if write instead :
A_wire : wire
the compiler stays quiet. I did not had this kind of problem with Quartus
compiler. Who is wrong ? Is there somewhere an option that I can set so that
I don't need to change the code everywhere this happens (and it does often
in my code) ?
Alexandre.