5 #include <sys/resource.h>
8 mlist
*modules
; /* M the set of all modules */
9 nlist
*nets
; /* N the set of all nets */
10 tlist
*ext_terms
; /* ST the set of all system terminals */
11 mlist
*ext_mods
; /* the modules associated with each element of ST */
14 tlist
*int_terms
; /* T the set of all inter-module terminals */
16 /* FOR THE ROUTER (only) */
18 tile
**routingRoot
[2];
20 int lcount
= 0; /* number of input lines read */
21 int module_count
= 0; /* number of modules/objects read in */
22 int node_count
= 0; /* number of nodes/signals read in */
23 int terminal_count
= 0; /* number of terminals read in */
24 int connected
[MAX_MOD
][MAX_MOD
]; /* BIG array of connection counts */
25 info_type module_info
[MAX_MOD
];/* re-used array of inter module connections */
26 float partition_ratio
=DEF_PARTITION_RATIO
; /* -r qualifier, used for clustering */
27 /* command-line parameters: (see n2a.c---some settings here are overridden there) */
28 int compute_aspect_ratios
= FALSE
; /* -a flag, in parsing - compute aspect ratios*/
29 int Xcanvas_scaling
= FALSE
; /* -b flag (use XCanvas scaling) */
30 int max_partition_conn
= MAX_PARTITION_CONN
; /* -c qualifier, used for clustering */
31 int debug_level
= 0; /* -d qualifier, sets the debug level */
32 int stopAtFirstCut
= FALSE
; /* -f flag; terminates GR early */
33 int congestion_rule
= 2; /* -g qualifier, used for conGestion */
34 int do_hand_placement
= FALSE
; /* -h flag */
35 int includeSysterms
= TRUE
; /* -i flag; excludes system terminals */
37 int cc_search_level
= CC_SEARCH_LEVEL
; /* -l qualifier, limits cc search */
38 int matrix_type
= UNSIGNED
; /* -m qualifier, sets signal-flow style*/
39 int do_routing
= TRUE
; /* -n qualifier, inhibits routing */
40 FILE *outputFile
; /* -o qualifier, opens an Output file */
41 int partition_rule
= DEF_PARTITION_RULE
; /* -p qualifier, used for clustering */
42 int recordStats
= FALSE
; /* -q flag; quality stats collection on*/
43 int max_partition_size
= MAX_PARTITION_SIZE
; /* -s qualifier, used for clustering */
44 int turn_mode
= TIGHT
; /* Used to choose the cornering alg */
45 int useSlivering
= TRUE
; /* -v flag; removes sliVer corrections */
46 int useAveraging
= FALSE
; /* -w flag; turns Weighted averaging on*/
47 int latex
= FALSE
; /* -x flag; modified PostScript header */
48 int recordTiming
= FALSE
; /* -y flag; turns time collection on */
49 int xcircuit
= TRUE
; /* -z flag;to launch spar into xcircuit*/
50 char *ivffilename
; /* input file name */
51 FILE *stats
; /* quality statistics file */
53 mlist
**boxes
; /* the sets of boxes */
54 mlist
**strings
; /* the set of strings */
55 ctree
**parti_stats
; /* partition statistics */
56 int *str_length
; /* the length of each string */
57 int *str_height
; /* the height of each string */
58 int *x_sizes
; /* the max x size of each partition */
59 int *y_sizes
; /* the max y size of each partition */
60 int *x_positions
; /* and their postions, after placement */
62 int xfloor
, yfloor
; /* the origin for the current partition */
64 mlist
**partitions
; /* the set of PARTITIONS (lists) of modules */
65 tile
**rootTiles
; /* The tile spaces that correspond to the partitions */
66 int partition_count
; /* the total number of partitions created */