@@ -302,7 +302,7 @@ void XmlReadArch(const char *ArchFile, const bool timing_enabled,
302
302
Next = get_single_child (architecture, " tiles" , loc_data);
303
303
ProcessTilesTags (Next, Types, *NumTypes, *arch, arch_def_fc, loc_data);
304
304
305
- /* Process directs */
305
+ /* Process directs */
306
306
Next = get_single_child (architecture, " directlist" , loc_data, OPTIONAL);
307
307
if (Next) {
308
308
ProcessDirects (Next, &(arch->Directs ), &(arch->num_directs ),
@@ -2816,7 +2816,24 @@ static void ProcessTilesTags(pugi::xml_node Node,
2816
2816
}
2817
2817
}
2818
2818
2819
- /* TODO Add documentation */
2819
+ /* Processes the equivalent tiles defined in the XML arch definition
2820
+ * <tiles>
2821
+ * <tile name="LAB">
2822
+ * <mode name="MLAB">
2823
+ * <map .../>
2824
+ * <map .../>
2825
+ * <map .../>
2826
+ * </mode>
2827
+ * </tile>
2828
+ * </tiles>
2829
+ *
2830
+ * In particular this function parses the `modes` (if they exist) of each tile
2831
+ * and adds the equivalent tile information to the t_type_descriptor relative to
2832
+ * the current tile.
2833
+ * It populates the following t_type_descriptor members:
2834
+ * - num_equivalent_tiles;
2835
+ * - equivalent_tiles.
2836
+ */
2820
2837
static void ProcessTileExtraModes (pugi::xml_node Node,
2821
2838
t_type_descriptor *Type,
2822
2839
t_type_descriptor **Types,
@@ -2848,7 +2865,11 @@ static void ProcessTileExtraModes(pugi::xml_node Node,
2848
2865
}
2849
2866
}
2850
2867
2851
- /* TODO: Add documentation */
2868
+ /* Processes the pin_mapping of each equivalent tile.
2869
+ * It goes through each mode and populates the following t_type_descriptor memebrs:
2870
+ * - equivalent_tile_pin_mapping;
2871
+ * - equivalent_tile_inverse_pin_mapping.
2872
+ */
2852
2873
static void ProcessTileExtraModePinMapping (pugi::xml_node Node,
2853
2874
t_type_descriptor *Type,
2854
2875
t_type_descriptor *EquivalentType,
0 commit comments