Provided by: sch-rnd-core_0.9.3-1_amd64 bug

NAME

       boxsym-rnd - boxsym description syntax

DESCRIPTION

       A  boxsym file specifies symbol attributes and pins (terminals) for a single box symbol or
       for a set of inhomogenousely slotted box symbols.  When slotted symbols are generated, one
       symbol file is generated for each slot containing only the pins defined for the given slot
       (file name suffixed with slot name) and a monolith symbol is generated (using the original
       file name) with all pins in one large box.

   Syntax
       The  boxsym  syntax  is  a  plain text, line based, hierarchical file format with a syntax
       similar to tEDAx. Leading whitespace in lines are ignored.  Empty lines and lines starting
       with a hashmark (#) are ignored. The first word of a line is a command.

       If  the command is begin , the rest of the lines until the matching end line are read as a
       nested level of hierarchy. The syntax allows "begin in begin" (nesting to any depth).  The
       second word of begin and end are the type of the nested subtree.

       Commands issued outside of any begin-end blocks are said to be made in global scope.

   Refdes
       There  can  be  only  one refdes line, in global scope. The argument is a single word, the
       refdes attribute. If no refdes is specified, the default refdes is used.

   Attributes
       Attributes are symbol attributes. Attributes specified in the global scope will be present
       in  every  symbol generated from the file. Attributes specified for a slot will be present
       in the slot's symbol and in the monolith symbol.

       An attribute is defined in the following form:

       attr key value

       Key is a single word, value is anything up to the end of the line. This defintion  creates
       the  attribute  and  places  a  dyntext+floater  text  object  printing  the  value of the
       attribute. If command is attr_both , the text object is created  to  print  key=value.  If
       command is

       attr_invis the attribute is still created but no text object is made.

   Other global settings
       A  line  starting  with  text_size_mult  followed  by a decimal number (greater than zero)
       changes text pixel length allocation factor. Increasing values will allocate  more  pixels
       to each text in length (text height is not affected).

   Defining pins
       Pins  are  defined  using  a  pin  subtree:  begin  pin  pinname,  then lines defining pin
       properties and then an end pin. Pinname should be the textual, human readable name of  the
       pin (also used as an input for the optional devmap), not the physical pin number.

       For example:

       begin pin Vcc
            num 14
            loc top
       end pin
       begin pin B
            num 2:5:10:13
            loc left
            dir in
            invcirc
       end pin

       Within  the  pin block the num line specifies the physical footprint pin number; for a pin
       participating in a slot this should be a colon separated list of pin number per slot.

       The mandatory loc line specifies the location of the pin, the side of the box on which  it
       should be placed, one of: left, right, top or bottom.

       If  a  dir  line is present, extra "pin direction" graphics is drawn for the pin inside of
       the box. Values are in or out

       If invcirc is present, the pin will have a small circle near the box to indicate  the  pin
       is inverted.

       If  label  is present its value (anything written after "label") is printed within the box
       next to the pin instead of the pin name.

   Arranging pins
       By default pins are listed per side (loc), tightly packed, in order of appearance  in  the
       file  from  the  start  of the side. This can be changed using pinalign lines in global or
       slot scope:

       pinalign left center

       will arrange left side pins on the center (vertically).

   Defining a single box symbol
       The simplest form of box symbols emit a single file that has a single large box  with  all
       pins. The boxsym definition for such symbols contain the above described constructs and no
       "begin slot" subtrees.

   Defining inhomogenous slot symbol
       In an multi-box,  inhomogenous  slot  symbol  there  are  different  symbols  representing
       different sections of the component.

       The  typical  example  is an MCU which is split up into a couple of boxes: a few boxes per
       port groups and another few per peripheral types. Each box represents a slot that  appears
       only once in the MCU.

       Another typical example is logic ICs, e.g. 7400 implemented in two different slot symbols:
       one for power (Vcc and gnd), presents once in the component, and one for  a  3  pin  gate,
       same box used 4 times for 4 different slots.

       An inhomogenous slot symbol does not have any pin in global scope, but defines one or more
       "begin slot slotname" subtrees for all the different type  of  slots.  If  the  same  slot
       appears  multiple  times  in the component, it needs to be defined only once (and multiple
       pin numbers assigned in pin definitions.)

EXAMPLE

   Single box LDO
       refdes U??
       attr_invis sym-source       sch-rnd default symbol lib
       attr_invis sym-copyright    (C) 2022 Tibor 'Igor2' Palinkas
       attr_invis sym-license-dist GPLv2+
       attr_invis sym-license-use  Public Domain

       pinalign bottom center
       pinalign left center
       pinalign right center

       shape box
       begin pin in
            num 1
            loc left
       end pin

       begin pin gnd
            num 2
            loc bottom
       end pin

       begin pin out
            num 3
            loc right
       end pin

   Inhomogenous slot 7400
       refdes U??

       pinalign right center
       pinalign bottom center
       pinalign top center
       attr device 7400

       begin slot power
            shape box
            begin pin Vcc
                 num 14
                 loc top
            end pin
            begin pin gnd
                 num 7
                 loc bottom
            end pin
            pinalign top center
            pinalign bottom center
       end slot

       begin slot logic
            attr device 7400
            attr_both slot 1

            begin pin A
                 num 1:4:9:12
                 loc left
                 dir in
            end pin

            begin pin B
                 num 2:5:10:13
                 loc left
                 dir in
            end pin

            begin pin Z
                 num 3:6:8:11
                 loc right
                 dir out
                 invcirc
            end pin

            pinalign left center
            pinalign right center
       end slot

SEE ALSO

       boxsym-rnd(1)

                                            2022-03-28                              boxsym-rnd(5)