PomeLabs

Xor Gate

3-state 2-input XOR gate with Schmitt-trigger inputs and ESD-protected UART ports for the PomeLabs Core Kit.

The PomeLabs XOR Gate Module (PML-XG-01) captures one of the most useful and counterintuitive operations in digital logic — output HIGH when inputs disagree, LOW when they match. It is the foundation of binary addition, parity checking, and controlled inversion. Built on the same configurable IC as the AND and NOT Gate Modules, it demonstrates how three entirely different logic behaviors emerge from the same silicon through configuration alone.

Revision: v1.0 | Part Number: PML-XG-01 | Series: PomeLabs Core Kit

Xor Gate

Pinout

Xor Gate Pinout

Schematic

Xor Gate Schematic

Digital Twin

In the PomeLabs App, the PML-XG-01 is mirrored as a digital twin in both the Playground and inside any Connect Activity. Drive both inputs independently from the App and watch the XOR output update in real time — step through all four input combinations to build the truth table interactively.

Controls — parameters you can set from the App

Logic input A  ·  pin S+_UL  ·  toggle, HIGH / LOW

Drives the first XOR input. Output goes HIGH when this differs from input B.

Logic input B  ·  pin S+_LL  ·  toggle, HIGH / LOW

Drives the second XOR input. Output goes HIGH when this differs from input A.

UART TX — Upper-Left / Lower-Left  ·  pins TX_UL-L, TX_LL-L  ·  serial data source

Drives USART1/USART3 transmit lines through D1/D3 ESD protection.

UART TX — Upper-Right / Lower-Right  ·  pins TX_UR-L, TX_LR-L  ·  serial data source

Drives USART2/USART4 transmit lines through D2/D4 ESD protection.

Monitors — values streamed back from the module

Gate output Y  ·  pins S+_UR / S+_LR  ·  digital indicator, HIGH / LOW

Live XOR output. HIGH when inputs differ; LOW when identical. Updates in real time as inputs change.

UART RX — all four ports  ·  serial data traces

Inbound data from downstream nodes through D1D4 ESD protection back to the Backend MCU.

Datasheet

1. Overview

The PML-XG-01 implements a 2-input Exclusive-OR gate using the SN74LVC1G99DCUR (U1) — the same ultra-configurable gate used in the AND and NOT Gate Modules, here configured as a 3-state XOR. OE is permanently tied LOW.

Output Y is HIGH only when inputs A (S+_UL) and B (S+_LL) differ from each other. When both inputs are the same — both LOW or both HIGH — output Y is LOW. Y drives both S+_UR and S+_LR simultaneously. The XOR configuration is unique within the SN74LVC1G99 function table: input B is routed to configuration pin D rather than a dedicated input, making it the most instructive configuration to compare against AND and NOT when studying how programmable logic works.

Four USBLC6-2P6 ESD protection devices (D1D4) protect all four UART ports.

2. BOM Components

Ref.TypeValue / PartRole on this module
U1Configurable logic gateSN74LVC1G99DCUR (TI)Configured as 3-state XOR: C = L, D = Input 2 (B), OE = GND. Schmitt-trigger inputs (0.56V0.56\,\mathrm{V} hysteresis typ at 3.3V3.3\,\mathrm{V}). SC-70-8 (DCUR) package.
D1ESD protection ICUSBLC6-2P6 (ST)IEC 610004261000-4-2 Level 44 ESD clamp on Upper-Left UART port. 3.5pF3.5\,\mathrm{pF} max. SOT-666.
D2ESD protection ICUSBLC6-2P6 (ST)IEC 610004261000-4-2 Level 44 ESD clamp on Upper-Right UART port. Identical to D1.
D3ESD protection ICUSBLC6-2P6 (ST)IEC 610004261000-4-2 Level 44 ESD clamp on Lower-Left UART port. Identical to D1.
D4ESD protection ICUSBLC6-2P6 (ST)IEC 610004261000-4-2 Level 44 ESD clamp on Lower-Right UART port. Identical to D1.
R1, R2Resistor4.7kΩ4.7\,\mathrm{k\Omega}Pull-up resistors on UART TX/RX lines to 3.3V3.3\,\mathrm{V}.
p1p4ConnectorNode headersFour node connectors exposing +5V+5\,\mathrm{V}, GND, S+, S−, RX/TX, TX/RX to downstream modules.

3. Electrical Specifications

All values at 25C25\,\mathrm{{}^\circ C} unless otherwise noted. Gate specifications from TI SCES609G (SN74LVC1G99, Rev. G, Nov 2013). ESD protection from ST DS4260 Rev. 7 (USBLC6-2P6, Dec 2021).

3.1 U1 — SN74LVC1G99DCUR

3.1.1 Absolute Maximum Ratings

Exceeding these values may permanently damage the device. Stress ratings only.

