This must wrap the datatype used to set the io field of any Module.
Chisel2 code didn't require the IO(...) wrapper and would assign a Chisel type directly to io, then do operations on it.
Desired name of this module.
Signal name (for simulation).
Legalized name of this module.
Called at the Module.apply(...) level after this Module has finished elaborating.
Returns a FIRRTL ModuleName that references this object