malt-wr
init.h File Reference
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Functions

void trademark ()
 
void command_line_error (char *filename)
 
void init_parameters ()
 
int read_config ()
 
int read_xy_config (XY_PARAMETERS *xy_param, char *circuit_name)
 
int read_options (int argc, char *argv[])
 
int generate_jspice_config ()
 
void prepare_included_files ()
 

Function Documentation

void command_line_error ( char *  filename)

Definition at line 27 of file init.c.

28 {
29  char help[NAME_LENGTH];
30 
31  /* set the line that will call display of the command line help */
32  strcpy(help, "more ");
33  strcat(help, filename);
34 
35  system(help);
36 }
#define NAME_LENGTH
Definition: constype.h:3
static char filename[LINE_LENGTH]
Definition: optimize.c:35
int generate_jspice_config ( )

Definition at line 967 of file init.c.

968 {
969  FILE *fp;
970  int is_ws = (strstr(param.spice_name, "wrspice") != NULL);
971 
972  fp=fopen(JSPICE_CONFIG,"w");
973  if(fp == NULL)
974  {
975  printf("Cannot create %s configuration file %s.\n\n",
976  is_ws ? "wrspice" : "jspice", JSPICE_CONFIG);
977  return 0;
978  }
979 
980  if (is_ws) {
981  fprintf(fp, "set subc_catchar=\":\"\n");
982  fprintf(fp, "set subc_catmode=\"spice3\"\n\n");
983  }
984 
985  fprintf(fp, "set circuit = '%s'\n\n", param.circuit_name);
986 
987  fprintf(fp, "quiet = %d\n\n", ((param.input_options & Q_SET)?1:0));
988 
989  fprintf(fp, "set circext = '%s'\n", param.circuit_ext);
990  fprintf(fp, "set paramext = '%s'\n", param.param_ext);
991  fprintf(fp, "set printext = '%s'\n", param.print_ext);
992  fprintf(fp, "set passfailext = '%s'\n\n", param.passfail_ext);
993  fprintf(fp, "set checkext = '%s'\n", param.check_ext);
994 
995 #if 0
996  fprintf(fp, "set stepext = '%s'\n", param.step_ext);
997 #endif
998 
999  fprintf(fp, "set phasext = '%s'\n", param.phase_ext);
1000  fprintf(fp, "set avrext = '%s'\n", param.avr_ext);
1001  fprintf(fp, "set holdext = '%s'\n", param.hold_ext);
1002  fprintf(fp, "set setupext = '%s'\n", param.setup_ext);
1003  fprintf(fp, "set sepext = '%s'\n", param.separation_ext);
1004  fprintf(fp, "set goodext = '%s'\n", param.good_ext);
1005  fprintf(fp, "set badext = '%s'\n", param.bad_ext);
1006  fprintf(fp, "set tparext = '%s'\n\n", TPARAM_EXT);
1007  fprintf(fp, "set nomext = '%s'\n\n", param.nom_ext);
1008 
1009  fprintf(fp, "set reportext = '%s'\n\n", param.report_ext);
1010 
1011  fprintf(fp, "set input_dir = '%s'\n", param.input_dir);
1012  fprintf(fp, "set tmp_dir = '%s'\n", param.tmp_dir);
1013  fprintf(fp, "set output_dir = '%s'\n\n", param.output_dir);
1014 
1015  fprintf(fp, "failthres = %.2f\n", param.min_fail_thresh);
1016  fprintf(fp, "accuracy = %.5f\n", param.accuracy/100.0);
1017  fprintf(fp, "time_accuracy = %.5f\n", param.time_accuracy);
1018  fprintf(fp, "delay_variation = %.2f\n", param.max_delay_var);
1019  fprintf(fp, "check_inputs = %d\n", param.inputs_checked);
1020 
1021  fclose(fp);
1022 
1023  return 1;
1024 }
#define JSPICE_CONFIG
Definition: filenames.h:5
char good_ext[NAME_LENGTH]
Definition: constype.h:166
char circuit_name[NAME_LENGTH]
Definition: constype.h:184
char setup_ext[NAME_LENGTH]
Definition: constype.h:164
char output_dir[NAME_LENGTH]
Definition: constype.h:149
int input_options
Definition: constype.h:199
char param_ext[NAME_LENGTH]
Definition: constype.h:156
char bad_ext[NAME_LENGTH]
Definition: constype.h:167
TIME accuracy
Definition: constype.h:122
char report_ext[NAME_LENGTH]
Definition: constype.h:171
#define Q_SET
Definition: constype.h:20
PHASE min_fail_thresh
Definition: constype.h:119
char print_ext[NAME_LENGTH]
Definition: constype.h:157
char spice_name[NAME_LENGTH]
Definition: constype.h:152
char hold_ext[NAME_LENGTH]
Definition: constype.h:163
char phase_ext[NAME_LENGTH]
Definition: constype.h:159
TIME time_accuracy
Definition: constype.h:125
char avr_ext[NAME_LENGTH]
Definition: constype.h:162
char input_dir[NAME_LENGTH]
Definition: constype.h:143
PARAMETERS param
Definition: init.c:10
#define TPARAM_EXT
Definition: param.h:26
char step_ext[NAME_LENGTH]
Definition: constype.h:160
char check_ext[NAME_LENGTH]
Definition: constype.h:161
TIME max_delay_var
Definition: constype.h:129
char separation_ext[NAME_LENGTH]
Definition: constype.h:165
char circuit_ext[NAME_LENGTH]
Definition: constype.h:155
char tmp_dir[NAME_LENGTH]
Definition: constype.h:146
int inputs_checked
Definition: constype.h:139
char passfail_ext[NAME_LENGTH]
Definition: constype.h:158
char nom_ext[NAME_LENGTH]
Definition: constype.h:174
void init_parameters ( )

