Logic Gates¶
Logic gate definitions
-
class
schemdraw.logic.logic.
And
(*d, inputs: int = 2, nand: bool = False, inputnots: Optional[Sequence[int]] = None, **kwargs)¶ AND gate
- Parameters
inputs – Number of inputs to gate.
nand – Draw invert bubble on output
inputnots – Input numbers (starting at 1) of inputs that have invert bubble
- Anchors:
out in[X] - for each input
-
class
schemdraw.logic.logic.
Buf
(*d, **kwargs)¶ Buffer
- Anchors:
in out
-
class
schemdraw.logic.logic.
Not
(*d, **kwargs)¶ Not gate/inverter
- Anchors:
in out
-
class
schemdraw.logic.logic.
NotNot
(*d, **kwargs)¶ Double inverter
- Anchors:
in out
-
class
schemdraw.logic.logic.
Or
(*d, inputs: int = 2, nor: bool = False, xor: bool = False, inputnots: Optional[Sequence[int]] = None, **kwargs)¶ OR or XOR gate element.
- Parameters
inputs – Number of inputs to gate.
nor – Draw invert bubble on output
xor – Draw as exclusive-or gate
inputnots – Input numbers (starting at 1) of inputs that have invert bubble
- Anchors:
out in[X] - for each input
-
class
schemdraw.logic.logic.
Schmitt
(*d, **kwargs)¶ Schmitt Trigger
- Anchors:
in out
-
class
schemdraw.logic.logic.
SchmittAnd
(*d, **kwargs)¶ Schmitt Trigger AND
- Anchors:
in1 in2 out
-
class
schemdraw.logic.logic.
SchmittNot
(*d, **kwargs)¶ Inverted Schmitt Trigger
- Anchors:
in out
-
class
schemdraw.logic.logic.
Tgate
(*d, **kwargs)¶ Transmission gate.
- Anchors:
in out c cbar
-
logic_parser.
logicparse
(gateW: float = 2, gateH: float = 0.75, outlabel: Optional[str] = None) → schemdraw.schemdraw.Drawing¶ Parse a logic string expression and draw the gates in a schemdraw Drawing
Logic expression is defined by string using ‘and’, ‘or’, ‘not’, etc. for example, “a or (b and c)”. Parser recognizes several symbols and names for logic functions: [and, ‘&’, ‘∧’] [or, ‘|’, ‘∨’, ‘+’] [xor, ‘⊕’, ‘⊻’] [not, ‘~’, ‘¬’]
- Parameters
expr – Logic expression
gateH – Height of one gate
gateW – Width of one gate
outlabel – Label for logic output
- Returns
schemdraw.Drawing with logic tree