Errores en la asignación de pines para un archivo SPICE en Altium

Estoy tratando de simular el siguiente circuito en Altium antes de ir a la ruta de PCB:

ingrese la descripción de la imagen aquí

Pero obtengo los siguientes errores de pin:

ingrese la descripción de la imagen aquí

Encontré el modelo SPICE y traté de asignarlos a esta huella:

ingrese la descripción de la imagen aquí

Así es como vinculo el archivo .ckt:

ingrese la descripción de la imagen aquí

Así es como hice las asignaciones de pines:

ingrese la descripción de la imagen aquí

el resto de tareas:

ingrese la descripción de la imagen aquí

Y finalmente aquí está el código del archivo SPICE ckt:

*
*
* (DUAL) RETRIGGERABLE MONOSTABLE MULTIVIBRATOR
* Pulse Width Tw = 0.5 * R * C
* tpd R,A,B->Q     30n
* Tpulse 75n, C=0, Rext=5k
.SUBCKT 74HC123  A B CLR  CGND RC  Q QN  VCC VGND  vcc1={vcc} speed1={speed} tripdt1={tripdt}
.param egain=1/{vcc1}
.param td5=1e-9*(5)*4.0/({vcc1}-0.5)*{speed1}
.param td2=1e-9*(2)*4.0/({vcc1}-0.5)*{speed1}
*
XINA    A Ai  VCC VGND  74HC_IN_1  vcc2={vcc1}  speed2={speed1}  tripdt2={tripdt1} 
XINB    B Bi  VCC VGND  74HC_IN_1  vcc2={vcc1}  speed2={speed1}  tripdt2={tripdt1} 
XINCLR  CLR CLRi  VCC VGND  74HC_IN_1  vcc2={vcc1}  speed2={speed1}  tripdt2={tripdt1} 
XINRC1  RC RCi  VCC VGND  74HC_IN_0  vcc2={vcc1}  speed2={speed1}  tripdt2={tripdt1} 
*
* Model of a 74HC123 derived  from SGS-Thomson data sheet.
* Helmut Sennewald, 13.9.2002
A4 DHIGH 0 N014 0 N004 N006 N005 0 DFLOP   tripdt={tripdt1}  td={td5}
A3 0 N015 N016 N023 0  N014 0 0 OR  tripdt={tripdt1}  td={td5}
A1 Ai 0 0 0 0          0 N015 0  SCHMITT  Vt=0.46 Vh=0.02  tripdt={tripdt1}  td={td5}
A2 Bi 0 0 0 0          N016 0 0  SCHMITT  Vt=0.46 Vh=0.02  tripdt={tripdt1}  td={td5}
A6 0 N008 0 N006 0     N007 0 0  AND  tripdt={tripdt1}  td={td5}
A5 0 N009 0 N007 0     N008 0 0  AND  tripdt={tripdt1}  td={td5}
A14 0 N003 0 N021 0    N004 0 0  AND  tripdt={tripdt1}  td={td2}
A13 0 N003 0 N005 0    0 N030 0  AND  tripdt={tripdt1}  td={td5}
A12 N005 0 0 0 0       N012 0 0  BUF  tripdt={tripdt1}  td={td5}
A21 0 N010 0 N011 0    0 N009 0  OR  tripdt={tripdt1}  td={td5}
A22 0 N005 0 N007 0    N010 0 0  OR  tripdt={tripdt1}  td={td5}
A11 0 N013 0 N012 0    0 N003 0  OR  tripdt={tripdt1}  td={td5}
A7 0 N007 0 N018 0     QNi Qi 0  AND  tripdt={tripdt1}  td={td5}
A20 RCi 0 0 0 0        N011 0 0  SCHMITT  tripdt={tripdt1}  td={td5}  Vt=0.44 Vh=0.2m 
A10 RCi 0 0 0 0        0 N013 0  SCHMITT  tripdt={tripdt1}  td={td5}  Vt=0.1 Vh=0.2m 
A32 0 N006 0 N021 0    N022 0 0  OR  tripdt={tripdt1}  td={td5}
A31 0 N022 0 N023 0    N021 0 0  OR  tripdt={tripdt1}  td={td2}
A33 N021 0 0 0 0       N019 0 0  BUF  tripdt={tripdt1}  td={td5}
A30 CLRi 0 0 0 0       N023 0 0  BUF  tripdt={tripdt1}  td={td5}
A34 0 N007 0 N006 0    N020 0 0  AND  tripdt={tripdt1}  td={td5}
A35 0 N020 0 N018 0    N017 0 0  OR  tripdt={tripdt1}  td={td5}
A36 0 N017 0 N019 0    N018 0 0  OR  tripdt={tripdt1}  td={td5}
M10 RC N001 VGND VGND NMOS1
M30 RC N024 VCC VCC PMOS1
D1 RC VCC DIO1
D2 VGND RC DIO1
R10 N001 N002 100
R30 N024 N029 100
R3 CGND VGND 1
E4 RCi 0 RC VGND {egain}
E7 N029 VCC N018 0 {vcc1}
E8 N002 VGND N030 0 {vcc1}
V1 DHIGH 0 DC 1
.MODEL NMOS1 NMOS ( LEVEL=3  W=500e-6  L=1E-6  VTO=1
+ VMAX=1E6  RS=10  RD=10  CJ=0.002  MJ=0.4 
+THETA=1E-6 ETA=0.01  KAPPA=2.2)
.MODEL PMOS1 PMOS ( LEVEL=3  W=500e-6  L=1E-6  VTO=-1 
+ VMAX=1E6  RS=10  RD=10  CJ=0.002  MJ=0.4 
+THETA=1E-6 ETA=0.01  KAPPA=2.2)
.MODEL DIO1 D (IS=10p RS=10 N=1.75 M=0.4 Cjo=6p TT=20n)
*
XOUT0  Qi  Q   VCC VGND  74HC_OUT_1X  vcc2={vcc1} speed2={speed1}  tripdt2={tripdt1}
XOUT1  QNi QN  VCC VGND  74HC_OUT_1X  vcc2={vcc1} speed2={speed1}  tripdt2={tripdt1}
.ends
*
*
*

