doc updates (developer info)

This commit is contained in:
Stefan Schippers 2020-10-09 03:04:49 +02:00
parent f419381361
commit 7649cec683
1 changed files with 24 additions and 11 deletions

View File

@ -111,7 +111,7 @@ p{padding: 15px 30px 10px;}
<h2>XSCHEM FILE FORMAT SPECIFICATION</h2>
<p>
XSCHEM schematics and symbols are stored in .sch and .sym files respectively. The two file formats are identical, with the
exception that symbol (.sym) files do not contain wires and component instantiations.
exception that symbol (.sym) files usually do not contain wires and component instantiations (although they can).
</p>
<p>
every schematic/symbol object has a corresponding record in the file.
@ -122,9 +122,11 @@ p{padding: 15px 30px 10px;}
<li><kbd>S</kbd> : Global property associated to the .sch file for SPICE netlisting</li>
<li><kbd>V</kbd> : Global property associated to the .sch file for VERILOG netlisting</li>
<li><kbd>G</kbd> : Global property associated to the .sch file for VHDL netlisting OR
Global property associated to the .sym file for netlisting</li>
Global property associated to the .sym file for netlisting (in 1,2 file
format <kbd>K</kbd> is used, although backward compatibility is guaranteed)</li>
<li><kbd>E</kbd> : Global property associated to the .sch file for tEDAx netlisting</li>
<li><kbd>K</kbd> : Global property associated to the .sch file for netlisting if schematic is instantiated as a component (file format 1.2 and newer) </li>
<li><kbd>K</kbd> : Global property associated to the .sch/sym file for netlisting.<br>
For schematic it is used if instantiated as a component (file format 1.2 and newer) </li>
<li><kbd>L</kbd> : Line </li>
<li><kbd>B</kbd> : Rectangle </li>
<li><kbd>P</kbd> : Open / Closed polygon </li>
@ -184,11 +186,11 @@ T {NF=@nf} -5 -15 0 1 0.15 0.15 {}
<h3>VERSION STRING</h3>
<p>
Example: <kbd><br>
v {xschem version=2.8.2_RC3 file_version=1.0}</kbd>
v {xschem version=2.9.7 file_version=1.2}</kbd>
</p>
<p>
Two attributes are defined, the xschem version and the file format version.
Current file format version is 1.0. This string is guaranteed to be the first one in XSCHEM .sch and .sym files.
Current file format version is 1.2. This string is guaranteed to be the first one in XSCHEM .sch and .sym files.
</p>
<h3>GLOBAL SCHEMATIC/SYMBOL PROPERTIES</h3>
<p>
@ -204,14 +206,15 @@ template="name=U1 footprint=TO220"}</kbd>
Global properties define a property string bound to the parent schematic/symbol file,
there is one global property record per netlisting mode,
currently SPICE, VHDL, Verilog, tEDAx.<br>
In addition (only in file_format 1.2 and newer) for schematics there is a global attribute ('K')
that defines how to netlist the schematic if placed as a
symbol into another parent schematic (should be set in the same way as the 'G' global attribute for symbols).
Normally only 'G' type property strings are used for symbols and define attributes
In addition (only in file_format 1.2 and newer) for schematics and symbols there is a global attribute ('K')
that defines how to netlist the schematic/symbol if placed as a
symbol into another parent schematic (should be set in the same way as the 'G' global attribute for symbols
in pre-1.2 file format).
Normally only 'G' ('K' in 1.2 file format) type property strings are used for symbols and define attributes
telling netlisters what to do with the symbol, while global property
strings in schematic files corresponding to the active netlisting mode of XSCHEM are
copied verbatim to the netlist.<br>
the object tag (S, V, G, E) is followed by the property string enclosed in curly braces
the object tag (S, V, G, E, K) is followed by the property string enclosed in curly braces
(<kbd>{...}</kbd>). This allows strings to contain any white space and newlines.
Curly braces if present in the string are automatically escaped with the '\' character
by XSCHEM when saving data.<br>
@ -241,7 +244,17 @@ in this case only the verilog-related global property has some definition. This
with respect to its anchor point.
<img src="developer_info_03.png"></li>
<li> text X and Y sizes are stored as floating point numbers.</li>
<li> Finally a property string is stored with the same syntax as the displayed text field.</li>
<li> Finally a property string is stored with the same syntax as the displayed text field.
Currently the following attributes are predefined for text objects:<br><br>
<ul>
<li><kbd>font</kbd> Name of font to be used (ex: font=Arial)</li>
<li><kbd>layer</kbd> Number of layer to use for drawing (as in Xschem Layers menu)</li>
<li><kbd>hcenter</kbd> If set to <kbd>true</kbd> horizontal center text</li>
<li><kbd>vcenter</kbd> If set to <kbd>true</kbd> vertical center text</li>
<li><kbd>weight</kbd> If set to <kbd>bold</kbd> use bold style</li>
<li><kbd>slant</kbd> If set to <kbd> italic</kbd> or <kbd>oblique</kbd> use that style for text</li>
</ul>
</li>
</ul>
</p>
<h3>WIRE OBJECT</h3>