SRC/ShowSetup.c File Reference

#include <assert.h>
#include "util.h"
#include "vpr_types.h"
#include "globals.h"
#include "OptionTokens.h"
#include "ReadOptions.h"
#include "xml_arch.h"
#include "SetupVPR.h"
Include dependency graph for ShowSetup.c:

Go to the source code of this file.

Functions

static void ShowPlacerOpts (IN t_options Options, IN struct s_placer_opts PlacerOpts, IN struct s_annealing_sched AnnealSched)
static void ShowOperation (IN enum e_operation Operation)
static void ShowRouterOpts (IN struct s_router_opts RouterOpts)
static void ShowAnnealSched (IN struct s_annealing_sched AnnealSched)
static void ShowRoutingArch (IN struct s_det_routing_arch RoutingArch)
void ShowSetup (IN t_options Options, IN t_arch Arch, IN boolean TimingEnabled, IN enum e_operation Operation, IN struct s_placer_opts PlacerOpts, IN struct s_annealing_sched AnnealSched, IN struct s_router_opts RouterOpts, IN struct s_det_routing_arch RoutingArch, IN t_segment_inf *Segments, IN t_timing_inf Timing, IN t_subblock_data Subblocks)

Function Documentation

static void ShowAnnealSched ( IN struct s_annealing_sched  AnnealSched  )  [static]

Definition at line 143 of file ShowSetup.c.

00144 {
00145 
00146     printf("AnnealSched.type:  ");
00147     switch (AnnealSched.type)
00148         {
00149         case AUTO_SCHED:
00150             printf("AUTO_SCHED\n");
00151             break;
00152         case USER_SCHED:
00153             printf("USER_SCHED\n");
00154             break;
00155         default:
00156             printf("<Unknown>\n");
00157             exit(1);
00158         }
00159 
00160     printf("AnnealSched.inner_num:  %f\n", AnnealSched.inner_num);
00161 
00162     if(USER_SCHED == AnnealSched.type)
00163         {
00164             printf("AnnealSched.init_t:  %f\n", AnnealSched.init_t);
00165             printf("AnnealSched.alpha_t:  %f\n", AnnealSched.alpha_t);
00166             printf("AnnealSched.exit_t:  %f\n", AnnealSched.exit_t);
00167         }
00168 }

Here is the caller graph for this function:

static void ShowOperation ( IN enum e_operation  Operation  )  [static]

Definition at line 331 of file ShowSetup.c.

00332 {
00333     printf("Operation:  ");
00334     switch (Operation)
00335         {
00336         case PLACE_AND_ROUTE:
00337             printf("PLACE_AND_ROUTE\n");
00338             break;
00339         case PLACE_ONLY:
00340             printf("PLACE_ONLY\n");
00341             break;
00342         case ROUTE_ONLY:
00343             printf("ROUTE_ONLY\n");
00344             break;
00345         case TIMING_ANALYSIS_ONLY:
00346             printf("TIMING_ANALYSIS_ONLY\n");
00347             break;
00348         default:
00349             printf("<Unknown>\n");
00350             exit(1);
00351         }
00352     printf("\n");
00353 }

Here is the caller graph for this function:

static void ShowPlacerOpts ( IN t_options  Options,
IN struct s_placer_opts  PlacerOpts,
IN struct s_annealing_sched  AnnealSched 
) [static]

Definition at line 357 of file ShowSetup.c.

00360 {
00361 
00362     printf("PlacerOpts.place_freq:  ");
00363     switch (PlacerOpts.place_freq)
00364         {
00365         case PLACE_ONCE:
00366             printf("PLACE_ONCE\n");
00367             break;
00368         case PLACE_ALWAYS:
00369             printf("PLACE_ALWAYS\n");
00370             break;
00371         case PLACE_NEVER:
00372             printf("PLACE_NEVER\n");
00373             break;
00374         default:
00375             printf("<Unknown>\n");
00376             exit(1);
00377         }
00378     if((PLACE_ONCE == PlacerOpts.place_freq) ||
00379        (PLACE_ALWAYS == PlacerOpts.place_freq))
00380         {
00381 
00382             printf("PlacerOpts.place_algorithm:  ");
00383             switch (PlacerOpts.place_algorithm)
00384                 {
00385                 case BOUNDING_BOX_PLACE:
00386                     printf("BOUNDING_BOX_PLACE\n");
00387                     break;
00388                 case NET_TIMING_DRIVEN_PLACE:
00389                     printf("NET_TIMING_DRIVEN_PLACE\n");
00390                     break;
00391                 case PATH_TIMING_DRIVEN_PLACE:
00392                     printf("PATH_TIMING_DRIVEN_PLACE\n");
00393                     break;
00394                 default:
00395                     printf("<Unknown>\n");
00396                     exit(1);
00397                 }
00398 
00399             printf("PlacerOpts.place_cost_type:  ");
00400             switch (PlacerOpts.place_cost_type)
00401                 {
00402                 case LINEAR_CONG:
00403                     printf("LINEAR_CONG\n");
00404                     break;
00405                 case NONLINEAR_CONG:
00406                     printf("NONLINEAR_CONG\n");
00407                     break;
00408                 default:
00409                     printf("<Unknown>\n");
00410                     exit(1);
00411                 }
00412 
00413             printf("PlacerOpts.pad_loc_type:  ");
00414             switch (PlacerOpts.pad_loc_type)
00415                 {
00416                 case FREE:
00417                     printf("FREE\n");
00418                     break;
00419                 case RANDOM:
00420                     printf("RANDOM\n");
00421                     break;
00422                 case USER:
00423                     printf("USER '%s'\n", PlacerOpts.pad_loc_file);
00424                     break;
00425                 default:
00426                     printf("<Unknown>\n");
00427                     exit(1);
00428                 }
00429 
00430             printf("PlacerOpts.place_cost_exp:  %f\n",
00431                    PlacerOpts.place_cost_exp);
00432 
00433             if((LINEAR_CONG == PlacerOpts.place_cost_type) ||
00434                (Options.Count[OT_PLACE_CHAN_WIDTH]))
00435                 {
00436                     printf("PlacerOpts.place_chan_width:  %d\n",
00437                            PlacerOpts.place_chan_width);
00438                 }
00439 
00440             if(NONLINEAR_CONG == PlacerOpts.place_cost_type)
00441                 {
00442                     printf("PlacerOpts.num_regions:  %d\n",
00443                            PlacerOpts.num_regions);
00444                 }
00445 
00446             if((NET_TIMING_DRIVEN_PLACE == PlacerOpts.place_algorithm) ||
00447                (PATH_TIMING_DRIVEN_PLACE == PlacerOpts.place_algorithm))
00448                 {
00449                     printf("PlacerOpts.inner_loop_recompute_divider:  %d\n",
00450                            PlacerOpts.inner_loop_recompute_divider);
00451                     printf("PlacerOpts.recompute_crit_iter:  %d\n",
00452                            PlacerOpts.recompute_crit_iter);
00453                     printf("PlacerOpts.timing_tradeoff:  %f\n",
00454                            PlacerOpts.timing_tradeoff);
00455                     printf("PlacerOpts.td_place_exp_first:  %f\n",
00456                            PlacerOpts.td_place_exp_first);
00457                     printf("PlacerOpts.td_place_exp_last:  %f\n",
00458                            PlacerOpts.td_place_exp_last);
00459                 }
00460 
00461             printf("PlaceOpts.seed:  %d\n", PlacerOpts.seed);
00462 
00463             ShowAnnealSched(AnnealSched);
00464         }
00465     printf("\n");
00466 
00467 }

Here is the call graph for this function:

Here is the caller graph for this function:

static void ShowRouterOpts ( IN struct s_router_opts  RouterOpts  )  [static]

Definition at line 172 of file ShowSetup.c.

00173 {
00174 
00175     printf("RouterOpts.route_type:  ");
00176     switch (RouterOpts.route_type)
00177         {
00178         case GLOBAL:
00179             printf("GLOBAL\n");
00180             break;
00181         case DETAILED:
00182             printf("DETAILED\n");
00183             break;
00184         default:
00185             printf("<Unknown>\n");
00186             exit(1);
00187         }
00188 
00189     if(DETAILED == RouterOpts.route_type)
00190         {
00191             printf("RouterOpts.router_algorithm:  ");
00192             switch (RouterOpts.router_algorithm)
00193                 {
00194                 case BREADTH_FIRST:
00195                     printf("BREADTH_FIRST\n");
00196                     break;
00197                 case TIMING_DRIVEN:
00198                     printf("TIMING_DRIVEN\n");
00199                     break;
00200                 case DIRECTED_SEARCH:
00201                     printf("DIRECTED_SEARCH\n");
00202                     break;
00203                 default:
00204                     printf("<Unknown>\n");
00205                     exit(1);
00206                 }
00207 
00208             printf("RouterOpts.base_cost_type:  ");
00209             switch (RouterOpts.base_cost_type)
00210                 {
00211                 case INTRINSIC_DELAY:
00212                     printf("INTRINSIC_DELAY\n");
00213                     break;
00214                 case DELAY_NORMALIZED:
00215                     printf("DELAY_NORMALIZED\n");
00216                     break;
00217                 case DEMAND_ONLY:
00218                     printf("DEMAND_ONLY\n");
00219                     break;
00220                 default:
00221                     printf("<Unknown>\n");
00222                     exit(1);
00223                 }
00224 
00225             printf("RouterOpts.fixed_channel_width:  ");
00226             if(NO_FIXED_CHANNEL_WIDTH == RouterOpts.fixed_channel_width)
00227                 {
00228                     printf("NO_FIXED_CHANNEL_WIDTH\n");
00229                 }
00230             else
00231                 {
00232                     printf("%d\n", RouterOpts.fixed_channel_width);
00233                 }
00234 
00235             printf("RouterOpts.acc_fac:  %f\n", RouterOpts.acc_fac);
00236             printf("RouterOpts.bb_factor:  %d\n", RouterOpts.bb_factor);
00237             printf("RouterOpts.bend_cost:  %f\n", RouterOpts.bend_cost);
00238             printf("RouterOpts.first_iter_pres_fac:  %f\n",
00239                    RouterOpts.first_iter_pres_fac);
00240             printf("RouterOpts.initial_pres_fac:  %f\n",
00241                    RouterOpts.initial_pres_fac);
00242             printf("RouterOpts.pres_fac_mult:  %f\n",
00243                    RouterOpts.pres_fac_mult);
00244             printf("RouterOpts.max_router_iterations:  %d\n",
00245                    RouterOpts.max_router_iterations);
00246 
00247             if(TIMING_DRIVEN == RouterOpts.router_algorithm)
00248                 {
00249                     printf("RouterOpts.astar_fac:  %f\n",
00250                            RouterOpts.astar_fac);
00251                     printf("RouterOpts.criticality_exp:  %f\n",
00252                            RouterOpts.criticality_exp);
00253                     printf("RouterOpts.max_criticality:  %f\n",
00254                            RouterOpts.max_criticality);
00255                 }
00256         }
00257     else
00258         {
00259             assert(GLOBAL == RouterOpts.route_type);
00260             
00261                 printf("RouterOpts.router_algorithm:  ");
00262             switch (RouterOpts.router_algorithm)
00263                 {
00264                 case BREADTH_FIRST:
00265                     printf("BREADTH_FIRST\n");
00266                     break;
00267                 case TIMING_DRIVEN:
00268                     printf("TIMING_DRIVEN\n");
00269                     break;
00270                 case DIRECTED_SEARCH:
00271                     printf("DIRECTED_SEARCH\n");
00272                     break;
00273                 default:
00274                     printf("<Unknown>\n");
00275                     exit(1);
00276                 }
00277 
00278             printf("RouterOpts.base_cost_type:  ");
00279             switch (RouterOpts.base_cost_type)
00280                 {
00281                 case INTRINSIC_DELAY:
00282                     printf("INTRINSIC_DELAY\n");
00283                     break;
00284                 case DELAY_NORMALIZED:
00285                     printf("DELAY_NORMALIZED\n");
00286                     break;
00287                 case DEMAND_ONLY:
00288                     printf("DEMAND_ONLY\n");
00289                     break;
00290                 default:
00291                     printf("<Unknown>\n");
00292                     exit(1);
00293                 }
00294 
00295             printf("RouterOpts.fixed_channel_width:  ");
00296             if(NO_FIXED_CHANNEL_WIDTH == RouterOpts.fixed_channel_width)
00297                 {
00298                     printf("NO_FIXED_CHANNEL_WIDTH\n");
00299                 }
00300             else
00301                 {
00302                     printf("%d\n", RouterOpts.fixed_channel_width);
00303                 }
00304 
00305             printf("RouterOpts.acc_fac:  %f\n", RouterOpts.acc_fac);
00306             printf("RouterOpts.bb_factor:  %d\n", RouterOpts.bb_factor);
00307             printf("RouterOpts.bend_cost:  %f\n", RouterOpts.bend_cost);
00308             printf("RouterOpts.first_iter_pres_fac:  %f\n",
00309                    RouterOpts.first_iter_pres_fac);
00310             printf("RouterOpts.initial_pres_fac:  %f\n",
00311                    RouterOpts.initial_pres_fac);
00312             printf("RouterOpts.pres_fac_mult:  %f\n",
00313                    RouterOpts.pres_fac_mult);
00314             printf("RouterOpts.max_router_iterations:  %d\n",
00315                 RouterOpts.max_router_iterations);
00316                 if(TIMING_DRIVEN == RouterOpts.router_algorithm)
00317                 {
00318                     printf("RouterOpts.astar_fac:  %f\n",
00319                            RouterOpts.astar_fac);
00320                     printf("RouterOpts.criticality_exp:  %f\n",
00321                            RouterOpts.criticality_exp);
00322                     printf("RouterOpts.max_criticality:  %f\n",
00323                            RouterOpts.max_criticality);
00324                 }
00325         }
00326     printf("\n");
00327 }