No pude averiguar dónde estoy haciendo mal. ¿Qué puedo hacer para solucionar este problema?

+1 para capturas de pantalla claras, así como lo que ha intentado hasta ahora para resolver el problema

Respuestas (2)

El modelo solo tiene estas entradas, que es solo una sección de las entradas para el T-flip flop. Su modelo tiene dos, su subcircuito solo tiene uno.

.SUBCKT 74HC123 AB CLR CGND RC Q QN VCC VGND

Por lo general, los archivos de especias no tienen partes duales dentro de ellos, ya que se pueden duplicar fuera de la parte. Será necesario duplicar el código para ambas mitades de la pieza.

Hay algunas opciones para corregir esto: 1) duplicar el archivo de la biblioteca y escribir uno nuevo que tenga dos de los subcircuitos 74HC123.
2) Cambiar la parte gráfica para que solo tenga un flop, no dos. (que probablemente no quiera hacer para combinar el esquema del mundo real)
3) Esto podría resolverse en la lista de conexiones haciendo algo como esto (pero no lo he probado)

ingrese la descripción de la imagen aquí

Intenté tu tercera sugerencia. Obtuve errores de pin nuevamente.

El SN74123 parece ser un monoestable dual. Sin embargo, el modelo sim parece ser solo para una sola instancia.

El esquema indica que también está interesado en el funcionamiento de una sola instancia.

Para que esto funcione, no intente mapear los pines de la (segunda) instancia no utilizada (siempre he tenido problemas con Altium y los componentes de varias partes con sim). Simplemente asigne los pines para la parte A.

Su declaración de tipo de modelo debe terminar con solo 9 parámetros (como se enumeran en el archivo del circuito sim:

@DISEÑADOR %1 %2 %3 %4 %5 %6 %7 %8 %9 @MODELO

con %1 correspondiente a "A", %2 a "B", y así sucesivamente:

.SUBCKT 74HC123 AB CLR CGND RC Q QN VCC VGND

Por ejemplo, aquí hay una declaración para la Parte A de un amplificador dual:ingrese la descripción de la imagen aquí


No estoy familiarizado con el significado del resto de la declaración del modelo en el archivo sim:

vcc1={vcc} velocidad1={velocidad} tripdt1={tripdt}

¿Tal vez necesitará definir estos valores como parámetros globales en la configuración de su sim? ¿O tal vez puede definirlos como constantes en la línea del modelo? No sé. Prueba y descubre...

Intenté su sugerencia @DESIGNATOR %1 %2 %3 %4 %5 %6 %7 %8 %9 MODEL y configuré el resto como desconectado y no tengo un error de asignación de pin ahora. Pero ahora recibo un error relacionado con vcc1={vcc} speed1={speed} tripdt1={tripdt} . ¿Cómo y dónde puedo configurarlos en VCC = 5 SPEED = 1.0 TRIPDT = 1e-9?
Recibo errores como: [Error] 74hc123 XSpice Unknown subckt: xina a ai vcc vgnd 74hc_in_1 vcc2={vcc1} speed2={speed1} tripdt2={tripdt1}
Como prueba, edite el archivo del modelo con las constantes que desee. Si eso funciona, puede continuar como está o intentar descubrir cómo pasar las constantes desde Altium.