00001 /* type definitions */ 00002 struct s_clb_grid 00003 { 00004 boolean IsAuto; 00005 float Aspect; 00006 int W; 00007 int H; 00008 }; 00009 typedef struct s_arch t_arch; 00010 struct s_arch 00011 { 00012 t_chan_width_dist Chans; 00013 int N; /* Cluster size */ 00014 int K; /* LUT size */ 00015 enum e_switch_block_type SBType; 00016 float R_minW_nmos; 00017 float R_minW_pmos; 00018 int Fs; 00019 float C_ipin_cblock; 00020 float T_ipin_cblock; 00021 float grid_logic_tile_area; 00022 float ipin_mux_trans_size; 00023 struct s_clb_grid clb_grid; 00024 t_segment_inf * Segments; 00025 int num_segments; 00026 struct s_switch_inf *Switches; 00027 int num_switches; 00028 }; 00029 00030 00031 /* function declarations */ 00032 void XmlReadArch(IN const char *ArchFile, 00033 IN boolean timing_enabled, 00034 OUT struct s_arch *arch, 00035 OUT t_type_descriptor ** Types, 00036 OUT int *NumTypes); 00037 void EchoArch(IN const char *EchoFile, 00038 IN const t_type_descriptor * Types, 00039 IN int NumTypes); 00040 00041