Parameters can be used for 2 different purposes:
Most HDL languages only support numeric constant as parameters.
Language | Template parameter | Instance parameter |
---|---|---|
VHDL (only numeric parameters supported) |
Unsupported by language. Sometimes, you’ll find VHDL preprocessors which generate VHDL files, preprocessor parameters can be seen as tempalte parameters. |
generic map |
SystemC (C++) | Any pod (integers, pointers, etc.) or types, classes, etc. | Any pod or object instance |
Soclib-cc library does not check for validity of parameters as such, this is up to the Metadata providers to ensure parameters and types are valid for their own handled module types.
Available parameter types:
Parameter type name | Associated data |
---|---|
Bool | A binary value (true/false) |
Int | An integer value |
Float | A floating point value |
String | A character string (file path, etc.) |
StringArray | An array of character strings, of arbitrary length |
IntArray | An array of integer values, of arbitrary length |
IntTab | A table of integers, this is used by most soclib components for routing configuration |
Type (C++-specific) | A data type, only usable as template parameter |
Module (C++-specific) | A module type or instance |