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