documentation corrections

This commit is contained in:
Stefan Frederik 2021-10-12 23:13:59 +02:00
parent 53487ec796
commit a16e7e6e5d
2 changed files with 28 additions and 14 deletions

View File

@ -28,9 +28,9 @@ p{padding: 15px 30px 10px;}
</p>
<ul>
<li><kbd>type</kbd> defines the the type of symbol. Normally the type attribute describes the symbol
and ignored by XSCHEM, but there are some special types:</li>
and is ignored by XSCHEM, but there are some special types:</li>
<ul>
<li><kbd>subcircuit</kbd>: the symbol has an underlining schematic representation,
<li><kbd>subcircuit</kbd>: the symbol has an underlying schematic representation,
when producing the netlist XSCHEM has to descend into the corresponding schematic.
This will be covered in the subcircuits chapter. </li>
<li><kbd>primitive</kbd>: the symbol has a schematic representation, you can descend into it but the netlister
@ -168,11 +168,17 @@ type=nmos
<p>If set to <kbd>true</kbd> the <kbd>#n:net_name</kbd> symbol attributes will display the net names attached to pin terminals.
the <kbd>n</kbd> is a pin number or name.</p>
<li><kbd>place</kbd></li>
<p> this attribute is only useable in <kbd>netlist_commands</kbd> type symbols (<kbd>netlist.sym, code.sym,...</kbd>)
<p> This attribute is only useable in <kbd>netlist_commands</kbd> type symbols (<kbd>netlist.sym, code.sym,...</kbd>)
if set to <kbd>end</kbd> it tells XSCHEM that
the component instance of that symbol must be netlisted at the end, after all the other elements.
This is sometimes needed for SPICE commands that must ge given at the end of the netlist.
This will be explained more in detail in the <a href="...">netlisting</a> slide.</p>
This will be explained more in detail in the <a href="...">netlisting</a> slide.
<br>
The <kbd>place=header</kbd> attribute is only valid only for netlist_commands
type symbols and spice netlisting mode, it tells XSCHEM that this component must be
netlisted in the very first part of a spice netlist.
This is necessary for some spice commands that need to be placed before the rest of the netlist.
</p>
<li><kbd>generic_type</kbd></li>
<p><kbd>generic_type</kbd> defines the type of parameters passed to VHDL components. Consider the following
MOS symbol definition; the <kbd>model</kbd> attribute is declared as <kbd>string</kbd> and it will be

View File

@ -64,16 +64,20 @@ done
<h3> Notes for schematics targeted for spice simulations </h3>
<p>
Most of geda schematics do not define precise rules for spice netlisting.
primitive symbols are symbols that do not have a schematic representation, examples are the nmos and pmos transistors in first schematic.
they should have a <kbd>format</kbd> property
that defines how the symbol should be translated to spice netlist. See the relevant <a href="symbol_property_syntax.html">schem manual page</a>.
primitive symbols are symbols that do not have a schematic representation,
examples are the nmos and pmos transistors in first schematic.
They should have a <kbd>format</kbd> property
that defines how the symbol should be translated to spice netlist.
See the relevant <a href="symbol_property_syntax.html">schem manual page</a>.
<br>
Subcircuit symbols are symbols that translate to spice as a .subckt calls.
An example is the LATESN symbol in above picture.
Xschem convention is that subcircuit symbol instances have a name
attribute that begins with 'X' or 'x'. As with primitive symbols they also have a <kbd>format</kbd> global attribute, but the
<kbd>type=subcircuit</kbd> attribute states it is a subcircuit instance. After producing the instance call
(for example <kbd>X1 net1 net2 net3 ... subcircuit_name)</kbd>) for all instances of this symbol a .subckt expansion is also produced:
attribute that begins with 'X' or 'x'. As with primitive symbols they also have a
<kbd>format</kbd> global attribute, but the <kbd>type=subcircuit</kbd> attribute
states it is a subcircuit instance. After producing the instance call
(for example <kbd>X1 net1 net2 net3 ... subcircuit_name)</kbd>) for all instances
of this symbol a .subckt expansion is also produced:
</p>
<pre class="code">
.subckt subcircuit_name pin1 pin2 pin3 ...
@ -82,11 +86,15 @@ done
.ends
</pre>
<p>
After doing the conversion with <kbd>gschemtoxschem.awk</kbd> you should check your schematics and symbols and make the necessary corrections.<br>
In particular you should check that schematic pins match symbol pins, regarding pin name and direction. Xschem standard way is to use
After doing the conversion with <kbd>gschemtoxschem.awk</kbd> you should check your
schematics and symbols and make the necessary corrections.<br>
In particular you should check that schematic pins match symbol pins, regarding pin name and direction.
Xschem standard way is to use
<kbd>ipin.sym, opin.sym, iopin.sch</kbd> for input, output, inout pins, respectively.
Following image shows the original converted schematic and the hand-modified schematic with the proper pins. Note that VDD/GND pins have been removed
since the LATESN symbol does not have such supply pins. In spice netlist VDD/GND to the subcircuit is in this particular case passed via net-assign.
Following image shows the original converted schematic and the hand-modified schematic with the
proper pins. Note that VDD/GND pins have been removed
since the LATESN symbol does not have such supply pins.<br>
In spice netlist VDD/GND to the subcircuit is in this particular case passed via net-assign.
</p>
<img src = "tutorial_gschemtoxschem_03.png">
<br>