X-Authentication-Warning: delorie.com: mail set sender to geda-user-bounces using -f X-Recipient: geda-user AT delorie DOT com X-CMAE-Analysis: v=2.4 cv=MZ2pB7zf c=1 sm=1 tr=0 ts=6085b504 a=+cj0cO56Fp8x7EdhTra87A==:117 a=eUyJzqbhEySNDybPCGBi1A==:17 a=9+rZDBEiDlHhcck0kWbJtElFXBc=:19 a=dLZJa+xiwSxG16/P+YVxDGlgEgI=:19 a=IkcTkHD0fZMA:10 a=3YhXtTcJ-WEA:10 a=ff96NwxxAAAA:8 a=a1KZgU7cAAAA:8 a=Z85Ztu67dlVOSM03toAA:9 a=QEXdDO2ut3YA:10 a=-sV4_aUateZtNr-jtOmU:22 a=ng0hpkU2jXKPaRTLMVYJ:22 X-SECURESERVER-ACCT: glimrick AT epilitimus DOT com X-Original-DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=epilitimus.com; s=default; h=Content-Transfer-Encoding:Content-Type: In-Reply-To:MIME-Version:Date:Message-ID:From:References:To:Subject:Sender: Reply-To:Cc:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Id:List-Help: List-Unsubscribe:List-Subscribe:List-Post:List-Owner:List-Archive; bh=6r92N498RKMCSzQN0S45W/IXAwAh9W+z4pvMmwCWXGQ=; b=M1J4Juuwcy5wRF9Fe6J9rLFdv7 yan3714kXbiOQQXTXyu1dEZQ2wppo0Gn02jE+4JtGP7OWj+/cxOhKWira1w+xVKKnnH2JVened7eh UsRYtOjW3E9Z3ftHpQiaeTfKxkRPNdRQCA7YdGQxFnPBtwN1ARKiTABmbrYwdrBGpnVcCh/x010cn AEOnH1994Rn971PjZlJHXt49MJVXEXeMs52sLRu4ls/moSq1r2EAIm+1EpWhxuHj9SK/GrbHdxk/Q PNGst4yyagAUGBk4OD8rSMZJx+3zp/DVML4JBEoOar3sQx77yYZB1pS+Hg3wrQs2Mae6KoiuZQyrZ 5aN/m+gA==; Subject: Re: [geda-user] xspice integration To: geda-user AT delorie DOT com References: <9fe0dd9a-cbb8-a51f-f63d-36cd6d3a31c7 AT epilitimus DOT com> <4775a561-41ad-5368-271a-998ded5bfbc6 AT epilitimus DOT com> <07d13043-cd66-88f1-4b6c-172345c864e1 AT epilitimus DOT com> <0b41c755183717a5531a76db35f7b791 AT iae DOT nl> From: "Glenn (glimrick AT epilitimus DOT com) [via geda-user AT delorie DOT com]" Message-ID: Date: Sun, 25 Apr 2021 10:29:32 -0800 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/60.0 SeaMonkey/2.53.3 MIME-Version: 1.0 In-Reply-To: <0b41c755183717a5531a76db35f7b791@iae.nl> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-AntiAbuse: This header was added to track abuse, please include it with any abuse report X-AntiAbuse: Primary Hostname - a2plcpnl0121.prod.iad2.secureserver.net X-AntiAbuse: Original Domain - delorie.com X-AntiAbuse: Originator/Caller UID/GID - [47 12] / [47 12] X-AntiAbuse: Sender Address Domain - epilitimus.com X-Get-Message-Sender-Via: a2plcpnl0121.prod.iad2.secureserver.net: authenticated_id: glimrick AT epilitimus DOT com X-Authenticated-Sender: a2plcpnl0121.prod.iad2.secureserver.net: glimrick AT epilitimus DOT com X-Source: X-Source-Args: X-Source-Dir: X-CMAE-Envelope: MS4xfLdu5Io3wyFVdSfeVsIEa35QR5UlhgNiSz8fHPEAM+qfp9D5ad3FDXBGJoSgRtS2ssXIDSfqXLxm8KImyYyPpiX0I/S6sdDDfIoqwSjMsrdUdC74s3h8 yaAIRbOApAE5Ao6Im3NXNXT+QpCVSKQrO3Q6IAPvlABpY3yBYYkG2dZZsbGQP7NNv/66Yzi0lzj+I/gHLmiJ8K9dU/1ZmJFLN6W9bFx0v1ofzDrxAafDoFwr 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 Precedence: bulk mhx AT iae DOT nl wrote: > > XSPICE is not a SPICE superset. Maybe it should be called a symbiote. > First, XSPICE *adds* a completely new discrete event handler/simulation > engine to SPICE. Second, a new codemodel device is added to the list > of devices that NGSPICE supports. This codemodel can use both the old > analog simulator and the new event-base engine. > In part this is the result of my using a mental shorthand of xspice meaning "ngspice built with the --enable-xspice configuration switch". So yes XSPICE is distinct from SPICE but from the point of view of someone looking at processing a netlist, xspice is a superset of ngspice in as much as you aren't calling a different program just an extended version of the program, if that makes sense. Everything you say is true. I was trying to keep it simple. Roland may or may not be interested in all the gory details. I am relying on him to request more detail where he feels it is needed for what he is doing. > Because of the way it is written, XSPICE also adds new syntactic > elements to (NG)SPICE. The most important one is that it becomes > possible to not only handle pins, but also ports: lists of pins, > where each pin can have a specific type. Using ports it is possible > to have subcircuits that handle busses (e.g. a subcircuit that > supports not only a single AND device, but any number of these). > Interesting, I inquired on ngspice-user a while back about passing node vectors to subcircuits and pretty much got crickets back. Maybe that isn't what you are talking about here though. > I prefer to say that it is still done by hand. It still has to be > defined as a subcircuit using resistors, transistors etc., but > it can now also use the codemodel device in addition. And as a bonus, > one can add a dual 556 or quad timer 558 with no other changes > than specifying ports with a different number of pins. > Code models really aren't within the scope of the netlist generation software since they are in the ngspice/xspice code space. I was happy to see that ngspice now supports run time loading of code models but (at least in ngspice-34) they are loaded at init time and the ngspice core needs to know about them at build time. I have some preliminary ideas on changes which would make code model support truly dynamic, but that work is still very early. > Full support of XSPICE (or NGSPICE) needs changes to the schematic > entry package and the netlister. > You may want to look at what I have done so far. http://epilitimus.com/git_repos/xspice.git And feel free to offer any fixes/improvements. Glenn