Drain remaining write beats before returning B, retain captured R/B responses, and append missing read error beats through the response spills. Preserve first-error attribution and prevent replay after target reset release. Cover 28 reset scenarios in both simulators, including production DMA drain and APB bridge cases. Extend reset formal checks and publication contract mutation tests. Validation: 101 focused tests passed; full Pytest reported 1685 passed and one optional pypdf skip. TINY ICS55 and IHP130 PR regressions passed. Timing remains observational and unclosed; no performance or physical qualification is claimed.
Tiny Gen1 publication
This directory owns the English retroSoC Tiny Gen1 / Rill (清溪) datasheet, its independent v0.1 DRAFT identity, 14 IP chapters and 39 frozen structural entries. It is a publication adapter, not an RTL or SDK register generator.
The source of truth is rtl/tiny, configs/ci/ihp130-tiny.mk, the active shared
RTL/SDK and the locked Common/Hazard3/peripheral repositories. The reviewed
SHA belongs in tiny.json. Address, IRQ and pad mappings are read
from Tiny's canonical inputs. The register profiles select only applicable
families; the owned SYSCTRL and ARCHINFO overrides are checked separately.
Build and check
From the repository root, with the pinned publication Python dependencies and Typst version available:
python3 publications/build_tiny_datasheet.py setup
python3 publications/build_tiny_datasheet.py check --source-only
python3 publications/build_tiny_datasheet.py build --typst /path/to/locked/typst
python3 publications/build_tiny_datasheet.py check --pdf build/<tiny-variant>/retrosoc-tiny-gen1-datasheet.pdf
python3 publications/check_tiny_examples.py --cc gcc
python3 -m pytest -q tests/test_publication_tiny.py tests/test_publication_registers.py tests/test_publication_waveforms.py
The optional --config selects a Tiny configuration file. Outputs belong to
build/datasheet-tiny-<UTC-date-time>-<input-hash>/. The only latest-build marker
written is .cache/retrosoc/publications/latest-tiny; Mini markers and products
are not replaced. Font/package caches are shared and hash-checked. Tiny setup
requires only the managed inputs it uses, not MPW, VexiiRiscv or accelerator data.
Content and validation boundary
- Layout supplement defines the Tiny use of the approved Mini visual language.
- Content review records retained coverage and known gaps.
- Chapter review binds chapter/IP coverage to the delivered PDF.
- Structure contract freezes entry order and labels independently of page count.
- Source contract binds numerical maps and critical behavior.
- Evidence distinguishes dated repository narratives from matching executed reports.
The broad validation report and PDF hash accompany each build. Verify links, source/parameter consistency, character sizes, outlines, complete register/IP coverage and representative color/grayscale rendering. Repeat the build offline and compare PDF bytes. New test counts must come from the current run.
The 24 MHz configuration is not timing-qualified. Publication checks do not establish simulation, physical, board or silicon qualification. Do not repair RTL, relax checks, or change warning/metric baselines as a document workaround.