Skip to content

[Pack] Unused Packer Options #2964

Closed
@AlexandreSinger

Description

@AlexandreSinger

The Packer options are used to configure how packing is performed in VTR. They can be found here:

/**
* @brief Options for packing
*
* TODO: document each packing parameter
*/
struct t_packer_opts {
std::string circuit_file_name;
std::string sdc_file_name;
std::string output_file;
bool global_clocks;
bool timing_driven;
enum e_cluster_seed cluster_seed_type;
float alpha;
float beta;
float inter_cluster_net_delay;
float target_device_utilization;
bool auto_compute_inter_cluster_net_delay;
e_unrelated_clustering allow_unrelated_clustering;
bool connection_driven;
int pack_verbosity;
bool enable_pin_feasibility_filter;
e_balance_block_type_util balance_block_type_utilization;
std::vector<std::string> target_external_pin_util;
bool prioritize_transitive_connectivity;
std::vector<std::string> high_fanout_threshold;
int transitive_fanout_threshold;
int feasible_block_array_size;
e_stage_action doPacking;
std::string device_layout;
e_timing_update_type timing_update_type;
bool use_attraction_groups;
int pack_num_moves;
std::string pack_move_type;
bool load_flat_placement;
};

Some of these options are not being used at all and may be confusing when working with the Packer. For example pack_num_moves is actually set by the command line, but is not used anywhere in VTR.

Each of these options are also undocumented, which can make them hard to work with.

Each of these options should be documented and any options found to be unused should be removed.

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions