1 /****************************************************************************/
3 /* Chaine de CAO & VLSI AVERTEC */
5 /* Produit : STM Version 1.00 */
6 /* Fichier : stm_mod_print.c */
8 /* (c) copyright 2000 AVERTEC */
9 /* Tous droits reserves */
11 /* Auteur(s) : Gilles Augustins */
13 /****************************************************************************/
15 /****************************************************************************/
17 /****************************************************************************/
21 /****************************************************************************/
23 /****************************************************************************/
25 void stm_mod_plotprint (timing_model
*model
)
28 char fname
[STM_BUFSIZE
], fpname
[STM_BUFSIZE
];
30 sprintf (fname
, "%s.dat", model
->NAME
);
31 f
= fopen (fname
, "w+");
32 switch (model
->UTYPE
) {
34 stm_modtbl_datprint (f
, model
->UMODEL
.TABLE
);
43 sprintf (fpname
, "%s.plot", model
->NAME
);
44 f
= fopen (fpname
, "w+");
45 switch (model
->UTYPE
) {
47 stm_modtbl_plotprint (f
, fname
, model
->UMODEL
.TABLE
);
57 /****************************************************************************/
59 void stm_mod_print (FILE *f
, timing_model
*model
)
61 fprintf (f
, "\tmodel (\n");
62 fprintf (f
, "\t\tname (%s)\n", model
->NAME
);
63 if(model
->VTH
!= STM_UNKNOWN
)
64 fprintf (f
, "\t\tvth (%.5g)\n", model
->VTH
);
66 fprintf (f
, "\t\tvth (unknown)\n");
67 if(model
->VDD
!= STM_UNKNOWN
)
68 fprintf (f
, "\t\tvdd (%.5g)\n", model
->VDD
);
70 fprintf (f
, "\t\tvdd (unknown)\n");
71 if(model
->VT
!= STM_UNKNOWN
)
72 fprintf (f
, "\t\tvt (%.5g)\n", model
->VT
);
74 fprintf (f
, "\t\tvt (unknown)\n");
75 if(model
->VF
!= STM_UNKNOWN
)
76 fprintf (f
, "\t\tvf (%.5g)\n", model
->VF
);
78 fprintf (f
, "\t\tvf (unknown)\n");
79 if(model
->TTYPE
== STM_HL
)
80 fprintf (f
, "\t\ttran (ud)\n");
81 else if(model
->TTYPE
== STM_HH
)
82 fprintf (f
, "\t\ttran (uu)\n");
83 else if(model
->TTYPE
== STM_LH
)
84 fprintf (f
, "\t\ttran (du)\n");
85 else if(model
->TTYPE
== STM_LL
)
86 fprintf (f
, "\t\ttran (dd)\n");
89 switch (model
->UTYPE
) {
91 stm_modtbl_print (f
, model
->UMODEL
.TABLE
);
94 stm_modscm_print (f
, model
->UMODEL
.SCM
);
97 stm_modpln_print (f
, model
->UMODEL
.POLYNOM
);
100 stm_modfct_print (f
, model
->UMODEL
.FUNCTION
);
103 stm_modiv_print( f
, model
->UMODEL
.IV
);
107 stm_noise_print( f
, model
);
108 stm_energy_print( f
, model
);
110 fprintf (f
, "\t)\n");