[[PageOutline]] A macro component is an agregation of components put together in order to create a new one. This type of definition is base for hierarchical platforms definitions. = Usage = Let's start with an example defining a cluster for a clustered SoC: {{{ }}} Once declared, we may instanciate a cluster with this line: {{{ }}} The declared macro component exports some variables, they will probably be useful for later use: * `cluster.interconnect` The interconnect * `cluster.cpu` A list of the cpus in this cluster * `cluster.cram` A list of the cached rams in this cluster * `cluster.uram` A list of the uncached rams in this cluster * `cluster.lock` The RamLocks component instanciated in this cluster