mirror of
https://github.com/retroSoC/retroSoC.git
synced 2026-11-04 22:32:36 +00:00
- Added build_hp_rtthread.py for building the RT-Thread kernel with RV64 support. - Updated build_hp_smoke.py to target RV64 architecture and modified output filenames. - Modified generate_vexiiriscv.py to reflect RV64 configuration and memory management. - Created hp_tools.py for shared utilities related to RV64 builds. - Enhanced package_hp_boot.py to package RV64 workloads and updated versioning. - Implemented run_hp_sim.py for executing and validating HP workloads with specific markers. - Developed setup_hp_rtthread.py for installing RT-Thread source and environment setup. - Updated GenerateRetroSocHp.scala to generate RV64 application cores. - Enhanced tests for HP boot bundles, platform specifications, and tool utilities to accommodate RV64 changes. - Adjusted test cases to validate new workload types and ensure compatibility with RV64 architecture.
101 lines
4.4 KiB
Typst
101 lines
4.4 KiB
Typst
#import "../style.typ": *
|
||
#import "../figures.typ": *
|
||
|
||
// Publication status is explicit; successful build/tests do not change these marks.
|
||
#let artifact-status = (
|
||
(name:"Available",selected:true),
|
||
(name:"Functional",selected:false),
|
||
(name:"Reproduced",selected:false),
|
||
(name:"Tapedout",selected:false),
|
||
)
|
||
|
||
#cover(evaluation:artifact-status)[
|
||
#text(9pt, weight: "semibold", fill: gold)[PRODUCT DATASHEET / #doc.status]
|
||
#v(rhythm.cover-gap)
|
||
#text(30pt, weight: "semibold")[retroSoC Mini]
|
||
#linebreak()
|
||
#text(23pt, weight: "semibold", fill: gold)[Gen2/Gen2+]
|
||
#v(rhythm.cover-gap)
|
||
#text(13pt)[An Open-Source, Linux-Capable Asymmetric Dual-Core SoC]
|
||
#v(rhythm.cover-meta-gap)
|
||
#grid(columns: (1fr, 1fr),
|
||
[*#doc.document_id* · v#doc.version \ #doc.date],
|
||
align(right)[#doc.author \ #doc.maintainer],
|
||
)
|
||
#v(rhythm.cover-rule-gap)
|
||
#line(length:100%, stroke:1.1pt + gold)
|
||
|
||
= Product Brief
|
||
== Features
|
||
#columns(2, gutter: rhythm.cover-gutter)[
|
||
#set par(leading: rhythm.cover-leading, spacing: rhythm.cover-spacing)
|
||
#set list(tight:false,spacing:rhythm.cover-list-spacing,body-indent:rhythm.cover-list-indent)
|
||
*Compute and control*
|
||
- Hazard3 LP: boot, clocks, resource ownership and fault recovery.
|
||
- Dual-issue VexiiRiscv HP: RV64IMAFDC + Zicbom, Sv39.
|
||
- JTAG debug; fixed EXT-L control and EXT-H AXI64 slots.
|
||
|
||
*Memory and interconnect*
|
||
- 32 KiB banked SRAM in this profile; 4/16/32/64/128 KiB build options.
|
||
- AXI32 control, native AXI64 data paths and APB4 registers.
|
||
- SDRAM, QPI PSRAM and OPI/HyperBus-style external-memory controllers.
|
||
- XPI: four chip selects, 16 LUT sequences, 1/2/4-bit SDR transfers.
|
||
- Eight DMA channels; linked-list TCDs, 16-beat bursts and stream endpoints.
|
||
|
||
*Platform services*
|
||
- Two 32-bit timers with 16-bit prescalers; four-channel PWM.
|
||
- 64-bit RTC, two alarms and periodic wake.
|
||
- Window watchdog with early warning and retained reset cause.
|
||
- LP/HP local interrupts, PLIC and mailbox.
|
||
- ARCHINFO, SYSCTRL/RCU, resource ownership and first-fault/performance monitoring.
|
||
|
||
#colbreak()
|
||
*Connectivity*
|
||
- 32 GPIOs: atomic outputs, pin interrupts and two alternate-function selections.
|
||
- Two UARTs with 64-byte TX/RX FIFOs; UART0 DMA and RTS/CTS.
|
||
- Two I2C controllers: 7/10-bit addressing and 16-entry command/RX FIFOs.
|
||
- SPI-SD, two 1/4-bit SDR SDIO hosts and bidirectional PS/2.
|
||
- USB2: 8 endpoints, 16 host channels, 16 KiB packet RAM; external ULPI PHY.
|
||
- WS2812: 24-bit GRB with programmable pulse/reset timing.
|
||
|
||
*Media and data processing*
|
||
- Stereo 16/24-bit I2S master; 8-bit RGB565/YUV422 DVP with crop/snapshot capture.
|
||
- Baseline JPEG encode/decode up to 2048 × 2048, with private DMA.
|
||
- GA2D fill/copy/convert/opaque blend and A8 masks.
|
||
- APU WAV/FLAC decode; MP3/KWS not advertised.
|
||
- AES-128/192/256, SHA-224/256 and raw RSA-2048; programmable CRC.
|
||
- RNG source remains unqualified for production entropy.
|
||
|
||
*Development*
|
||
- Freestanding CRT/HAL and reference apps; simulation, synthesis and timing flows.
|
||
- Experimental Linux integration with separate qualification gates.
|
||
]
|
||
#v(1fr)
|
||
#note(below: 0pt)[This draft describes a reviewed RTL/configuration snapshot. It does not establish silicon
|
||
speed grades, electrical limits, production availability or certification. Gen2/Gen2+ is the
|
||
retained document title; no separate derivative specifications are inferred.]
|
||
]
|
||
|
||
#pagebreak()
|
||
== Overview
|
||
retroSoC Mini combines a small management processor with an application processor and shared
|
||
memory and I/O. Hazard3 retains authority over startup, clock transitions, resource ownership
|
||
and fault recovery. VexiiRiscv supplies the application-side compute and Linux integration.
|
||
The design is intended for embedded control, basic human-machine interfaces, retro multimedia
|
||
experimentation, education and ASIC prototyping.
|
||
|
||
#figure(product-diagram(), caption:[Integrated Mini PRODUCT IP inventory, organized by function.])<product-diagram>
|
||
|
||
#ds-table("profile", [Document reference configuration],
|
||
([Property], [Reference]),
|
||
(
|
||
([Product profile], code(doc.profile)),
|
||
([Hardware source], code(doc.source_revision.slice(0,12))),
|
||
([Technology / SRAM], [IHP130 / 32 KiB, macro interface enabled]),
|
||
([Reset roots], [LP: REF24 at 24 MHz; HP: external 72 MHz]),
|
||
([Audio / PLL], [18.432 MHz input / PLL disabled]),
|
||
([HP boot example], code(doc.hp_profile)),
|
||
([MPW compatibility], code(doc.mpw_profile)),
|
||
), widths:(0.8fr,1.9fr),
|
||
)
|