diff --git a/library/Xanalogue.lib b/library/Xanalogue.lib index f78f9cb4..b4b2c22c 100644 --- a/library/Xanalogue.lib +++ b/library/Xanalogue.lib @@ -1,29 +1,27 @@ - +* Modified TMH XSPICE controlled square wave oscillator with five cntl_array and freq_array points. XSPICE component "square". -Mike Brinson April 2016, mbrin2043@yahoo.co.uk +Mike Brinson April 2016, mbrin2043@yahoo.co.uk -Reference: Paolo Nenzi and Holger Vogt, Ngspice User Manual, Version 26, 11 January, 2014, -http://ngspice.sourceforge.net/docs/ngspice26-manual.pdf. +Reference: Paolo Nenzi and Holger Vogt, Ngspice User Manual +https://ngspice.sourceforge.io/docs.html .Def:Xanalogue_XA_CSQWO Pcntl_in Pout c1="-1" c2="-0.5" c3="0" c4="0.5" c5="1" f1="10" f2="10" f3="10" f4="1000" f5="1000" out_low="-1" out_high="1" duty_cycle="0.5" rise_time="1.0e-9" fall_time="1.0e-9" .Def:End - * Qucs 0.0.19 Xanalogue_XA_CSQWO.sch + * Qucs 0.0.19 Xanalogue_XA_CSQWO.sch .SUBCKT Xanalogue_XA_CSQWO gnd Pcntl_in Pout c1=-1 c2=-0.5 c3=0 c4=0.5 c5=1 f1=10 f2=10 f3=10 f4=1000 f5=1000 out_low=-1 out_high=1 duty_cycle=0.5 rise_time=1.0e-9 fall_time=1.0e-9 A1 %v(Pcntl_in) %v(Pout) XA_CSQWO_mod -.MODEL XA_CSQWO_mod square ( cntl_array=[ c1 c2 c3 c4 c5] -+ freq_array=[ f1 f2 f3 f4 f5 ] out_low=out_low out_high=out_high -+ duty_cycle=duty_cycle rise_time=rise_time fall_time=fall_time ) +.MODEL XA_CSQWO_mod square ( cntl_array=[ c1 c2 c3 c4 c5 ] freq_array=[ f1 f2 f3 f4 f5 ] out_low=out_low out_high=out_high duty_cycle=duty_cycle rise_time=rise_time fall_time=fall_time ) .ENDS @@ -53,10 +51,10 @@ XSPICE controlled sine wave oscillator with five cntl_array and freq_array point XSPICE component "sine". -Mike Brinson April 2016, mbrin2043@yahoo.co.uk +Mike Brinson April 2016, mbrin2043@yahoo.co.uk -Reference: Paolo Nenzi and Holger Vogt, Ngspice User Manual, Version 26, 11 January, 2014, -http://ngspice.sourceforge.net/docs/ngspice26-manual.pdf. +Reference: Paolo Nenzi and Holger Vogt, Ngspice User Manual +https://ngspice.sourceforge.io/docs.html @@ -68,8 +66,7 @@ http://ngspice.sourceforge.net/docs/ngspice26-manual.pdf. .SUBCKT Xanalogue_XA_CSWO gnd Pcntl_in Pout c1=-1 c2=-0.5 c3=0 c4=0.5 c5=1 f1=10 f2=10 f3=10 f4=1000 f5=1000 out_low=-1 out_high=1 A1 %v(Pcntl_in) %v(Pout) XA_CSWO_mod -.MODEL XA_CSWO_mod sine ( cntl_array=[ c1 c2 c3 c4 c5] -+ freq_array=[ f1 f2 f3 f4 f5 ] out_low=out_low out_high=out_high ) +.MODEL XA_CSWO_mod sine ( cntl_array=[ c1 c2 c3 c4 c5 ] freq_array=[ f1 f2 f3 f4 f5 ] out_low=out_low out_high=out_high ) .ENDS @@ -78,14 +75,14 @@ A1 %v(Pcntl_in) %v(Pout) XA_CSWO_mod - <.PortSym 80 0 2 180> - - <.PortSym 10 70 1 180> - <.ID -115 -165 XA_CSWO "1=c1=-1==" "1=c2=-0.5==" "1=c3=0==" "1=c4=0.5==" "1=c5=1==" "1=f1=10==" "1=f2=10==" "1=f3=10==" "1=f4=1000==" "1=f5=1000==" "1=out_low=-1==" "1=out_high=1=="> + + <.PortSym 10 70 1 180> + <.PortSym 80 0 2 180> + <.ID -115 -165 XA_CSWO "1=c1=-1==" "1=c2=-0.5==" "1=c3=0==" "1=c4=0.5==" "1=c5=1==" "1=f1=10==" "1=f2=10==" "1=f3=10==" "1=f4=1000==" "1=f5=1000==" "1=out_low=-1==" "1=out_high=1=="> @@ -95,23 +92,21 @@ XSPICE controlled triangle wave oscillator with five cntl_array and freq_array p XSPICE component "triangle". -Mike Brinson April 2016, mbrin2043@yahoo.co.uk +Mike Brinson April 2016, mbrin2043@yahoo.co.uk -Reference: Paolo Nenzi and Holger Vogt, Ngspice User Manual, Version 26, 11 January, 2014, -http://ngspice.sourceforge.net/docs/ngspice26-manual.pdf. +Reference: Paolo Nenzi and Holger Vogt, Ngspice User Manual +https://ngspice.sourceforge.io/docs.html .Def:Xanalogue_XA_CTWO Pcntl_in Pout c1="-1" c2="-0.5" c3="0" c4="0.5" c5="1" f1="10" f2="10" f3="10" f4="1000" f5="1000" out_low="-1" out_high="1" duty_cycle="0.5" .Def:End - * Qucs 0.0.19 Xanalogue_XA_CTWO.sch + * Qucs 0.0.19 Xanalogue_XA_CTWO.sch .SUBCKT Xanalogue_XA_CTWO gnd Pcntl_in Pout c1=-1 c2=-0.5 c3=0 c4=0.5 c5=1 f1=10 f2=10 f3=10 f4=1000 f5=1000 out_low=-1 out_high=1 duty_cycle=0.5 A1 %v(Pcntl_in) %v(Pout) XA_CTWO_mod -.MODEL XA_CTWO_mod triangle ( cntl_array=[ c1 c2 c3 c4 c5] -+ freq_array=[ f1 f2 f3 f4 f5 ] out_low=out_low out_high=out_high -+ duty_cycle=duty_cycle ) +.MODEL XA_CTWO_mod triangle ( cntl_array=[ c1 c2 c3 c4 c5 ] freq_array=[ f1 f2 f3 f4 f5 ] out_low=out_low out_high=out_high duty_cycle=duty_cycle ) .ENDS @@ -138,10 +133,10 @@ XSPICE analogue switch with LOG characteristic. XSPICE component "aswitch". -Mike Brinson April 2016, mbrin2043@yahoo.co.uk +Mike Brinson April 2016, mbrin2043@yahoo.co.uk -Reference: Paolo Nenzi and Holger Vogt, Ngspice User Manual, Version 26, 11 January, 2014, -http://ngspice.sourceforge.net/docs/ngspice26-manual.pdf. +Reference: Paolo Nenzi and Holger Vogt, Ngspice User Manual +https://ngspice.sourceforge.io/docs.html .Def:Xanalogue_XA_aswitch_LOG Pc Pin Pout cntl_off="0.0" cntl_on="1.0" r_off="1e12" r_on="1.0" @@ -152,9 +147,7 @@ http://ngspice.sourceforge.net/docs/ngspice26-manual.pdf. .SUBCKT Xanalogue_XA_aswitch_LOG gnd Pc Pin Pout cntl_off=0.0 cntl_on=1.0 r_off=1e12 r_on=1.0 A1 %v(Pc) %gd(Pin Pout) XA_aswitch_log -.MODEL XA_aswitch_log aswitch ( cntl_off=cntl_off -+ cntl_on=cntl_on r_off=r_off r_on=r_on -+ log=TRUE ) +.MODEL XA_aswitch_log aswitch ( cntl_off=cntl_off cntl_on=cntl_on r_off=r_off r_on=r_on log=TRUE ) .ENDS @@ -183,10 +176,10 @@ XSPICE controlled voltage limiter. XSPICE component "climit". -Mike Brinson April 2016, mbrin2043@yahoo.co.uk +Mike Brinson April 2016, mbrin2043@yahoo.co.uk -Reference: Paolo Nenzi and Holger Vogt, Ngspice User Manual, Version 26, 11 January, 2014, -http://ngspice.sourceforge.net/docs/ngspice26-manual.pdf. +Reference: Paolo Nenzi and Holger Vogt, Ngspice User Manual +https://ngspice.sourceforge.io/docs.html .Def:Xanalogue_XA_climiter Pin Pucon Plcon Pout gain="1.0" in_offset="0.0" limit_range="1e-6" upper_delta="0.0" lower_delta="0.0" @@ -197,9 +190,7 @@ http://ngspice.sourceforge.net/docs/ngspice26-manual.pdf. .SUBCKT Xanalogue_XA_climiter gnd Pin Pucon Plcon Pout gain=1.0 in_offset=0.0 limit_range=1e-6 upper_delta=0.0 lower_delta=0.0 A1 %v(Pin) %v(Pucon) %v(Plcon) %v(Pout) XA_climit_mod -.MODEL XA_climit_mod climit ( gain=gain -+ in_offset=in_offset limit_range=limit_range -+ upper_delta=upper_delta lower_delta=lower_delta ) +.MODEL XA_climit_mod climit ( gain=gain in_offset=in_offset limit_range=limit_range upper_delta=upper_delta lower_delta=lower_delta ) .ENDS @@ -232,10 +223,10 @@ XSPICE capacitance meter. XSPICE component "cmeter". -Mike Brinson April 2016, mbrin2043@yahoo.co.uk +Mike Brinson April 2016, mbrin2043@yahoo.co.uk -Reference: Paolo Nenzi and Holger Vogt, Ngspice User Manual, Version 26, 11 January, 2014, -http://ngspice.sourceforge.net/docs/ngspice26-manual.pdf. +Reference: Paolo Nenzi and Holger Vogt, Ngspice User Manual +https://ngspice.sourceforge.io/docs.html @@ -273,14 +264,14 @@ A1 %v(Pin) %v(Pout) XA_cmetermod -XSPICE double input differential block (with respect to time). +XSPICE double input differential block (with respect to time). XSPICE component "d_dt". -Mike Brinson April 2016, mbrin2043@yahoo.co.uk +Mike Brinson April 2016, mbrin2043@yahoo.co.uk -Reference: Paolo Nenzi and Holger Vogt, Ngspice User Manual, Version 26, 11 January, 2014, -http://ngspice.sourceforge.net/docs/ngspice26-manual.pdf. +Reference: Paolo Nenzi and Holger Vogt, Ngspice User Manual +https://ngspice.sourceforge.io/docs.html @@ -292,9 +283,7 @@ http://ngspice.sourceforge.net/docs/ngspice26-manual.pdf. .SUBCKT Xanalogue_XA_d_dt_DE gnd Pinp Pinn Poutp Poutn gain=1.0 out_offset=0.0 out_lower_limit=-10.0 out_upper_limit=10.0 limit_range=1e-6 A1 %vd(Pinp Pinn) %vd(Poutp Poutn) XA_d_dt_DEmod -.MODEL XA_d_dt_DEmod d_dt ( gain=gain out_offset=out_offset -+ out_lower_limit= out_lower_limit out_upper_limit=out_upper_limit -+ limit_range=limit_range ) +.MODEL XA_d_dt_DEmod d_dt ( gain=gain out_offset=out_offset out_lower_limit=out_lower_limit out_upper_limit=out_upper_limit limit_range=limit_range ) .ENDS @@ -307,16 +296,16 @@ A1 %vd(Pinp Pinn) %vd(Poutp Poutn) XA_d_dt_DEmod + + + + + <.PortSym -40 20 2 0> <.PortSym -40 -20 1 0> <.PortSym 60 -20 3 180> <.PortSym 60 20 4 180> - <.ID -60 74 XA_id_dt_DE "1=gain=1.0==" "1=out_offset=0.0==" "1=out_lower_limit=-10.0==" "1=out_upper_limit=10.0==" "1=limit_range=1e-6=="> - - - - @@ -326,10 +315,11 @@ XSPICE single input differential block (with respect to time). XSPICE component "d_dt". -Mike Brinson April 2016, mbrin2043@yahoo.co.uk +Mike Brinson April 2016, mbrin2043@yahoo.co.uk + +Reference: Paolo Nenzi and Holger Vogt, Ngspice User Manual +https://ngspice.sourceforge.io/docs.html -Reference: Paolo Nenzi and Holger Vogt, Ngspice User Manual, Version 26, 11 January, 2014, -http://ngspice.sourceforge.net/docs/ngspice26-manual.pdf. .Def:Xanalogue_XA_d_dt_SE Pin Pout gain="1.0" out_offset="0.0" out_lower_limit="-10" out_upper_limit="10" limit_range="1e-6" @@ -340,9 +330,7 @@ http://ngspice.sourceforge.net/docs/ngspice26-manual.pdf. .SUBCKT Xanalogue_XA_d_dt_SE gnd Pin Pout gain=1.0 out_offset=0.0 out_lower_limit=-10 out_upper_limit=10 limit_range=1e-6 A1 %v(Pin) %v(Pout) XA_d_dt_SEmod -.MODEL XA_d_dt_SEmod d_dt ( gain=gain out_offset=out_offset -+ out_lower_limit= out_lower_limit out_upper_limit=out_upper_limit -+ limit_range=limit_range ) +.MODEL XA_d_dt_SEmod d_dt ( gain=gain out_offset=out_offset out_lower_limit=out_lower_limit out_upper_limit=out_upper_limit limit_range=limit_range ) .ENDS @@ -353,9 +341,9 @@ A1 %v(Pin) %v(Pout) XA_d_dt_SEmod + <.PortSym 60 0 2 180> <.PortSym -40 0 1 0> - <.ID -40 54 XA_id_dt_SE "1=gain=1.0==" "1=out_offset=0.0==" "1=out_lower_limit=-10==" "1=out_upper_limit=10==" "1=limit_range=1e-6=="> @@ -366,10 +354,10 @@ XSPICE divide block (A/B). XSPICE component "divide". -Mike Brinson April 2016, mbrin2043@yahoo.co.uk +Mike Brinson April 2016, mbrin2043@yahoo.co.uk -Reference: Paolo Nenzi and Holger Vogt, Ngspice User Manual, Version 26, 11 January, 2014, -http://ngspice.sourceforge.net/docs/ngspice26-manual.pdf. +Reference: Paolo Nenzi and Holger Vogt, Ngspice User Manual +https://ngspice.sourceforge.io/docs.html @@ -381,9 +369,7 @@ http://ngspice.sourceforge.net/docs/ngspice26-manual.pdf. .SUBCKT Xanalogue_XA_divide_SE gnd PinA PinB Pout num_gain=1.0 num_offset=0.0 den_lower_limit=1e-10 den_domain=1e-10 out_gain=1.0 out_offset=0.0 A1 %v(PinA) %v(PinB) %v(Pout) XA_divide_DEmod -.MODEL XA_divide_DEmod divide ( num_gain=num_gain num_offset=num_offset -+ den_lower_limit=den_lower_limit den_domain=den_domain -+ out_offset=out_offset out_gain=out_gain ) +.MODEL XA_divide_DEmod divide ( num_gain=num_gain num_offset=num_offset den_lower_limit=den_lower_limit den_domain=den_domain out_offset=out_offset out_gain=out_gain ) .ENDS @@ -394,15 +380,15 @@ A1 %v(PinA) %v(PinB) %v(Pout) XA_divide_DEmod - <.PortSym -40 20 2 0> - <.PortSym -40 -20 1 0> - <.ID -40 64 XA_divide_DE "1=num_gain=1.0==" "1=num_offset=0.0==" "1=den_lower_limit=1e-10==" "1=den_domain=1e-10==" "1=out_gain=1.0==" "1=out_offset=0.0=="> - <.PortSym 60 0 3 180> - - + + + <.PortSym 60 0 3 180> + <.PortSym -40 20 2 0> + <.PortSym -40 -20 1 0> + <.ID -40 64 XA_divide_DE "1=num_gain=1.0==" "1=num_offset=0.0==" "1=den_lower_limit=1e-10==" "1=den_domain=1e-10==" "1=out_gain=1.0==" "1=out_offset=0.0=="> @@ -412,10 +398,10 @@ XSPICE differential input gain block. XSPICE component "gain". -Mike Brinson April 2016, mbrin2043@yahoo.co.uk +Mike Brinson April 2016, mbrin2043@yahoo.co.uk -Reference: Paolo Nenzi and Holger Vogt, Ngspice User Manual, Version 26, 11 January, 2014, -http://ngspice.sourceforge.net/docs/ngspice26-manual.pdf. +Reference: Paolo Nenzi and Holger Vogt, Ngspice User Manual +https://ngspice.sourceforge.io/docs.html @@ -439,17 +425,17 @@ A1 %vd(Pinp Pinn) %vd(Poutp Poutn) XA_gain_DEmod + + + + + + <.PortSym -40 20 2 0> <.PortSym -40 -20 1 0> <.PortSym 60 -20 3 180> <.PortSym 60 20 4 180> <.ID -40 64 XA_gain_DE "1=gain=1.0==" "1=in_offset=0.0==" "1=out_offset=0.0=="> - - - - - - @@ -459,10 +445,10 @@ XSPICE single input gain block. XSPICE component "gain". -Mike Brinson April 2016, mbrin2043@yahoo.co.uk +Mike Brinson April 2016, mbrin2043@yahoo.co.uk -Reference: Paolo Nenzi and Holger Vogt, Ngspice User Manual, Version 26, 11 January, 2014, -http://ngspice.sourceforge.net/docs/ngspice26-manual.pdf. +Reference: Paolo Nenzi and Holger Vogt, Ngspice User Manual +https://ngspice.sourceforge.io/docs.html @@ -484,11 +470,11 @@ A1 %v(Pin) %v(Pout) XA_gain_SEmod + + <.PortSym 60 0 2 180> <.PortSym -40 0 1 0> - - <.ID -30 64 XA_gain_SE "1=gain=1.0==" "1=in_offset=0.0==" "1=out_offset=0.0=="> - + <.ID -30 64 XA_gain_SE "1=gain=1.0==" "1=in_offset=0.0==" "1=out_offset=0.0=="> @@ -498,10 +484,10 @@ XSPICE hysteresis block. XSPICE component "hyst". -Mike Brinson April 2016, mbrin2043@yahoo.co.uk +Mike Brinson April 2016, mbrin2043@yahoo.co.uk -Reference: Paolo Nenzi and Holger Vogt, Ngspice User Manual, Version 26, 11 January, 2014, -http://ngspice.sourceforge.net/docs/ngspice26-manual.pdf. +Reference: Paolo Nenzi and Holger Vogt, Ngspice User Manual +https://ngspice.sourceforge.io/docs.html @@ -513,9 +499,7 @@ http://ngspice.sourceforge.net/docs/ngspice26-manual.pdf. .SUBCKT Xanalogue_XA_hyst gnd Pin Pout in_low=0.7 in_high=2.4 hyst=0.5 out_lower_limit=0.5 out_upper_limit=3.0 input_domain=0.01 A1 %v(Pin) %v(Pout) XA_hyst_mod -.MODEL XA_hyst_mod hyst ( in_low=in_low in_high=in_high -+ out_lower_limit= out_lower_limit out_upper_limit=out_upper_limit -+ hyst=hyst input_domain=input_domain ) +.MODEL XA_hyst_mod hyst ( in_low=in_low in_high=in_high out_lower_limit=out_lower_limit out_upper_limit=out_upper_limit hyst=hyst input_domain=input_domain ) .ENDS @@ -524,10 +508,7 @@ A1 %v(Pin) %v(Pout) XA_hyst_mod - <.PortSym 60 0 2 180> - <.PortSym -40 0 1 0> - - <.ID -50 64 XA_hyst "1=in_low=0.7==" "1=in_high=2.4==" "1=hyst=0.5==" "1=out_lower_limit=0.5==" "1=out_upper_limit=3.0==" "1=input_domain=0.01=="> + @@ -535,6 +516,9 @@ A1 %v(Pin) %v(Pout) XA_hyst_mod + <.PortSym 60 0 2 180> + <.PortSym -40 0 1 0> + <.ID -50 64 XA_hyst "1=in_low=0.7==" "1=in_high=2.4==" "1=hyst=0.5==" "1=out_lower_limit=0.5==" "1=out_upper_limit=3.0==" "1=input_domain=0.01=="> @@ -544,10 +528,10 @@ XSPICE single input current limiter. XSPICE component "ilimit". -Mike Brinson April 2016, mbrin2043@yahoo.co.uk +Mike Brinson April 2016, mbrin2043@yahoo.co.uk -Reference: Paolo Nenzi and Holger Vogt, Ngspice User Manual, Version 26, 11 January, 2014, -http://ngspice.sourceforge.net/docs/ngspice26-manual.pdf. +Reference: Paolo Nenzi and Holger Vogt, Ngspice User Manual +https://ngspice.sourceforge.io/docs.html @@ -559,11 +543,7 @@ http://ngspice.sourceforge.net/docs/ngspice26-manual.pdf. .SUBCKT Xanalogue_XA_ilimit_SE gnd Pin Pdcp Pdcn Pout gain=20.0 in_offset=0.0 r_out_source=1.0 r_out_sink=1.0 i_limit_source=1.0e-3 i_limit_sink=1.0e-2 i_sink_range=1.0e-6 i_source_range=1.0e-6 v_pwr_range=0.2 r_out_domain=1.0e-6 A1 %v(Pin) %g(Pdcp) %g(Pdcn) %g(Pout) XA_ilimit_mod -.MODEL XA_ilimit_mod ilimit ( gain=gain in_offset=in_offset -+ r_out_source=r_out_source r_out_sink=r_out_sink -+ i_limit_source=i_limit_source i_limit_sink=i_limit_sink -+ i_sink_range=i_sink_range i_source_range=i_source_range -+ v_pwr_range=v_pwr_range r_out_domain=r_out_domain ) +.MODEL XA_ilimit_mod ilimit ( gain=gain in_offset=in_offset r_out_source=r_out_source r_out_sink=r_out_sink i_limit_source=i_limit_source i_limit_sink=i_limit_sink i_sink_range=i_sink_range i_source_range=i_source_range v_pwr_range=v_pwr_range r_out_domain=r_out_domain ) .ENDS @@ -573,20 +553,20 @@ A1 %v(Pin) %g(Pdcp) %g(Pdcn) %g(Pout) XA_ilimit_mod - <.PortSym -40 0 1 0> - <.PortSym 60 0 4 180> - <.PortSym 20 60 3 0> - <.PortSym 20 -60 2 0> - + <.ID -69 82 XA_ilimit "1=gain=20.0==" "1=in_offset=0.0==" "1=r_out_source=1.0==" "1=r_out_sink=1.0==" "1=i_limit_source=1.0e-3==" "1=i_limit_sink=1.0e-2==" "1=i_sink_range=1.0e-6==" "1=i_source_range=1.0e-6==" "1=v_pwr_range=0.2==" "1=r_out_domain=1.0e-6=="> + <.PortSym -40 0 1 0> + <.PortSym 20 -60 2 0> + <.PortSym 60 0 4 180> + <.PortSym 20 60 3 0> @@ -596,10 +576,10 @@ XSPICE differential input integrator block. XSPICE component "int". -Mike Brinson April 2016, mbrin2043@yahoo.co.uk +Mike Brinson April 2016, mbrin2043@yahoo.co.uk -Reference: Paolo Nenzi and Holger Vogt, Ngspice User Manual, Version 26, 11 January, 2014, -http://ngspice.sourceforge.net/docs/ngspice26-manual.pdf. +Reference: Paolo Nenzi and Holger Vogt, Ngspice User Manual +https://ngspice.sourceforge.io/docs.html @@ -611,9 +591,7 @@ http://ngspice.sourceforge.net/docs/ngspice26-manual.pdf. .SUBCKT Xanalogue_XA_int_DE gnd Pinp Pinn Poutp Poutn gain=1.0 in_offset=0.0 out_lower_limit=-10.0 out_upper_limit=10.0 limit_range=1e-6 out_ic=0.0 A1 %vd(Pinp Pinn) %vd(Poutp Poutn) XA_int_DEmod -.MODEL XA_int_DEmod int ( gain=gain in_offset=in_offset -+ out_lower_limit= out_lower_limit out_upper_limit=out_upper_limit -+ limit_range=limit_range out_ic=out_ic ) +.MODEL XA_int_DEmod int ( gain=gain in_offset=in_offset out_lower_limit= out_lower_limit out_upper_limit=out_upper_limit limit_range=limit_range out_ic=out_ic ) .ENDS @@ -626,16 +604,16 @@ A1 %vd(Pinp Pinn) %vd(Poutp Poutn) XA_int_DEmod - <.PortSym -40 20 2 0> + + + + + + <.PortSym -40 20 2 0> <.PortSym -40 -20 1 0> <.PortSym 60 -20 3 180> <.PortSym 60 20 4 180> <.ID -40 64 XA_int_DE "1=gain=1.0==" "1=in_offset=0.0==" "1=out_lower_limit=-10.0==" "1=out_upper_limit=10.0==" "1=limit_range=1e-6==" "1=out_ic=0.0=="> - - - - - @@ -645,10 +623,10 @@ XSPICE single integrator block. XSPICE component "int". -Mike Brinson April 2016, mbrin2043@yahoo.co.uk +Mike Brinson April 2016, mbrin2043@yahoo.co.uk -Reference: Paolo Nenzi and Holger Vogt, Ngspice User Manual, Version 26, 11 January, 2014, -http://ngspice.sourceforge.net/docs/ngspice26-manual.pdf. +Reference: Paolo Nenzi and Holger Vogt, Ngspice User Manual +https://ngspice.sourceforge.io/docs.html @@ -660,9 +638,7 @@ http://ngspice.sourceforge.net/docs/ngspice26-manual.pdf. .SUBCKT Xanalogue_XA_int_SE gnd Pin Pout gain=1.0 in_offset=0.0 out_lower_limit=-10 out_upper_limit=10 limit_range=1e-6 out_ic=0.0 A1 %v(Pin) %v(Pout) XA_int_SEmod -.MODEL XA_int_SEmod int ( gain=gain in_offset=in_offset -+ out_lower_limit= out_lower_limit out_upper_limit=out_upper_limit -+ limit_range=limit_range out_ic=out_ic ) +.MODEL XA_int_SEmod int ( gain=gain in_offset=in_offset out_lower_limit= out_lower_limit out_upper_limit=out_upper_limit limit_range=limit_range out_ic=out_ic ) .ENDS @@ -672,10 +648,10 @@ A1 %v(Pin) %v(Pout) XA_int_SEmod + + <.PortSym 60 0 2 180> <.PortSym -40 0 1 0> - - <.ID -50 64 XA_int_SE "1=gain=1.0==" "1=in_offset=0.0==" "1=out_lower_limit=-10==" "1=out_upper_limit=10==" "1=limit_range=1e-6==" "1=out_ic=0.0=="> @@ -686,10 +662,10 @@ XSPICE differential voltage input limiter. XSPICE component "limit". -Mike Brinson April 2016, mbrin2043@yahoo.co.uk +Mike Brinson April 2016, mbrin2043@yahoo.co.uk -Reference: Paolo Nenzi and Holger Vogt, Ngspice User Manual, Version 26, 11 January, 2014, -http://ngspice.sourceforge.net/docs/ngspice26-manual.pdf. +Reference: Paolo Nenzi and Holger Vogt, Ngspice User Manual +https://ngspice.sourceforge.io/docs.html @@ -701,9 +677,7 @@ http://ngspice.sourceforge.net/docs/ngspice26-manual.pdf. .SUBCKT Xanalogue_XA_limiter_DE gnd Pinp Pinn Pout gain=1.0 in_offset=0.0 limit_range=1e-6 out_lower_limit=-10.0 out_upper_limit=10.0 A1 %vd(Pinp Pinn) %v(Pout) XA_limiter_DEmod -.MODEL XA_limiter_DEmod limit ( gain=gain -+ in_offset=in_offset limit_range=limit_range -+ out_lower_limit=out_lower_limit out_upper_limit=out_upper_limit ) +.MODEL XA_limiter_DEmod limit ( gain=gain in_offset=in_offset limit_range=limit_range out_lower_limit=out_lower_limit out_upper_limit=out_upper_limit ) .ENDS @@ -712,19 +686,19 @@ A1 %vd(Pinp Pinn) %v(Pout) XA_limiter_DEmod - <.ID -40 64 XA_limiter_DE "1=gain=1.0==" "1=in_offset=0.0==" "1=limit_range=1e-6==" "1=out_lower_limit=-10.0==" "1=out_upper_limit=10.0=="> - <.PortSym 60 0 3 180> - <.PortSym -40 -20 1 0> - <.PortSym -40 20 2 0> - - + + + <.PortSym 60 0 3 180> + <.PortSym -40 -20 1 0> + <.PortSym -40 20 2 0> + <.ID -40 64 XA_limiter_DE "1=gain=1.0==" "1=in_offset=0.0==" "1=limit_range=1e-6==" "1=out_lower_limit=-10.0==" "1=out_upper_limit=10.0=="> @@ -734,10 +708,10 @@ XSPICE single input voltage limiter. XSPICE component "limit". -Mike Brinson April 2016, mbrin2043@yahoo.co.uk +Mike Brinson April 2016, mbrin2043@yahoo.co.uk -Reference: Paolo Nenzi and Holger Vogt, Ngspice User Manual, Version 26, 11 January, 2014, -http://ngspice.sourceforge.net/docs/ngspice26-manual.pdf. +Reference: Paolo Nenzi and Holger Vogt, Ngspice User Manual +https://ngspice.sourceforge.io/docs.html @@ -749,9 +723,7 @@ http://ngspice.sourceforge.net/docs/ngspice26-manual.pdf. .SUBCKT Xanalogue_XA_limiter_SE gnd Pin Pout gain=1.0 in_offset=0.0 limit_range=1e-6 out_lower_limit=-10.0 out_upper_limit=10.0 A1 %v(Pin) %v(Pout) XA_limiter_SEmod -.MODEL XA_limiter_SEmod limit ( gain=gain -+ in_offset=in_offset limit_range=limit_range -+ out_lower_limit=out_lower_limit out_upper_limit=out_upper_limit ) +.MODEL XA_limiter_SEmod limit ( gain=gain in_offset=in_offset limit_range=limit_range out_lower_limit=out_lower_limit out_upper_limit=out_upper_limit ) .ENDS @@ -778,10 +750,10 @@ XSPICE inductance meter. XSPICE component "lmeter". -Mike Brinson April 2016, mbrin2043@yahoo.co.uk +Mike Brinson April 2016, mbrin2043@yahoo.co.uk -Reference: Paolo Nenzi and Holger Vogt, Ngspice User Manual, Version 26, 11 January, 2014, -http://ngspice.sourceforge.net/docs/ngspice26-manual.pdf. +Reference: Paolo Nenzi and Holger Vogt, Ngspice User Manual +https://ngspice.sourceforge.io/docs.html @@ -834,10 +806,10 @@ XSPICE two input voltage multipliier block. XSPICE component "mult". -Mike Brinson April 2016, mbrin2043@yahoo.co.uk +Mike Brinson April 2016, mbrin2043@yahoo.co.uk -Reference: Paolo Nenzi and Holger Vogt, Ngspice User Manual, Version 26, 11 January, 2014, -http://ngspice.sourceforge.net/docs/ngspice26-manual.pdf. +Reference: Paolo Nenzi and Holger Vogt, Ngspice User Manual +https://ngspice.sourceforge.io/docs.html @@ -849,9 +821,7 @@ http://ngspice.sourceforge.net/docs/ngspice26-manual.pdf. .SUBCKT Xanalogue_XA_mult_x2 gnd Pin1 Pin2 Pout ig1=1.0 ig2=1.0 io1=0.0 io2=0.0 out_gain=1.0 out_offset=0.0 A1 [ %v(Pin1) %v(Pin2) ] %v(Pout) XA_mult_x2mod -.MODEL XA_mult_x2mod mult ( in_gain=[ ig1 ig2 ] -+ in_offset=[ io1 io2 ] -+ out_gain=out_gain out_offset=out_offset ) +.MODEL XA_mult_x2mod mult ( in_gain=[ ig1 ig2 ] in_offset=[ io1 io2 ] out_gain=out_gain out_offset=out_offset ) .ENDS @@ -879,10 +849,10 @@ XSPICE three input multiplier block. XSPICE component "mult". -Mike Brinson April 2016, mbrin2043@yahoo.co.uk +Mike Brinson April 2016, mbrin2043@yahoo.co.uk -Reference: Paolo Nenzi and Holger Vogt, Ngspice User Manual, Version 26, 11 January, 2014, -http://ngspice.sourceforge.net/docs/ngspice26-manual.pdf. +Reference: Paolo Nenzi and Holger Vogt, Ngspice User Manual +https://ngspice.sourceforge.io/docs.html @@ -894,9 +864,7 @@ http://ngspice.sourceforge.net/docs/ngspice26-manual.pdf. .SUBCKT Xanalogue_XA_mult_x3 gnd Pin1 Pin2 Pin3 Pout ig1=1.0 ig2=1.0 ig3=1.0 io1=0.0 io2=0.0 io3=0.0 out_gain=1.0 out_offset=0.0 A1 [ %v(Pin1) %v(Pin2) %v(Pin3) ] %v(Pout) XA_mult_x3mod -.MODEL XA_mult_x3mod mult ( in_gain=[ ig1 ig2 ig3 ] -+ in_offset=[ io1 io2 io3 ] -+ out_gain=out_gain out_offset=out_offset ) +.MODEL XA_mult_x3mod mult ( in_gain=[ ig1 ig2 ig3 ] in_offset=[ io1 io2 io3 ] out_gain=out_gain out_offset=out_offset ) .ENDS @@ -927,10 +895,10 @@ XSPICE slew rate block. XSPICE component "slew". -Mike Brinson April 2016, mbrin2043@yahoo.co.uk +Mike Brinson April 2016, mbrin2043@yahoo.co.uk -Reference: Paolo Nenzi and Holger Vogt, Ngspice User Manual, Version 26, 11 January, 2014, -http://ngspice.sourceforge.net/docs/ngspice26-manual.pdf. +Reference: Paolo Nenzi and Holger Vogt, Ngspice User Manual +https://ngspice.sourceforge.io/docs.html @@ -942,8 +910,7 @@ http://ngspice.sourceforge.net/docs/ngspice26-manual.pdf. .SUBCKT Xanalogue_XA_slew gnd Pin Pout rise_slope=0.5e6 fall_slope=0.5e6 A1 %v(Pin) %v(Pout) XA_slew_mod -.MODEL XA_slew_mod slew ( rise_slope=rise_slope -+ fall_slope=fall_slope ) +.MODEL XA_slew_mod slew ( rise_slope=rise_slope fall_slope=fall_slope ) .ENDS @@ -952,19 +919,19 @@ A1 %v(Pin) %v(Pout) XA_slew_mod - <.PortSym 60 0 2 180> + + + + + + + + + + + <.PortSym 60 0 2 180> <.PortSym -40 0 1 0> - - <.ID -50 64 XA_slew "1=rise_slope=0.5e6==" "1=fall_slope=0.5e6=="> - - - - - - - - - + <.ID -50 64 XA_slew "1=rise_slope=0.5e6==" "1=fall_slope=0.5e6=="> @@ -974,10 +941,10 @@ XSPICE two input summer block. XSPICE component "summer". -Mike Brinson April 2016, mbrin2043@yahoo.co.uk +Mike Brinson April 2016, mbrin2043@yahoo.co.uk -Reference: Paolo Nenzi and Holger Vogt, Ngspice User Manual, Version 26, 11 January, 2014, -http://ngspice.sourceforge.net/docs/ngspice26-manual.pdf. +Reference: Paolo Nenzi and Holger Vogt, Ngspice User Manual +https://ngspice.sourceforge.io/docs.html @@ -989,9 +956,7 @@ http://ngspice.sourceforge.net/docs/ngspice26-manual.pdf. .SUBCKT Xanalogue_XA_summer_x2 gnd Pin1 Pin2 Pout ig1=1.0 ig2=1.0 io1=0.0 io2=0.0 out_gain=1.0 out_offset=1.0 A1 [ %v(Pin1) %v(Pin2) ] %v(Pout) XA_summer_x2mod -.MODEL XA_summer_x2mod summer ( in_gain=[ ig1 ig2 ] -+ in_offset=[ io1 io2 ] -+ out_gain=out_gain out_offset=out_offset ) +.MODEL XA_summer_x2mod summer ( in_gain=[ ig1 ig2 ] in_offset=[ io1 io2 ] out_gain=out_gain out_offset=out_offset ) .ENDS @@ -999,17 +964,17 @@ A1 [ %v(Pin1) %v(Pin2) ] %v(Pout) XA_summer_x2mod - - <.ID -40 64 XA_summer_x2 "1=ig1=1.0==" "1=ig2=1.0==" "1=io1=0.0==" "1=io2=0.0==" "1=out_gain=1.0==" "1=out_offset=1.0=="> + - + + + + <.ID -40 64 XA_summer_x2 "1=ig1=1.0==" "1=ig2=1.0==" "1=io1=0.0==" "1=io2=0.0==" "1=out_gain=1.0==" "1=out_offset=1.0=="> <.PortSym -40 -20 1 0> <.PortSym -40 20 2 0> <.PortSym 60 0 3 180> - - @@ -1019,10 +984,10 @@ XSPICE three input summer block. XSPICE component "gain". -Mike Brinson April 2016, mbrin2043@yahoo.co.uk +Mike Brinson April 2016, mbrin2043@yahoo.co.uk -Reference: Paolo Nenzi and Holger Vogt, Ngspice User Manual, Version 26, 11 January, 2014, -http://ngspice.sourceforge.net/docs/ngspice26-manual.pdf. +Reference: Paolo Nenzi and Holger Vogt, Ngspice User Manual +https://ngspice.sourceforge.io/docs.html @@ -1034,9 +999,7 @@ http://ngspice.sourceforge.net/docs/ngspice26-manual.pdf. .SUBCKT Xanalogue_XA_summer_x3 gnd Pin1 Pin2 Pin3 Pout ig1=1.0 ig2=1.0 ig3=1.0 io1=0.0 io2=0.0 io3=0.0 out_gain=1.0 out_offset=1.0 A1 [ %v(Pin1) %v(Pin2) %v(Pin3) ] %v(Pout) XA_summer_x3mod -.MODEL XA_summer_x3mod summer ( in_gain=[ ig1 ig2 ig3 ] -+ in_offset=[ io1 io2 io3 ] -+ out_gain=out_gain out_offset=out_offset ) +.MODEL XA_summer_x3mod summer ( in_gain=[ ig1 ig2 ig3 ] in_offset=[ io1 io2 io3 ] out_gain=out_gain out_offset=out_offset ) .ENDS @@ -1045,19 +1008,19 @@ A1 [ %v(Pin1) %v(Pin2) %v(Pin3) ] %v(Pout) XA_summer_x3mod - <.ID -40 64 XA_summer_x3 "1=ig1=1.0==" "1=ig2=1.0==" "1=ig3=1.0==" "1=io1=0.0==" "1=io2=0.0==" "1=io3=0.0==" "1=out_gain=1.0==" "1=out_offset=1.0=="> - <.PortSym -40 0 2 0> - <.PortSym -40 -40 1 0> - <.PortSym -40 40 3 0> - <.PortSym 60 0 4 180> - + + <.ID -40 64 XA_summer_x3 "1=ig1=1.0==" "1=ig2=1.0==" "1=ig3=1.0==" "1=io1=0.0==" "1=io2=0.0==" "1=io3=0.0==" "1=out_gain=1.0==" "1=out_offset=1.0=="> + <.PortSym -40 0 2 0> + <.PortSym -40 -40 1 0> + <.PortSym -40 40 3 0> + <.PortSym 60 0 4 180> @@ -1067,10 +1030,10 @@ XSPICE zener diode. XSPICE component "zener". -Mike Brinson April 2016, mbrin2043@yahoo.co.uk +Mike Brinson April 2016, mbrin2043@yahoo.co.uk -Reference: Paolo Nenzi and Holger Vogt, Ngspice User Manual, Version 26, 11 January, 2014, -http://ngspice.sourceforge.net/docs/ngspice26-manual.pdf. +Reference: Paolo Nenzi and Holger Vogt, Ngspice User Manual +https://ngspice.sourceforge.io/docs.html @@ -1082,9 +1045,7 @@ http://ngspice.sourceforge.net/docs/ngspice26-manual.pdf. .SUBCKT Xanalogue_XA_zener gnd PA PC v_breakdown=4.7 i_breakdown=0.02 r_breakdown=1 i_rev=1e-6 i_sat=1e-12 n_forward=1 A1 %gd(PA PC) XA_zenerMod -.MODEL XA_zenerMod zener ( v_breakdown=v_breakdown i_breakdown=i_breakdown -+ r_breakdown=r_breakdown i_rev=i_rev i_sat=i_sat -+ n_forward=n_forward ) +.MODEL XA_zenerMod zener ( v_breakdown=v_breakdown i_breakdown=i_breakdown r_breakdown=r_breakdown i_rev=i_rev i_sat=i_sat n_forward=n_forward ) .ENDS