Hi,
I keep getting error messages for my subcircuit netlist when i try to simulate it in a simple double pulse test circuit:
Netlist:
*SICPOWER1200 .SUBCKT SICPOWER1200 1 2 3 ********* ********* ********* ********* ********* ********* ********* ********* ********* ********* .FUNC I1 (VGS,VDIS) {IF(VDIS<(VGS-3.5)/0.54,(1.08*(VGS-3.5)*VDIS-0.941*(VGS-3.5)**0.82),0)} .FUNC I12 (VGS) {IF(VDIS>=((VGS-3.5)/0.54),(0.27*(VGS-3.5)**2),0)} .FUNC I2 (VGS,VDIS) {IF(VDIS<(VGS-6.15)/0.54,(2.7*(VGS-6.15)*VDIS-0.941*(VGS-6.15)**0.47),0)} .FUNC I22 (VGS) {IF (VDIS>=((VGS-6.15)/0.54),(0.405*(VGS-6.15)**2),0)} .FUNC CGD (VGD) {(1.72*EXP**(-12)) / 0.6617 + 0.9312*SQRT(ABS(12.3-VGD))*(1-TANH(VGD-12.3))} VDI DI DI1 0 CDS 11 22 55N COX DI 33 2.6P CGD DI1 11 VALUE = {CGD (V(2)-V(1))} GICH1 22 23 VALUE = {I1 (V(2)-V(3),V(DI)-V(1))} GICH1 23 24 VALUE = {I12 (V(2)-V(3))} GICH1 24 25 VALUE = {I2 (V(2)-V(3),V(DI)-V(1))} GICH1 25 DI VALUE = {I22 (V(2)-V(3))} CGS 33 22 1.6N RDRIFT DI1 11 257M .ENDS SICPOWER1200 Error: **** EXPANSION OF SUBCIRCUIT X_X1 **** .FUNC I1 ------$ ERROR(ORPSIM-16265): Missing or mismatched () + VGS VDIS {IF(VDIS<(VGS-3.5)/0.54,(1.08*(VGS-3.5)*VDIS-0.941*(VGS-3.5)**0.82), + 0)} .FUNC I12 ------$ ERROR(ORPSIM-16265): Missing or mismatched () + VGS {IF(VDIS>=((VGS-3.5)/0.54),(0.27*(VGS-3.5)**2),0)} .FUNC I2 ------$ ERROR(ORPSIM-16265): Missing or mismatched () + VGS VDIS {IF(VDIS<(VGS-6.15)/0.54,(2.7*(VGS-6.15)*VDIS-0.941*(VGS-6.15)**0.47), + 0)} .FUNC I22 ------$ ERROR(ORPSIM-16265): Missing or mismatched () + VGS {IF (VDIS>=((VGS-6.15)/0.54),(0.405*(VGS-6.15)**2),0)} .FUNC CGD ------$ ERROR(ORPSIM-16265): Missing or mismatched () + VGD {(1.72*EXP**(-12)) / 0.6617 + 0.9312*SQRT(ABS(12.3-VGD))*(1-TANH( + VGD-12.3))} X_X1.VDI X_X1.DI X_X1.DI1 0 X_X1.CDS X_X1.11 X_X1.22 55N X_X1.COX X_X1.DI X_X1.33 2.6P X_X1.CGD X_X1.DI1 X_X1.11 X_X1.VALUE {CGD (V(2)-V(1))} -------------------------------------$ ERROR(ORPSIM-16318): Missing or invalid expression X_X1.GICH1 X_X1.22 X_X1.23 VALUE {I1 (V(1#)-V(2#),V(DI)-V(0#))} ERROR(ORPSIM-15089): Can not re-define X_X1.GICH1. X_X1.GICH1 is either a system defined variable or has already been defined X_X1.GICH1 X_X1.23 X_X1.24 VALUE {I12 (V(1#)-V(2#))} ERROR(ORPSIM-15089): Can not re-define X_X1.GICH1. X_X1.GICH1 is either a system defined variable or has already been defined X_X1.GICH1 X_X1.24 X_X1.25 VALUE {I2 (V(1#)-V(2#),V(DI)-V(0#))} ERROR(ORPSIM-15089): Can not re-define X_X1.GICH1. X_X1.GICH1 is either a system defined variable or has already been defined ERROR(ORPSIM-15113): Model VALUE used by X_X1.CGD is undefined
Can anyone advice on how to fix the problem?
Copyright © 2020 Cadence Design Systems, Inc. All rights reserved.
I don't believe there should be a space between the .FUNC name and its parenthesized argument list.
For example, .FUNC ABC (e,f,g) {expression} should be .FUNC ABC(e,f,g) {expression}.