Renode board simulation from your netlist
Prev. Bloomberg · Gyfted. Systems and simulation infrastructure — the engine that runs your firmware against the circuit.
Renode is excellent at running Cortex-M firmware. The painful part is keeping a board description synchronized with the schematic. HardLabs generates that description from the design of record and refuses to silently drop chips it cannot model.
Why hand-written .repl files drift
Every ECO reshuffles buses and chip-selects. A platform file maintained by hand becomes fan fiction of last quarter’s schematic. Generating from the netlist + BOM keeps attachments tied to the files you already review in PRs.
What generation emits
A board .repl with the MCU platform include, peripheral attachments for I²C/SPI devices that have catalog models, and an honest gap list for everything else. Missing models are actionable (datasheet extract), not invisible holes.
using "platforms/cpus/stm32f4.repl"
u4_bmp280: HIP.BMP280 @ spi3
Cs => gpioPortA@15
// Gaps (not attached):
// U3 W25N01GVZEIG — matched catalog model W25N01GV after MPN stem resolveLoading in Renode
Include the compiled peripheral classes, create the machine, load the platform description. If a model is missing, fix the gap first — a green load with silent omissions is worse than a failed generate.
(monitor) include @compiled/BMP280.cs
(monitor) mach create
(monitor) machine LoadPlatformDescription @board.repl
(monitor) sysbus LoadELF @firmware.elf
(monitor) startFAQ
- Does this replace writing Renode peripherals?
- For catalog parts, yes — we compile behavioral models from datasheets. Custom ASICs still need model work; the generator will flag them.
HardLabs
What HardLabs does — join the design-partner pilot
We build a digital twin from your netlist, schematic, and BOM, run your real firmware against it, and fail CI when pinmux, buses, or timing contracts break — weeks before bring-up on hardware.
- A digital twin of your hardware, built from your netlist, schematic, and BOM.
- A virtual lab: scopes, logic analyzers, and firmware debuggers in simulation.
- Auto-flagging of power-sequence errors, output contention, and race conditions.
Related
- Firmware-in-the-loop
Firmware-in-the-loop against your netlist — not stubs. Run unmodified .elf images on MCU simulation with board-aware I²C/SPI models and CI assertions.
- KiCad → simulation
Take a KiCad netlist into firmware-in-the-loop simulation. Overlay the BOM, generate a Renode-oriented board platform, and test drivers before fab.
- Altium → simulation
Simulate firmware against Altium-designed connectivity before fab. Use design-of-record exports — not a hand-maintained virtual shield.
- HardLabs vs Renode
- INA219 model