Definition at line 39 of file init.c.

40 {
42 
43  param.maxplane = 50000;
44  param.maxiter = 100;
45  param.miniter = 10;
51 
54 
62 
63  strcpy(param.spice_name, JSPICE_CALL);
64  strcpy(param.input_dir, INPUT_DIR);
65  strcpy(param.tmp_dir, TMP_DIR);
66  strcpy(param.output_dir, OUTPUT_DIR);
67 
68  strcpy(param.circuit_ext, CIRCUIT_EXT);
69  strcpy(param.param_ext, PARAM_EXT);
70  strcpy(param.print_ext, PRINT_EXT);
71  strcpy(param.step_ext, STEP_EXT);
72  strcpy(param.check_ext, CHECK_EXT);
73  strcpy(param.avr_ext, AVR_EXT);
74  strcpy(param.hold_ext, HOLD_EXT);
75  strcpy(param.setup_ext, SETUP_EXT);
77  strcpy(param.good_ext, GOOD_EXT);
78  strcpy(param.bad_ext, BAD_EXT);
79  strcpy(param.logic_ext, LOGIC_EXT);
80  strcpy(param.hose_ext, HOLDSETUP_EXT);
81  strcpy(param.report_ext, REPORT_EXT);
83  strcpy(param.comp_ext, VALUE_COMP_EXT);
84  strcpy(param.phase_ext, PHASE_EXT);
85  strcpy(param.nom_ext, NOMINAL_EXT);
86  strcpy(param.init_ext, INIT_EXT);
88  strcpy(param.marg_ext, MARGIN_EXT);
89  strcpy(param.bound_ext, BOUNDARY_EXT);
90  strcpy(param.opt_ext, OPT_EXT);
91  strcpy(param.region_ext, REGION_EXT);
93  strcpy(param.signal_ext, SIGNAL_EXT);
94 
104 }
char logic_ext[NAME_LENGTH]
Definition: constype.h:168
double avr_one_volt
Definition: constype.h:204
#define SETUP_EXT
Definition: param.h:35
#define INIT_EXT
Definition: param.h:28
char good_ext[NAME_LENGTH]
Definition: constype.h:166
char hose_ext[NAME_LENGTH]
Definition: constype.h:170
#define BOUNDARY_EXT
Definition: param.h:42
#define PASS_FAIL_THRESHOLD
Definition: param.h:11
#define CHECKING_RATIO
Definition: param.h:12
#define TMP_DIR
Definition: param.h:19
#define CHECK_EXT
Definition: param.h:32
#define VOLTAGE_THRESHOLD
Definition: param.h:7
double max_zero_volt
Definition: constype.h:211
char setup_ext[NAME_LENGTH]
Definition: constype.h:164
char output_dir[NAME_LENGTH]
Definition: constype.h:149
int input_options
Definition: constype.h:199
#define LATCH_CHECK_INT
Definition: param.h:64
#define LATCH_CHECKRATIO
Definition: param.h:67
float checkpoint_ratio
Definition: constype.h:115
int interpolate
Definition: constype.h:99
#define MAX_DELAY_VARIATION
Definition: param.h:15
#define PHASE_THRESHOLD
Definition: param.h:1
char param_ext[NAME_LENGTH]
Definition: constype.h:156
#define PRINT_EXT
Definition: param.h:27
#define TIMEINIT_EXT
Definition: param.h:56
char bad_ext[NAME_LENGTH]
Definition: constype.h:167
#define AVR_EXT
Definition: param.h:34
char signal_ext[NAME_LENGTH]
Definition: constype.h:181
#define PHASE_THRESHOLD_MIN
Definition: param.h:9
char timeinit_ext[NAME_LENGTH]
Definition: constype.h:180
TIME accuracy
Definition: constype.h:122
#define COLLECT_BY_PHASE
Definition: constype.h:44
int miniter
Definition: constype.h:71
PHASE min_pulse_phase_diff
Definition: constype.h:111
PHASE min_phase_thresh
Definition: constype.h:86
TIME min_checks_interval
Definition: constype.h:221
char report_ext[NAME_LENGTH]
Definition: constype.h:171
PHASE min_fail_thresh
Definition: constype.h:119
#define MIN_PHASE_THRESHOLD
Definition: param.h:3
#define CIRCUIT_EXT
Definition: param.h:24
char print_ext[NAME_LENGTH]
Definition: constype.h:157
#define GOOD_EXT
Definition: param.h:37
PHASE nom_phase_thresh
Definition: constype.h:82
#define LATCH_ONE_VOLT
Definition: param.h:60
#define PASSFAIL_EXT
Definition: param.h:29
TIME min_interval_to_falledge
Definition: constype.h:229
double min_one_volt
Definition: constype.h:214
#define MINIMUM_STEP
Definition: param.h:16
char init_ext[NAME_LENGTH]
Definition: constype.h:175
char spice_name[NAME_LENGTH]
Definition: constype.h:152
char hold_ext[NAME_LENGTH]
Definition: constype.h:163
#define DEFAULT_TIME_ACCURACY
Definition: param.h:14
#define MAX_PHASE_THRESHOLD
Definition: param.h:4
#define LATCH_EDGE_INT
Definition: param.h:65
#define LATCH_MIN_EDGE_INT
Definition: param.h:66
int min_time_step
Definition: constype.h:136
TIME min_interval_to_riseedge
Definition: constype.h:225
#define INTERPOLATE_EXT
Definition: param.h:55
char phase_ext[NAME_LENGTH]
Definition: constype.h:159
TIME time_accuracy
Definition: constype.h:125
char avr_ext[NAME_LENGTH]
Definition: constype.h:162
char input_dir[NAME_LENGTH]
Definition: constype.h:143
char comp_ext[NAME_LENGTH]
Definition: constype.h:173
#define NOMINAL_EXT
Definition: param.h:40
PARAMETERS param
Definition: init.c:10
#define REPORT_EXT
Definition: param.h:51
char marg_ext[NAME_LENGTH]
Definition: constype.h:176
#define BAD_EXT
Definition: param.h:39
#define PHASE_EXT
Definition: param.h:33
#define STEP_EXT
Definition: param.h:31
int pulse_extraction_method
Definition: constype.h:78
VOLTAGE volt_thresh
Definition: constype.h:103
char step_ext[NAME_LENGTH]
Definition: constype.h:160
char check_ext[NAME_LENGTH]
Definition: constype.h:161
char period_ext[NAME_LENGTH]
Definition: constype.h:172
double nom_edge_thresh
Definition: constype.h:208
TIME max_delay_var
Definition: constype.h:129
char separation_ext[NAME_LENGTH]
Definition: constype.h:165
#define INPUT_DIR
Definition: param.h:18
#define PARAM_EXT
Definition: param.h:25
char circuit_ext[NAME_LENGTH]
Definition: constype.h:155
#define HOLDSETUP_EXT
Definition: param.h:50
char tmp_dir[NAME_LENGTH]
Definition: constype.h:146
int maxiter
Definition: constype.h:68
#define SEPARATION_EXT
Definition: param.h:38
double clk_chktime_ratio
Definition: constype.h:234
#define SIGNAL_EXT
Definition: param.h:46
#define LATCH_MIN_ONE
Definition: param.h:62
char bound_ext[NAME_LENGTH]
Definition: constype.h:178
PHASE max_phase_thresh
Definition: constype.h:90
TIME min_edge_sep
Definition: constype.h:218
#define JSPICE_CALL
Definition: param.h:22
char region_ext[NAME_LENGTH]
Definition: constype.h:179
#define OUTPUT_DIR
Definition: param.h:20
int inputs_checked
Definition: constype.h:139
#define DEFAULT_ACCURACY
Definition: param.h:13
#define OPT_EXT
Definition: param.h:43
#define REGION_EXT
Definition: param.h:44
char opt_ext[NAME_LENGTH]
Definition: constype.h:177
int maxplane
Definition: constype.h:65
#define INTERPOLATION
Definition: param.h:5
#define LATCH_MAX_ZERO
Definition: param.h:63
#define MARGIN_EXT
Definition: param.h:41
#define VALUE_COMP_EXT
Definition: param.h:54
char passfail_ext[NAME_LENGTH]
Definition: constype.h:158
#define LOGIC_EXT
Definition: param.h:48
#define LATCH_THRESHOLD
Definition: param.h:61
char nom_ext[NAME_LENGTH]
Definition: constype.h:174
#define HOLD_EXT
Definition: param.h:36
void prepare_included_files ( )
int read_config ( )
int read_options ( int  argc,
char *  argv[] 
)

