Add an assertion in the code generated by a backend.
Add an assertion in the code generated by a backend.
Returns true if this module or any of its children contains at least one register.
Returns true if this module or any of its children contains at least one register.
Insures a backend does not remove a signal because it is unreachable from the outputs.
Insures a backend does not remove a signal because it is unreachable from the outputs.
Since we are relying on the out-degree of nodes (i.
Since we are relying on the out-degree of nodes (i.e. consumers.length), this method should only be called after the forward edges have been constructed.
Returns the absolute path to a component instance from toplevel.
Returns the absolute path to a component instance from toplevel.
A backend(Backend.
A backend(Backend.scala) might generate multiple module source code from one Module, based on the parameters to instanciate the component instance. Since we do not want to blindly generate one module per instance the backend will keep a cache of each module's implementation source code and discard textual duplicates. By walking the nodes from level zero (leafs) to level N (root), we are guarenteed to generate all Module/modules source text before their first instantiation.
Name of the module this component generates (defaults to class name).
Name of the module this component generates (defaults to class name).
Name of the instance.
Name of the instance.
All classes inherited from Data are used to add type information and do not represent logic itself.
All classes inherited from Data are used to add type information and do not represent logic itself.