-
Notifications
You must be signed in to change notification settings - Fork 603
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
Move dontTouch, RawModule, and MultiIOModule out of experimental #1162
Conversation
What's up with LegacyModule being in experimental? Did we ever expose that as an API - I thought it was more an internal thing to support old-style Module? I also think there's an argument for deciding whether we want to make Module be able to take multiple top-level IOs ("merge" MultiIOModule into Module) in this change - since this determines whether we add MultiIOModule (as a separate construct) in the non-experimental API. |
LegacyModule moved from core to experimental with pr #1078:
Should I move it to internal (chiselFrontend/src/main/scala/chisel3/internal)? It sounds like we're not quite ready for the 3.2 release. |
I think LegacyModule should be in core, not experimental. |
* IO), the clock and reset constructors will be phased out. Recommendation is to wrap the module | ||
* in a withClock/withReset/withClockAndReset block, or directly hook up clock or reset IO pins. | ||
*/ | ||
abstract class LegacyModule(implicit moduleCompileOptions: CompileOptions) |
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.
I think this should be in chisel3.core
rather than chisel3.experimental
|
*NOTE*: At some point, these module definitions (especially those in separate packages) should be moved to individual files at the appropriate location in the source tree. The current organization is purely to support comparison with prior versions.
* Closes #1162 * Instances of extmodules remain in the final hierarchy * Extmodule definitions are not renamed or duplicated * The rest of the pass may proceed as normal
Type of change: other enhancement
Impact: API modification
Development Phase: implementation
Release Notes
The object
dontTouch
and the classesRawModule
andMultiIOModule
are promoted from experimental, implying their respective APIs are stable.NOTE: There will be corresponding pull requests for the rest of the BIG10 that are impacted by these changes. This PR is required for the 3.2.0-RC1 release.