Hice esto con 1 bsource y un SR-latch. Los resultados se muestran a continuación, la primera fuente es solo una onda sinusoidal con amplitud creciente. La segunda fuente b detecta si el umbral está por encima de 7 mV (nodo vout2) y el pestillo se dispara la primera vez que vout2 pasa a nivel alto y luego se mantiene alto. Luego mídelo al final del archivo.
Esta no es la misma lógica que desea, pero la funcionalidad es la misma. No veo una forma de hacer esto solo con las fuentes B, mis intentos al usar un retraso produjeron resultados con los NaN (que ni siquiera sabía que la especia LT podría producir hasta ahora).
* C:\Draft7.asc
B1 Vout 0 V=time*0.01*sin(2*pi*time*10)
B2 Vout2 0 V=if(V(vout)<0.007,0,1)
A1 Vout2 0 0 0 0 0 Vout3 0 SRFLOP
.tran 1
.backanno
.end
Si quisiera, podría usar la lista de redes a continuación para generar una parte, de manera que pueda incluirla en otros archivos y contenerla.
B2 Vinternal 0 V=if(V(Vin)<V(condition),0,1)
A1 Vinternal 0 0 0 0 0 test_result 0 SRFLOP
No puede hacer lo que describe con una declaración .meas (por eso publiqué el primer ejemplo):
La única opción con una declaración .meas es tener un condicional
.meas TRAN x FIND time WHEN V(vout)=0.007 CROSS=1
o subir también funcionaría (lo que mide el tiempo del flanco ascendente)
.meas TRAN x FIND time WHEN V(vout)=0.007 RISE=1
en el ejemplo anterior, esto imprime el momento del primer cruce de vout, eso no es lo que quieres, quieres un pase / falla.
Así que ejecuta la cruz
.meas TRAN xx FIND if(time<1,0,1) WHEN V(vout2)=0.007 CROSS=1
Esta es la salida del simulador no exactamente lo que quieres pero tiene un condicional
xx: if (time < 1,0,1) = 0 en 0.721136
Sin embargo, ¿qué pasa si no hay un cruce? Si cambiamos la cruz a 8 (solo hay seis cruces) no cumple con la condición.
.meas TRAN x FIND time WHEN V(vout)=0.007 CROSS=8
Esto es lo que produce el simulador:
Medida "x" FALLIDA
No hay una manera de medir cuando un CRUZ o un PELIGRO RISE porque la declaración .meas no encuentra la condición, falla la condición completa, por lo que solo hay una manera de encontrar si se cumple una condición utilizando. Declaraciones de Meas. Si la condición falla, no sabes por qué solo falló que sí.