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  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 ig-
       nored.  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 de-
       fault refdes is used.

   Attributes
       Attributes are symbol attributes. Attributes specified  in  the	global
       scope  will be present in every symbol generated	from the file. Attrib-
       utes 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 ob-
       ject 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. In-
       creasing	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 tex-
       tual, human readable name of the	pin (also used as an input for the op-
       tional 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 sepa-
       rated 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 bot-
       tom.

       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 dif-
       ferent 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 dif-
       ferent 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 differ-
       ent type	of slots. If the same slot appears multiple times in the  com-
       ponent,	it needs to be defined only once (and multiple pin numbers as-
       signed 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)

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.0.quarterly>

home | help