Skip to content

Current State of Sodor

kritik bhimani edited this page Jan 12, 2018 · 10 revisions

Sodor has two main branches, that are kept in sync:

  • master branch contains the simplest code
  • comments-dev branch mirrors master, and adds verbose comments to the code.

Sodor also has advanced branches:

  • tilelink2_old_pynq uses older tilelink2 implementation and contains other support files to run on PYNQ-Z1
  • tilelink2_pynq compatible with the latest tilelink api from freechipsproject/rocket-chip
  • arty-dev support for arty fpga

Branches with -dev appended to them are in development and may not have everything working

Note: On switching from one branch to another please use git submodule update --recursive

Code

Apart from the above main repository changes have also been to made to the following forked repositories to get support for not supported features:

Current Feature Set

  • priv1.10
  • chisel3
  • debug spec v0.13
  • Tilelink integration (code reuse from rocket)
  • Port to FPGA
  • Microarchitecture diagrams
  • Communicate between sodor on pynq-z1 and fesvr(x86) using xsdb

Future Work / To-Do

  1. Integrate glip into sodor on fpga to help establish a communication link with fesvr(x86) for use with arty
  2. Refactor source that was used to get support for sodor on fpga to make it more understandable as it is currently in a deep mess
  3. Documentation along with comments to source
  4. Pull request for code not yet merged upstream i.e. tilelink,fpga related,documentation with microarchitecture diagrams
  5. Get changes in riscv-fesvr upstream
  6. Support for Open Soc Debug because otherwise its difficult to debug target especially if its running on fpga

random thoughts on things to make 1-stage code more accessible

brainstorming on progression in difficulty of sodor code

Clone this wiki locally