PCB simulation before fab
Prev. Bloomberg · Gyfted. Systems and simulation infrastructure — the engine that runs your firmware against the circuit.
Most teams SPICE fragments of the design or emulate an MCU in isolation. Neither is “simulate the PCB.” Board-level simulation means the topology in your netlist — CS lines, shared buses, part identity — under the firmware you intend to ship.
What has to be true for pre-fab simulation to matter
Connectivity from the design of record, MPNs from the BOM, and peripherals that can NACK or stretch when silicon would. A pretty 3D board view is not simulation. Neither is a DRC clean sheet.
Failures worth finding before copper
Wrong alternate functions, two devices on one address, SPI CS on the wrong GPIO, init order that races a rail, bus timing the part will not tolerate. Those are respin-class. RF and sensor physics still need articles.
A workflow at schematic freeze
Export netlist + BOM, build the simulated board, load firmware, run the bring-up checks you already planned for the lab. Keep the suite in CI so the next ECO cannot reintroduce a fixed bug.
# after the board is built: the bring-up checks, one fresh boot each
npx hardlabs run checks/bringup.scenario.yaml --firmware build/bringup.elfHardLabs
Send us your design. We'll send you a simulator.
We build a board simulator from your netlist, schematic, and BOM, run your real firmware against it, and fail CI when pinmux, buses, or timing contracts break.
- A working simulator of your board, built from netlist, schematic, and BOM.
- Peripheral models attached so your firmware can talk to the board.
- A setup that runs your real firmware binary — no rewrite required.
Related
- Simulate firmware without hardware
Simulate firmware without a board: where QEMU’s idealized peripherals fall short, and how board-level models catch pinmux and bus bugs before fab.
- Avoid integration respins
Avoid PCB respins caused by pinmux, bus, and timing mistakes — catch HW/FW integration bugs in simulation weeks before the first articles.
- Bring-up before the prototype
Simulate board bring-up before the first prototype: power-on assumptions, bus enumeration, and firmware init against your netlist.
- The I²C Timing Bug We Caught Four Weeks Before Fab
HardLabsAll topics