Verilog to Routing - VPR
Functions
read_route.cpp File Reference
#include <iostream>
#include <fstream>
#include <cstdio>
#include <cstring>
#include <ctime>
#include <sstream>
#include <string>
#include <unordered_set>
#include "atom_netlist.h"
#include "atom_netlist_utils.h"
#include "rr_graph.h"
#include "vtr_assert.h"
#include "vtr_util.h"
#include "tatum/echo_writer.hpp"
#include "vtr_log.h"
#include "check_route.h"
#include "route_common.h"
#include "vpr_types.h"
#include "globals.h"
#include "vpr_api.h"
#include "read_place.h"
#include "vpr_utils.h"
#include "vpr_error.h"
#include "place_and_route.h"
#include "timing_place.h"
#include "route_export.h"
#include "echo_files.h"
#include "read_route.h"
#include "binary_heap.h"
Include dependency graph for read_route.cpp:

Functions

static void process_route (std::ifstream &fp, const char *filename, int &lineno)
 Walks through every net and add the routing appropriately. More...
 
static void process_nodes (std::ifstream &fp, ClusterNetId inet, const char *filename, int &lineno)
 
static void process_nets (std::ifstream &fp, ClusterNetId inet, std::string name, std::vector< std::string > input_tokens, const char *filename, int &lineno)
 Check if the net is global or not, and process appropriately. More...
 
static void process_global_blocks (std::ifstream &fp, ClusterNetId inet, const char *filename, int &lineno)
 This function goes through all the blocks in a global net and verify it with the clustered netlist and the placement. More...
 
static void format_coordinates (int &x, int &y, std::string coord, ClusterNetId net, const char *filename, const int lineno)
 Parse coordinates in the form of (x,y) into correct x and y values. More...
 
static void format_pin_info (std::string &pb_name, std::string &port_name, int &pb_pin_num, std::string input)
 Parse the pin info in the form of pb_name.port_name[pb_pin_num] into its appropriate variables. More...
 
static std::string format_name (std::string name)
 Return actual name by extracting it out of the form of (name) More...
 
static bool check_rr_graph_connectivity (RRNodeId prev_node, RRNodeId node)
 
bool read_route (const char *route_file, const t_router_opts &router_opts, bool verify_file_digests)
 Reads in the routing file to fill in the trace.head and t_clb_opins_used data structure. More...
 

Function Documentation

◆ check_rr_graph_connectivity()

static bool check_rr_graph_connectivity ( RRNodeId  prev_node,
RRNodeId  node 
)
static

◆ format_coordinates()

static void format_coordinates ( int &  x,
int &  y,
std::string  coord,
ClusterNetId  net,
const char *  filename,
const int  lineno 
)
static

Parse coordinates in the form of (x,y) into correct x and y values.

◆ format_name()

static std::string format_name ( std::string  name)
static

Return actual name by extracting it out of the form of (name)

◆ format_pin_info()

static void format_pin_info ( std::string &  pb_name,
std::string &  port_name,
int &  pb_pin_num,
std::string  input 
)
static

Parse the pin info in the form of pb_name.port_name[pb_pin_num] into its appropriate variables.

◆ process_global_blocks()

static void process_global_blocks ( std::ifstream &  fp,
ClusterNetId  inet,
const char *  filename,
int &  lineno 
)
static

This function goes through all the blocks in a global net and verify it with the clustered netlist and the placement.

◆ process_nets()

static void process_nets ( std::ifstream &  fp,
ClusterNetId  inet,
std::string  name,
std::vector< std::string >  input_tokens,
const char *  filename,
int &  lineno 
)
static

Check if the net is global or not, and process appropriately.

◆ process_nodes()

static void process_nodes ( std::ifstream &  fp,
ClusterNetId  inet,
const char *  filename,
int &  lineno 
)
static

◆ process_route()

static void process_route ( std::ifstream &  fp,
const char *  filename,
int &  lineno 
)
static

Walks through every net and add the routing appropriately.

◆ read_route()

bool read_route ( const char *  route_file,
const t_router_opts router_opts,
bool  verify_file_digests 
)

Reads in the routing file to fill in the trace.head and t_clb_opins_used data structure.

Perform a series of verification tests to ensure the netlist, placement, and routing files match