diff options
Diffstat (limited to 'graphics/circuit_macros/doc/defines.tex')
-rw-r--r-- | graphics/circuit_macros/doc/defines.tex | 38 |
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} |