mirror of
https://github.com/retroSoC/retroSoC.git
synced 2026-11-04 22:32:36 +00:00
feat: update documentation for Tiny Gen1 R2 target
- Clarified integration details for WS2812 and XPI in respective documentation. - Updated the SOC family positioning to reflect changes in clock/reset configurations and DMA channels. - Enhanced README files for librelane and RTL to include R2 target specifics, including execution order and peripheral contracts. - Specified the active execution order for R2 and clarified the implications of the new architecture on performance and integration.
This commit is contained in:
13 files changed
+1022
-166
No files matched your search
+8
-6
@@ -3,12 +3,14 @@
|
||||
This directory contains repository-level engineering policy that supplements
|
||||
the root README and subsystem guides.
|
||||
|
||||
- [Tiny Gen1 QFN64](ip/tiny-soc.md) freezes shared RNG/CRC/WS2812/Crypto,
|
||||
eight-channel DMA and Tiny-owned RCU, no-PLL 96 MHz / PLL 240 MHz clock and
|
||||
reset trees, DVP V2 camera routing and optional XPI PSRAM frame buffers,
|
||||
with the unchanged package budget. P10 -> P7 -> P8 -> P11 -> P12 -> P9 is
|
||||
the remaining execution order; P0-P9 IDs/titles are preserved. These targets
|
||||
remain separate from the existing 24 MHz implementation and physical evidence.
|
||||
- [Tiny Gen1 QFN64 R2](ip/tiny-soc.md) freezes dual CPU I/D paths, four
|
||||
independent 32 KiB main-SRAM groups on the CPU's SYS clock, per-target AXI32
|
||||
concurrency, eight-channel DMA scheduling and the existing shared-IP/camera
|
||||
target without changing the package budget. The active roadmap is sequential
|
||||
`TINY-R2-P0` through `TINY-R2-P11`; legacy `TINY-P0` through `TINY-P12`
|
||||
remain in the linked contract history. CPU/main-SRAM rates up to 240 MHz
|
||||
require qualification. These targets remain separate from the existing
|
||||
24 MHz/four-channel implementation and physical evidence.
|
||||
- [Tiny Gen1 datasheet](../publications/datasheets/tiny/README.md) describes the
|
||||
current 24 MHz implementation, registers, software and qualification boundary;
|
||||
it does not yet describe the QFN64 Gen1 target.
|
||||
|
||||
+10
-6
@@ -4,12 +4,14 @@ This directory owns architecture, register ABI, software contract, and
|
||||
verification documentation for self-owned retroSoC peripheral IP and platform
|
||||
extension interfaces.
|
||||
|
||||
- [Tiny Gen1 QFN64](tiny-soc.md) freezes shared RNG/CRC/WS2812/Crypto,
|
||||
eight-channel DMA, Tiny-specific RCU and no-PLL 96 MHz / PLL 240 MHz clock
|
||||
and reset trees while preserving the package/pad budget. P10 adds unchanged
|
||||
DVP V2, GPIO12-23 ALT1 and optional XPI NSS1 PSRAM frame buffers; the execution
|
||||
order is P10 -> P7 -> P8 -> P11 -> P12 -> P9 without renumbering old phases.
|
||||
The current 24 MHz implementation and its evidence remain explicitly separate.
|
||||
- [Tiny Gen1 QFN64 R2](tiny-soc.md) freezes dual CPU I/D paths, four
|
||||
independent 32 KiB main-SRAM groups at the CPU's SYS frequency, per-target
|
||||
AXI32 concurrency and eight-channel DMA scheduling while preserving the
|
||||
package/pad budget and shared-IP ABIs. XPI retains MEM; Crypto retains PCLK.
|
||||
DVP V2 and optional NSS1 PSRAM remain the camera target. The active sequence
|
||||
is `TINY-R2-P0` through `TINY-R2-P11`; legacy `TINY-P0` through `TINY-P12`
|
||||
remain in the linked contract history. The current 24 MHz/four-channel
|
||||
implementation and its evidence remain explicitly separate.
|
||||
|
||||
- [timer.md](timer.md) defines the dual APB4 general timer.
|
||||
- [sysctrl.md](sysctrl.md) defines the APB4 SystemCtrl register ABI, control-plane contracts, HAL, and verification.
|
||||
@@ -47,6 +49,8 @@ extension interfaces.
|
||||
- [mini-npu.md](mini-npu.md) retains historical commercial NPU research;
|
||||
its old platform assumptions and architecture direction are superseded.
|
||||
- [sdram.md](sdram.md) defines the AXI4 SDRAM data controller and APB4 configuration window.
|
||||
- [onchip-sram.md](onchip-sram.md) defines the shared SRAM ABI and technology
|
||||
boundary, with a separate integration note for Tiny R2's planned bank groups.
|
||||
- [xpi.md](xpi.md) defines the native-AXI4/APB4 XPI V2 controller, commercial reference survey, LUT and PHY contracts, HAL, JTAG NOR programming, and delivery boundary.
|
||||
|
||||
The corresponding RTL and HAL implementations remain the executable sources
|
||||
|
||||
+14
-7
@@ -6,18 +6,25 @@ register and linked-list TCD operation. It is an APB4 configuration target at
|
||||
IRQ20. DMA does not use RIB or a RIB-to-AXI4 adapter.
|
||||
|
||||
The register ABI, IP implementation and HAL are shared across products.
|
||||
The [Tiny Gen1 target](tiny-soc.md) keeps `0x1000A000`, IRQ20 and eight
|
||||
The [Tiny Gen1 R2 target](tiny-soc.md) keeps `0x1000A000`, IRQ20 and eight
|
||||
channels, but assigns channel 2 to DVP receive (general transfers only after
|
||||
camera ownership is released), 3 to XPI/WS2812/CRC,
|
||||
4/5 to Crypto and 6/7 to I2S TX/RX; 0/1 remain UART0/I2C0. Its streams and
|
||||
DMA engine share PCLK, with an AXI CDC into SYS. Product capability/routing
|
||||
data must reject absent endpoints without a blanket Tiny stream prohibition.
|
||||
Tiny DVP keeps request selector 11 and remains unsupported until its P12
|
||||
integration; a reserved/tied-off stream port is not support. The DVP stream
|
||||
can target XPI NSS1 mapped PSRAM using ordinary AXI writes without selecting
|
||||
DMA engine share PCLK, with an AXI CDC into SYS that preserves one outstanding
|
||||
read and one write. Main SRAM and its independent bank frontends run in SYS;
|
||||
there is no further SRAM CDC. Product capability/routing data must reject
|
||||
absent endpoints without a blanket Tiny stream prohibition.
|
||||
Tiny DVP keeps request selector 11 and remains unsupported until
|
||||
`TINY-R2-P9` integration; a reserved/tied-off stream port is not support. The
|
||||
DVP stream can target XPI NSS1 mapped PSRAM using ordinary AXI writes without selecting
|
||||
XPI's indirect DMA request or creating another master. Device capacity and
|
||||
serial-burst limits come from the initialized product memory configuration.
|
||||
These are frozen Tiny requirements, not implemented Tiny or timing evidence.
|
||||
Tiny's per-target concurrency and planned credit-bounded WS2812 batches are
|
||||
defined by the linked product contract. They retain this IP's direct/TCD,
|
||||
priority, abort-drain and completion ABI; finite TCD chains are not cyclic
|
||||
rings. `TINY-R2-P3` prepares scheduling and `TINY-R2-P6` integrates the eight
|
||||
channels. These are frozen Tiny requirements, not implemented Tiny or timing
|
||||
evidence; the committed Tiny baseline still has four channels.
|
||||
|
||||
## Scope and limits
|
||||
|
||||
|
||||
+9
-6
@@ -21,14 +21,17 @@ capture, and rectangular cropping.
|
||||
| DMA request selector | `DVP_RX=11`; Mini default bulk DMA channel 3 |
|
||||
| ABI version | `0x00020000` |
|
||||
|
||||
The [Tiny Gen1 target](tiny-soc.md) reuses this IP specification and ABI
|
||||
The [Tiny Gen1 R2 target](tiny-soc.md) reuses this IP specification and ABI
|
||||
unchanged at the same base/core IRQ, with product-selected DMA channel 2,
|
||||
PCLK host/stream, GPIO12-23 ALT1 camera routing and optional XPI NSS1 PSRAM
|
||||
frame buffers. Camera and I2S profiles are mutually exclusive. Its P12
|
||||
integration must validate exact transfer length, shared HAL channel/burst
|
||||
binding and final-word drain without changing the DVP registers, formats,
|
||||
FIFO or stream semantics. Tiny support remains a frozen target, not existing
|
||||
end-to-end or physical evidence; Mini's channel-3 default remains unchanged.
|
||||
frame buffers. Camera and I2S profiles are mutually exclusive. Its
|
||||
`TINY-R2-P9` integration must validate exact transfer length, shared HAL
|
||||
channel/burst binding and final-word drain without changing the DVP registers,
|
||||
formats, FIFO or stream semantics. The product contract requires measuring
|
||||
the existing 512-byte FIFO's stall budget and qualifying PSRAM transport in
|
||||
`TINY-R2-P8` before capture integration.
|
||||
Tiny support remains a frozen target, not existing end-to-end or physical
|
||||
evidence; Mini's channel-3 default remains unchanged.
|
||||
|
||||
The pixel clock is buffered and can be inverted before the pixel-domain reset
|
||||
synchronizer. Configuration and frame statistics cross between the system and
|
||||
|
||||
+6
-3
@@ -11,12 +11,15 @@ and MCLK dividers. Host and audio clocks are independent; configuration uses
|
||||
## Integration
|
||||
|
||||
The following allocation describes the current Mini integration. The
|
||||
[Tiny Gen1 target](tiny-soc.md) preserves the common IP/host ABI and address,
|
||||
[Tiny Gen1 R2 target](tiny-soc.md) preserves the common IP/host ABI and address,
|
||||
uses core IRQ8 and central DMA channels 6/7 for TX/RX, and keeps host streams
|
||||
in PCLK while audio uses the separate pad-provided clock. Its GPIO routing
|
||||
and slave-mode requirement do not imply that the shared master-only RTL
|
||||
already implements them. A slave extension must update the common contract
|
||||
and driver rather than create a Tiny-only register interpretation.
|
||||
already implements them. `TINY-R2-P6` integrates the shared master path and
|
||||
`TINY-R2-P7` supplies its clock/reset context. The product contract defines
|
||||
DMA scheduling and contention acceptance without changing sample packing,
|
||||
FIFO depth or stream semantics. A slave extension must update the common
|
||||
contract and driver rather than create a Tiny-only register interpretation.
|
||||
|
||||
| Property | Value |
|
||||
| --- | --- |
|
||||
|
||||
@@ -12,6 +12,20 @@ The data aperture starts at
|
||||
physical capacity. A management-only APB4 window at `0x1001_7000` reports the
|
||||
configuration and saturating performance counters.
|
||||
|
||||
The [Tiny Gen1 R2 target](tiny-soc.md) has a separate product integration
|
||||
contract: 128 KiB at `0x30000000..0x3001FFFF`, organized as four contiguous
|
||||
32 KiB arbitration groups with independent external AXI frontends and local
|
||||
CPU I/D paths. All main-SRAM physical macros and access/control logic share
|
||||
the CPU's SYS clock; no SRAM CDC or slower memory divider is introduced.
|
||||
The 24/96/192/240 MHz profiles are targets subject to macro and path timing
|
||||
qualification, not evidence that this shared module already implements the
|
||||
new topology. `TINY-R2-P4` owns that integration and preserves Mini's current
|
||||
datapath. Tiny retains `BANK_COUNT=32` and `BANK_BYTES=4096` as physical bank
|
||||
discovery; the four arbitration groups do not redefine the register ABI.
|
||||
Crypto's six private 4 KiB banks remain separate, additional PCLK storage.
|
||||
The linked product contract defines bank arbitration, performance accounting,
|
||||
clock/reset and verification requirements without adding shared MMIO registers.
|
||||
|
||||
This release is a protocol and performance MVP. It is not a safety-certified,
|
||||
silicon-proven, or tapeout-ready memory subsystem. ECC, autonomous scrubbing,
|
||||
MBIST, redundancy repair, power gating, retention, and independently licensed
|
||||
|
||||
@@ -1,27 +1,216 @@
|
||||
# Tiny MCU Verification Record
|
||||
|
||||
This record accompanies the [Tiny Gen1 contract](tiny-soc.md). It describes
|
||||
local implementation evidence from 2026-09-25 for the initial 24 MHz/no-PLL
|
||||
baseline, not a release or silicon signoff. The working tree was uncommitted
|
||||
when that evidence was collected; its recorded readiness remains `prototype`.
|
||||
This record accompanies the [Tiny Gen1 contract](tiny-soc.md). The active R2
|
||||
verification plan below covers Target SoCs: `TINY`, feature `tiny-soc`, and
|
||||
the approved performance refreeze. `R2` is a roadmap revision, not a new IP
|
||||
or register ABI version. The selected executable baseline remains
|
||||
`configs/ci/ihp130-tiny.mk`, IHP130, 24 MHz/no PLL; faster configurations and
|
||||
their physical acceptance do not exist merely because this plan names them.
|
||||
|
||||
The baseline has two UARTs, two I2C controllers and the legacy pad mapping.
|
||||
These results do not validate the 2026-09-26 QFN64 package refreeze or the
|
||||
2026-09-30 shared-IP/clock/reset or 2026-10-01 DVP/XPI-framebuffer refreezes.
|
||||
The no-PLL 96 MHz / PLL 240 MHz targets, eight-channel DMA,
|
||||
RNG/CRC/WS2812/Crypto, Tiny RCU, I2S/SDIO and new
|
||||
clock/reset/pad integration, DVP and optional XPI PSRAM require separate
|
||||
current-revision evidence. The historical results below are retained without
|
||||
promotion to Gen1 qualification.
|
||||
The R2 freeze changes documentation only. All R2 firmware, RTL/formal,
|
||||
performance, synthesis/netlist, timing and physical results are **pending**.
|
||||
Historical `TINY-P0` through `TINY-P12` identifiers and evidence are preserved
|
||||
under their original scope; the mapping in the main contract transfers
|
||||
outstanding obligations without renaming old results or declaring them passed.
|
||||
Other PDK qualification, new SPI/PIO/BootROM IP and changes to QFN64 or the
|
||||
frozen IO/power-pad budget are outside this refreeze.
|
||||
|
||||
## P6/P10 freezes and pending Gen1 verification
|
||||
The executed historical sections describe the 2026-09-25 initial baseline,
|
||||
with two UARTs, two I2C controllers and the legacy pad mapping. The working
|
||||
tree was uncommitted when that evidence was collected and its readiness
|
||||
remains `prototype`. Those results do not validate the later package,
|
||||
shared-IP/clock/reset, DVP/framebuffer or R2 performance refreezes.
|
||||
|
||||
P6 and P10 are documentation-only. The remaining execution order is
|
||||
## R2 pending phase acceptance
|
||||
|
||||
The following is the active monotonically increasing sequence. Every phase
|
||||
uses the preceding accepted R2 contract and its declared prerequisites; the
|
||||
old P10 -> P7 execution order below is historical. Documentation approval is
|
||||
not implementation acceptance. Final physical qualification is R2-P11 work,
|
||||
not a prerequisite to the architectural improvements in R2-P3 through R2-P5.
|
||||
|
||||
| Active phase | Required evidence and completion boundary | Status |
|
||||
| --- | --- | --- |
|
||||
| TINY-R2-P0 - Performance Contract and Roadmap Freeze | Reviewable requirements, exact old/new phase mapping, invariant package/IO counts, same-frequency CPU/main-SRAM ownership, explicit performance budgets, links and commands. Record actual documentation checks separately. | Documentation freeze only; no hardware result |
|
||||
| TINY-R2-P1 - Reproducible Baseline, Constraints and Measurements | Reviewed source/profile/lock/tool identity; current 24 MHz functional and workload baseline; clocks, reset endpoints, constraints and timing-exception audit; counters and comparison methodology. Historical WNS is a risk reference, not a refreshed measurement. | Pending |
|
||||
| TINY-R2-P2 - Reset Distribution and CPU/SRAM Clock Feasibility | Reset distribution and payload-reset semantics; locked IHP130 main-SRAM macro timing, candidate common CPU/SRAM periods and representative paths; early clock/reset feasibility with explicit gaps. No final routed/PVT pass is implied. | Pending |
|
||||
| TINY-R2-P3 - Software and DMA Scheduling | Compiler and placement A/B results, finite DMA ownership, burst/chunk scheduling, WS2812 refill budget and workload correctness on the available platform. | Pending |
|
||||
| TINY-R2-P4 - Dual-Port Hazard3 and Four-Bank Local SRAM | Actual separate I/D paths, four independent 32 KiB bank frontends, SYS-clocked physical main-SRAM macros, local latency/fairness, FENCE.I, debug/reset and early inventory/SDC/macro-binding updates. | Pending |
|
||||
| TINY-R2-P5 - Per-Target Concurrent Fabric | Cross-target concurrency, one combined transaction per target, central-DMA read/write overlap, AW/W binding, errors, simultaneous faults/counters and accepted-transfer drain. | Pending |
|
||||
| TINY-R2-P6 - Shared IP and Eight-Channel DMA Integration | Legacy P7 obligations; shared PWM reporting, I2S slave and alternate-input-route prerequisites; common ABI/HAL parity; Crypto banks/lifecycle; truthful capabilities and affected Mini compatibility. | Pending |
|
||||
| TINY-R2-P7 - Tiny RCU and Dual-Mode Clock/Reset Integration | Legacy P8 obligations with main SRAM in SYS and XPI in MEM; atomic rate changes, all actual CDC/reset barriers, clock failures, WFI leaf gating and reserved DVP controls. | Pending |
|
||||
| TINY-R2-P8 - XPI PSRAM Framebuffer Bring-up | Legacy P11 obligations: real pin-level NSS1 device transport, CPU/DMA mapped-write readback, boundaries/recovery, payload rate and worst backpressure. | Pending |
|
||||
| TINY-R2-P9 - DVP Camera Profile and Frame Capture Integration | Legacy P12 obligations: unchanged DVP ABI/FIFO, DMA2/request 11, exact frame length, final-tail drain, snapshots/crops, missing-clock recovery and camera/audio exclusion. | Pending |
|
||||
| TINY-R2-P10 - System Performance and Regression Qualification | Complete current-profile functional regression and workload/contention A/B, measured real-time budgets, synthesis/macro mapping, netlist checks and explicit missing coverage. | Pending |
|
||||
| TINY-R2-P11 - IHP130 Physical and Product Qualification | Final joint CPU/main-SRAM timing, CTS/reset distribution, extracted PVT/IO/package/power evidence, qualified clock/PLL inputs and device operating points; close remaining legacy P9 obligations. | Pending |
|
||||
|
||||
### R2 clock, reset and macro evidence
|
||||
|
||||
The main 128 KiB SRAM includes its actual physical macro clock pins. It MUST
|
||||
use the same SYS source and active frequency as the CPU, with no hidden
|
||||
main-SRAM divider, CPU/main-SRAM CDC or half-rate fallback. The old P6/P10
|
||||
assignment of main SRAM to MEM is historical and is superseded for R2.
|
||||
Four logical 32 KiB banks do not mean four physical macros: verify the real
|
||||
IHP130 mapping and preserve the complete 128 KiB capacity. Crypto's six
|
||||
private banks remain additional storage in PCLK and retain their own lifecycle.
|
||||
|
||||
| Target profile | CPU and actual main SRAM / SYS | XPI / MEM | Shared peripherals and Crypto / PCLK |
|
||||
| --- | ---: | ---: | ---: |
|
||||
| Safe boot | 24 MHz | 24 MHz | 24 MHz |
|
||||
| No-PLL fast, XIN96 | 96 MHz | 96 MHz | 48 MHz |
|
||||
| PLL I/O | 192 MHz | 96 MHz | 48 MHz |
|
||||
| PLL peak | 240 MHz | 120 MHz | 60 MHz |
|
||||
|
||||
Also test external XIN24 and XIN48 at the declared 24/24/24 and 48/48/48 MHz
|
||||
SYS/MEM/PCLK rates. These are target cases, not qualified operating points.
|
||||
At 192/240 MHz the actual main-SRAM clock periods are approximately
|
||||
5.208/4.167 ns. R2-P2 must inspect the locked macro timing views, minimum
|
||||
period/pulse widths, setup/hold, clock-to-output and representative bank paths.
|
||||
Wait states or a registered response do not repair a violated macro minimum
|
||||
clock period. An unsupported target remains an explicit delivery gap; lowering
|
||||
the common CPU/SRAM rate requires a reviewed profile/contract change and must
|
||||
not silently restore CPU240/SRAM120. R2-P11 adds CTS, extracted parasitics,
|
||||
skew/uncertainty and actual macro/standard-cell PVT evidence before rate claims.
|
||||
|
||||
R2-P1 audits the existing clock/reset inventory. R2-P4 updates it, the local
|
||||
path constraints and physical macro instance bindings as soon as the new bank
|
||||
hierarchy exists; it must not postpone those updates until RCU integration.
|
||||
R2-P7 adds dynamic SYS lifecycle, XPI MEM division and the actual domain
|
||||
bridges. CPU/main-SRAM accesses remain within SYS; DMA PCLK-to-SYS and
|
||||
SYS-to-XPI MEM crossings retain complete request/response and reset barriers.
|
||||
Main-SRAM control access follows SYS ownership. Rate reporting must make
|
||||
`SYS_HZ` authoritative for CPU/main SRAM and `MEM_HZ` authoritative for XPI.
|
||||
|
||||
For clock transitions, acknowledge the RCU command before blocking new target
|
||||
admissions on both local CPU I/D and external AXI paths. Exercise continuing
|
||||
instruction fetch and data requests while draining all accepted bank operations,
|
||||
frontend responses and crossing state. Blocked-but-unaccepted requests must
|
||||
remain stable rather than refill the drain set; no accepted request may be
|
||||
lost, replayed or completed twice across the common SYS clock change.
|
||||
|
||||
The existing WFI exception gates only the idle CPU leaf after its accepted
|
||||
work drains. It does not divide SYS or gate the main SRAM, fabric or DMA
|
||||
service paths. Verify IRQ/debug wake and ongoing DMA access while the CPU
|
||||
leaf is stopped. Cold/warm/watchdog/hart/peripheral reset, asynchronous
|
||||
assertion, five valid local release edges and CPU-last release all require
|
||||
directed evidence. Missing AUDIO/PIXCLK or software Crypto READY must not
|
||||
block CPU startup. A reset-done indication is not Crypto READY or ZEROIZED.
|
||||
|
||||
For ordinary FIFOs, removing payload reset is permitted only after proving
|
||||
the existing observable empty/reset/flush behavior, no stale-word visibility,
|
||||
correct validity/pointer state and restart barriers. Main SRAM remains
|
||||
uncleared by reset. Crypto is not an ordinary payload-reset optimization:
|
||||
retain immediate invalidation, scalar clearing, full required SRAM
|
||||
write-zero/readback-zero sweeps and physical FIFO-payload erasure. Test late
|
||||
responses, stalled outputs, interrupted scrub and no early erasure success.
|
||||
|
||||
### R2 functional and performance matrix
|
||||
|
||||
Every row is pending and must identify its requirement, R2 phase, exact
|
||||
implementation, profile and executed test. Keep functional correctness and
|
||||
cycle-level performance distinct from physical frequency qualification.
|
||||
|
||||
| Area / phases | Required cases and objective evidence |
|
||||
| --- | --- |
|
||||
| Independent banks and I/D paths, R2-P4/P5 | Exercise simultaneous I and D traffic to different banks plus DMA/SDIO traffic; prove each of the four 32 KiB banks has its own frontend and can serve independently. A bank decoder behind one serialized controller is insufficient. Cover every bank boundary, byte lane, first/last word and full-capacity/alias checks. |
|
||||
| Local service and fairness, R2-P4/P5 | Measure from accepted CPU AHB address phase to terminal data-phase completion, with clocks running, an uncontended bank, response capacity available and no lifecycle stall. The engineering budget is <=3 SYS cycles; report reads/writes and I/D separately. Report admission waiting separately so delayed acceptance cannot conceal latency. Same-frequency operation alone does not prove zero-wait service. Under contention, exercise beat-level bank grant fairness, maximum legal bursts and bounded service opportunities without violating AXI transaction ownership. |
|
||||
| Per-target admission, R2-P5 | Each target permits at most one combined read-or-write transaction until its B or RLAST response handshake. Independent targets may progress together. Cover all requester/target combinations, same-target serialization, backpressure and target/page/alignment errors; preserve VALID payload and response identity. |
|
||||
| DMA read/write overlap and AW/W, R2-P5/P6 | Central DMA may hold one outstanding read and one outstanding write; different targets overlap while same-target requests obey the combined target limit. Test W-before-AW, delayed W, stalled B/R, rejected writes and interleaved unrelated traffic. Bind every accepted W beat to the correct accepted AW owner/length; no reassignment or untagged write interleaving. |
|
||||
| Faults and counters, R2-P1/P5/P10 | Inject simultaneous faults and completions on different targets. Verify deterministic first-fault retention, correct requester/address/response, no lost independent fault events, correct aggregate count and source attribution. Backpressure must not recount a held event; concurrent events must not collapse into one boolean increment. Check clear/snapshot precedence and the frozen counter overflow semantics. |
|
||||
| CPU ordering and lifecycle, R2-P4/P5/P7 | Verify FENCE.I after data writes to executable SRAM, required store/response drain and instruction refetch. Exercise interrupts, debug halt/resume and hart reset with both I/D paths active; hart reset waits for accepted CPU work while unrelated DMA remains usable. Cold/system reset must discard the old session consistently, and graceful drains must retain all accepted responses. |
|
||||
| Compiler and placement A/B, R2-P3/P4/P10 | Use identical workloads, input/checksum, compiler identity, ISA/ABI and recorded flags. Separate compiler-only, bank-placement-only and combined comparisons; retain linker map, text/data/BSS/stack sizes and bank assignment. Compare cycles/instructions, I/D stalls, DMA throughput and latency against a reviewed baseline, not an unrelated historical build. Validate bank-aware code, data, stack and DMA-buffer placement and instruction synchronization. |
|
||||
| WS2812 finite refill, R2-P3/P6/P10 | Keep the existing register ABI and fixed-MMIO DMA path. With exclusive producer ownership, use watermark 8 and an observed FIFO level L to schedule at most min(remaining, 16-L) words. Exercise empty/full levels, short final chunks, stale observation with only consumer draining, timeout, abort and ownership release. Competing CPU/DMA producers must not invalidate the credit calculation; ownership and the submitted transfer remain finite. |
|
||||
| Real-time service budgets, R2-P3/P8/P9/P10 | Account for software/IRQ delay, arbitration, DMA, bridge/APB or serial service, maximum backpressure and margin. Prove the refill/service deadline against available FIFO slack under the declared competing traffic. Record WS2812 underrun/reset-gap behavior and DVP overflow invalidation; average throughput or bank count alone is not a worst-case guarantee. Unsupported traffic combinations must be explicit. |
|
||||
| Gen1 shared integration, R2-P6/P7 | Eight DMA channels and frozen channel/request bindings; RNG qualification rejection; CRC tails/FINISH; Crypto initialization/readback/lock, vectors and erasure; I2S/SDIO contention; dynamic PWM rate reporting, slave-audio and exclusive alternate-input prerequisites. Run affected Mini consumers without treating their results as Tiny evidence. |
|
||||
| XPI/DVP retained acceptance, R2-P8/P9/P10 | Execute the archived transport/frame cases below under the R2 phase mapping. Retain pin-level NSS1 PSRAM, measured write backpressure, exact frame length and guard/readback checks. DVP frame-done does not complete the final DMA word or AXI write response: never flush the undrained tail or publish a valid frame early. Preserve the DVP ABI/FIFO, DMA2/request 11 and capture-then-readback/save scope. |
|
||||
| Clock/reset, package and ABI, R2-P4/P7/P11 | Test the R2 domain ownership and lifecycle above, truthful staged capabilities, SRAM-only boot, fixed QFN64/32 GPIO/16 power-ground budget and unchanged frozen alternates. Maintain common addresses, IRQs, register/HAL parity and documented fault semantics; no new SPI/PIO/BootROM or extra IO is implied. |
|
||||
|
||||
### R2 evidence classes and required validation
|
||||
|
||||
| Evidence class | Required record | Claim boundary |
|
||||
| --- | --- | --- |
|
||||
| Functional | Actual Icarus and Verilator executions, strict terminal markers and result files, focused protocol/reset/error tests, and applicable formal/host tests separately identified | Does not establish performance or qualified clock rate |
|
||||
| Performance | Reproducible workload/compiler/placement A/B, cycle and instruction counts, service latency, throughput, contention and worst observed backpressure with stated workload bounds | A simulated clock assumption is not physical frequency evidence; observed maxima alone are not a universal bound |
|
||||
| Synthesis and netlist | Current IHP130 mapping of every main-SRAM/Crypto bank, area/cells, reset fanout, critical paths, netlist boot and applicable full-function checks | Library area is not die area; compact netlist boot does not replace full firmware or routed timing |
|
||||
| Physical | Actual source/profile/tool/PDK/corner/SDC identity; macro checks, CTS and reset distribution, extracted setup/hold and recovery/removal, CDC/RDC, IO/package/power and device timing | Behavioral PLL and pre-layout STA do not qualify an operating point or constitute foundry signoff |
|
||||
|
||||
Each result must preserve commands, full logs, source revision, configuration
|
||||
digest, build variant, dependency/tool identity, library corners, simulator
|
||||
mode, workload and firmware identity. Record failures, skipped/no-op tests and
|
||||
missing artifacts explicitly. The historical -455.18 ns WNS below belongs to
|
||||
the original 2026-09-25 run; it is not the current R2 WNS or proof that any
|
||||
new rate is achievable. Physical feasibility and final qualification require
|
||||
new evidence for the actual CPU/main-SRAM clocks and reset distribution.
|
||||
|
||||
Use the implementation validation entrypoints and baseline commands in the
|
||||
[main contract](tiny-soc.md), with directed R2 cases and any new committed
|
||||
profiles added through the normal flow. The current IHP130 Tiny profile
|
||||
remains the starting point. Register integrated cases in normal regression;
|
||||
`tests/test_xpi_io.py`, `tests/test_dvp.py`, fast-flash and host-only tests do
|
||||
not replace the complete required hardware route. Preserve strict
|
||||
`SIM_TEST_PASS`/result-file verdicts and run affected Mini compatibility for
|
||||
shared changes. Do not remove unsupported PLL/STA guards, alter dependencies,
|
||||
or change warning/metric policy to manufacture a pass. Metrics remain observe
|
||||
mode; synthesis, simulation and timing failures remain recorded failures.
|
||||
|
||||
No R2 test, benchmark or PPA result is claimed by this verification-plan edit.
|
||||
Actual documentation-only validation is recorded separately after execution.
|
||||
|
||||
## R2-P0 documentation checks (2026-10-04)
|
||||
|
||||
The working-tree documentation checks passed:
|
||||
|
||||
- Package, power and GPIO tables match the preceding contract; all 64
|
||||
perimeter numbers remain unique and the 32 GPIO assignments are unchanged.
|
||||
- All 13 legacy phase headings and planning bodies are preserved, while the
|
||||
12 approved R2 headings are unique and sequential. Requirement identifiers
|
||||
TINY-001 through TINY-036 are unique and ordered.
|
||||
- The four contiguous 32 KiB ranges total 128 KiB and retain 32 physical
|
||||
4 KiB macros. SYS and XPI MEM table values match the same-frequency contract.
|
||||
- The initial 24 MHz architecture block and the executed historical record
|
||||
from "Configuration and artifact roots" onward match the preceding revision.
|
||||
- All 119 local Markdown links across the 13 changed documents resolve;
|
||||
referenced profile, CPU/device-model sources and test entrypoints exist.
|
||||
- The local-admission clock-change rule and three-cycle latency measurement
|
||||
endpoints were cross-checked between the main contract and this matrix.
|
||||
|
||||
The selected executable profile remains `configs/ci/ihp130-tiny.mk`, IHP130,
|
||||
24 MHz/no PLL. The following commands passed; Windows used the installed
|
||||
`python` entrypoint for the two command-list checks:
|
||||
|
||||
```sh
|
||||
python scripts/regress.py --root . --suite pr --pdk IHP130 --soc TINY --dry-run
|
||||
python scripts/regress.py --root . --suite nightly --soc TINY --dry-run
|
||||
git diff --check
|
||||
```
|
||||
|
||||
These are documentation and command-selection checks, not R2 hardware
|
||||
results. No RTL, firmware, configuration, dependency, warning-baseline or
|
||||
metrics-policy file is changed. No C/MISRA deviation is introduced. Firmware
|
||||
compilation, RTL/formal simulation, full quality/regression suites, synthesis,
|
||||
netlist, STA and physical qualification were not run in this documentation
|
||||
phase. Actual main-SRAM macro timing and joint high-frequency qualification
|
||||
remain pending; no SRAM or CPU maximum frequency is established here.
|
||||
|
||||
## Archived P6/P10 planning and documentation evidence
|
||||
|
||||
The remainder of this section preserves the prior planning and P10 document
|
||||
checks under their original phase identifiers. Its P7/P8/P11/P12/P9 labels,
|
||||
three-master topology and main-SRAM-in-MEM clock assumptions are historical,
|
||||
not the active R2 architecture or order. R2-P6/P7/P8/P9 retain the applicable
|
||||
shared-IP, RCU, XPI and DVP acceptance obligations, while R2-P1/P2/P10/P11
|
||||
carry the outstanding baseline and qualification work. Apply the R2
|
||||
clock/fabric requirements above when executing those retained tests.
|
||||
|
||||
### Archived P6/P10 pending Gen1 verification
|
||||
|
||||
P6 and P10 were documentation-only. Their recorded execution order was
|
||||
P10 -> P7 -> P8 -> P11 -> P12 -> P9, preserving all P0-P9 phase IDs/titles.
|
||||
The matrix below specifies required implementation and qualification coverage;
|
||||
it records no newly executed RTL, firmware, formal, synthesis or timing result.
|
||||
The existing committed IHP130 Tiny profile remains the 24 MHz baseline until
|
||||
the implementation phases introduce reviewed configurations.
|
||||
The matrix below recorded required implementation and qualification coverage;
|
||||
it recorded no newly executed RTL, firmware, formal, synthesis or timing result.
|
||||
The existing committed IHP130 Tiny profile remained the 24 MHz baseline until
|
||||
implementation introduced reviewed configurations. Pending entries below are
|
||||
historical status, not new R2 results.
|
||||
|
||||
| Area | Required cases / acceptance | Evidence status |
|
||||
| --- | --- | --- |
|
||||
|
||||
+680
-77
File diff suppressed because it is too large.
Load diff
+9
-1
@@ -8,13 +8,21 @@ error state, and a GPIO alternate-function output.
|
||||
|
||||
## Integration
|
||||
|
||||
The table describes the current Mini binding. The [Tiny Gen1 target](tiny-soc.md)
|
||||
The table describes the current Mini binding. The [Tiny Gen1 R2 target](tiny-soc.md)
|
||||
retains the address, IRQ17, register ABI and HAL, but routes the output to
|
||||
GPIO26 ALT0 (QFN pin 11). Tiny bulk DMA channel 3 supplies fixed TXDATA writes.
|
||||
Product routing and the actual PCLK frequency are supplied to the common
|
||||
GPIO/timing APIs; they are not a second WS2812 driver. Tiny's binding and
|
||||
PCLK24/48/60 timing require their own implementation evidence.
|
||||
|
||||
Tiny's `TINY-R2-P3` scheduling contract selects FIFO-low watermark 8 and finite
|
||||
DMA batches bounded by observed free FIFO credits, with implementation and
|
||||
contention acceptance carried into `TINY-R2-P6`. See the linked product
|
||||
contract for ownership, refill timing and recovery requirements. This is
|
||||
planned shared transport work, not the behavior of the current full-tail DMA
|
||||
helper. It preserves this IP's full-FIFO APB backpressure, register/FIFO ABI
|
||||
and software request selection; an autonomous credit sideband remains deferred.
|
||||
|
||||
| Property | Value |
|
||||
| --- | --- |
|
||||
| APB4 base address | `0x10008000` |
|
||||
|
||||
+9
-6
@@ -18,13 +18,16 @@ definitions remain the executable sources of truth:
|
||||
|
||||
XPI V2 intentionally breaks the retired `qspi.h` register and HAL ABI.
|
||||
|
||||
The [Tiny Gen1 target](tiny-soc.md) retains this shared XPI register/LUT/PHY
|
||||
The [Tiny Gen1 R2 target](tiny-soc.md) retains this shared XPI register/LUT/PHY
|
||||
contract and selects optional NSS1 PSRAM at `0x54000000` with GPIO29 ALT0.
|
||||
NSS0 remains the boot NOR path; SRAM-only operation is preserved. Tiny P11
|
||||
must validate initialization, actual capacity, mapped CPU/DMA writes, serial
|
||||
boundaries/CS timing and transport bandwidth before P12 DVP capture uses the
|
||||
RAM. Frames use DVP request 11 and ordinary DMA AXI destination writes, not
|
||||
the XPI indirect TX path. No extra PSRAM controller/window, XPI ABI change or
|
||||
NSS0 remains the boot NOR path; SRAM-only operation is preserved. XPI remains
|
||||
in MEM at the selected 24/96/96/120 MHz target while CPU and main SRAM share
|
||||
SYS; SYS-to-MEM CDC remains at the XPI boundary. `TINY-R2-P8` must validate
|
||||
initialization, actual capacity, mapped CPU/DMA writes, serial boundaries/CS
|
||||
timing and transport bandwidth before `TINY-R2-P9` DVP capture uses the RAM.
|
||||
The product contract retains this IP's nonpreemptible physical-command and
|
||||
no-cache behavior. Frames use DVP request 11 and ordinary DMA AXI destination
|
||||
writes, not the XPI indirect TX path. No extra PSRAM controller/window, XPI ABI change or
|
||||
qualified camera/PSRAM rate is implied by the documentation freeze.
|
||||
|
||||
## Commercial Reference Survey
|
||||
|
||||
@@ -52,26 +52,27 @@ integration in `rtl/tiny`, selected with `configs/ci/ihp130-tiny.mk`. It has no
|
||||
wireless IP, wireless protocol stack, or radio-specific companion integration.
|
||||
Tiny-Connect, BLE, IEEE 802.15.4 and Wi-Fi are deferred product research.
|
||||
|
||||
The committed baseline still uses 24 MHz, no PLL, two UARTs, two I2C
|
||||
controllers and legacy pad routing. The QFN64 Gen1 product/package target
|
||||
was established on 2026-09-26 and extended on 2026-09-30 with shared IP,
|
||||
eight-channel DMA and explicit no-PLL/PLL clock and reset trees. The
|
||||
2026-10-01 P10 refreeze adds DVP V2 camera routing and optional XPI PSRAM
|
||||
frame buffers. The remaining order is P10 -> P7 -> P8 -> P11 -> P12 -> P9;
|
||||
old phase IDs/titles are preserved. Existing generated datasheets describe
|
||||
the baseline, not completed implementation of the refreeze.
|
||||
The committed baseline still uses 24 MHz, no PLL, four DMA channels, two
|
||||
UARTs, two I2C controllers and legacy pad routing. The QFN64 Gen1 target was
|
||||
established on 2026-09-26, extended with shared IP and clock/reset requirements
|
||||
on 2026-09-30, and with DVP/XPI frame buffers on 2026-10-01. The 2026-10-04
|
||||
[R2 performance contract](ip/tiny-soc.md) replaces the remaining execution
|
||||
order with sequential `TINY-R2-P0` through `TINY-R2-P11`; the original
|
||||
`TINY-P0` through `TINY-P12` IDs/titles remain in that contract's history.
|
||||
Existing generated datasheets describe the baseline, not completed R2
|
||||
implementation or qualification.
|
||||
|
||||
### Gen1 Product and Package Target
|
||||
|
||||
| Area | Tiny Gen1 target |
|
||||
| --- | --- |
|
||||
| CPU | One Hazard3 RV32IMC hart; A extension disabled until atomic bus semantics are qualified |
|
||||
| On-chip memory | 128 KiB user SRAM plus six private Crypto banks (24 KiB); larger user SRAM and retention deferred |
|
||||
| CPU | One Hazard3 RV32IMC hart with independent local I/D paths; A remains disabled |
|
||||
| On-chip memory | 128 KiB user SRAM in four contiguous 32 KiB arbitration groups, with independent frontends and physical macros at CPU SYS frequency; six private Crypto banks (24 KiB) remain PCLK |
|
||||
| Code storage | XPI NOR boot, loaded into SRAM; authenticated recovery boot deferred |
|
||||
| Memory model | No MMU, HP hart or external RAM boot dependency; optional initialized XPI NSS1 PSRAM for whole-frame data, bounded by actual device capacity |
|
||||
| Interconnect | AXI32 with CPU, central DMA and SDIO private-DMA masters; APB4 control and explicit domain bridges; no RIB/RIBP |
|
||||
| Software | Shared peripheral specifications, addresses and HAL source; product-specific RCU/SYSCTRL backend and routing/clock configuration; RV32IM compiler target |
|
||||
| Clock/reset | Safe REF24 boot; external-XIN no-PLL up to 96 MHz or a 24 MHz reference/single-output PLL up to 240 MHz; MEM up to 120 MHz, PCLK up to 60 MHz, fixed 1 MHz CLINT tick; no independent safety RC |
|
||||
| Interconnect | Per-target concurrent AXI32 with three external owners: CPU non-SRAM I/D merge, central DMA and SDIO private DMA; independent local SRAM I/D paths, APB4 control and explicit domain bridges; no RIB/RIBP |
|
||||
| Software | Shared peripheral specifications, addresses and HAL source; product-specific RCU/SYSCTRL backend and routing/clock configuration; compatible RV32IM build plus separately validated performance compiler/linker configuration |
|
||||
| Clock/reset | CPU and main SRAM share SYS at 24/96/192/240 MHz targets; XPI MEM at 24/96/96/120 MHz; PCLK at 24/48/48/60 MHz; no main-SRAM CDC, fixed 1 MHz CLINT tick, no independent safety RC; all faster profiles require qualification |
|
||||
| Edge I/O | 32 user GPIO, one UART, one I2C, one full-duplex master/slave I2S target, alternate 8-bit DVP V2 camera profile, one 3.3 V 1-bit/4-bit SDIO host, two timers, eight central DMA channels, four PWM outputs, RTC, watchdog and XPI |
|
||||
| Shared services | RNG V2, CRC V2, WS2812 and Crypto V2 at Mini-compatible addresses; entropy and security claims require separate qualification |
|
||||
| Package | QFN64 plus separate EP: 48 signal and 16 power/ground terminals; preferred 9 x 9 mm, 0.5 mm pitch pending physical review |
|
||||
@@ -88,10 +89,13 @@ GPIO27/28/30/31. CAM_XCLK and GPIO28 CLKOUT share one RCU generator.
|
||||
Independent boot Flash and JTAG remain available. DVP retains the shared V2
|
||||
ABI at `0x1000E000`/IRQ15 and uses DMA2/request 11; frames may exceed internal
|
||||
SRAM through NSS1 at `0x54000000` without adding a master or controller.
|
||||
The shared-IP addresses, DMA/IRQ allocations, Tiny RCU bank
|
||||
and clock/reset behavior are frozen targets, with implementation in P7/P8,
|
||||
PSRAM transport in P11, DVP capture in P12 and
|
||||
physical acceptance in P9. SDIO reaches target clocks of 48 MHz at SYS96/192
|
||||
The R2 roadmap places software/DMA scheduling in `TINY-R2-P3`, local CPU/SRAM
|
||||
integration in `TINY-R2-P4` and the concurrent fabric in `TINY-R2-P5`.
|
||||
Shared-IP/eight-channel integration follows in `TINY-R2-P6`, RCU/clock/reset
|
||||
in `TINY-R2-P7`, PSRAM transport in `TINY-R2-P8`, and DVP capture in
|
||||
`TINY-R2-P9`; system and physical qualification are `TINY-R2-P10` and
|
||||
`TINY-R2-P11`. The canonical contract retains the legacy phase mapping.
|
||||
SDIO reaches target clocks of 48 MHz at SYS96/192
|
||||
and 40 MHz at SYS240 using the existing integer divider. XIN loss stops the
|
||||
reference/watchdog domain too; recovery requires the external source and
|
||||
RESET_N. The historical AXI/ABI and verification sections still describe the
|
||||
@@ -441,7 +445,7 @@ software quality.
|
||||
|
||||
| Tier | Claim gate |
|
||||
| --- | --- |
|
||||
| Tiny | Gen1 target: unchanged QFN64, shared IP/eight-channel DMA, product RCU/CDC/reset, no-PLL 96 MHz and PLL 240 MHz evidence, DVP snapshot/crop to optional XPI PSRAM with measured transport and Pad timing; low-power, entropy and security claims require separate qualification |
|
||||
| Tiny | Gen1 R2 target: unchanged QFN64, dual local I/D and four main-SRAM groups at CPU SYS frequency, per-target AXI32 concurrency, shared IP/eight-channel DMA, RCU/CDC/reset, CPU/SRAM 96/192/240 MHz qualification, DVP snapshot/crop to optional XPI PSRAM with measured transport and Pad timing; low-power, entropy and security claims require separate qualification |
|
||||
| Mini | Repeatable Linux boot, at least 64 MiB usable main memory, native memory bursts, and management-controlled start/stop recovery |
|
||||
| Std | Full AXI4 ordering tests, coherent accelerator traffic, 1080p60 graphical desktop, audio playback, and NPU inference under concurrent DMA load |
|
||||
| Pro | Four-hart coherent SMP stress, RV64 distribution boot, more-than-4-GiB memory validation, and concurrent GPU/NPU/video operation |
|
||||
|
||||
@@ -5,6 +5,13 @@ entry point: `librelane-chip` implements the bare-die `retrosoc_tiny_asic`
|
||||
MCU, including its pad ring, bondpads, fillers, corners, seal ring, and the
|
||||
32 on-chip SRAM bank macros.
|
||||
|
||||
The pad counts, 24 MHz constraints and observations below describe the
|
||||
committed initial implementation. The [Tiny Gen1 R2 target](../../../docs/ip/tiny-soc.md)
|
||||
preserves the frozen QFN64 package. `TINY-R2-P4` updates macro hierarchy and
|
||||
SYS-clock constraints, `TINY-R2-P7` updates dynamic clock/reset inputs, and
|
||||
`TINY-R2-P11` performs final CPU/main-SRAM physical qualification. This guide and an existing flow run
|
||||
do not qualify the R2 pad mapping or faster CPU/SRAM profiles.
|
||||
|
||||
The flow consumes the committed `configs/ci/ihp130-tiny.mk` profile, the
|
||||
canonical Tiny pin map (`rtl/tiny/pin_map/pin_map.json`), the Tiny clock/reset
|
||||
inventory (`rtl/tiny/integration/clock_reset_domains.json`), and the
|
||||
|
||||
+27
-18
@@ -1,7 +1,7 @@
|
||||
# Tiny MCU Integration
|
||||
|
||||
Tiny is the independent single-Hazard3 wired MCU product. Its frozen target
|
||||
contract is [Tiny Gen1 QFN64](../../docs/ip/tiny-soc.md). Use
|
||||
contract is [Tiny Gen1 QFN64 R2](../../docs/ip/tiny-soc.md). Use
|
||||
`make CONFIG=configs/ci/ihp130-tiny.mk setup` followed by
|
||||
`make CONFIG=configs/ci/ihp130-tiny.mk firmware sim`.
|
||||
|
||||
@@ -19,24 +19,33 @@ are outside this release. Run both Icarus and Verilator, the Tiny directed
|
||||
tests, and the IHP130 regression before claiming qualification. Synthesis and
|
||||
STA use the Tiny top and clock inventory, not Mini constraints.
|
||||
|
||||
The 2026-09-30 P6 target adds shared RNG/CRC/WS2812/Crypto, eight-channel DMA
|
||||
and a Tiny-owned RCU/SYSCTRL, with no-PLL 96 MHz and single-output-PLL
|
||||
240 MHz limits. It preserves QFN64 and adds WS2812 on GPIO26 ALT0. The
|
||||
committed RTL/profile still describes the initial 24 MHz/no-PLL implementation;
|
||||
P7/P8 must implement the new addresses, streams, clock domains,
|
||||
reset barriers and shared-driver compatibility. No PLL macro/timing support
|
||||
is implied by the new specification or the `HAVE_PLL` selector alone.
|
||||
The 2026-10-04 R2 target preserves QFN64, the existing peripheral contracts,
|
||||
eight-channel DMA, Tiny RCU and the DVP/XPI framebuffer target. It adds dual
|
||||
CPU I/D paths to four contiguous 32 KiB main-SRAM arbitration groups, each with
|
||||
independent request/response state and an external AXI frontend. CPU and all
|
||||
main-SRAM macros share SYS at the selected 24/96/192/240 MHz target; no SRAM
|
||||
CDC or slower SRAM divider is introduced. Only non-SRAM CPU I/D requests merge
|
||||
into the external path, preserving three external owners with central DMA and
|
||||
SDIO. Per-target arbitration replaces the global transaction lock. XPI stays
|
||||
in MEM at 24/96/96/120 MHz and Crypto's six private banks remain PCLK.
|
||||
|
||||
The 2026-10-01 P10 documentation refreeze adds the existing DVP V2 contract,
|
||||
camera GPIO12-23 ALT1 (mutually exclusive with I2S), DMA2/request 11 and
|
||||
optional XPI NSS1 PSRAM at `0x54000000` through GPIO29. Whole-frame external
|
||||
storage does not change the 128 KiB SRAM, NOR boot, QFN64/power budget or
|
||||
three-master/eight-channel target. CAM_XCLK shares RCU CLKOUT; RCU target 14
|
||||
and DVP endpoint capabilities remain unsupported until actual integration.
|
||||
The remaining order is P10 -> P7 -> P8 -> P11 (PSRAM transport) -> P12
|
||||
(camera capture) -> P9 (system/physical qualification). P11/P12 require real
|
||||
pin-level XPI PSRAM and full-frame readback, not fast-flash or the separate
|
||||
PSRAM controller's tests. No camera/PSRAM rate is qualified by this freeze.
|
||||
The active execution order is sequential `TINY-R2-P0` through `TINY-R2-P11`
|
||||
in the linked contract. Software/DMA scheduling is `TINY-R2-P3`, local CPU/SRAM
|
||||
`TINY-R2-P4`, concurrent fabric `TINY-R2-P5`, shared-IP/eight-channel integration
|
||||
`TINY-R2-P6`, RCU `TINY-R2-P7`, XPI PSRAM `TINY-R2-P8`, camera capture
|
||||
`TINY-R2-P9`, system qualification `TINY-R2-P10` and IHP130 physical
|
||||
qualification `TINY-R2-P11`. Legacy `TINY-P0` through `TINY-P12` remain in
|
||||
the contract history. The committed RTL/profile still implements the initial
|
||||
24 MHz/no-PLL/four-channel design; no faster CPU/SRAM or PLL timing support
|
||||
follows from this freeze or the `HAVE_PLL` selector alone.
|
||||
|
||||
Camera GPIO12-23 ALT1 remains mutually exclusive with I2S. DMA2/request 11,
|
||||
optional XPI NSS1 PSRAM at `0x54000000` through GPIO29 and shared CAM_XCLK
|
||||
retain their existing target contracts. RCU target 14 and DVP capabilities
|
||||
stay unsupported until actual integration. `TINY-R2-P8` and `TINY-R2-P9`
|
||||
require pin-level XPI PSRAM and full-frame readback, not fast-flash or
|
||||
separate-controller evidence.
|
||||
No camera/PSRAM rate is qualified by this freeze.
|
||||
|
||||
`make CONFIG=configs/ci/ihp130-tiny.mk regress-pr` runs only Tiny's IHP130
|
||||
matrix. The regression runner also accepts `--soc TINY`; leaving it unset
|
||||
|
||||
Reference in new issue
Block a user