Provided by: sch-rnd-core_1.0.9-1build1_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
            funcmap
       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.

       If funcmap is present, the label is replaced with a dyntext that prints abstract attribute  funcmap/name.
       This  is useful for symbols that are going to use a funcmap (alternate pin function mapping). The funcmap
       file is normally also referenced from the component, setting the funcmap attribute to  the  funcmap  file
       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
       shape_fill yes
       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
            shape_fill yes
            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)