Version 4 SHEET 1 2456 1052 WIRE 128 -208 0 -208 WIRE 160 -208 128 -208 WIRE 464 -208 336 -208 WIRE 496 -208 464 -208 WIRE 800 -208 672 -208 WIRE 832 -208 800 -208 WIRE 1120 -208 992 -208 WIRE 1152 -208 1120 -208 WIRE 1440 -208 1312 -208 WIRE 1472 -208 1440 -208 WIRE 0 -144 0 -208 WIRE 336 -144 336 -208 WIRE 672 -144 672 -208 WIRE 992 -144 992 -208 WIRE 1312 -144 1312 -208 WIRE 128 -128 128 -208 WIRE 464 -128 464 -208 WIRE 800 -128 800 -208 WIRE 1120 -128 1120 -208 WIRE 1440 -128 1440 -208 WIRE 0 16 0 -64 WIRE 128 16 128 -64 WIRE 336 16 336 -64 WIRE 464 16 464 -64 WIRE 672 16 672 -64 WIRE 800 16 800 -64 WIRE 992 16 992 -64 WIRE 1120 16 1120 -64 WIRE 1312 16 1312 -64 WIRE 1440 16 1440 -64 FLAG 0 16 0 FLAG 128 16 0 FLAG 160 -208 Vf1 FLAG 336 16 0 FLAG 464 16 0 FLAG 496 -208 Vf2 FLAG 672 16 0 FLAG 800 16 0 FLAG 832 -208 Vf3 FLAG 992 16 0 FLAG 1120 16 0 FLAG 1152 -208 Vf4 FLAG 1312 16 0 FLAG 1472 -208 Vf5 FLAG 1440 16 0 SYMBOL diode 112 -128 R0 SYMATTR InstName D1 SYMATTR Value mydiode1 SYMATTR Prefix X SYMBOL current 0 -64 M180 WINDOW 0 24 88 Left 0 WINDOW 3 24 0 Left 0 SYMATTR InstName I1 SYMATTR Value 1 SYMBOL diode 448 -128 R0 SYMATTR InstName D2 SYMATTR Value mydiode2 SYMATTR Prefix X SYMBOL diode 784 -128 R0 SYMATTR InstName D3 SYMATTR Value mydiode3 SYMATTR Prefix X SYMBOL bi2 336 -144 R0 SYMATTR InstName B1 SYMATTR Value I=I(I1) SYMBOL bi2 672 -144 R0 SYMATTR InstName B2 SYMATTR Value I=I(I1) SYMBOL diode 1104 -128 R0 SYMATTR InstName D4 SYMATTR Value mydiode4 SYMATTR Prefix X SYMBOL bi2 992 -144 R0 SYMATTR InstName B3 SYMATTR Value I=I(I1) SYMBOL bi2 1312 -144 R0 SYMATTR InstName B4 SYMATTR Value I=I(I1) SYMBOL diode 1424 -128 R0 SYMATTR InstName D5 SYMATTR Value mydiode5 SYMATTR Prefix X TEXT -32 160 Left 0 !* PSPICE, (LTspice)\n.subckt mydiode1 A K\nVid A 1 DC 0\nEmydiode 1 K table {I(vid)} = (-1uA, -10V) (-0.5uA, -1mV) (0A, 0V) (0.2A, 0.4V) (1A, 0.45V) (2A, 0.463V) (5A, 0.5V)\n.ends TEXT -32 336 Left 0 !* LTspice\n.subckt mydiode2 A K\nVid A 1 DC 0\nBV1 1 K V=table(I(Vid), -1uA,-10V, -0.5uA,-1mV, 0A,0V, 0.2A,0.4V, 1A, 0.45V, 2A, 0.463V, 5A, 0.5V)\n.ends TEXT 0 -264 Left 0 !.dc I1 0 5 .01 TEXT -32 512 Left 0 !* LTspice\n.subckt mydiode3 A K\n*Rp A K 1G ; necessary for better convergence behavior\nC1 A K 1p rpar=1G ; cap/rpar parallel for better convergence\nBI1 A K I=table(V(A,K), -10V,-1uA, -1mV,-0.5uA, 0V,0A, 0.4V,0.2A, 0.45V,1A, 0.463V,2A, 0.5V,5A)\n.ends TEXT -16 -520 Left 0 ;Simulation Models For a Table Based Characteristic Of a Diode\n \nmydiode1: PSPICE syntax, LTspice knows it too\n \nmydiode2,3,4,5: preferred LTspice syntax TEXT 672 -400 Left 0 ;This is the way to make a ".model"-symbol to a "subcircuit"-symbol.\nCtrl+RightMouseClick on the diode to get the full dialog\nwindow. Then change Prefix:D to Prefix:X TEXT -32 704 Left 0 !* LTspice\n.subckt mydiode4 A K\n*Rp A K 1G ; necessary for better convergence behavior\nC1 A K 1p rpar=1G ; cap/rpar parallel for better convergence\nG A K A K table=(-10V,-1uA, -1mV,-0.5uA, 0V,0A, 0.4V,0.2A, 0.45V,1A, 0.463V,2A, 0.5V,5A)\n.ends TEXT -32 896 Left 0 !* LTspice\n.subckt mydiode5 A K\n*Rp A K 1G ; necessary for better convergence behavior\nC1 A K 1p rpar=1G ; cap/rpar parallel for better convergence\nI1 A K TBL=(-10V,-1uA, -1mV,-0.5uA, 0V,0A, 0.4V,0.2A, 0.45V,1A, 0.463V,2A, 0.5V,5A)\n.ends