JDe_S4
New Contributor
7 years agoDoes Quartus 18.0 support the VHDL 2008 'ELEMENT attribute?
I am using the VHDL 'ELEMENT attribute to determine the range of an element in an array.
ReadRegisterData: process (REG_CLK) is
begin
if (rising_edge(REG_CLK)) then
i_RegReadData <= (others => '0');
if (REG_RDEN = '1') then
case? i_RegSelect is
when "1---" => i_RegReadData(0) <= i_InterfaceSelect;
when "0100" => i_RegReadData(i_DAC_CodeWordMaskReg'ELEMENT'RANGE) <= i_DAC_CodeWordMaskReg(0);
when "0101" => i_RegReadData(i_DAC_CodeWordMaskReg'ELEMENT'RANGE) <= i_DAC_CodeWordMaskReg(1);
when "0110" => i_RegReadData(i_DAC_CodeWordMaskReg'ELEMENT'RANGE) <= i_DAC_CodeWordMaskReg(2);
when "0111" => i_RegReadData(i_DAC_CodeWordMaskReg'ELEMENT'RANGE) <= i_DAC_CodeWordMaskReg(3);
when others => null;
end case?;
end if;
end if;
end process ReadRegisterData;Quartus reports the following error:
Error (10482): VHDL error at <file>.vhd(176): object "ELEMENT" is used but not declaredfollowed by the error message:
Error (10406): VHDL attribute error at <file>.vhd(176): object with attribute "range" must have scalar or array typeDoes this mean that Quartus Prime Version 18.0.0 Standard Edition doesn't support this VHDL 2008 feature?