(Since version chisel3) Module constructor with override _clock, _reset deprecated, use withClockAndReset
(Since version chisel3) Module constructor with override _reset deprecated, use withReset
(Since version chisel3) Module constructor with override _clock deprecated, use withClock
(Since version chisel3) Module constructor with override_clock and override_reset deprecated, use withClockAndReset
This must wrap the datatype used to set the io field of any Module.
This must wrap the datatype used to set the io field of any Module. i.e. All concrete modules must have defined io in this form: [lazy] val io[: io type] = IO(...[: io type])
Items in [] are optional.
The granted iodef WILL NOT be cloned (to allow for more seamless use of anonymous Bundles in the IO) and thus CANNOT have been bound to any logic. This will error if any node is bound (e.g. due to logic in a Bundle constructor, which is considered improper).
Also registers a Data as a port, also performing bindings. Cannot be called once ports are requested (so that all calls to ports will return the same information). Internal API.
TODO(twigg): Specifically walk the Data definition to call out which nodes are problematic.
Compatibility function.
Compatibility function. Allows Chisel2 code which had ports without the IO wrapper to compile under Bindings checks. Does nothing in non-compatibility mode.
Should NOT be used elsewhere. This API will NOT last.
TODO: remove this, perhaps by removing Bindings checks in compatibility mode.
Desired name of this module.
Desired name of this module. Override this to give this module a custom, perhaps parametric, name.
Signal name (for simulation).
Signal name (for simulation).
Legalized name of this module.
Legalized name of this module.
Called at the Module.apply(...) level after this Module has finished elaborating.
Called at the Module.apply(...) level after this Module has finished elaborating. Returns a map of nodes -> names, for named nodes.
Helper method.
Legacy Module class that restricts IOs to just io, clock, and reset, and provides a constructor for threading through explicit clock and reset.
While this class isn't planned to be removed anytime soon (there are benefits to restricting 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.