258 int current_index, min_step, min_sig_nr;
265 fprintf(fp,
"simulation step = %.2f ps\nsimulation length = %.2f ps\n\n",
270 fprintf(fp,
"SIGNALS TRACED:\n");
273 for(sig_nr=0; sig_nr<sp->
signal_num; sig_nr++)
274 fprintf(fp,
"%s\t<=>\t%s,\t%s\n",
281 for(sig_nr=0; sig_nr<sp->
signal_num; sig_nr++)
282 fprintf(fp,
"%s\t<=>\t%s\n",
289 fprintf(fp,
"TIME\t\t");
296 for(sig_nr=0; sig_nr<sp->
signal_num; sig_nr++)
297 last_pulse[sig_nr] = sp->
sig_bgn[sig_nr];
303 for(sig_nr=0; sig_nr<sp->signal_num; sig_nr++)
305 if(last_pulse[sig_nr]==NULL)
308 if(last_pulse[sig_nr]->
index-current_index < min_step)
310 min_step = last_pulse[sig_nr]->
index-current_index;
318 current_index = last_pulse[min_sig_nr]->
index;
322 fprintf(fp,
"%.2f\t\t", last_pulse[min_sig_nr]->t*1.0e12);
325 if(last_pulse[sig_nr]==NULL)
328 if(last_pulse[sig_nr]->
index==current_index)
331 last_pulse[sig_nr]=last_pulse[sig_nr]->
next;
339 fprintf(fp,
"%.2f\t\t%s", last_pulse[min_sig_nr]->t*1.0e12,
343 if(last_pulse[sig_nr]!=NULL)
345 if(last_pulse[sig_nr]->prev!=NULL)
346 fprintf(fp,
"\t %.2f",
347 (last_pulse[min_sig_nr]->t - last_pulse[sig_nr]->prev->
t)*1.0e12);
354 fprintf(fp,
"\t %.2f",
355 (last_pulse[min_sig_nr]->t - sp->
sig_end[sig_nr]->
t)*1.0e12);
360 last_pulse[min_sig_nr] = last_pulse[min_sig_nr]->
next;
char(* jspice_phase_names)[NAME_LENGTH]
char(* signal_names)[NAME_LENGTH]
static void compute_min_max_voltage(SIGNALS *sp, MIN_MAX_AVR *result)
#define COLLECT_BY_VOLTAGE
int pulse_extraction_method
char(* jspice_voltage_names)[NAME_LENGTH]
void print_voltages(FILE *fp, MIN_MAX_AVR *peak_volt)