journal 2026-04-29

P10 TT wrapper hardens as a standalone sanity check

p10tinytapeoutlibrelane

P10’s Tiny Tapeout wrapper moved past RTL and through a standalone harden.

This is still not a real TT submission. The real shuttle flow has its own template, CI, tile rules, and top-level mux. This repo run answers the narrower question: does the wrapper around P02 synthesize, place, route, and sign off in a TT-shaped module boundary?

Command:

make harden PROJECT=10_tiny_tapeout

Result: PASS.

checkresult
Run directoryprojects/10_tiny_tapeout/librelane/runs/RUN_2026-04-29_11-37-33
Final GDSprojects/10_tiny_tapeout/librelane/runs/RUN_2026-04-29_11-37-33/final/gds/tt_um_librelane_p02.gds
Metricsprojects/10_tiny_tapeout/librelane/runs/RUN_2026-04-29_11-37-33/final/metrics.csv
Setup timingPASS, worst setup slack 7.15 ns
Route DRCPASS
Magic DRCPASS
KLayout DRCPASS
LVSPASS on the project page, but local metric field is UNKNOWN
AntennaPASS on the project page, but local metric field is UNKNOWN

The wrapper itself is intentionally boring: ui_in selects P02 mode, uio_in provides the PWM threshold, uo_out carries the selected result, and uio_oe is tied low. ena gates the outputs so the design behaves like a well-mannered TT user project when deselected.

What remains: an actual TT submission would still need the TT template repo, info.yaml, and the official shuttle CI flow.