Differences in VHDL 2008 support between Standard and Pro version
Hello,
Cleaning out some code to get a more reusable and family independent code base, I noticed a difference in VHDL2008 support between the standard (20.1) and Pro(20.4) versions of Quartus I am using.
I guess it is not a bug but it appears the Standard version does not support generic types and functions as in the example below, whilst the pro version does not complain.
entity some_block is generic ( type RECORD_TYPE; SLV_LENGTH : integer; function PACK(d_rec: RECORD_TYPE) return std_logic_vector; function UNPACK(d_slv: std_logic_vector) return RECORD_TYPE; DEVICE_FAMILY : string; FIFO_DEPTH : integer ); port ( arst : in std_logic; wrclk : in std_logic; wrreq : in std_logic; data_in : in RECORD_TYPE; rdclk : in std_logic; rdreq : in std_logic; data_out : out RECORD_TYPE; empty : out std_logic );
However I do not seem to find an overview of these differences online.
As we work with different FPGAs (eg Cyclone 10 LP and Cyclone 10 GX) which are either bound to the Standard or the Pro version, this seems to imply we cannot use full 2008 support on all are designs and require a separate code base for either toolflow.
Is my observation correct?
If so, is there any way (I did not find yet) to overcome this? eg. allowing this code to be used for eg. a Cyclone 10 LP design?
Thanks in advance for your replies