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`. |