📄 path_delay2.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, CLB_IPIN, CLB_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 CLB 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 (CLB 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);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -