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

use vhdl 2008 standard in ghdl simulations #1096

Merged
merged 5 commits into from
Dec 3, 2024
Merged

Conversation

csantosb
Copy link
Contributor

Support for vhdl08 is quite good in current ghdl release.

@csantosb
Copy link
Contributor Author

I'm unable to reproduce the failed checks locally when using ghdl-clang/gcc. The problem arises with its ghdl-mcode variant, which operates differently and has more limitations, as in this case.

@stnolting
Copy link
Owner

I think --std=08 is just missing in the GHDL run command:

runcmd="$GHDL -r --work=neorv32 --workdir=build neorv32_tb \

@stnolting stnolting linked an issue Nov 20, 2024 that may be closed by this pull request
@stnolting stnolting added the CI Continuous integration-related label Nov 20, 2024
@stnolting
Copy link
Owner

This seems to work! 🚀

@csantosb csantosb closed this Nov 21, 2024
@csantosb csantosb reopened this Nov 21, 2024
@csantosb
Copy link
Contributor Author

csantosb commented Nov 21, 2024

This is correct. To consider all these differences between backends.

It's even possible to further simplify the main sim script, as there is no need to provide compilation order or location of sources in project. Let ghdl decide.

let ghdl decide about compilation order, regardless of location of
sources in project
@stnolting
Copy link
Owner

This is correct. To consider all these differences between backends.

👍

It's even possible to further simplify the main sim script, as there is no need to provide compilation order or location of sources in project. Let ghdl decide.

That's right. But I think it might be a good thing to keep that here (to check the file list is correct and to provide an application example for it).

@csantosb
Copy link
Contributor Author

That's right. But I think it might be a good thing to keep that here (to check the file list is correct and to provide an application example for it).

Fine with me.

@stnolting stnolting marked this pull request as draft November 26, 2024 19:19
@stnolting
Copy link
Owner

Would you restore the file-list stuff? Or do you think we should leave it out?

@csantosb
Copy link
Contributor Author

csantosb commented Dec 1, 2024

To me, the simpler, the better: ghdl is not using this list, anyway (which is produced by ghdl itself). Additionally, most tools today are able to figure out by themselves the correct order.

Finally, I'm interested in packaging neorv32, including testing, which means neorv32-vunit would be part of neorv32, as it was the case in 1.10.6 (similar to open-logic, for example).

@stnolting
Copy link
Owner

To me, the simpler, the better: ghdl is not using this list, anyway (which is produced by ghdl itself). Additionally, most tools today are able to figure out by themselves the correct order.

I think you've convinced me 👍

Furthermore, we have a simple howto for the file lists in the documentation: https://stnolting.github.io/neorv32/#_file_list_files

@stnolting stnolting marked this pull request as ready for review December 3, 2024 20:43
@stnolting stnolting merged commit a0f4349 into stnolting:main Dec 3, 2024
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
CI Continuous integration-related
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Why not simulate with support for vhdl 2008 ?
2 participants