| 10 | | An architecture is defined in a python class inherited from `GenericArchitecture` (defined in `dsx`). |
| 11 | | Method `architecture` will create contents of the SoC: components creation, connections, utilities (like MappingTable). |
| 12 | | |
| 13 | | You'll have to tell the architecture framework where is the lowest-level component, most probably the base interconnect. This must be archieved by calling `self.setBase(component)`. |
| 14 | | |
| 15 | | = Parameters = |
| 16 | | |
| 17 | | Anywhere in `architecture` method, you may call `self.getParam(name)` to get an architecture instance parameter. |
| 18 | | * name is the parameter name |
| 19 | | * default value is optionnal |
| 20 | | * user-specified value overrides default value |
| 21 | | * if default value is not given when calling `getParam`, user-specified argument becomes mandatory. |
| 22 | | * default value must be specified in class-global dictionnary 'defaults' |
| 23 | | |
| 24 | | = Other specific architecture definitions = |
| 25 | | |
| 26 | | You may also use SoclibGenericArchitecture, a specialization of GenericArchitecture for VCI-based platforms. |
| 27 | | |
| 28 | | In your design, there may be some [MacroComponent MacroComponent]s you would like to define on their own. |
| | 10 | An architecture is defined in a python function returning a `soclib.Architecture`. |