delorie.com/archives/browse.cgi   search  
Mail Archives: geda-user/2014/03/16/22:21:26

X-Authentication-Warning: delorie.com: mail set sender to geda-user-bounces using -f
X-Recipient: geda-user AT delorie DOT com
X-TCPREMOTEIP: 207.224.51.38
X-Authenticated-UID: jpd AT noqsi DOT com
From: John Doty <jpd AT noqsi DOT com>
Mime-Version: 1.0 (Apple Message framework v1085)
Subject: Re: [geda-user] single row .subckt
Date: Sun, 16 Mar 2014 20:20:36 -0600
In-Reply-To: <CAG4ve9+xPw3FvQQtVG5RUqOSZ_ZzYyUkbuFe9nFOZSS-GVxrHA@mail.gmail.com>
To: geda-user AT delorie DOT com
References: <CAG4ve9+xPw3FvQQtVG5RUqOSZ_ZzYyUkbuFe9nFOZSS-GVxrHA AT mail DOT gmail DOT com>
Message-Id: <90989E71-79DC-4CAE-8A33-EBCC26DDBFB4@noqsi.com>
X-Mailer: Apple Mail (2.1085)
Reply-To: geda-user AT delorie DOT com
Errors-To: nobody AT delorie DOT com
X-Mailing-List: geda-user AT delorie DOT com
X-Unsubscribes-To: listserv AT delorie DOT com

--Apple-Mail-226-103809229
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain;
	charset=utf-8


On Mar 16, 2014, at 3:21 PM, =D0=90=D0=BB=D0=B5=D0=BA=D1=81=D0=B5=D0=B9 =
=D0=A5=D0=B0=D1=80=D1=8C=D0=BA=D0=BE=D0=B2=D1=81=D0=BA=D0=B8=D0=B9 =
wrote:

> Hello all.
> I want to place to symbol single row model .subckt.
>=20
> Example of spice:
>=20
> .SUBCKT opamp 1 2 3 4 5
> B1 5 0 V =3D V(3)<1e5*(V(1)-V(2)) ? V(3) : V(4)>1e5*(V(1)-V(2)) ? V(4) =
: 1e5*(V(1)-V(2))
> .ends
>=20
> But I do not finded this in wiki.
> How I understand single row may be only .model
> refdes=3DU?
> model =3D ....
> model-name =3D name
>=20
> SUBCKT section adds by file mechanism:
> refdes=3DX?
> model-name =3D name
> file=3D/file
>=20
> Why?
>=20


Because the way that the spice and spice-sdb back ends are implemented, =
things like this must be implemented as special cases in the code. There =
are an unlimited number of such cases, but only a few are actually =
implemented. If you want another, you have to modify the Scheme code. =
That's a major motivation for https://github.com/noqsi/gnet-spice-noqsi.

In the spice-noqsi back end, you define how a symbol is to be =
represented in the SPICE netlist with a spice-prototype attribute. In =
this case (assuming your symbol has pinseq attributes in the correct =
order for the other back ends), you could use two multi-line attributes:

spice-prototype=3DX? %pinseq opamp
model@

model=3D.SUBCKT opamp 1 2 3 4 5
B1 5 0 V =3D V(3)<1e5*(V(1)-V(2)) ? V(3) : V(4)>1e5*(V(1)-V(2)) ? V(4) : =
1e5*(V(1)-V(2))
.ends

You can't put the model directly in the spice-prototype because it =
contains the "magic" character "?". I may consider a less crude quoting =
mechanism in the future.

You can also use pin number to specify connections in any order if =
pinseq isn't right: this gives you a way around the overloading of =
pinseq (also used for slotting). spice-noqsi can also imitate the way =
gnetlist natively handles hierarchy when flattening a netlist, allowing =
you to create hierarchical SPICE netlists representing circuits drawn =
for flat printed circuit designs.

John Doty              Noqsi Aerospace, Ltd.
http://www.noqsi.com/
jpd AT noqsi DOT com



--Apple-Mail-226-103809229
Content-Transfer-Encoding: quoted-printable
Content-Type: text/html;
	charset=utf-8