Definition at line 929 of file init.c.

930 {
931  int i, ret_val=1;
932  int iset=0;
933 
934  if(argc < 2)
935  return 0;
936 
937  for(i=1; i<argc-1; i++)
938  {
939  if(!check_option(argv[i]))
940  ret_val=0;
941  if((param.input_options & I_SET) && (!iset))
942  {
943  strcpy(param.circuit_name, argv[argc-2]);
944  strcpy(param.opt_num, argv[argc-1]);
945  iset=1;
946  argc--;
947  }
948  }
949 
950  if(!iset)
951  strcpy(param.circuit_name, argv[argc-1]);
952 
954  {
957 
960  }
961 
962  return ret_val;
963 }
char circuit_name[NAME_LENGTH]
Definition: constype.h:184
int input_options
Definition: constype.h:199
#define COLLECT_BY_PHASE
Definition: constype.h:44
#define P_SET
Definition: constype.h:23
#define COLLECT_BY_VOLTAGE
Definition: constype.h:45
char opt_num[NAME_LENGTH]
Definition: constype.h:196
#define I_SET
Definition: constype.h:36
PARAMETERS param
Definition: init.c:10
int pulse_extraction_method
Definition: constype.h:78
#define V_SET
Definition: constype.h:21
static int check_option(char *option)
Definition: init.c:819
int read_xy_config ( XY_PARAMETERS xy_param,
char *  circuit_name 
)
void trademark ( )

Definition at line 12 of file init.c.

13 {
14  printf(" TAN - Timing Analyzer, v1.0\n");
15  printf("Kris & Quentin - April 1, 1995\n\n");
16 }