Coder Social home page Coder Social logo

Comments (5)

mithro avatar mithro commented on July 3, 2024

FWIW - The Caravel Harness is based on the MCU version of LiteX / VexRISCV.

from linux-on-litex-rocket.

gsomlo avatar gsomlo commented on July 3, 2024

from linux-on-litex-rocket.

mithro avatar mithro commented on July 3, 2024

I believe multiple people have attempted to tape out various Rocket configurations on the MPW program. The biggest problem is the SRAM needed for cache. It is also a rather tight fit getting everything into the silicon area.

Take a look at the following resources;

On a quick search, the two that I have found are;

FWIW - From Linux compatibility, most RISC-V CPUs are interchangeable as long as they implement the right ISA subset (but can have very different performance). Despite taking up insignificant silicon, Linux support tends to fall apart at the peripheral drivers, hence it is not unreasonable to focus on those. Broken peripherals (particularly memory & storage controllers) can also easily hobble your high performance CPU design as well.

I do agree that starting with a smaller MCU configuration (probably running Zephyr) is a good idea.

from linux-on-litex-rocket.

ryao avatar ryao commented on July 3, 2024

On Mon, May 29, 2023 at 03:43:16PM -0700, Richard Yao wrote: Has anyone tried having this fabricated on that? If yes, how did it perform?
My $0.02: Rocket is the "tail wagging the dog" here -- the SoC's area will be overwhelmingly dominated by the Rocket CPU, with the rest of LiteX being rather small in comparison. So if you're interested in the idea of a "tapeout", the better question would be "has anyone done it for RocketChip yet?" Alternatively, consider the tapeout of LiteX with a smaller CPU, where the CPU wouldn't totally dominate the area/utilization of the resulting design. HTH, --Gabriel

I know someone using the Raspberry Pi CM4 to make devices, but has been looking for alternatives due to shortages. Seeing this made me think about whether it would be possible to produce an alternative for him through Google’s service by using this as a starting point and adding a display output for a touch screen, Ethernet, SPI, I2C, GPIO and eMMC. Unfortunately, LiteX does not provide a way to connect a LCD panel and get a frame buffer.

If there were a way to do that, the result would run a lightweight electron application (which would require porting electron to RISC-V) and need to have decent performance. The electron application is very light weight, as it is mostly HTML/CSS with a bit of JavaScript.

Getting back to my question, I asked mostly because there are two unknowns to me:

  1. Whether it actually works when fabricated.
  2. How it performs when fabricated. The demonstration video shows a particularly long boot time that would be problematic in a production device, so I assume that a tapeouf would be needed to raise the boot performance to something acceptable.

Having an open source SoC that can replace the CM4 for him is probably just a dream at this point due the need for a display output. People have implemented open source display outputs, but hooking them up to LiteX is a bit beyond my current ability:

https://github.com/hamsternz/DisplayPort_Verilog
https://github.com/skatanik/dsi_controller

Whether it would work well enough that you will not watch the screen repaint in slow motion when the web page in electron changes without GPU acceleration is also an unknown.

A GPU might be needed to accelerate drawing operations, but the open source GPU designs focus on GPGPU such that they do not support video outputs or have the Open GLES support needed to accelerate drawing operations in electron:

https://github.com/jbush001/NyuziProcessor
https://github.com/VerticalResearchGroup/miaow
https://github.com/vortexgpgpu/vortex
https://github.com/hughperkins/VeriGPU

Hooking that up to LiteX, a display output and Open GLES is definitely beyond my present ability, but I suppose that I can still dream.

from linux-on-litex-rocket.

gsomlo avatar gsomlo commented on July 3, 2024

from linux-on-litex-rocket.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.