<html><head></head><body style=3D"word-wrap: break-word; =
-webkit-nbsp-mode: space; -webkit-line-break: after-white-space; =
"><br><div><div>On Mar 16, 2014, at 3:21 PM, =D0=90=D0=BB=D0=B5=D0=BA=D1=81=
=D0=B5=D0=B9 =D0=A5=D0=B0=D1=80=D1=8C=D0=BA=D0=BE=D0=B2=D1=81=D0=BA=D0=B8=D0=
=B9 wrote:</div><br class=3D"Apple-interchange-newline"><blockquote =
type=3D"cite"><div dir=3D"ltr"><div><div>Hello all.<br></div>I want to =
place to symbol single row model .subckt.<br></div><br>Example of =
spice:<br><div><br>.SUBCKT opamp 1 2 3 4 5<br>B1 5 0 V =3D =
V(3)&lt;1e5*(V(1)-V(2)) ? V(3) : V(4)&gt;1e5*(V(1)-V(2)) ? V(4) : =
1e5*(V(1)-V(2))<br>
.ends<br><br>But I do not finded this in wiki.<br></div><div>How I =
understand single row may be only =
.model<br></div><div>refdes=3DU?<br>model =3D =
....<br></div><div>model-name =3D name<br><br></div><div>SUBCKT section =
adds by file mechanism:<br>
<div>refdes=3DX?<br></div><div>model-name =3D =
name<br></div><div>file=3D/file<br></div><br></div><div>Why?<br></div><div=
><br></div></div>
</blockquote></div><div><br></div>Because the way that the spice and =
spice-sdb back ends are implemented, things like this must be =
implemented as special cases in the code. There are an unlimited number =
of such cases, but only a few are actually implemented. If you want =
another, you have to modify the Scheme code. That's a major motivation =
for&nbsp;<a =
href=3D"https://github.com/noqsi/gnet-spice-noqsi">https://github.com/noqs=
i/gnet-spice-noqsi</a>.<div><br></div><div>In the spice-noqsi back end, =
you define how a symbol is to be represented in the SPICE netlist with a =
spice-prototype attribute. In this case (assuming your symbol has pinseq =
attributes in the correct order for the other back ends), you could use =
two multi-line attributes:</div><div><br></div><div>spice-prototype=3DX? =
%pinseq opamp</div><div>model@</div><div><br></div><div>model=3D.SUBCKT =
opamp 1 2 3 4 5<br>B1 5 0 V =3D V(3)&lt;1e5*(V(1)-V(2)) ? V(3) : =
V(4)&gt;1e5*(V(1)-V(2)) ? V(4) : =
1e5*(V(1)-V(2))<br>.ends</div><div><br></div><div>You can't put the =
model directly in the spice-prototype because it contains the "magic" =
character "?". I may consider a less crude quoting mechanism in the =
future.</div><div><br></div><div>You can also use pin number to specify =
connections in any order if pinseq isn't right: this gives you a way =
around the overloading of pinseq (also used for slotting). spice-noqsi =
can also imitate the way gnetlist natively handles hierarchy when =
flattening a netlist, allowing you to create hierarchical SPICE netlists =
representing circuits drawn for flat printed circuit =
designs.</div><div><br></div><div><div><div>
<p style=3D"margin-top: 0px; margin-right: 0px; margin-bottom: 0px; =
margin-left: 0px; font-size: 12px; "><font face=3D"Helvetica" size=3D"3" =
style=3D"font: 12.0px Helvetica">John Doty<span =
class=3D"Apple-converted-space">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span =
class=3D"Apple-converted-space">&nbsp;</span><span =
class=3D"Apple-converted-tab">&nbsp; &nbsp;<span =
class=3D"Apple-converted-space">&nbsp;</span></span></span>Noqsi =
Aerospace, Ltd.</font></p><p style=3D"margin-top: 0px; margin-right: =
0px; margin-bottom: 0px; margin-left: 0px; font-size: 12px; "><a =
href=3D"http://www.noqsi.com/">http://www.noqsi.com/</a></p><p =
style=3D"margin-top: 0px; margin-right: 0px; margin-bottom: 0px; =
margin-left: 0px; font-size: 12px; "><font face=3D"Helvetica" size=3D"3" =
style=3D"font: 12.0px Helvetica"><a =
href=3D"mailto:jpd AT noqsi DOT com">jpd AT noqsi DOT com</a></font></p><span =
class=3D"Apple-style-span" style=3D"font-size: 12px; "><br =
class=3D"Apple-interchange-newline"></span>
</div>
<br></div></div></body></html>=

--Apple-Mail-226-103809229--

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019