Documentation‎ > ‎

Device Tag


Components are straightforward in TinyCAD, but TinyCAD users should see the Optimization and Statistical notes below.  TinyCad users should also check out the Smart Footprint page.

Optimization and Statistical Analysis

In TinyCAD, the optimization and statistical tags are added with a semicolon or colon between the value and the optimization and/or statistical tags. Everything after the semicolon or colon is directly injected into the Mason XML file. If a semicolon is used, then the optimization tag will not be displayed in the schematic.  If the colon is used, then the optimization tag will be displayed in the schematic.

It is not necessary to have both tags: one can add either the optimization tag, or the statistical tag, or both may be present.  It is necessary to have the value defined.  Statistical and optimization tags may be assigned within the variable block, or for a device's parameters.  If a device parameter is set with a variable, the optimization and statistical tags must be defined in the variable block with that variable.
Click on this picture to enlarge

Note that “opt” and “stat” do not both need to be set. If the “step” is not set for either optimizations or statistical analysis, or the step is set to zero, then the values are allowed to be continuous. The standard deviation may be set as an absolute value or it may be set as a percent of the value at the time of analysis (and not necessarily at the initial value set in the XML file). Files should have the step set to one.

Directly modifying the Mason File

Primitive components can also embed the parameters for statistical analysis and optimization in their definitions. Two flags are available, “opt” and “stat”:

    <series_res       node_list=”2 6”>
<r value=”50”>
<opt min=”25” max=”100” step=”5” />
<stat min=”25” max=”100” />
<microstrip node_list=”2 6”>
<width value=”30”>
<opt min=”15” max=”60” step=”3” />
<stat std_dev=”10 %” />
<length value=”120”>
<opt min=”100” max=”200" />
<stat std_dev=”2” />

If multiple optimization or statistical definitions are made, only the first will be used.

The optimization and statistical bounds (min, max, and step) must be constants-- they may not be variable. Do not try to optimize for non--constant values, e.g.:
   <width value=”width_50”> 
      == wrong, value is variable- stat and opt tag should be 
         defined in the variable block where width_50's value 
         is actually defined ==
      <opt min=”MIN” max=”MAX” step=”3”>
      ==opt is wrong, can’t use variable bounds ==
      <stat std_dev=”10 %”></stat>

Please also see the set option, an advanced optimizer feature.

Both File based (Touchstone) and Dynamic (Primitive) components can also be inverted for de-embedding.

The components use the aliases defined in the Models section. Each port of the device must be assigned to a node (note: care must be taken in the order of the listing of the nodes). Some components require additional information: primitives require their default values to be defined, and when multiple files are associated with an alias a default (one-based) index must be provided.

    <antenna node_list=”5   6   3   4”></antenna>
<match node_list=”1 5” value=”1”></match>
<match node_list=”2 6” value=”2”></match>
/----------\ /---------\
O---| |---O------O---| |---O
1 | matching | 5 5 | | 3
O---| |---O------O---| |---O
\----------/ | |
| |
| antenna |
| |
/----------\ | |
O---| |---O------O---| |---O
2 | matching | 6 6 | | 4
O---| |---O------O---| |---O
\----------/ \---------/

Primitives have a lot of flexibility in how they are defined, and this documentation cannot keep up with every primitive. Mason can generate a listing of the primitive definitions it has available. Some sample primitive declarations:

    <series_res           node_list=”2 6”>
<r value=”50”> </r>
<transmission_line node_list="3 5">
<z0 value = "100"> </z0>
<theta value = "angle_1"> </theta>
<f0 value = "150e6"> </f0>

Values may be complex numbers, if the format is (real, imag). In practice, complex numbers are hardly ever used.

    <GainBlock       node_list=”2 6”>
<Gain value=”(7.07,7.07)”> </Gain>

The values can optionally define units (please see Section 5.1), reference designators, and package types (the latter two are for the PADS flow).

    <theta    value="90" unit=”deg”> </theta>
<series_res node_list=”2 6” ref_des=”R1” pkg_type=”0402”>