The Designer's Guide Community Forum
https://designers-guide.org/forum/YaBB.pl Simulators >> Circuit Simulators >> How to define missing node https://designers-guide.org/forum/YaBB.pl?num=1181113337 Message started by krishnap on Jun 6th, 2007, 12:02am |
Title: How to define missing node Post by krishnap on Jun 6th, 2007, 12:02am one of the extracted nelist for spectre has the following pattern : inline subckt pmos (s g d b sub) MP (2 3 3 0) pmos l=4u w=4u $bulk=bulk inline subcircuit has 5 nodes and device instance has 4 node and 5th node is at the end as variable. Spectre simulation gives warning saying it expects 5 nodes and there are 4 nodes. How to attach the variable to the 5th node in inline subckt ? |
Title: Re: How to define missing node Post by Andrew Beckett on Aug 27th, 2007, 2:32pm Well, that's not valid spectre syntax. You'll have to pass the connection as a connection, not a parameter. Also, I don't think parameters are allowed to have dollar signs in the name. Regards, Andrew. |
Title: Re: How to define missing node Post by Geoffrey_Coram on Aug 28th, 2007, 4:20am Andrew - I'm not entirely sure about the question, but it looks like krishnap has a problem that the netlist has MP1 (d g s b sub) pmos l=1u w=4u and the library has .model pmos bsimsoi type=p ... where (I'm guessing) the device "bsimsoi" has four fixed terminals and then some optional terminals that are passed to the model evaluation code as parameters. (As I recall, in the spice3 code, there are up to 3 optional terminals, and there's some funny business in recognizing the tokens as terminals.) I don't know what model krishnap really has, nor if Spectre has any built-ins that have terminals passed as parameters (it appears that Spectre's bsimsoi has optional terminals but they're inside the parentheses, not passed as parameters). Or maybe the library has a .subckt definition of pmos. Do subckts support optional terminals? -Geoffrey |
Title: Re: How to define missing node Post by John O Donovan on Aug 28th, 2007, 4:46am As Andrew said, the if the subckt definition has 5 terminals, the instance must also have 5 terminals. Even in SPICE this is the rule for subckts. For older MOS models/BJT models the bulk node could be specified on the MODEL statement and then only 3 terminals specified on the instance (I'm guessing that this was for backward compatibility with a lot of netlists that only had the d g s or c b e connections), but for the SOI type devices, I think that the extra nodes are now passed on the instance line as regular nodes. Regards John |
Title: Re: How to define missing node Post by Geoffrey_Coram on Aug 28th, 2007, 6:27am John O Donovan wrote on Aug 28th, 2007, 4:46am:
What was the syntax for that MODEL statement? Does it use a $ as the original poster did? It sounds like the extracted netlist now has an extra terminal (presumably, the schematic netlister put out only 3 terminals), and perhaps the poster was trying to use the existing library files with the extracted netlist, perhaps overriding the bulk node in the MODEL statement with the layout node. But, I'm just guessing, so maybe we'd best wait for the original poster to clarify his question before we try to solve a different problem. |
Title: Re: How to define missing node Post by John O Donovan on Sep 4th, 2007, 5:11pm Geoffrey, SPICE like simulators used to have the BULK model parameter, where you would specify the BULK connection. It think that BJT and older MOS models supported this. There were restrictions, e.g. some models required that the connection be a top-level global node, others didn't. Anyway it didn't have $ in front of it. Regards, John |
The Designer's Guide Community Forum » Powered by YaBB 2.2.2! YaBB © 2000-2008. All Rights Reserved. |