-
Notifications
You must be signed in to change notification settings - Fork 177
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nice refactor. It makes a ton of sense to break this up.
Couple of thoughts inline. Also, can you clean up what I think are additional usages of the old package. I found the following on something close to master:
# find src/ -type f -name '*.scala' -exec grep 'VerilogEmitter\|FirrtlEmitter' '{}' '+' | grep import
src/main/scala/firrtl/passes/SplitExpressions.scala:import firrtl.{SystemVerilogEmitter, Transform, VerilogEmitter}
src/main/scala/firrtl/stage/phases/AddDefaults.scala:import firrtl.{AnnotationSeq, VerilogEmitter}
src/main/scala/firrtl/stage/transforms/Compiler.scala:import firrtl.{Transform, VerilogEmitter}
src/main/scala/firrtl/Emitter.scala: import VerilogEmitter._
src/main/scala/firrtl/transforms/formal/RemoveVerificationStatements.scala:import firrtl.{CircuitState, DependencyAPIMigration, MinimumVerilogEmitter, Transform, VerilogEmitter}
src/test/scala/firrtlTests/stage/phases/AddImplicitEmitterSpec.scala:import firrtl.{EmitAllModulesAnnotation, EmitCircuitAnnotation, HighFirrtlEmitter, VerilogCompiler}
src/test/scala/firrtlTests/transforms/BlackBoxSourceHelperSpec.scala:import firrtl.{Transform, VerilogEmitter}
src/test/scala/firrtl/stage/phases/tests/ConvertCompilerAnnotationsSpec.scala:import firrtl.{HighFirrtlCompiler, HighFirrtlEmitter, LowFirrtlCompiler}
any ideas to fix the unidoc? I have no knowledge to it. :( |
Then fix the errors you see. They're just import warnings that ScalaDoc is promoting to errors: https://travis-ci.com/github/freechipsproject/firrtl/jobs/379375482#L828 |
oh, got it. fixing now. |
29b0ad1
to
f45904c
Compare
f45904c
to
9c9b965
Compare
done :) @jackkoenig @seldridge |
9c9b965
to
8826b78
Compare
34af4b7
to
ca6d398
Compare
Since this diff is very large, I rebased it on
Looks like mainly some deprecated aliases are needed. |
655ce00
to
f79d9f4
Compare
I added the deprecated aliases, but still have these error, I think it can be ignored? |
694df88
to
51bab16
Compare
Remove all incompatible stuff, didn't change the package name, only split file now. |
51bab16
to
81e625a
Compare
81e625a
to
ed3f2e1
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Confirmed this is binary compatible. Thanks @sequencer!
* split big Emitter to submodules. * fix all deprecated warning. Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com> (cherry picked from commit 92af63c)
* split big Emitter to submodules. * fix all deprecated warning. Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com> (cherry picked from commit 92af63c) Co-authored-by: Jiuyang Liu <[email protected]>
We have more than 1k lines in side
Emitter.scala
which contains implementations ofVerilogEmitter
,FirrtlEmitter
and base class for general emitter.These emitters are not only to be used, after #1826 has been merged. A codes clean up is required. So this PR is a proposal to split
Emitter
s to where they should be, and make base of emitter class accessible to new emitter implementations.Contributor Checklist
Type of Improvement
API Impact
Deprecate import these class from
firrtl
package.VerilogEmitter
MinimumVerilogEmitter
SystemVerilogEmitter
FirrtlEmitter
ChirrtlEmitter
HighFirrtlEmitter
MiddleFirrtlEmitter
LowFirrtlEmitter
Move implementation specific codes to
firrtl.backends.verilog
andfirrtl.backends.firrtl
.Make class in
Emitter.scala
not sealed.Backend Code Generation Impact
None
Desired Merge Strategy
Release Notes
move firrtl and verilog emitter to separate packages.
Reviewer Checklist (only modified by reviewer)
Please Merge
?