# lepton-tragesym

NAME
SYNOPSIS
DESCRIPTION
SOURCE FILE FORMAT
TUTORIAL
AUTHOR
SEE ALSO
COPYRIGHT

## NAME

lepton-tragesym - create Lepton EDA symbols from structured text files

## SYNOPSIS

lepton-tragesym SOURCE-FILE SYMBOL-FILE

## DESCRIPTION

lepton-tragesym creates lepton-schematic symbols from structured text files.

lepton-tragesym can:

| • |  | create pins, their elements (clocksign, negation bubble), and attributes (“pinnumber”, “pinseq”, “pintype”, and “pinlabel”);
| • |  | sort the pins alphabetically by their attributes;
| • |  | rotate pinlabel attributes of the top and bottom pins if requested;
| • |  | swap words in the pinlabel attributes if requested (only for attributes of the right and top pins, in the latter case only if rotation is also requested);
| • |  | do some syntax checking to the input file.

## SOURCE FILE FORMAT

General
Source file is a text file consisting of three sections:
• [geda_attr]
• [options]
• [pins]

Section name should be enclosed in square brackets.

Empty lines, lines consisting of whitespaces only, as well as lines beginning with the character ’#’ (comments) are silently ignored.

[options]
The section contains export settings. The following settings are supported:

| • |  | wordswap (boolean) |

Swap labels if the pin is on the right side and contains space between words, that is, looks like this: “PB1 (CLK)”. That may be useful for micro controller port labels.

| • |  | rotate_labels (boolean) |

Rotate the “pinlabel” attribute of the top and bottom pins by 90 degrees. This may be useful for large symbols like FPGAs with more than 100 pins.

| • |  | sort_labels (boolean) |

Sort the pins by their “pinlabel” attributes, which is useful for address ports, busses, etc.

| • |  | generate_pinseq (boolean) |

Automatically generate “pinseq” attributes for those pins whose corresponding field in the source file is empty. The generated attribute values are numbers incremented in the order the pin description lines appear in the [pins] section except for already existing numbers.

| • |  | sym_width (integer) |

Minimum box width of the resulting symbol.

| • |  | pinwidthvertical (integer) |

The vertical distance between pins on the left or right hand side of the symbol.

| • |  | pinwidthhorizontal (integer) |

The horizontal distance between pins on the top or bottom of the symbol.

The boolean values are specified in the source file by the words “yes” or “on” meaning TRUE and “no” or “off” meaning FALSE.

[geda_attr]
The section contains the list of Lepton symbol attributes (“name=value” pairs) which you would want to see in the symbol file. The attribute names may be separated by the equal or tabulation character (“=” or “\t”). The tab separator is supported for convenient export from spreadsheet programs.

[pins]
The section contains the description of symbol pins to be made, one pin per line. The pin description consists of seven tab separated fields, any of which may contain empty value (no character between tabs). The fields define the following pin attributes and properties:

| 1. |  | “pinnumber” attribute |

The “pinnumber” attribute represents the physical number of the component pin.

| 2. |  | “pinseq” attribute |

The “pinseq” attribute is used in Lepton to assign pin numbers for slotted components and by the SPICE backends to output pins in right order. Leave the field blank if it doesn’t matter.

| 3. |  | “pintype” attribute |

The “pintype” attribute defines the pin function (input, output, power, etc.) and can be one of “in”, “out”, “io”, “oc”, “oe”, “pas”, “tp”, “tri”, “clk”, or “pwr”. The attribute is used by the DRC backends to check component interconnection validity.

| 4. |  | pin style |

Pin style determines the appearance of the pin. It can be one of “line” (simple pin), “dot” (pin with negation bubble), “clk” (pin with clock symbol), “dotclk” (bubble and clock), “spacer” (not a pin, just additional empty space between two pins), or “none” (to add a virtual pin via the “net” attribute).

| 5. |  | pin position |

Pin position determines the side of the component the pin should be placed on. It can be “l” (left), “r” (right), “t” (top), “b” (bottom), or empty (“”) when the pin should be defined in the “net” attribute.

| 6. |  | pin net |

Specifies the net name of the pin to define via the “net” attribute, for example, “Vcc” or “GND”.

| 7. |  | “pinlabel” attribute |

The “pinlabel” attribute represents the visible pin label defining its name in the component, for example “A” (anode) or “C” (cathode) in a diode symbol. Negation lines can be added with “\_”, for example, “\_enable\_”. If you want to add the character “\”, use “\\” as escape sequence. This is supported by ’lepton-schematic’.

## TUTORIAL

There is a tutorial on the use of tragesym, the predecessor of lepton-tragesym, at:

http://wiki.geda-project.org/geda:tragesym_tutorial

## AUTHOR

The initial Python script has been written by Werner Hoch <werner.ho@gmx.de>. The program has been rewritten almost from scratch in Scheme by Vladimir Zhbanov <vzhbanov@gmail.com>.

## SEE ALSO

lepton-schematic(1),

## COPYRIGHT

Copyright © 2012-2017 gEDA Contributors.
Copyright © 2019-2022 Lepton EDA Contributors.
License GPLv2+: GNU GPL version 2 or later. Please see the ’COPYING’
file included with this program for full details.

This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.