This module contains the description of the APIs of modules referenced in the Module Index.
This is the base class of all Module (and Signal or Ports) implementations. This class provides sane defaults for most methods.
Resets transient state attached to this module, like debug mode.
Current debug mode
Fully qualified module name in the Module Index.
Tells whether the given file path is the file where module got declared.
Parameters: | path – an absolute filename |
---|
Gets a collection of files related to this module. This method must be implemeted in subclasses.
Sets module to debug mode, what happens in specialized modules when they are in debug mode is implementation-dependant
Parameters: | debug – next debug mode |
---|
This is the protocol that must be implemented by Modules. Modules must inherit soclib_desc.module.ModuleCommon.
Returns a list of parameter objects to define in order to be able to specialize this module.
Returns whether the module got specialized at least once.
Creates a Specialization for the module, with the given parameters.
Parameters: | params – a mapping of key/values. |
---|---|
Returns: | a Specialization object. |
This is the protocol that must be implemented by Ports. Ports must inherit ModuleCommon, and implement the ModuleInterface.
This is the protocol that must be implemented by Signals. Signals must inherit ModuleCommon, and implement the ModuleInterface.
This module contains the description of the APIs of specialized modules.
Retrieves the soclib_cc builder instance able to compile the specialization.
Retrieves a string corresponding to the whole entity name.
Gets extensions defined for a given namespace. Extensions are each in a string.
Retrieves a collection of absolute header file paths to include when using this module.
List of parameters to be passed at run time, these are the necessary parameters for getting a valid module instanciation. Depending on the module implementation language, this may be a string, a list of parameters, or a dictionary.
Retrieves a collection of absolute interface file paths to include from software using this module.
Returns set of specializations used as dependancy of this one. This is the exhaustive list of needed modules, even if deep in the subtree.
Retrieves the native language of the module. It should probably be vhdl, systemc, verilog, ...
Retrieves the port list. Some ports may depend from instance parameters.
This module contains the description of the APIs of specialized modules builders.
Returns a list of soclib_builder.bblock.BBlock objects corresponding to products of module compilation.