If a design has multiple instantiations of the same graph, consider using the stamp and
repeat flow in the mapper. This allows you to specify that all graphs are mapped in an
identical manner in the area group region provided for each graph. This not only
simplifies the problem for the mapper, it also significantly reduces skew between the
outputs of different graphs. This is particularly important for wireless communications
designs with multiple antennas. Steps to use the stamp and repeat flow are as
follows:
- Define an area group for each graph. For example, in the following, add
constraints in the aiecst
file.
Alternatively, add constraints in the graph:"GlobalConstraints": { "areaGroup": { "name": "ant0_cores", "nodeGroup": ["tx_chain0.*"], "tileGroup": ["(0,0):(3,3)"] }, "areaGroup": { "name": "ant1_cores", "nodeGroup": ["tx_chain1.*"], "tileGroup": ["(4,0):(7,3)"] } }location<graph>(tx_chain0) = bounding_box(0,0,3,3); location<graph>(tx_chain1) = bounding_box(4,0,7,3); - Define the stamp and repeat constraint in the aiecst
file.
{ "GlobalConstraints": { "isomorphicGraphGroup": { "name": "isoGroup", "referenceGraph": "tx_chain0", "stampedGraphs": ["tx_chain1"] } } }Note: You can apply additional constraints to the designated reference graph, such as co-location or absolute location constraints. These constraints automatically apply to other graphs with an appropriate offset.Note: For more information see Mapping Constraints in AI Engine Kernel and Graph Programming Guide (UG1079).