Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
boxsym-rnd(5)			 sch-rnd manual 		   boxsym-rnd(5)

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 slot-
     ted  symbols are generated, one symbol file is generated for each slot con-
     taining 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 sin-
     gle 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  speci-
     fied  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 ob-
     ject 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  af-
     fected).

   Defining pins
     Pins  are defined using a pin subtree: begin pin pinname, then lines defin-
     ing pin properties and then an end pin. Pinname should be the textual,  hu-
     man  readable  name  of the pin (also used as an input for the optional de-
     vmap), 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 num-
     ber; 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 in-
     dicate 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 ab-
     stract attribute funcmap/name. This is useful for symbols that are going to
     use a funcmap (alternate pin function mapping). The funcmap  file	is  nor-
     mally  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  ap-
     pearance  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  rep-
     resenting 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 differ-
     ent slot symbols: one for power (Vcc and gnd), presents once in the  compo-
     nent,  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  de-
     fines 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 de-
     finitions.)

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)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=boxsym-rnd&sektion=5&manpath=FreeBSD+Ports+15.1.quarterly>

home | help