23.01.2015 Views

Download - Wolfram Research

Download - Wolfram Research

Download - Wolfram Research

SHOW MORE
SHOW LESS
  • No tags were found...

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

3.4 Expanding Subcircuits and Device Models 225<br />

DefaultSelector<br />

With the option DefaultSelector, you can specify the key used by ExpandSubcircuits to replace<br />

the right-hand sides of generic device model selector specifications in netlists generated with<br />

ReadNetlist (Section 3.10.1). The setting DefaultSelector −> selector causes all generic selectors<br />

to be replaced by the key selector. Possible values are:<br />

None<br />

"string"<br />

symbol<br />

do not use a default value for generic model selectors<br />

use "string" as default model selector<br />

use SymbolName[symbol] as default model selector<br />

Values for the DefaultSelector option.<br />

With the setting DefaultSelector −> None, ExpandSubcircuits will print an error<br />

message and abort upon encountering a generic Selector specification.<br />

Usually ExpandSubcircuits is automatically called by CircuitEquations which sets the<br />

DefaultSelector option to an appropriate value based on the chosen analysis mode.<br />

HoldModels<br />

With HoldModels −> patterns, you can specify a list of Mathematica patterns matching the names and<br />

selectors of model references ExpandSubcircuits should not expand. Note that the application of<br />

the HoldModels option is only necessary for advanced tasks. Usually there is no need to use this<br />

option.<br />

A practical application of the HoldModels option is to stop expansion of a hierarchical circuit<br />

description at the device level. The function ReadNetlist (Section 3.10.1) makes use of this feature<br />

to assign small-signal data read from a simulator output file to individual devices in a circuit which<br />

contain subcircuit definitions. The following values are allowed:<br />

pattern<br />

{pattern <br />

, pattern <br />

}<br />

{{pattern <br />

, pattern <br />

}, † † † }<br />

do not expand model references whose name specification<br />

matches pattern<br />

do not expand model references whose name specification<br />

matches pattern <br />

and whose selector specification matches<br />

pattern <br />

do not expand model references that match at least one of<br />

the pattern pairs<br />

Values for the HoldModels option.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!