X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;f=shakti%2Fm_class.mdwn;h=9f96863e49c9a176feb060186fd45884a4ff8dee;hb=accf72ba93cb78b88c4f0f0e4463d96ab7fadddf;hp=a3f217d4035d8e54e4b790dfd455cbd77d88af95;hpb=3a1c4ea5e6a1e7a3a3031400b60cdd0067f78b02;p=libreriscv.git diff --git a/shakti/m_class.mdwn b/shakti/m_class.mdwn index a3f217d40..9f96863e4 100644 --- a/shakti/m_class.mdwn +++ b/shakti/m_class.mdwn @@ -108,7 +108,7 @@ firmly a priority focus. * SD/MMC for external MicroSD * SD/MMC for on-PCB eMMC (care needed on power/boot sequence) * NAND Flash (not recommended), requires 8080/ATI-style Bus with dedicated CS# -* Optional 4-wire SPI NAND/NOR for boot (XIP - Execute In-place - recommended). +* Optional 4-wire [[QSPI]] NAND/NOR for boot (XIP - Execute In-place - recommended). * Audio over [[I2S]] (5-pin: 4 for output, 1 for input), fall-back to USB Audio * Audio also over [[AC97]] * Some additional SPI peripherals, e.g. connection to low-power MCU. @@ -179,6 +179,10 @@ image acceleration, scalable fonts, and Z-buffering and much more. * MIAOW: ATI-compatible shader engine * ORSOC GPU contains some primitives that can be used * SIMD RISC-V extensions can obviate the need for a "full" separate GPU +* Nyuzi (OpenMP, based on Intel Larabee Compute Engine) +* Rasteriser +* OpenShader +* GPLGPU ### Video encode / decode @@ -202,8 +206,8 @@ TBD * Plain [[GPIO]] multiplexed with a [[pinmux]] onto (nearly) all other pins * RGB/TTL up to 1440x900 @ 60fps, 24-bit colour -* 2x 1-lane SPI -* 1x 4-lane (quad) SPI +* 2x 1-lane [[SPI]] +* 1x 4-lane (quad) [[QSPI]] * 4x SD/MMC (1x 1/2/4/8-bit, 3x 1/2/4-bit) * 2x full UART incl. CTS/RTS * 3x UART (TX/RX only) @@ -213,7 +217,8 @@ TBD * 32x [[EINT]]-cable GPIO with full edge-triggered and low/high IRQ capability * 1x [[I2S]] audio with 4-wire output and 1-wire input. * 3x USB2 (ULPI for reduced pincount) each capable of USB-OTG support -* DDR3/DDR3L/LPDDR3 32-bit-wide memory controller +* [[DDR]] DDR3/DDR3L/LPDDR3 32-bit-wide memory controller +* [[JTAG]] for debugging Some interfaces at: @@ -224,11 +229,14 @@ Some interfaces at: * Pinmux ("IOF") for multiplexing several I/O functions onto a single pin * - including AXI, DMA, GPIO, I2C, JTAG, PLIC, QSPI, SDRAM, UART (and TCM?). FlexBus, HyperBus and xSPI to - be added. + including AXI, DMA, GPIO, I2C, JTAG, PLIC, QSPI, SDRAM, UART (and TCM?). + FlexBus, HyperBus and xSPI to be added. List of Interfaces: +* [[CSI]] +* [[DDR]] +* [[JTAG]] * [[I2C]] * [[I2S]] * [[PWM]] @@ -236,9 +244,11 @@ List of Interfaces: * [[FlexBus]] * LCD / RGB/TTL [[RGBTTL]] * [[SPI]] +* [[QSPI]] * SD/MMC and eMMC [[sdmmc]] * Pin Multiplexing [[pinmux]] * Gigabit Ethernet [[RGMII]] +* SDRAM [[sdram]] List of Internal Interfaces: @@ -333,10 +343,23 @@ and accurate PLL clock timing provided, it may become possible to bit-bang and software-emulate high-speed interfaces such as SATA, HDMI, PCIe and many more. +# Testing + +* cocotb +* cocotb AXI4 stream interface + # Research (to investigate) * * * 110nm DDR3 PHY +* myhdl HDL cores +* B Extension proposal +* Bit-extracts +* Bit-reverse +* Bit-permutations +* Commentary on Micro-controller +* P-SIMD + +> [[!tag cpus]] -