summaryrefslogtreecommitdiff
path: root/graphics/circuit_macros/doc/defines.tex
diff options
context:
space:
mode:
Diffstat (limited to 'graphics/circuit_macros/doc/defines.tex')
-rw-r--r--graphics/circuit_macros/doc/defines.tex38
1 files changed, 27 insertions, 11 deletions
diff --git a/graphics/circuit_macros/doc/defines.tex b/graphics/circuit_macros/doc/defines.tex
index f806236197..cf87a5b02f 100644
--- a/graphics/circuit_macros/doc/defines.tex
+++ b/graphics/circuit_macros/doc/defines.tex
@@ -197,17 +197,23 @@
{Assigns \$1 = arg4 if \$1 is nonblank; similarly \$2 = arg5 and \$3 = arg6}
\macrodef{Autologix}{Autologix}%
{({\sl Boolean function sequence},%
- [N[oconnect]][L[eftinputs]][R][V][M][;offset={\sl value}]}
+ [N[oconnect]][L[eftinputs]][R][V][M][;offset={\sl value}])}
{log}
- {Draw the Boolean expressions defined in function notation
- using {\tt And, Or, Not, Buffer, Xor, Nand, Nor, Nxor}
- and variables, e.g.,
+ {Draw the Boolean expressions defined in function notation.
+ The first argument is a semicolon (;)-separated sequence of
+ Boolean function specifications using the functions
+ {\tt And, Or, Not, Buffer, Xor, Nand, Nor, Nxor}
+ with variables, e.g.,
{\tt Autologix(And(Or(x1,~x2),Or(~x1,x2)));}.
- The Boolean functions are separated by semicolons (;). Function
- outputs are aligned vertically but appending
- {\tt:}{\sl location attribute} to a function can be used to place it.
+ Each function specification is of the form
+ {\tt {\sl function}({\sl arguments}) [@{\sl attributes}]}.
+ \par
+ Function outputs are aligned vertically but appending
+ {\tt@}{\sl attributes} to a function can be used to place it.
+ \par
+ The function arguments are variable names or nested Boolean functions.
Each unique variable {\sl var} causes an input point {\tt In}{\sl var}
- to be defined. Preceding the variable by a {\tt \~{}} causes a not gate
+ to be defined. Preceding the variable by a {\tt \~{}} causes a NOT gate
to be drawn at the input.
The inputs are drawn in a row at the upper left by default.
An {\tt L} in arg2 draws the inputs in a column at the left;
@@ -222,7 +228,16 @@
points with label {\tt In}{\sl var}.
Setting {\tt offset=}{\sl value} displaces the
drawn input list in order to disambiguate the input connections when {\tt L}
- is used}
+ is used.
+ \par
+ In the (possibly rare) case where one or more inputs of a normal function
+ gate is to have a NOT-circle, an additional first argument of the function
+ is inserted, of the form {\tt [{\sl charseq}]}, where {\sl charseq}
+ is a string containing the characters {\tt P} for a normal input or
+ {\tt N} for a negated input, the length of the string equal to the number
+ of gate inputs. For example:
+ {\tt Autologix(Xor([PN],And(x,y),And(x,y)),LRV)}}
+
\Letter{B}%
\macrodef{b\_}{b_}{}
{gen}
@@ -1199,9 +1214,10 @@ n|e|s|w,{\sl length})}
\macrodef{LH\_symbol}{LH_symbol}{([U|D|L|R|{\sl degrees}][I])}
{log}
{logic-gate hysteresis symbol; {\tt I=}inverted}
-\macrodef{lin\_ang}{lin_ang}{({\sl line-reference})}
+\macrodef{lin\_ang}{lin_ang}{({\sl line-reference}[,d])}
{gen}
- {the angle from {\tt .start} to {\tt .end} of a line or move}
+ {the angle of a line or move from {\tt .start} to {\tt .end} of a linear
+ object (in degrees if arg2={\tt d})}
\macrodef{lin\_leng}{lin_leng}{({\sl line-reference})}
{gen}
{length of a line, equivalent to {\sl line-reference}{\tt .len}