Skip to content

Commit de69bcb

Browse files
committed
initial documentation
1 parent 4157a48 commit de69bcb

File tree

1 file changed

+63
-1
lines changed

1 file changed

+63
-1
lines changed

vpr/src/base/vpr_types.h

+63-1
Original file line numberDiff line numberDiff line change
@@ -706,7 +706,69 @@ enum e_stage_action {
706706
/**
707707
* @brief Options for packing
708708
*
709-
* TODO: document each packing parameter
709+
* @param circuit_file_name
710+
* Path to technology mapped user circuit in BLIF format.
711+
* @param output_file
712+
* Path to packed user circuit in net format.
713+
* @param global_clocks
714+
* ALWAYS TRUE. (Default: True)
715+
* @param timing_driven
716+
* Whether or not to do timing driven clustering. (Default: on)
717+
* @param cluster_seed_type
718+
* Selection algorithm for selecting next seed. (Default: blend2 if
719+
* timing_driven is on; max_inputs otherwise)
720+
* @param inter_cluster_net_delay
721+
* ALWAYS 1.0 (Default: 1.0)
722+
* @param target_device_utilization
723+
* Sets the target device utilization. (Default: 1.0)
724+
* @param auto_compute_inter_cluster_net_delay
725+
* ALWAYS TRUE
726+
* @param allow_unrelated_clustering
727+
* Allows primitives which have no attraction to the given cluster
728+
* to be packed into it. (Default: auto)
729+
* @param connection_driven
730+
* Controls whether or not packing prioritizes the absorption of nets
731+
* with fewer connections into a complex logic block over nets with
732+
* more connections. (Default: on)
733+
* @param pack_verbosity
734+
* Controls how verbose clustering's output is. (Default: 2)
735+
* @param enable_pin_feasibility_filter
736+
* Counts the number of available pins in groups/classes of mutually
737+
* connected pins within a cluster, then filters out candidate
738+
* primitives/atoms/molecules for which the cluster has insufficient
739+
* pins to route (without performing a full routing). (Default: on)
740+
* @param balance_block_type_utilization
741+
* If enabled, when a primitive can potentially be mapped to multiple
742+
* block types the packer will pick the block type which (currently)
743+
* has the lowest utilization. (Default: auto)
744+
* @param target_external_pin_util
745+
* Sets the external pin utilization target. (Default: auto)
746+
* @param prioritize_transitive_connectivity
747+
* Whether transitive connectivity is prioritized over high-fanout
748+
* connectivity. (Default: on)
749+
* @param feasible_block_array_size
750+
* Max size of the priority queue for candidates that pass the early
751+
* filter legality test, but not the more detailed routing test.
752+
* (Default: 30)
753+
* @param doPacking
754+
* Run packing stage.
755+
* @param device_layout
756+
* Controls which device layout/floorplan is used from the
757+
* architecture file. (Default: smallest device which satisfies the
758+
* circuit's resource requirements)
759+
* @param timing_update_type
760+
* Controls how timing analysis updates are performed. (Default: auto)
761+
* @param use_attraction_groups
762+
* Whether attraction groups are used to pack primitives in the same
763+
* floorplan region together.
764+
* @param pack_num_moves
765+
* The number of moves that can be tried in packing stage.
766+
* (Default: 100000)
767+
* @param pack_move_type
768+
* The move type used in packing. (Default: semiDirectedSwap)
769+
* @param load_flat_placement
770+
* Whether to reconstruct a packing solution from a flat placement
771+
* file. (Default: off; on if <stage option: --legalize> is on)
710772
*/
711773
struct t_packer_opts {
712774
std::string circuit_file_name;

0 commit comments

Comments
 (0)