ParameterMax ValueUnit
Supply voltage (VCCV_{CC})0.5-0.5 to 6.56.5V
Input voltage (VIV_I)0.5-0.5 to 6.56.5V
Output voltage — high-Z or power-off state (VOV_O)0.5-0.5 to 6.56.5V
Output voltage — high or low state (VOV_O)0.5-0.5 to VCC+0.5V_{CC} + 0.5V
Input clamp current (IIKI_{IK})50-50mA
Output clamp current (IOKI_{OK})50-50mA
Continuous output current (IOI_O)±50\pm 50mA
Continuous current through VCCV_{CC} or GND±100\pm 100mA
Thermal impedance θJA\theta_{JA} — DCU package227227°C/W
Storage temperature (TstgT_{stg})65-65 to +150+150°C
ParameterMinMaxUnit / Notes
Supply voltage (VCCV_{CC}) — operating1.651.655.55.5V
Input voltage (VIV_I)005.55.5V — inputs accept up to 5.5V5.5\,\mathrm{V} regardless of VCCV_{CC}
Output voltage (VOV_O)00VCCV_{CC}V
High-level output current (IOHI_{OH}) @ VCC=3.3VV_{CC} = 3.3\,\mathrm{V}24-24mA (sourcing)
Low-level output current (IOLI_{OL}) @ VCC=3.3VV_{CC} = 3.3\,\mathrm{V}2424mA (sinking)
High-level output current (IOHI_{OH}) @ VCC=5VV_{CC} = 5\,\mathrm{V}32-32mA (sourcing)
Low-level output current (IOLI_{OL}) @ VCC=5VV_{CC} = 5\,\mathrm{V}3232mA (sinking)
Operating temperature (TAT_A)40-40125125°C

4. Truth Table

OEA (S+_UL)B (S+_LL)Y Output (S+_UR / S+_LR)
LLLL — inputs identical (both LOW), output LOW
LLHH — inputs differ, output HIGH
LHLH — inputs differ, output HIGH
LHHL — inputs identical (both HIGH), output LOW
HXXZ — output disabled (high impedance)

6. Pin Descriptions

All signal pins are referenced to GND.

Pin / Net NameDirectionDescription
S+_ULInputLogic input A to U1. Upper-Left signal — first XOR input. Y HIGH when this differs from B.
S+_LLInputLogic input B to U1. Lower-Left signal — second XOR input. Y HIGH when this differs from A.
S+_UR / S+_LROutputXOR output Y. HIGH when inputs differ; LOW when identical. Drives both output channels simultaneously.
TX_UL-L / TX_LL-LInputUART transmit from Backend MCU (USART1/USART3). Through D1/D3 ESD protection.
RX_UL-L / RX_LL-LOutputUART receive from Upper-Left and Lower-Left connectors. Through D1/D3 ESD protection.
TX_UR-L / TX_LR-LInputUART transmit from Backend MCU (USART2/USART4). Through D2/D4 ESD protection.
RX_UR-L / RX_LR-LOutputUART receive from Upper-Right and Lower-Right connectors. Through D2/D4 ESD protection.
5V-ModulePower In5V5\,\mathrm{V} supply. Powers VCCV_{CC} of U1 and VBUS of D1D4.
3V3Power In3.3V3.3\,\mathrm{V} logic rail for pull-up resistors R1R2 (4.7kΩ4.7\,\mathrm{k\Omega}).
GNDGroundCommon ground for all ICs and connectors.

7. Connection Guide & Common Errors

Correct power-up sequence:

  1. Connect GND first, shared across all modules on the common bus.
  2. Connect 5V-Module to a regulated 5V5\,\mathrm{V} source to power U1 and ESD clamp VBUS pins.
  3. Connect 3V3 rail for UART pull-up resistors.
  4. Verify OE is LOW (tied to GND on this module) — output should be active.
  5. Apply logic signals to S+_UL and S+_LL and observe output on S+_UR / S+_LR.

Common wiring errors and consequences:

MistakeSymptomCorrection
OE left floating on U1Output enters high-Z randomlyTie OE to GND. Never leave floating.
Input A or B left floatingUndefined input — XOR output unpredictableAlways drive both S+_UL (A) and S+_LL (B) from defined logic sources.
VCCV_{CC} to U1 exceeds 5.5V5.5\,\mathrm{V}U1 permanently damagedKeep VCC5.5VV_{CC} \leq 5.5\,\mathrm{V}.
Input signal exceeds 5.5V5.5\,\mathrm{V}Clamp current flows; damage if IIK>50mAI_{IK} > 50\,\mathrm{mA}Add series resistor if overvoltage risk exists.
Output Y driving load >50mA> 50\,\mathrm{mA}Current limit exceededKeep IOI_O within ±50mA\pm 50\,\mathrm{mA}.
USBLC6-2P6 VBUS unconnected on D1D4ESD protection ineffectiveConnect VBUS of D1D4 to 5V-Module.
Confusing XOR with XNORY LOW when inputs differ — opposite of expectedXOR: Y HIGH when inputs differ. XNOR: Y HIGH when inputs identical. Verify configuration pins.

Hands-on Labs

Get started with the PML-XG-01 through guided labs that build from truth table verification to half-adder construction and parity checking. Each lab opens in the PomeLabs app.

Use Cases

Coming soon.

How is this guide?

On this page