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

Small fixes for monitor generation #31

Merged
merged 3 commits into from Oct 22, 2019
Merged

Conversation

@jleahy
Copy link

@jleahy jleahy commented Sep 18, 2019

Hi Clifford,

It turns out that currently generate.py produces invalid Verilog for RV32I (C extension disabled), particularly you end up with ialign16 not getting defined. This is because some instructions (such as BEQ) have nested ifdefs that aren't handled by the parser. I've extended it to track a stack of ifdefs instead. This also cuts down the lines of code a little and makes it easier to extend for additional flags.

The other two changes are just niceties whilst I was in the vicinity.

Joshua Leahy added 3 commits Sep 18, 2019
This is required to properly handle the BEQ instruction with compressed
instructions disabled. Currently in this case invalid verilog output
is produced.
This is unfortunate as it requires switching between wire/reg, but otherwise
icarus verilog complains that this always block has no sensitivity list.
This should save people one step when checking the repository out on Linux
@cliffordwolf cliffordwolf merged commit 1d19c27 into SymbioticEDA:master Oct 22, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Linked issues

Successfully merging this pull request may close these issues.

None yet

2 participants