Forum Discussion
Hi,
Questa is testbench based so there's different between the synthesis behavior of the Questa and Quartus. Some of the code Questa can compile but Quartus can't. You may try with other compiler tool and should get the same result.
In VHDL, you cannot access or index into a record field like PinMuxSelect in the signal declaration. The signal declaration must refer to the entire record or array, not individual fields.
For example appropriate one:
signal Cfg : PinCtrlCfgArray(NUM_OUTPUTS_G-1 downto 0);
....
for i in 0 to NUM_OUTPUTS_G-1 loop
Cfg(i).PinMuxSelect <= std_logic_vector(to_unsigned(i, Cfg(i).PinMuxSelect'length));
end loop;
Hi
This is not what I'm trying to do. I'm specifying the size of PinMuxSelect, which is not constrained in the record.
Here is a simplified example:
signal Cfg : PinCtrlCfgArray(3 downto 0)(PinMuxSelect(7 downto 0));
This is part of VHDL-2008 .