Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add support for multidimensional arrays (HAST-255) #10

Open
Piedone opened this issue Sep 7, 2017 · 0 comments
Open

Add support for multidimensional arrays (HAST-255) #10

Piedone opened this issue Sep 7, 2017 · 0 comments

Comments

@Piedone
Copy link
Member

Piedone commented Sep 7, 2017

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.

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

LombiqBot pushed a commit that referenced this issue Apr 13, 2020
@github-actions github-actions bot changed the title Add support for multidimensional arrays Add support for multidimensional arrays (HAST-255) Sep 18, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant