no hay convergencia en las curvas de barrido dc [cerrado]

-1

Tengo una pregunta. Estoy intentando simular un oscilador en anillo con variación en Vth, ..., en hspice, pero no obtengo convergencia en el error de curvas de barrido de CC. Probé algunas de las soluciones para la convergencia, pero no tengo ningún éxito, ¿me pueden ayudar? El netlist & Los errores son los siguientes:

V1 vdd 0 0.9V
V2 vss 0 0V

.PARAM bias=1m
 MN11 vss 15 11 vss N1 L=120n W=280n x=-7000u y=2000u
 MP11 vdd 15 11 vdd P1 L=120n W=980n x=-7000u y=6000u
 MN12 vss 11 12 vss N1 L=120n W=280n x=-5500u y=2000u
 MP12 vdd 11 12 vdd P1 L=120n W=980n x=-5500u y=6000u
 MN13 vss 12 13 vss N1 L=120n W=280n x=-4000u y=2000u
 MP13 vdd 12 13 vdd P1 L=120n W=980n x=-4000u y=6000u
 MN14 vss 13 14 vss N1 L=120n W=280n x=-2500u y=2000u
 MP14 vdd 13 14 vdd P1 L=120n W=980n x=-2500u y=6000u
 MN15 vss 14 15 vss N1 L=120n W=280n x=-1000u y=2000u
 MP15 vdd 14 15 vdd P1 L=120n W=980n x=-1000u y=6000u


.MODEL  N1  NMOS  LEVEL = 54
.MODEL  P1  PMOS  LEVEL = 54


.Variation
  .Global_Variation
  Parameter var=N() Y='180 + 8.02 * var' Z='17.5 + 0.37 * var'
  Nmos N1
 + VTH0=Perturb('Y')
  Pmos P1
 + VTH0=Perturb('Y')
.End_Global_Variation
.Local_Variation
  Parameter var=N() T='11.46 * var' U='0.54 * var'
  Nmos N1
 + VTH0=Perturb('T')
  Pmos P1
+ VTH0=Perturb('T')
.End_Local_Variation

.End_Variation

.op

.dc bias 1m 1m 1m monte=10
.print I(MN11) I(MN12)
.measure dc I11 find I(MN11) at=1m
.measure dc I12 find I(MN12) at=1m

.END
dcop: begin pseudo transient
dcop: ...failed with iteration exhausted
dcop: end pseudo transient
dcop: gshunt =      0.1000000E-03
dcop: gshunt =      0.5050000E-03
dcop: gshunt =      0.7277500E-03
dcop: gshunt =      0.8502625E-03
dcop: gshunt =      0.9176444E-03
dcop: gshunt =      0.9547044E-03
dcop: gshunt =      0.9750874E-03
dcop: gshunt =      0.9862981E-03
dcop: gshunt =      0.9924639E-03
dcop: gshunt =      0.9958552E-03
dcop: gshunt =      0.9977203E-03
dcop: gshunt =      0.9987462E-03
dcop: gshunt =      0.9993104E-03
dcop: gshunt =      0.9996207E-03
dcop: gshunt =      0.9997914E-03
dcop: gshunt =      0.9998853E-03
dcop: gshunt =      0.9999369E-03
dcop: gshunt =      0.9999653E-03
dcop: gshunt =      0.9999809E-03
dcop: gshunt =      0.9999895E-03
dcop: gshunt =      0.9999942E-03
dcop: gshunt =      0.9999968E-03
dcop: gshunt =      0.9999983E-03
dcop: gshunt =      0.9999990E-03
dcop: gshunt =      0.9999995E-03
dcop: gshunt =      0.9999997E-03
dcop: gshunt =      0.9999998E-03
dcop: gshunt =      0.9999999E-03
**error** no convergence in dc sweep curves at  1.00000E-03

Te pido que me ayudes.

    
pregunta lili94

1 respuesta

1

Mi mejor suposición es que el solucionador no puede encontrar el punto de operación de CC. Estas son las formas en que he superado este problema en otros simuladores.

  • Desactive el análisis del punto de operación de CC.
  • Si puede establecer condiciones iniciales para el voltaje en sus nodos, intente eso
  • No parece que tengas una ruta de CC definida para muchos de tus nodos, intenta agregar alguna resistencia parasitaria (una resistencia del orden de 10 ^ 9 o superior en algunos de los nodos a tierra (en una placa de todos modos, tendrá la misma resistencia a los parásitos. Y vea si ayuda a la convergencia del solucionador.
respondido por el laptop2d

Lea otras preguntas en las etiquetas