Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add VexRiscv CPU; Use system structure similar to iob_soc_opencryptolinux. #945

Merged
merged 12 commits into from
Sep 10, 2024

Conversation

arturum1
Copy link
Contributor

Replace PicoRV32 CPU by VexRiscv.
Remove iob_cache (use one included in VexRiscv).
Replace system iob_splits by single axi_interconnect.

Structure similar to iob_soc_opencryptolinux system.
WIP: Simulation is stuck before boot. Likely due to wrong address ranges.

There are also a lot of warnings about AXI_ADDR_W of signals. This is
because interconnect expects 24 bits (configurable via AXI_ADDR_W
parameter) and the peripherals/cpu dont use the same width.
WIP: CPU reads first prebootloader instruction and gets stuck. Likely
because ROM does not yet support burst transfers.
Rename software sources to use underscores;
Re-add csrs to bootrom. Allows csrs generator to handle AXI to iob conversion.

TODO: Update py2hwsw to fix AXI interface of generated csrs.
Update py2hwsw version.

Pre-Bootloader seems to run, but not bootloader.
Seems to keep resetting back to pre-bootloader.
- Fix prebootloader copy size.
- Fix interconnect wrapper for single master.
- Fix iob-soc scripts.
- Fix rdata timing bug in axi2iob module.
- Update vexriscv submodule.
IOb-SoC no longer uses iob-cache.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants