A
Acciduzzu
Guest
Dear all,
I'm currently designing a peripheral device in VHDL, which is
connected to a 32-bit bus. As I want to make its position in the
memory map parametrizable, I defined a mask as a generic constant
parameter. Here is the code sample below:
entity bus_peripheral is
generic(
DEVICE_ID : std_logic_vector(7 downto 0);
REVISION_NO : std_logic_vector(7 downto 0);
BASE_ADDR : std_logic_vector(31 downto 0); -- Base address
on the bus
-- timing settings (100MHz clk)
T1 : integer := 10;
T2 : integer := 28;
T3 : integer := 23
);
port(
clk : in std_logic;
rst : in std_logic;
-- bus signals
--
);
end entity;
The above code compiles with no problems under ModelSim with "check
for synthesis" enabled, yet it makes Synopsys Design Compiler issue an
error. The error message I get is:
"Only generics of type INTEGER are supported for synthesys
(VHDL-2024)".
Is that really a limitation of Synopsys DC? If so, I am really
disappointed... I had the impression DC is the best synth tool around
. Did you guys have this problem with other tools? Is any workaround
possible?
Thanks for answers
I'm currently designing a peripheral device in VHDL, which is
connected to a 32-bit bus. As I want to make its position in the
memory map parametrizable, I defined a mask as a generic constant
parameter. Here is the code sample below:
entity bus_peripheral is
generic(
DEVICE_ID : std_logic_vector(7 downto 0);
REVISION_NO : std_logic_vector(7 downto 0);
BASE_ADDR : std_logic_vector(31 downto 0); -- Base address
on the bus
-- timing settings (100MHz clk)
T1 : integer := 10;
T2 : integer := 28;
T3 : integer := 23
);
port(
clk : in std_logic;
rst : in std_logic;
-- bus signals
--
);
end entity;
The above code compiles with no problems under ModelSim with "check
for synthesis" enabled, yet it makes Synopsys Design Compiler issue an
error. The error message I get is:
"Only generics of type INTEGER are supported for synthesys
(VHDL-2024)".
Is that really a limitation of Synopsys DC? If so, I am really
disappointed... I had the impression DC is the best synth tool around
. Did you guys have this problem with other tools? Is any workaround
possible?
Thanks for answers