Comments (6)
FWIW - The Caravel Harness is based on the MCU version of LiteX / VexRISCV.
from linux-on-litex-rocket.
from linux-on-litex-rocket.
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;
- https://github.com/The-OpenROAD-Project/OpenLane-MPW-CI/blob/main/designs/README.md
- https://bit.ly/openmpw-manifest-summaries
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.
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:
- Whether it actually works when fabricated.
- 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.
from linux-on-litex-rocket.
closing since the conversation appears to have run its course :)
Feel free to follow-up or re-open if there's anything still left to discuss on this topic.
from linux-on-litex-rocket.
Related Issues (20)
- Debug system instabilities HOT 2
- Simulator UART address HOT 3
- Which cpu architecture to use in BBL building when full rocket (with fp) is used? HOT 2
- Documentation of the varying rocket cpu-variants HOT 2
- Issue with booting HOT 33
- Simulation (using Verilator) failed HOT 1
- Unable to boot Linux - userspace cannot write to console, no busybox shell HOT 7
- litex_sim fails loading opensbi: Liftoff hangs HOT 4
- Unable to boot into linux on simulated SoC - Kernel panic HOT 11
- zifencei + zicsr needed to build BBL HOT 3
- RocketChip standalone build support is deprecated upstream, requires use of SoC frameworks HOT 5
- Unable to build rocket cpu for terrasic de2 115 HOT 1
- genesys2: full4q CPU variant not supported HOT 2
- build busybox : fatal error:crypt.h No such file HOT 3
- Repo status HOT 5
- Arty A7-100T Boot Linux Panic about irqchip. HOT 1
- Booting linux panic on Arty A7-100T 【uart and irq error】 HOT 2
- Running Bare Metal application code on litex with cpu type rocket HOT 1
- Booting a lightweight image of linux on the litex simulator HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from linux-on-litex-rocket.