Fixture · hard tier · Apache-2.0

Fixture: antmicro-jetson-orin-baseboard

A carrier board for the NVIDIA Jetson Orin system-on-module: a ten-sheet hierarchical design covering the SoM connectors, a multi-rail power tree, USB 2.0 and USB 3.0, gigabit Ethernet, HDMI, four-lane MIPI CSI camera inputs, M.2 sockets, and assorted peripherals.

This is the suite’s hard-tier fixture.

Attribution

Upstream: antmicro/jetson-orin-baseboard at commit 34f0e7f5, retrieved 2026-07-29. Copyright (c) 2022-2026 Antmicro per the upstream README, licensed Apache-2.0. The upstream license text is preserved verbatim in LICENSE.

All ten schematic sheets, the board, the project file, the custom design rules (.kicad_dru), and the project sym-lib-table and fp-lib-table are copied unmodified. Documentation, rendered images, and .kicad_prl were not copied. No design file was altered.

The two lib tables are copied even though both are empty ((version 7) and nothing else), because an empty project library table is a meaningful state: it is why the design resolves its symbols from the embedded cache, and omitting the files would misrepresent the fixture.

Why this board, and not Glasgow

FIXTURES.md named GlasgowEmbedded/glasgow revD0 as the lead hard-tier candidate and this board as the alternate. Measurement reversed that ordering.

Candidate Sheets ERC errors DRC errors Unconnected Parity
Glasgow revD0 11 26 1 0 0
Jetson Orin baseboard 10 0 6 0 0

Glasgow’s 26 ERC errors (24 power_pin_not_driven, 2 pin_to_pin) are not a library-resolution artifact. The obvious hypothesis was that they came from the bare checkout, so the experiment was run: revD0 was re-measured with Glasgow.kicad_sym and Glasgow.pretty vendored alongside it and project-local lib tables pointing at them. The result was byte-identical — same 26 errors, same 741 warnings. Those errors are genuine design state that upstream tolerates.

Zero ERC errors matters more than six geometry DRC errors, because ERC is what a schematic edit task is graded on. This board also happens to be the more interesting subject: a SoM carrier with a real power tree and several high-speed interfaces in tension is exactly the shape the hard tier was defined for.

Glasgow remains an attractive future fixture, and under the recorded-allowlist rule it is now vendorable; its 26 errors would simply have to be enumerated. It is not rejected, only outranked.

Baseline

Measured with kicad-cli 10.0.6:

Check Errors Warnings Detail
ERC 0 1,751 1,066 lib_symbol_issues, 678 footprint_link_issues, 6 same_local_global_label, 1 ground_pin_not_ground
DRC 6 226 4 hole_clearance, 1 courtyards_overlap, 1 zones_intersect; 199 lib_footprint_issues, 14 silk_over_copper, 10 silk_overlap, 3 silk_edge_clearance
Unconnected 0
Parity 0

Zero ERC errors, zero unconnected items and zero parity issues across ten hierarchical sheets is the best result of any hard-tier candidate vetted, and better than most simple-tier ones.

The six DRC errors are all geometry rules KiCad tightened after this board was laid out under KiCad 8: four hole_clearance (a hole closer to another feature than the 0.16 mm board-setup constraint allows), one courtyards_overlap, one zones_intersect. They are enumerated in fixture.json as the recorded allowlist, so drc_no_new_violations still fails on any error type that appears at run time but is absent there, or that exceeds its recorded count.

The 1,751 ERC warnings are the ordinary bare-checkout condition at this scale: the design references Antmicro’s vendor symbol and footprint libraries, and its own project lib tables are empty. All but one are library resolution; the lone ground_pin_not_ground appeared when the reference CLI moved from 10.0.4 to 10.0.6, and is a warning rather than an error, so it changes nothing a task is graded on.

Scale, and what it does to a surgicality bound

This fixture is two orders of magnitude larger than the simple tier, and the arithmetic is what makes a stated diff bound meaningful or meaningless.

Sheet Lines
usb.kicad_sch 67,406
supply.kicad_sch 53,202
som.kicad_sch 45,043
peripherals.kicad_sch 39,797
csi.kicad_sch 31,290
m-2.kicad_sch 31,153
jetson-orin-baseboard.kicad_sch (root) 26,553
usb3.kicad_sch 25,875
hdmi.kicad_sch 23,289
ethernet.kicad_sch 20,408
Total 364,016

The board is 1,799,902 lines.

A diff_ratio_max on this fixture must name the sheet it constrains. Five percent of the whole schematic set is 18,200 lines, which is not a constraint at all — it is permission to rewrite four sheets. Even 1 percent, the figure that works on the microphone board, is 3,640 lines here. A task that renames a net inside ethernet.kicad_sch should be bounded against that file’s 20,408 lines, at a ratio sized to roughly ten times a correct minimal edit, and should say so in its README. This is the fixture that makes the per-task calibration rule in FIXTURES.md section 6 non-negotiable rather than advisory.

