chipsalliance / chisel

Chisel: A Modern Hardware Design Language
https://www.chisel-lang.org/
Apache License 2.0
3.91k stars 588 forks source link

Module Hierarchy Proposal #512

Closed azidar closed 7 years ago

azidar commented 7 years ago

Summary of proposal from #507:

Mainline Chisel 3:

Experimental Package:

Now, users can try using Record in mainline Chisel3 to address the proliferation of Bundles in RocketChip. After this PR, users could also import experimental (knowing that this feature could be removed) and play with a solution using multiple IOs.

If, after some experimentation, multiple IO's dependence on reflection becomes a bigger hassle than the associated gains, we will get rid of this feature from experimental.

Any objections or modifications to this proposal? @ducky64 @colinschmidt @mwachs5 @sdtwigg @aswaterman @chick and anyone else.

aswaterman commented 7 years ago

I would be more comfortable if the multi-IO thing were not called Module--even though it is in the experimental package. If it is ultimately merged, it would be preferable to name it something else, so that Module permanently maintains the guarantee that its interface is entirely contained within (implicit clock and reset and) io.

ducky64 commented 7 years ago

Resolution: