| | 1 | [[PageOutline]] |
| | 2 | |
| | 3 | A macro component is an agregation of components put together in order to create a new |
| | 4 | one. This type of definition is base for hierarchical platforms definitions. |
| | 5 | |
| | 6 | = Usage = |
| | 7 | |
| | 8 | Let's start with an example defining a cluster for a clustered SoC: |
| | 9 | |
| | 10 | {{{ |
| | 11 | |
| | 12 | }}} |
| | 13 | |
| | 14 | Once declared, we may instanciate a cluster with this line: |
| | 15 | {{{ |
| | 16 | }}} |
| | 17 | The declared macro component exports some variables, they will |
| | 18 | probably be useful for later use: |
| | 19 | * `cluster.interconnect` The interconnect |
| | 20 | * `cluster.cpu` A list of the cpus in this cluster |
| | 21 | * `cluster.cram` A list of the cached rams in this cluster |
| | 22 | * `cluster.uram` A list of the uncached rams in this cluster |
| | 23 | * `cluster.lock` The RamLocks component instanciated in this cluster |