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

Move dontTouch, RawModule, and MultiIOModule out of experimental #1162

Merged
merged 7 commits into from
Sep 11, 2019

Conversation

ucbjrl
Copy link
Contributor

@ucbjrl ucbjrl commented Aug 20, 2019

Type of change: other enhancement

Impact: API modification

Development Phase: implementation

Release Notes
The object dontTouch and the classes RawModule and MultiIOModule 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.

@ducky64
Copy link
Contributor

ducky64 commented Aug 21, 2019

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.

@ucbjrl
Copy link
Contributor Author

ucbjrl commented Aug 21, 2019

LegacyModule moved from core to experimental with pr #1078:

  • Move almost all chisel3.core definitions to chisel3 or chisel3.experimental

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.

@jackkoenig jackkoenig requested a review from azidar August 22, 2019 18:43
@azidar
Copy link
Contributor

azidar commented Aug 26, 2019

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)
Copy link
Contributor

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

@ucbjrl
Copy link
Contributor Author

ucbjrl commented Aug 27, 2019

chisel3.core is no more. It's an alias for chisel3.internal or chisel3

*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.
@ucbjrl ucbjrl merged commit 3d65cce into master Sep 11, 2019
@ucbjrl ucbjrl deleted the exposureUpdates branch December 20, 2019 16:47
jackkoenig pushed a commit that referenced this pull request Feb 28, 2023
* 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
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants