Verilog to Routing - VPR
Functions
SetupVPR.cpp File Reference
#include <cstring>
#include <vector>
#include <sstream>
#include "vtr_assert.h"
#include "vtr_util.h"
#include "vtr_random.h"
#include "vtr_log.h"
#include "vtr_memory.h"
#include "vtr_time.h"
#include "vpr_types.h"
#include "vpr_error.h"
#include "vpr_utils.h"
#include "globals.h"
#include "read_xml_arch_file.h"
#include "SetupVPR.h"
#include "pb_type_graph.h"
#include "pack_types.h"
#include "lb_type_rr_graph.h"
#include "rr_graph_area.h"
#include "echo_arch.h"
#include "read_options.h"
#include "echo_files.h"
#include "clock_modeling.h"
Include dependency graph for SetupVPR.cpp:

Functions

static void SetupNetlistOpts (const t_options &Options, t_netlist_opts &NetlistOpts)
 
static void SetupPackerOpts (const t_options &Options, t_packer_opts *PackerOpts)
 Sets up the s_packer_opts structure baesd on users inputs and on the architecture specified. More...
 
static void SetupPlacerOpts (const t_options &Options, t_placer_opts *PlacerOpts)
 Sets up the s_placer_opts structure based on users input. More...
 
static void SetupAnnealSched (const t_options &Options, t_annealing_sched *AnnealSched)
 
static void SetupRouterOpts (const t_options &Options, t_router_opts *RouterOpts)
 
static void SetupRoutingArch (const t_arch &Arch, t_det_routing_arch *RoutingArch)
 Sets up routing structures. More...
 
static void SetupTiming (const t_options &Options, const bool TimingEnabled, t_timing_inf *Timing)
 
static void SetupSwitches (const t_arch &Arch, t_det_routing_arch *RoutingArch, const t_arch_switch_inf *ArchSwitches, int NumArchSwitches)
 This loads up VPR's arch_switch_inf data by combining the switches from the arch file with the special switches that VPR needs. More...
 
static void SetupAnalysisOpts (const t_options &Options, t_analysis_opts &analysis_opts)
 
static void SetupPowerOpts (const t_options &Options, t_power_opts *power_opts, t_arch *Arch)
 
static int find_ipin_cblock_switch_index (const t_arch &Arch)
 
void SetupVPR (const t_options *Options, const bool TimingEnabled, const bool readArchFile, t_file_name_opts *FileNameOpts, t_arch *Arch, t_model **user_models, t_model **library_models, t_netlist_opts *NetlistOpts, t_packer_opts *PackerOpts, t_placer_opts *PlacerOpts, t_annealing_sched *AnnealSched, t_router_opts *RouterOpts, t_analysis_opts *AnalysisOpts, t_det_routing_arch *RoutingArch, std::vector< t_lb_type_rr_node > **PackerRRGraphs, std::vector< t_segment_inf > &Segments, t_timing_inf *Timing, bool *ShowGraphics, int *GraphPause, bool *SaveGraphics, std::string *GraphicsCommands, t_power_opts *PowerOpts)
 Sets VPR parameters and defaults. More...
 

Function Documentation

◆ find_ipin_cblock_switch_index()

static int find_ipin_cblock_switch_index ( const t_arch &  Arch)
static

◆ SetupAnalysisOpts()

static void SetupAnalysisOpts ( const t_options Options,
t_analysis_opts analysis_opts 
)
static

◆ SetupAnnealSched()

static void SetupAnnealSched ( const t_options Options,
t_annealing_sched AnnealSched 
)
static

◆ SetupNetlistOpts()

static void SetupNetlistOpts ( const t_options Options,
t_netlist_opts NetlistOpts 
)
static

◆ SetupPackerOpts()

void SetupPackerOpts ( const t_options Options,
t_packer_opts PackerOpts 
)
static

Sets up the s_packer_opts structure baesd on users inputs and on the architecture specified.

Error checking, such as checking for conflicting params is assumed to be done beforehand

◆ SetupPlacerOpts()

static void SetupPlacerOpts ( const t_options Options,
t_placer_opts PlacerOpts 
)
static

Sets up the s_placer_opts structure based on users input.

Error checking, such as checking for conflicting params is assumed to be done beforehand

◆ SetupPowerOpts()

static void SetupPowerOpts ( const t_options Options,
t_power_opts power_opts,
t_arch *  Arch 
)
static

◆ SetupRouterOpts()

static void SetupRouterOpts ( const t_options Options,
t_router_opts RouterOpts 
)
static

◆ SetupRoutingArch()

static void SetupRoutingArch ( const t_arch &  Arch,
t_det_routing_arch RoutingArch 
)
static

Sets up routing structures.

Since checks are already done, this just copies values across

◆ SetupSwitches()

static void SetupSwitches ( const t_arch &  Arch,
t_det_routing_arch RoutingArch,
const t_arch_switch_inf *  ArchSwitches,
int  NumArchSwitches 
)
static

This loads up VPR's arch_switch_inf data by combining the switches from the arch file with the special switches that VPR needs.

◆ SetupTiming()

static void SetupTiming ( const t_options Options,
const bool  TimingEnabled,
t_timing_inf Timing 
)
static

◆ SetupVPR()

void SetupVPR ( const t_options Options,
const bool  TimingEnabled,
const bool  readArchFile,
t_file_name_opts FileNameOpts,
t_arch *  Arch,
t_model **  user_models,
t_model **  library_models,
t_netlist_opts NetlistOpts,
t_packer_opts PackerOpts,
t_placer_opts PlacerOpts,
t_annealing_sched AnnealSched,
t_router_opts RouterOpts,
t_analysis_opts AnalysisOpts,
t_det_routing_arch RoutingArch,
std::vector< t_lb_type_rr_node > **  PackerRRGraphs,
std::vector< t_segment_inf > &  Segments,
t_timing_inf Timing,
bool *  ShowGraphics,
int *  GraphPause,
bool *  SaveGraphics,
std::string *  GraphicsCommands,
t_power_opts PowerOpts 
)

Sets VPR parameters and defaults.

Does not do any error checking as this should have been done by the various input checkers