The hierarchy is also the point. Ten sheets is enough for partial propagation to be a distinguishable failure mode: an agent that renames a net on supply.kicad_sch and does not carry it to the sheet pins on the root is doing something visibly different from doing the work correctly, which is precisely what a single-sheet fixture cannot show.

A note on size

The tree is 44 MB, of which 36 MB is the board file. It is copied into a fresh sandbox for every (task, model, repeat), so a 3-repeat run of one task across eight models copies roughly 1 GB. That is a real cost and it is the largest fixture the suite should acquire without first measuring sandbox materialization time; a hard-tier fixture is worth it once, but a second one at this size would want justification. Tasks that only need the schematic still pay for the board, because the sandbox is the whole tree.

Verifying this fixture

node scripts/hash-fixture.mjs --check fixtures/antmicro-jetson-orin-baseboard

Regenerating the baseline reports

Only when the reference kicad-cli version changes, and the new counts belong in fixture.json in the same commit. kicad-cli writes a .kicad_prl next to the project as a side effect; delete it before rehashing, or the tree hash will change:

cd fixtures/antmicro-jetson-orin-baseboard/tree
kicad-cli sch erc --format json -o ../baseline/erc.json jetson-orin-baseboard.kicad_sch
kicad-cli pcb drc --format json --schematic-parity -o ../baseline/drc.json jetson-orin-baseboard.kicad_pcb
rm -f jetson-orin-baseboard.kicad_prl

This page is rendered from fixtures/antmicro-jetson-orin-baseboard/README.md in the repository, at the commit the site was built from.

Provenance

From fixture.json. The hash covers only tree/, which is the part copied into the sandbox. Each task pins this hash, and result records made against a different hash are kept separate on the leaderboard.

UpstreamAntmicro Jetson Orin Baseboard
Commit34f0e7f5fbca441191e20ed55d93cf8614e12bed
Retrieved2026-07-29
LicenseApache-2.0 · verbatim LICENSE
CopyrightCopyright (c) 2022-2026 Antmicro, per the upstream README
ModificationsAll ten schematic sheets, the board, the project file, the custom design rules, and the (empty) project sym-lib-table and fp-lib-table copied verbatim from the upstream repository root. Documentation, rendered images, and .kicad_prl were not copied. No design file was altered.
Tree hash9ef3ef828b842bd1375c7eed13bf17b5135d3d70699c2a5e975ed38a1462afdc
KiCadauthored with 8.x, file format 20231120, verified with kicad-cli 10.0.6
Artifactsschematic: jetson-orin-baseboard.kicad_schboard: jetson-orin-baseboard.kicad_pcbproject: jetson-orin-baseboard.kicad_pro
Sourcefixture.json · design tree · baseline reports

Scale

The sizes that a task's diff-ratio bound is set against. A diff ratio is a fraction of the constrained file's line count, so the same percentage allows a very different amount of change on a small board than on a large one. Each task README shows the calculation for its own bound.

Sheets10
Symbols669
Schematic lines364,016
Board lines1,799,902
Signal netsCSI1_0_D0_P, CSI1_0_D0_N, CSIA_3V3, CSIA_5V, CSIA_3V3_ISET
Power nets+1V8, +3V3, +5V, +5V_SoM, 3V3_STDB, VDD_SoM, VCC, GND, GNDD

Baseline verification

Measured with kicad-cli 10.0.6 on the files as vendored. A baseline error is permitted only when it is enumerated here by type and accounted for in the README above; an unaccounted one disqualifies the board. Tasks check that a run adds no new violations on top of these counts, since a real board in a bare checkout rarely produces a clean report.

CheckErrorsError typesWarningsWarning typesDetail
ERC0none1751678 footprint_link_issues, 1 ground_pin_not_ground, 1066 lib_symbol_issues, 6 same_local_global_label
DRC61 courtyards_overlap, 4 hole_clearance, 1 zones_intersect226199 lib_footprint_issues, 3 silk_edge_clearance, 14 silk_over_copper, 10 silk_overlap0 unconnected, 0 parity

Zero ERC errors, zero unconnected items, and zero parity issues across ten hierarchical sheets, which is the best result of any hard-tier candidate vetted. The six DRC errors are all geometry rules that KiCad tightened after this board was laid out: four `hole_clearance`, one `courtyards_overlap`, one `zones_intersect`. They are enumerated here as the recorded allowlist, so drc_no_new_violations still catches anything an agent adds. The 1,066 `lib_symbol_issues` and 678 `footprint_link_issues` are the ordinary bare-checkout condition: this design references Antmicro's vendor libraries, and its own project sym-lib-table and fp-lib-table are empty.

Tasks on this fixture

No task runs on this fixture yet.