Conversation
|
Hi, I noticed that there are multiple Ara/Cheshire/MMU-related branches. I wanted to evaluate Ara with Linux, but for that to work, I suppose that it requires proper MMU support. Since Cheshire is supposed to run Linux, I wonder if this PR has Ara MMU support. I noticed that in Bender config, it refers to branches that don't include MMU patches from the Could you let me know if there is any working setup to make Ara work with Linux (with MMU support)? I can see that there are multiple branches (i.e., |
|
Hello @MarekPikula, We are internally working on a version of Ara that supports Linux on FPGA, which we plan to release in the next months gradually. The version that can now boot Linux is a bit messy and needs clean-up.
As a note: this is not what you see in this PR. |
|
Nice, thank you for the pointers to the right places. I tested it in FireSim on an AWS F1 FPGA, and it seems to be working fine. I haven't run any extensive tests or benchmarks yet, only some small testing algorithms I had at hand, but man, it is exciting. |
a814e99 to
5a3ce5d
Compare
Point to open-source deps - 1
|
Hi, @mp-17 thanks for the effort integrating ARA! How close is the current PR to be merged? Can we use this PR as-is on an FPGA with Linux? |
|
Hello @krabo0om, I will soon rework this PR and write down how to use Ara on FPGA since we have reached a sufficiently stable version. |
|
Hi @mp-17, today I was trying to update my FireSim setup with the updated Ara (from the master branch) but stumbled upon the following synthesis error from Vivado:
For the following lines:
If I remove the |
|
Hello @MarekPikula, can the problem be linked to the fact that It's an ugly fix, but if you include |
|
Hello @mp-17 Just want to ask, What am I missing here? Should disabling vector FPU be of any help? |
d214d1d to
41dbd1b
Compare
|
Hello @fulcrum34. We have only tried it on the VCU128, not yet on the Genesys2 board. You can try removing the FPUs and see if it fits. |
Hi, Thanks! I can connect using Openocd. See openocd.log and gdb.log but the uart terminal despite correct port and baud prints |
| common_cells: { git: "https://github.com/pulp-platform/common_cells.git", version: 1.33.0 } | ||
| common_verification: { git: "https://github.com/pulp-platform/common_verification.git", version: 0.2.0 } | ||
| cva6: { git: "https://github.com/pulp-platform/cva6.git", rev: pulp-v1.0.0 } | ||
| cva6: { git: "https://github.com/pulp-platform/cva6.git", rev: pulp-v1 } |
There was a problem hiding this comment.
It is better to make new release here; pointing to a moving branch head is not a good idea.
There was a problem hiding this comment.
I have released a second PR that will have tagged commits on main branches.
There was a problem hiding this comment.
Thanks for this PR (sorry for the stray comment above).
Generally speaking, there is nothing to fundamentally object to, but some fundamental things must be done before merging:
- Add the new feature and its parameters to the documentation
- Add the new feature to some FPGA config and have it tested somehow in internal CI
- Discuss how it constrains overall parameterization (we should do this offline).
| common_verification: { git: "https://github.com/pulp-platform/common_verification.git", version: 0.2.0 } | ||
| cva6: { git: "https://github.com/pulp-platform/cva6.git", rev: pulp-v1.0.0 } | ||
| cva6: { git: "https://github.com/pulp-platform/cva6.git", rev: pulp-v1 } | ||
| ara: { git: "https://github.com/pulp-platform/ara.git", rev: mp/cva6-pulpv1/rebase } |
There was a problem hiding this comment.
This should also be merged and get a release before merging this PR.
There was a problem hiding this comment.
I have released a second PR that will have tagged commits on main branches.
| RVV : cfg.Ara, | ||
| RVC : 1, | ||
| RVH : 1, | ||
| RVH : ~cfg.Ara, |
There was a problem hiding this comment.
If there are complex parameterization constraints affecting the rest of the system (which is okay generally), we need to talk these over offline and document them carefully.
There was a problem hiding this comment.
Yes, we can discuss this offline!
|
PR moved to #231, to integrate CVA6 version |

This is the first PR for Ara's support. See #160 for OS support. #160 is sufficiently stable to boot Linux with Ara.
Add bare-metal Ara to Cheshire.
cheshire_soc. The current configuration can host a 2-lane Ara without performance degradations.AraNrLanesto determine the number of vector lanes andVLENto determine the bit width of a single vector register).EDIT:
PR moved to #231, to integrate CVA6 version
pulp-v2.