Routing¶
The second aspect of the network is how the routing is performed in FlooNoC, which is where FlooGen comes into play. A lot of of the routing information is quite cumbersome to define and error-prone to do by hand. FlooGen allows you to define the routing in a high-level way, and it will generate the low-level routing information for you. The basic information you need to provide is:
The class that holds essentially all the routing information needed.
Attributes:
| Name | Type | Description |
|---|---|---|
route_algo |
RouteAlgo
|
This determines the routing algorithm to use. You can find more information about the different routing algorithms in the routing algorithms documentation. |
use_id_table |
bool
|
A boolean flag indicating that if set to |
rob_idx_bits |
int
|
The number of bits to allocate for the |
collective |
CollectiveCfg
|
Collective operation configuration (multicast, barrier, reduction). |
Reference¶
As seen in the attributes above, there is a lot of information that is automatically generated by FlooGen in addition to the user configuration, such as the System address map (sam), routing tables (table), etc.
The full API reference of the routing model, including methods and other routing-related classes (e.g., RouteMap, RouteTable), can be found in the Routing Reference.