VPR-6.0
|
#include "arch_types.h"
Go to the source code of this file.
This file contains the major data types used by VPR
This document is divided into generally 4 major sections:
1. Global data types and constants 2. Packing specific data types 3. Placement specific data types 4. Routing specific data types
Definition in file vpr_types.h.
#define DEBUG 1 |
Definition at line 25 of file vpr_types.h.
#define EMPTY -1 |
Definition at line 66 of file vpr_types.h.
#define EQUAL_DEF 1e-6 |
used in some if == equations to allow very close values to be considered equal
Definition at line 59 of file vpr_types.h.
#define FIRST_ITER_WIRELENTH_LIMIT 0.85 |
If used wirelength exceeds this value in first iteration of routing, do not route
Definition at line 64 of file vpr_types.h.
#define HIGH_FANOUT_NET_LIM 64 |
All nets with this number of sinks or more are considered high fanout nets
Definition at line 62 of file vpr_types.h.
#define HUGE_FLOAT 1.e30 |
Definition at line 55 of file vpr_types.h.
#define MAJOR 1 |
Definition at line 53 of file vpr_types.h.
#define MAX_SHORT 32767 |
Definition at line 57 of file vpr_types.h.
#define MINOR 0 |
For update_screen. Denotes importance of update.
Definition at line 52 of file vpr_types.h.
#define MODEL_INPUT "input" |
Built-in library models
Definition at line 222 of file vpr_types.h.
#define MODEL_LATCH "latch" |
Built-in library models
Definition at line 221 of file vpr_types.h.
#define MODEL_LOGIC "names" |
Built-in library models
Definition at line 220 of file vpr_types.h.
#define MODEL_OUTPUT "output" |
Built-in library models
Definition at line 223 of file vpr_types.h.
#define NEVER_CLUSTER -2 |
Definition at line 75 of file vpr_types.h.
#define NO_CLUSTER -1 |
Definition at line 74 of file vpr_types.h.
#define NO_FIXED_CHANNEL_WIDTH -1 |
Definition at line 545 of file vpr_types.h.
#define NO_PREVIOUS -1 |
Definition at line 748 of file vpr_types.h.
#define NOT_VALID -10000 |
Marks gains that aren't valid Ensure no gain can ever be this negative!
Definition at line 76 of file vpr_types.h.
#define TOKENS " \t\n" |
Input file parsing.
Definition at line 46 of file vpr_types.h.
#define UNDEFINED -1 |
Definition at line 79 of file vpr_types.h.
typedef size_t bitfield |
< Prints all sorts of intermediate data
Definition at line 50 of file vpr_types.h.
Definition at line 417 of file vpr_types.h.
typedef struct s_logical_block t_logical_block |
Definition at line 216 of file vpr_types.h.
Definition at line 185 of file vpr_types.h.
typedef struct s_pb_stats t_pb_stats |
Definition at line 159 of file vpr_types.h.
typedef struct s_rr_indexed_data t_rr_indexed_data |
Data that is pointed to by the .cost_index member of t_rr_node. It's purpose is to store the base_cost so that it can be quickly changed and to store fields that have only a few different values (like seg_index) or whose values should be an average over all rr_nodes of a certain type (like T_linear etc., which are used to predict remaining delay in the timing_driven router).
Main structure describing one routing resource node. Everything in this structure should describe the graph -- information needed only to store algorithm-specific data should be stored in one of the parallel rr_node_?? structures.
The following parameters are only needed for timing analysis.
Type of a routing resource node. x-directed channel segment, y-directed channel segment, input pin to a clb to pad, output from a clb or pad (i.e. output pin of a net) and:
typedef struct s_seg_details t_seg_details |
Lists detailed information about segmentation. [0 .. W-1].
Definition at line 295 of file vpr_types.h.
enum e_base_cost_type |
Definition at line 542 of file vpr_types.h.
enum e_block_pack_status |
Definition at line 105 of file vpr_types.h.
enum e_cluster_seed |
Selection algorithm for selecting next seed
Definition at line 92 of file vpr_types.h.
enum e_cost_indices |
Gives the index of the SOURCE, SINK, OPIN, IPIN, etc. member of rr_indexed_data.
SOURCE_COST_INDEX | |
SINK_COST_INDEX | |
OPIN_COST_INDEX | |
IPIN_COST_INDEX | |
CHANX_COST_INDEX_START |
Definition at line 869 of file vpr_types.h.
enum e_direction |
Definition at line 658 of file vpr_types.h.
{ INC_DIRECTION = 0, DEC_DIRECTION = 1, BI_DIRECTION = 2 }; /* UDSD by AY */
enum e_drivers |
Definition at line 655 of file vpr_types.h.
{ MULTI_BUFFERED, SINGLE }; /* legacy routing drivers by Andy Ye (remove or integrate in future) */
enum e_operation |
Map netlist to FPGA or timing analyze only
Definition at line 317 of file vpr_types.h.
{ RUN_FLOW, TIMING_ANALYSIS_ONLY };
enum e_packer_algorithm |
Definition at line 434 of file vpr_types.h.
enum e_pad_loc_type |
Are the pads free to be moved, locked in a random configuration, or locked in user-specified positions?
Definition at line 328 of file vpr_types.h.
enum e_place_algorithm |
Definition at line 481 of file vpr_types.h.
enum e_route_type |
enum e_router_algorithm |
Definition at line 540 of file vpr_types.h.
enum e_rr_type |
Type of a routing resource node. x-directed channel segment, y-directed channel segment, input pin to a clb to pad, output from a clb or pad (i.e. output pin of a net) and:
Definition at line 726 of file vpr_types.h.
{ SOURCE = 0, SINK, IPIN, OPIN, CHANX, CHANY, INTRA_CLUSTER_EDGE, NUM_RR_TYPES }
enum logical_block_types |
netlist blocks are assigned one of these types
Definition at line 84 of file vpr_types.h.
{ VPACK_INPAD = -2, VPACK_OUTPAD, VPACK_COMB, VPACK_LATCH, VPACK_EMPTY};
enum pfreq |
Definition at line 321 of file vpr_types.h.
{ PLACE_NEVER, PLACE_ONCE, PLACE_ALWAYS };
enum pic_type |
enum place_c_types |
For the placer. Different types of cost functions that can be used. Nonlinear placement is deprecated
Definition at line 313 of file vpr_types.h.
{ LINEAR_CONG, NONLINEAR_CONG };
enum sched_type |
enum t_tnode_type |
INPAD_SOURCE | |
INPAD_OPIN | |
OUTPAD_IPIN | |
OUTPAD_SINK | |
CB_IPIN | |
CB_OPIN | |
INTERMEDIATE_NODE | |
PRIMITIVE_IPIN | |
PRIMITIVE_OPIN | |
FF_IPIN | |
FF_OPIN | |
FF_SINK | |
FF_SOURCE | |
CONSTANT_GEN_SOURCE |
Definition at line 249 of file vpr_types.h.