You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Currently only single-dimensional arrays are supported, there is an explicit check for this too in ArrayCreateExpressionTransformer. However Vivado appears to support multi-dimensional arrays (at least for synthesis; further checks are necessary) like below, so we could transform into them:
type singleArray is array (0 to 5) of std_logic_vector(31 downto 0);
type multiArray is array (0 to 3) of singleArray;
type matrix is array (natural range <>, natural range <>, natural range <>) of std_logic_vector(31 downto 0);
Since the support for this can be dependent on tooling probably IDeviceDriver needs to be augmented too to indicate support for multi-dimensional arrays.
Currently only single-dimensional arrays are supported, there is an explicit check for this too in ArrayCreateExpressionTransformer. However Vivado appears to support multi-dimensional arrays (at least for synthesis; further checks are necessary) like below, so we could transform into them:
Since the support for this can be dependent on tooling probably IDeviceDriver needs to be augmented too to indicate support for multi-dimensional arrays.
Since
array.Length
is handled now,GetLength()
needs to be implemented in a similar manner (see the LENGTH attribute: https://www.csee.umbc.edu/portal/help/VHDL/attribute.html).Also see: http://stackoverflow.com/questions/30651269/synthesizable-multidimensional-arrays-in-vhdl
Jira issue
The text was updated successfully, but these errors were encountered: