retroSoC contains a bundle of IPs which aim to improve development experience of processor and SoC design. Now it mainly focus on frontend and verification field. We hope it can be integrated by other components to build a common workflow for agile hardware development from frontend to backend one day.
retroSoC | information |
---|---|
TINY | A Minimum RV32E Educational MCU(<10K instances) |
CORE(ongoing): OSOC CORE(pre-learned, SCP, Single Cylcle Processor) | |
BUS: NATIVE bridge(NATIVE mux, NATIVE2APB), single power/clock domain, 16-32MHz(SMIC110, IHP/SKY130) | |
SYSTEM IP: 1xARCHINFO | |
MEMORY IP: 128KB OCM, 16MB SPI NOR FLASH, 512KB/1MB QPI FRAM, 8/16MB QPI PSRAM | |
INTERFACE IP: 2xUART, 4xGPIO, 2xTIMER, 1xI2C, 1xQSPI | |
PACKAGE: QFN48 | |
DEMO: smart band | |
MINI | A Lightweight RV32I/EMC MCU(10K~50K instances) |
CORE: PicoRV32, KianV(RV32E, tt07), ongoing: DarkRISCV, SERV, tinyQV, FemtoRV32, TinySys, VexRiscv | |
BUS: NATIVE bridge(NATIVE mux, NATIVE2APB), single power/clock domain, 24-108MHz(SMIC110, IHP/SKY130) | |
SYSTEM IP: 1xARCHINFO, 1xRCU | |
MEMORY IP: 128KB OCM, 16MB SPI NOR FLASH, 512KB/1MB QPI FRAM, 8/16MB QPI PSRAM | |
INTERFACE IP: 2xUART, 16xGPIO, 2xTIMER, 1xRNG, 4xPWM, 1xWDG, 1xPS2, 1xI2C, 1xQSPI, 1xSDIO | |
MULTIMEDIA IP: 1xI2S | |
PACKAGE: QFN48/64 | |
DEMO: smart band, micro quadcopter | |
STD | A Complete RV32IMAC MCU(20K~80K instances) |
CORE(ongoing): OSOC Core(RV32E, B-phase), Hummingbirdv2 E203, CV32E40P, ibex, Harzard3, SCR1, RV12(RVLogic), Glacial, VeeR EH1, VexRiscv | |
BUS: AHB/AXI bridge(AHB/AXI splitter, AHB/AXI2APB), single power, multi clock domain, 72-196MHz(SMIC110, IHP/SKY130) | |
SYSTEM IP: 1xARCHINFO, 1xRCU, 1XPLIC | |
MEMORY IP: 128KB OCM, 16MB SPI NOR FLASH, 512KB/1MB QPI FRAM, 8/16MB QPI PSRAM, 32MB DDR OPI PSRAM | |
INTERFACE IP: 2xUART, 16xGPIO, 2xTIMER, 1xRNG, 4xPWM, 1xPS2, 1xI2C, 1xQSPI, 1xSDIO | |
MULTIMEDIA IP: 1xI2S, 1xVGA, 1xDVP, 1xDMA | |
PACKAGE: QFN88 | |
DEMO: game console | |
PRO | A High-performance RV32/64GC SoC(60K~200K instances) |
CORE(ongoing): OSOC Core(RV64G, A-phase), Nanhu-G(XiangShan), biriscv, CVA6, VexRiscv, Rocket Chip, BOOM, RRV64, GreenRio | |
BUS: AXI bridge(AXI splitter, AXI2APB), single power, multi clock domain, 72-196MHz(SMIC110, IHP/SKY130) | |
SYSTEM IP: 1xARCHINFO, 1xRCU, 1XPLIC | |
MEMORY IP: 128KB OCM, 16MB SPI NOR FLASH, 512KB/1MB QPI FRAM, 8/16MB QPI PSRAM, 32MB DDR OPI PSRAM | |
INTERFACE IP: 2xUART, 32xGPIO, 4xTIMER, 1xRNG, 4xPWM, 1xPS2, 1xI2C, 2xQSPI, 1xSDIO | |
MULTIMEDIA IP: 1xI2S, 1xVGA, 1xDVP, 1xDMA, 1x2D GRAPHIC ACCEL | |
PACKAGE: QFP100 | |
DEMO: game console, single board computer |
IPs list and development state:
clusterIP | MILESTONE |
---|---|
system | Common Component, Interrupt Controller, Reset&Clock Unit |
common | |
archinfo | |
clint | |
plic | |
rcu | |
interface | Low-speed Peripherals |
gpio | |
uart | |
ps2 | |
timer | |
pwm | |
wdg | |
rtc | |
i2c | |
application | Specific Field IPs |
rng | |
crc | |
multimedia | SPI/QSPI TFT-LCD, VGA/LCD, SDIO TF/WiFi, CMOS Camera, DMA, 2D Graphic Accel. |
spi | |
i2s | |
vga | |
dma | |
dvp | |
sdio | |
memory | on-chip SRAM, QPI SDR FRAM/PSRAM, OPI DDR PSRAM, 16-bit SDR SDRAM |
sram | |
fram | |
psram | |
sdram | |
other | |
tapeout1 |
- this PRIVATE repo contains some tapeout-verified IPs:
state badge statement | ||||
---|---|---|---|---|
SPC: SPEC complete | RTF: RTL frozen | SMT: SMOKE test | UVV: UVM verif | FUC: FUNCTION coverage |
COC: CODE coverage | SOI: SoC integ | FPE: FPGA emu | TPT: TAPEOUT test |
More Info
Refer to the template repo. If you want to create a new ip repo, You need to:
- Use this repository template to create a new repo
- Update the content
[IP NAME]
inheader
file and remove theheader
file.
refer to the style.md.
If you want to contribute to this project, be sure to review the guidelines. This is an open project and contributions and collaborations are always welcome!! This project adheres to retroSoC's code_of_conduct. By participating, you are expected to uphold this code.
we use GitHub issues for tracking requests and bugs, so please direct specific questions to issues panel.
The retroSoC project strives to abide by generally accepted best practices in open-source software development, you can issue bugs, pull requests, new features and modification suggestions freely. Your feedbacks could help us ensure a bright future for this project. We value and treasure every issue or contribution, big or small. 😄
All of the IPs codes are redistributed or released under the OSI Approved LICENSE MulanPSL2.