Skip to content

Commit 16870df

Browse files
doxygen comment for t_det_routing_arch. Comment read_rr_edge_override_filename
1 parent 7c6a282 commit 16870df

File tree

3 files changed

+47
-41
lines changed

3 files changed

+47
-41
lines changed

libs/libarchfpga/src/physical_types.h

Lines changed: 17 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1587,16 +1587,31 @@ enum class SegResType {
15871587
NUM_RES_TYPES
15881588
};
15891589

1590-
constexpr std::array<const char*, static_cast<size_t>(SegResType::NUM_RES_TYPES)> RES_TYPE_STRING = {{"GCLK", "GENERAL"}}; //String versions of segment resource types
1590+
/// String versions of segment resource types
1591+
constexpr std::array<const char*, static_cast<size_t>(SegResType::NUM_RES_TYPES)> RES_TYPE_STRING{"GCLK", "GENERAL"};
15911592

1593+
/// Defines the type of switch block used in FPGA routing.
15921594
enum e_switch_block_type {
1595+
/// If the type is SUBSET, I use a Xilinx-like switch block where track i in one channel always
1596+
/// connects to track i in other channels.
15931597
SUBSET,
1598+
1599+
/// If type is WILTON, I use a switch block where track i
1600+
/// does not always connect to track i in other channels.
1601+
/// See Steve Wilton, PhD Thesis, University of Toronto, 1996.
15941602
WILTON,
1603+
1604+
/// The UNIVERSAL switch block is from Y. W. Chang et al, TODAES, Jan. 1996, pp. 80 - 101.
15951605
UNIVERSAL,
1606+
1607+
/// The FULL switch block type allows for complete connectivity between tracks.
15961608
FULL,
1609+
1610+
/// A CUSTOM switch block has also been added which allows a user to describe custom permutation functions and connection patterns.
1611+
/// See comment at top of SRC/route/build_switchblocks.c
15971612
CUSTOM
15981613
};
1599-
typedef enum e_switch_block_type t_switch_block_type;
1614+
16001615
enum e_Fc_type {
16011616
ABSOLUTE,
16021617
FRACTIONAL

vpr/src/base/read_options.cpp

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1728,8 +1728,7 @@ argparse::ArgumentParser create_arg_parser(const std::string& prog_name, t_optio
17281728
.show_in(argparse::ShowIn::HELP_ONLY);
17291729

17301730
file_grp.add_argument(args.read_rr_graph_file, "--read_rr_graph")
1731-
.help(
1732-
"The routing resource graph file to load."
1731+
.help("The routing resource graph file to load."
17331732
" The loaded routing resource graph overrides any routing architecture specified in the architecture file.")
17341733
.metavar("RR_GRAPH_FILE")
17351734
.show_in(argparse::ShowIn::HELP_ONLY);

vpr/src/base/vpr_types.h

Lines changed: 29 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -1280,7 +1280,7 @@ struct t_analysis_opts {
12801280
e_timing_update_type timing_update_type;
12811281
};
12821282

1283-
// used to store NoC specific options, when supplied as an input by the user
1283+
/// Stores NoC specific options, when supplied as an input by the user
12841284
struct t_noc_opts {
12851285
bool noc; ///<options to turn on hard NoC modeling & optimization
12861286
std::string noc_flows_file; ///<name of the file that contains all the traffic flow information to be sent over the NoC in this design
@@ -1304,59 +1304,51 @@ struct t_noc_opts {
13041304
* @brief Defines the detailed routing architecture of the FPGA.
13051305
*
13061306
* Only important if the route_type is DETAILED.
1307-
*
1308-
* @param directionality Should the tracks be uni-directional or
1309-
* bi-directional? (UDSD by AY)
1310-
* @param switch_block_type Pattern of switches at each switch block.
1311-
* I assume Fs is always 3. If the type is SUBSET, I use a
1312-
* Xilinx-like switch block where track i in one channel always
1313-
* connects to track i in other channels. If type is WILTON,
1314-
* I use a switch block where track i does not always connect
1315-
* to track i in other channels. See Steve Wilton, Phd Thesis,
1316-
* University of Toronto, 1996. The UNIVERSAL switch block is
1317-
* from Y. W. Chang et al, TODAES, Jan. 1996, pp. 80 - 101.
1318-
* A CUSTOM switch block has also been added which allows a user
1319-
* to describe custom permutation functions and connection
1320-
* patterns. See comment at top of SRC/route/build_switchblocks.c
1321-
* @param switchblocks A vector of custom switch block descriptions that is
1322-
* used with the CUSTOM switch block type. See comment at top of
1323-
* SRC/route/build_switchblocks.c
1324-
* @param delayless_switch Index of a zero delay switch (used to connect
1325-
* things that should have no delay).
1326-
* @param wire_to_arch_ipin_switch keeps track of the type of architecture
1327-
* switch that connects wires to ipins
1328-
* @param wire_to_arch_ipin_switch_between_dice keeps track of the type of
1329-
* architecture switch that connects wires from another die to
1330-
* ipins in different die
1331-
* @param wire_to_rr_ipin_switch keeps track of the type of RR graph switch
1332-
* that connects wires to ipins in the RR graph
1333-
* @param wire_to_rr_ipin_switch_between_dice keeps track of the type of
1334-
* RR graph switch that connects wires from another die to
1335-
* ipins in different die in the RR graph
1336-
* @param R_minW_nmos Resistance (in Ohms) of a minimum width nmos transistor.
1337-
* Used only in the FPGA area model.
1338-
* @param R_minW_pmos Resistance (in Ohms) of a minimum width pmos transistor.
1339-
* @param read_rr_graph_filename File to read the RR graph from (overrides
1340-
* architecture)
1341-
* @param write_rr_graph_filename File to write the RR graph to after generation
13421307
*/
13431308
struct t_det_routing_arch {
1344-
enum e_directionality directionality; /* UDSD by AY */
1309+
/// Should the tracks be uni-directional or bi-directional? (UDSD by AY)
1310+
enum e_directionality directionality;
13451311
int Fs;
1312+
1313+
/// Pattern of switches at each switch block. I assume Fs is always 3.
13461314
enum e_switch_block_type switch_block_type;
1315+
1316+
/// A vector of custom switch block descriptions that is used with
1317+
/// the CUSTOM switch block type. See comment at top of SRC/route/build_switchblocks.c
13471318
std::vector<t_switchblock_inf> switchblocks;
13481319

13491320
short global_route_switch;
1321+
1322+
/// Index of a zero delay switch (used to connect things that should have no delay).
13501323
short delayless_switch;
1324+
1325+
/// Keeps track of the type of architecture switch that connects wires to ipins
13511326
int wire_to_arch_ipin_switch;
1327+
1328+
/// Keeps track of the type of architecture switch that connects
1329+
/// wires from another die to ipins in different die
13521330
int wire_to_arch_ipin_switch_between_dice = -1;
1331+
1332+
/// keeps track of the type of RR graph switch
1333+
/// that connects wires to ipins in the RR graph
13531334
int wire_to_rr_ipin_switch;
1335+
1336+
/// keeps track of the type of RR graph switch that connects wires
1337+
/// from another die to ipins in different die in the RR graph
13541338
int wire_to_rr_ipin_switch_between_dice = -1;
1339+
1340+
/// Resistance (in Ohms) of a minimum width nmos transistor.
1341+
/// Used only in the FPGA area model.
13551342
float R_minW_nmos;
1343+
1344+
/// Resistance (in Ohms) of a minimum width pmos transistor.
13561345
float R_minW_pmos;
13571346

1347+
/// File to read the RR graph from (overrides architecture)
13581348
std::string read_rr_graph_filename;
1349+
/// File to write the RR graph to after generation
13591350
std::string write_rr_graph_filename;
1351+
/// File to read the RR graph edge attribute overrides.
13601352
std::string read_rr_edge_override_filename;
13611353
};
13621354

0 commit comments

Comments
 (0)