Here is the caller graph for this function:

static void ShowRoutingArch ( IN struct s_det_routing_arch  RoutingArch  )  [static]

Definition at line 99 of file ShowSetup.c.

00100 {
00101 
00102     printf("RoutingArch.directionality:  ");
00103     switch (RoutingArch.directionality)
00104         {
00105         case BI_DIRECTIONAL:
00106             printf("BI_DIRECTIONAL\n");
00107             break;
00108         case UNI_DIRECTIONAL:
00109             printf("UNI_DIRECTIONAL\n");
00110             break;
00111         default:
00112             printf("<Unknown>\n");
00113             exit(1);
00114         }
00115 
00116     printf("RoutingArch.switch_block_type:  ");
00117     switch (RoutingArch.switch_block_type)
00118         {
00119         case SUBSET:
00120             printf("SUBSET\n");
00121             break;
00122         case WILTON:
00123             printf("WILTON\n");
00124             break;
00125         case UNIVERSAL:
00126             printf("UNIVERSAL\n");
00127             break;
00128         case FULL:
00129             printf("FULL\n");
00130             break;
00131         default:
00132             printf("<Unknown>\n");
00133             exit(1);
00134         }
00135 
00136     printf("RoutingArch.Fs:  %d\n", RoutingArch.Fs);
00137 
00138     printf("\n");
00139 }

Here is the caller graph for this function:

void ShowSetup ( IN t_options  Options,
IN t_arch  Arch,
IN boolean  TimingEnabled,
IN enum e_operation  Operation,
IN struct s_placer_opts  PlacerOpts,
IN struct s_annealing_sched  AnnealSched,
IN struct s_router_opts  RouterOpts,
IN struct s_det_routing_arch  RoutingArch,
IN t_segment_inf Segments,
IN t_timing_inf  Timing,
IN t_subblock_data  Subblocks 
)

Definition at line 24 of file ShowSetup.c.

00035 {
00036     int i, j, num_p_inputs, num_p_outputs;
00037 
00038     printf("Timing analysis: %s\n", (TimingEnabled ? "ON" : "OFF"));
00039     printf("\n");
00040 
00041     ShowOperation(Operation);
00042     ShowPlacerOpts(Options, PlacerOpts, AnnealSched);
00043     if((ROUTE_ONLY == Operation) || (PLACE_AND_ROUTE == Operation))
00044         {
00045             ShowRouterOpts(RouterOpts);
00046         }
00047     else
00048         {
00049             printf("Router: DISABLED\n\n");
00050         }
00051 
00052     if(DETAILED == RouterOpts.route_type)
00053         ShowRoutingArch(RoutingArch);
00054 
00055     printf("The circuit will be mapped into a %d x %d array of clbs.\n",
00056            nx, ny);
00057     printf("\n");
00058     printf("Netlist num_nets:  %d\n", num_nets);
00059     printf("Netlist num_blocks:  %d\n", num_blocks);
00060 
00061     /* Count I/O input and output pads */
00062     num_p_inputs = 0;
00063     num_p_outputs = 0;
00064     for(i = 0; i < num_blocks; i++)
00065         {
00066             if(block[i].type == IO_TYPE)
00067                 {
00068                     for(j = 0; j < IO_TYPE->num_pins; j++)
00069                         {
00070                             if(block[i].nets[j] != OPEN)
00071                                 {
00072                                     if(IO_TYPE->
00073                                        class_inf[IO_TYPE->pin_class[j]].
00074                                        type == DRIVER)
00075                                         {
00076                                             num_p_inputs++;
00077                                         }
00078                                     else
00079                                         {
00080                                             assert(IO_TYPE->
00081                                                    class_inf[IO_TYPE->
00082                                                              pin_class[j]].
00083                                                    type == RECEIVER);
00084                                             num_p_outputs++;
00085                                         }
00086                                 }
00087                         }
00088                 }
00089         }
00090 
00091 /* Print out each block separately instead */
00092     printf("Netlist inputs pins:  %d\n", num_p_inputs);
00093     printf("Netlist output pins:  %d\n", num_p_outputs);
00094     printf("\n");
00095 }

Here is the call graph for this function:

Here is the caller graph for this function:


Generated on Tue Jan 5 15:26:36 2010 for VPR5.0 by  doxygen 1.6.1