⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 path_delay2.h

📁 VPR布局布线源码
💻 H
字号:
/*********** Types and defines used by all path_delay modules ****************/typedef struct{    int to_node;    float Tdel;}t_tedge;/* to_node: index of node at the sink end of this edge.                      * * Tdel: delay to go to to_node along this edge.                             */typedef struct{    t_tedge *out_edges;    int num_edges;    float T_arr;    float T_req;}t_tnode;/* out_edges: [0..num_edges - 1].  Array of the edges leaving this tnode.    * * num_edges: Number of edges leaving this node.                             * * T_arr:  Arrival time of the last input signal to this node.               * * T_req:  Required arrival time of the last input signal to this node if    * *         the critical path is not to be lengthened.                        *//* Info. below is only used to print out and display the critical path.  It  * * gives a mapping from each t_node to what circuit element it represents.   * * I put this info in a separate structure to maximize cache effectiveness,  * * since it's not used much.                                                 */typedef enum{ INPAD_SOURCE, INPAD_OPIN, OUTPAD_IPIN, OUTPAD_SINK,    FB_IPIN, FB_OPIN, SUBBLK_IPIN, SUBBLK_OPIN, FF_SINK, FF_SOURCE,    CONSTANT_GEN_SOURCE}t_tnode_type;typedef struct{    t_tnode_type type;    short ipin;    short isubblk;    int iblk;}t_tnode_descript;/* type:  What is this tnode? (Pad pin, clb pin, subblock pin, etc.)         * * ipin:  Number of the FB or subblock pin this tnode represents, if        * *        applicable.                                                        * * isubblk: Number of the subblock this tnode is part of, if applicable.     * * iblk:  Number of the block (FB or PAD) this tnode is part of.            *//*************** Variables shared only amongst path_delay modules ************/extern t_tnode *tnode;		/* [0..num_tnodes - 1] */extern t_tnode_descript *tnode_descript;	/* [0..num_tnodes - 1] */extern int num_tnodes;		/* Number of nodes in the timing graph *//* [0..num_nets - 1].  Gives the index of the tnode that drives each net. */extern int *net_to_driver_tnode;/* [0..num__tnode_levels - 1].  Count and list of tnodes at each level of    * * the timing graph, to make breadth-first searches easier.                  */extern struct s_ivec *tnodes_at_level;extern int num_tnode_levels;	/* Number of levels in the timing graph. *//***************** Subroutines exported by this module ***********************/int alloc_and_load_timing_graph_levels(void);void check_timing_graph(int num_const_gen,			int num_ff,			int num_sinks);float print_critical_path_node(FILE * fp,			       t_linked_int * critical_path_node,			       t_subblock_data subblock_data);

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -