1 /****************************************************************************/
3 /* Chaine de CAO & VLSI AVERTEC */
5 /* Produit : STM Version 1.00 */
6 /* Fichier : stm_modscm_dual_sign.c */
8 /* (c) copyright 2000 AVERTEC */
9 /* Tous droits reserves */
11 /* Auteur(s) : Gilles Augustins */
13 /****************************************************************************/
15 /****************************************************************************/
17 /****************************************************************************/
21 /****************************************************************************/
23 /****************************************************************************/
25 float stm_modscm_cst_signature (cstparams
*params
, char *s
)
27 return params
->DS
[STM_CST_DELAY
]*123+params
->DS
[STM_CST_SLEW
];
30 void stm_modscm_cst_signature (cstparams
*params
, char *s
)
32 sprintf (s
+ strlen (s
), "scmc_");
33 sprintf (s
+ strlen (s
), "%.5g_", params
->DS
[STM_CST_DELAY
]);
34 sprintf (s
+ strlen (s
), "%.5g", params
->DS
[STM_CST_SLEW
]);
37 void stm_modscm_cst_change_params (cstparams
*params
)
40 float precision
= 0.01;
41 params
->DS
[STM_CST_DELAY
]=mbk_rounddouble(params
->DS
[STM_CST_DELAY
], STM_NEWSIGN_ROUND_PRECISION
);
42 params
->DS
[STM_CST_SLEW
]=mbk_rounddouble(params
->DS
[STM_CST_SLEW
], STM_NEWSIGN_ROUND_PRECISION
);
46 int stm_modscm_cst_same_params (cstparams
*params0
, cstparams
*params1
)
48 if (params0
->DS
[STM_CST_DELAY
]==params1
->DS
[STM_CST_DELAY
]
49 && params0
->DS
[STM_CST_SLEW
]==params1
->DS
[STM_CST_SLEW
]) return 1;