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

Synthesis to verilog does not work for VHDL code with asserts #4

Open
Flojo101 opened this issue Dec 11, 2024 · 3 comments · May be fixed by #5
Open

Synthesis to verilog does not work for VHDL code with asserts #4

Flojo101 opened this issue Dec 11, 2024 · 3 comments · May be fixed by #5

Comments

@Flojo101
Copy link

Due to the ChildProcessService combining stdout and stderr, synthesis of VHDL designs that print asserts during elaboration or synthesis fails. The root cause are the asserts, which GHDL prints to stderr. These are then combined with stdout by the ChildProcessService, thus creating a Verilog file with syntax issues.

Potential solutions:

  • Have ExecuteShellAsync return stdout and stderr separately instead of combined
  • Use a custom output action to copy stdout to a separate string
@Flojo101
Copy link
Author

The current way of just writing the ExecuteShellAsync output should also be obsolete in the next GHDL release, as it includes the -o option. It tells GHDL to write the synthesized Verilog code directly to disk

@swittlich
Copy link

For reasons of compatibility between the FEntwumS plugins, I also switch to the OSS suite in the Cologne Chip plugin and require GHDL support.

@Flojo101
Copy link
Author

GHDL seems to also provide nightly builds here. Any GHDL build using sources including commit GHDL#3790d92 (sources from 09.09.2024 or later) should include the -o option.

Slightly off topic: The latest commit of this repository adds support for GHDL 4.1.0, but the latest release does not include this commit, as it is based on the previous commit.

@Flojo101 Flojo101 linked a pull request Jan 15, 2025 that will close this issue
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants