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

Switch to HowToSerialize for Emission #1405

Merged
merged 4 commits into from Aug 12, 2020
Merged

Switch to HowToSerialize for Emission #1405

merged 4 commits into from Aug 12, 2020

Conversation

seldridge
Copy link
Member

This removes the chisel3.stage.phases.Emitter and moves its emission logic into the ChiselCircuitAnnotation. This uses the new HowToSerialize mix-in provided by chipsalliance/firrtl#1277.

A consequence of this is that there is no longer a need for generating DeletedAnnotations and for introspection of DeletedAnnotations to determine an execution result or a view of some sequence of annotations.

Related issue: Depends on chipsalliance/firrtl#1277

Type of change: other enhancement

Impact: API modification

Development Phase: implementation

Release Notes

@seldridge
Copy link
Member Author

seldridge commented Aug 11, 2020

@jackkoenig or @ekiwi-sifive: Can I get a review on this one? Builds are going to be busted until this goes through since chipsalliance/firrtl#1277 was merged.

Change ChiselStage helper methods for emitting FIRRTL (emitFirrtl) and
Verilog (emitVerilog) to look for Circuit and Verilog annotations
instead of DeletedAnnotations. This is needed after migrating to the
CustomFileEmission mixin in FIRRTL where FIRRTL will no longer delete
emitter annotations.

Signed-off-by: Schuyler Eldridge <schuyler.eldridge@ibm.com>
Removes the explicit chisel3.phases.Emitter and instead does emission
with a CustomFileEmission mixin to ChiselCircuitAnnotation. This then
prevents the need for passing around DeletedAnnotations. As a
consequence, I removed an unnecessary run of a second Converter in the
Driver.

Signed-off-by: Schuyler Eldridge <schuyler.eldridge@ibm.com>
Signed-off-by: Schuyler Eldridge <schuyler.eldridge@ibm.com>
Signed-off-by: Schuyler Eldridge <schuyler.eldridge@ibm.com>
@seldridge seldridge added this to the 3.4.0 milestone Aug 12, 2020
@seldridge seldridge added the Please Merge Accepted PRs that are ready to be merged. Useful when waiting on CI. label Aug 12, 2020
Copy link
Contributor

@ekiwi ekiwi left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If this is going to fix chisel then let's :shipit:

@seldridge
Copy link
Member Author

In the spirit of expediency, I'm going to revert this to the passing commit. I'll open a new PR to add deprecations and clean things up (what I was adding to the PR before everyone realized the build was broken...).

@mergify mergify bot merged commit dbf4d54 into master Aug 12, 2020
@seldridge seldridge deleted the how-to-serialize branch August 12, 2020 16:19
jackkoenig pushed a commit that referenced this pull request Feb 28, 2023
* Update scalatest to 3.1.1

* Update scalatest to 3.1.1

* Update scalatest to 3.1.1

Co-authored-by: Jim Lawson <ucbjrl@berkeley.edu>
Co-authored-by: Schuyler Eldridge <schuyler.eldridge@ibm.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Please Merge Accepted PRs that are ready to be merged. Useful when waiting on CI.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants