De acuerdo con la mayoría de las referencias de SPICE que he leído, la forma de la directiva de barrido .DC es
.DC [LIN] <sweep variable name>
+ <start value> <end value> <increment value>
+ [nested sweep specification]
Me gustaría saber si es posible usar expresiones basadas en variables para los argumentos START, END e INCREMENT.
Por ejemplo, digamos que defino parámetros para un valor de resistencia nominal (R_NOMINAL) y un valor de resistencia de barrido (R_SWEEP)
.PARAM r_nominal=560k,r_sweep={r_nominal}
y mi objetivo es a) realizar un barrido lineal del valor de R_SWEEP, yb) usar los valores asignados a R_NOMINAL y RTOL para definir los valores de INICIO, FINALIZACIÓN e INCREMENTO para R_SWEEP, por ejemplo,
.DC LIN PARAM R_SWEEP
+ {R_NOMINAL*(1-RTOL)} {R_NOMINAL*(1+RTOL)} {R_NOMINAL/1000}
donde RTOL es el valor de tolerancia de la resistencia (por ejemplo, 5%). Cuando intento simular con esta declaración, PSPICE emite el siguiente mensaje de error en el archivo de salida:
*Analysis directives:
.DC LIN PARAM R_SWEEP {R_NOMINAL*(1-RTOL)} {R_NOMINAL*(1+RTOL)} {R_NOMINAL/1000}
----------------------$
ERROR(ORPSIM-16152): Invalid number: Error while converting token '{R_NOMINAL*(1-RTOL)}' to double value. Token can be a constant or expression
He intentado eliminar las llaves de las expresiones que se muestran arriba, he probado las funciones definidas por el usuario, etc., pero hasta ahora parece que los valores de los argumentos de INICIO, FINAL e INCREMENTO no se pueden definir a través de expresiones que contienen variables solo se pueden definir mediante constantes numéricas o expresiones que contengan solo constantes numéricas. ¿Es eso correcto?
FWIW, el software de captura de esquemas que estoy usando es Allegro Design Entry CIS (OrCAD) de Cadence Design Systems, si eso importa.