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.

160 2. Tutorial<br />

In[27]:= twoportmna = CircuitEquations[twoport];<br />

DisplayForm[twoportmna]<br />

Out[28]//DisplayForm=<br />

1<br />

<br />

RB<br />

CM s CM s 1 0 V$1 0 <br />

1<br />

gm CM s <br />

RO<br />

CM s 0 1 V$2 0<br />

. ⩵⩵<br />

1 0 0 0 I$V1 V1<br />

<br />

<br />

0 1 0 0 I$V2 V2 <br />

In[29]:= ypar = Solve[twoportmna, {I$V1, I$V2}]<br />

V1 CM RB s V1 CM RB s V2<br />

Out[29]= I$V1 <br />

,<br />

RB<br />

I$V2 gm CM s V1 <br />

1 CM s V2<br />

RO<br />

The Y-parameters of the two-port circuit are given by the coefficients of V1 and V2 on the right-hand<br />

sides of the solutions.<br />

In[30]:= yrhs = {I$V1, I$V2} /. First[ypar];<br />

MatrixForm[yrhs]<br />

V1CM RB s V1CM RB s V2<br />

Out[31]//MatrixForm= <br />

RB<br />

<br />

<br />

gm CM s V1 <br />

1 CM s V2 <br />

<br />

To set up the Y-matrix we must extract the coefficient matrix from these two linear expressions, for<br />

example by computing the Jacobian with respect to V1 and V2.<br />

In[32]:= JacobianMatrix[eqs_, vars_] := Outer[D, eqs, vars]<br />

In[33]:= ymatrix = JacobianMatrix[yrhs, {V1, V2}];<br />

MatrixForm[ymatrix]<br />

RO<br />

1CM RB s<br />

Out[34]//MatrixForm= <br />

RB<br />

<br />

gm CM s<br />

1<br />

<br />

RO<br />

CM s<br />

<br />

CM s <br />

<br />

2.9.6 Advanced Transistor Modeling<br />

Implementation of MOS Models with Inline Design-Point Information<br />

By using the value-field keywords Value and Symbolic we can provide design-point information<br />

in subcircuit or model definitions. However, directly specifying numerical values in the netlist definition<br />

of a model object hardly makes sense because, in general, different model instances have<br />

different sets of design-point values. Therefore, instead of treating these values as global quantities<br />

we must pass individual parameter sets to every model instance.<br />

The techniques for passing parameters to subcircuit instances have already been dealt with in<br />

Chapter 2.3, and the same approaches can be used to handle instance-specific design-point information.<br />

Here, we just have to observe the additional requirement that every element in a model netlist now<br />

needs two symbolic parameters: one that represents the symbolic value of the element and one that<br />

is replaced by the associated numerical value during subcircuit expansion.

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

Saved successfully!

Ooh no, something went wrong!