Schematic Output Conflict Review
Find classified outputs sharing a schematic net
Try an example: Review two connected outputs · Review a gate and a comparator joined by a net label · Review an empty schematic
How it works
Review a native Ohmforge schematic for pairs of catalogued push-pull outputs connected to the same net and show unclassified pin coverage.
- Uses the same bounded native-project validation, pin positions and net connectivity as the Ohmforge workspace.
- Classifies pins on the built-in AND, OR, NAND, NOR, XOR, NOT and comparator simulation symbols; other component pins are counted as unknown.
- Reports unordered pairs of classified push-pull outputs on the same resolved net, up to 100 pairs. Ground and net labels connect nets but are not treated as drivers.
- The count includes all pairs on a net, even if the displayed list is truncated. Pin roles describe the built-in simulation symbols and may not match a physical component.
This limited check does not establish circuit correctness or safety. It does not check power, voltage compatibility, ratings, undriven inputs, or physical design rules.
Sources
Part of Ohmforge
-
Ohmforge Virtual electronics workbench
Draw a circuit, switch it on, and measure it with real-feeling bench instruments.
Related tools
- Schematic Connectivity Review – Find common schematic connection issues
- Ohmforge DC Operating Point – SPICE netlist in, node voltages, branch currents, power and overload warnings out.
Find logic outputs that drive the same net
Check an Ohmforge schematic for gate and comparator outputs wired together, and see which pins the check could not classify.
What it is for
Two push-pull outputs on one net fight each other: when one drives high and the other low, the result is an undefined level and, in real hardware, a large current through both output stages. Schematic Output Conflict Review looks for exactly this mistake in a saved Ohmforge project. Paste the contents of an exported .ohmforge.json file and it lists every pair of catalogued outputs that end up on the same net, whether through wires, a T-junction or matching net labels.
The check is deliberately narrow. It only knows pin roles for the built-in AND, OR, NAND, NOR, XOR and NOT gates and the comparator model. Every other pin (resistors, transistors, op-amps, supply pins of the comparator) is counted as unclassified and is never assumed to be safe. It does not check power, voltage compatibility, ratings, undriven inputs or anything on a physical board.
Worked example
Choose Review two connected outputs. The project has two inverters: U1's output Y sits at grid point 3, 0 and a wire runs from there to U2's output at 13, 4. The summary reads "1 classified output pair shares a net. Every component pin has a catalogued role." The table shows one row, U1.Y, U2.Y on net N002. All four pins (two inputs, two outputs) are classified, so nothing was skipped.
Now choose Review a gate and a comparator joined by a net label. There is no wire between the two parts: the NAND output U1.Y and the comparator output U2.OUT each carry a label named SIG, and labels with the same name connect. The tool reports one pair, U1.Y and U2.OUT on net SIG, and says "4 component pins are unclassified." Those four are the two resistor pins and the comparator's V+ and V− supply pins. The pair count is reliable for the classified pins only; the four others were not examined.
Review an empty schematic returns "No classified output pairs share a net." That is not a pass mark: there is simply nothing to check.
How to read the result
The coverage metrics come first: output pairs found, pairs shown, pairs omitted, classified pins and unclassified pins. Read the unclassified count before trusting a zero. A schematic built mostly from transistors can show no conflicts because almost nothing was classified.
Each table row names the two terminals as part.pin plus the net name. In the JSON result every terminal also carries its grid point, so a script can point to it. Three or more outputs on one net produce every pair: three outputs give three pairs. The list stops at 100 pairs, but the total and the omitted count always include all of them.
Tips and common mistakes
- Net names such as N002 are generated and may change after you edit the schematic; use the part and pin names to find the problem.
- Labels are compared exactly, so SIG and sig are separate nets. A ground symbol and labels named 0 or GND (in any letter case) all join the ground net.
- Wires that only cross in the middle do not connect. A wire end touching another wire does.
- In the Ohmforge workspace the same check appears under Connectivity review as Output conflict review, with a Show button for each of the two parts.
- Open-drain or tri-state outputs are not modelled; the built-in gates are push-pull only.
FAQ
Does no conflict mean my logic circuit is correct?
No. It means none of the classified outputs share a net. Check inputs, supplies, logic levels and timing separately, and simulate the circuit.
Why are op-amp outputs not checked?
Their pin roles are not in the catalogue yet, so they count as unclassified. The tool reports them rather than guessing.
Can I check a KiCad schematic?
No. The tool accepts Ohmforge project JSON only, up to 200 KB and 200 parts. Use KiCad's own electrical rules check for KiCad projects.
Guide last updated:
For scripts and AI agents
- JSON API:
POST https://ohmforgeoutputconflictreview.usefulweb.site/api/v1/calculate(same calculation as this page) - Interface description: OpenAPI 3.1 · AI guide: llms.txt
- MCP server (Streamable HTTP):
https://ohmforgeoutputconflictreview.usefulweb.site/mcp· tool nameohmforge_output_conflict_review
Example request
curl -s -X POST https://ohmforgeoutputconflictreview.usefulweb.site/api/v1/calculate \
-H 'content-type: application/json' \
-d '{"project":"{\n \"format\": \"ohmforge\",\n \"version\": 1,\n \"name\": \"Output conflict\",\n \"parts\": [\n {\n \"id\": \"U1\",\n \"kind\": \"not\",\n \"x\": 0,\n \"y\": 0\n },\n {\n \"id\": \"U2\",\n \"kind\": \"not\",\n \"x\": 10,\n \"y\": 4\n }\n ],\n \"wires\": [\n {\n \"id\": \"W1\",\n \"pts\": [\n [\n 3,\n 0\n ],\n [\n 13,\n 0\n ],\n [\n 13,\n 4\n ]\n ]\n }\n ]\n}"}'