Reverse Engineering of Rocket Chip

Rocket Chip

Overview

Create Micro-Architecture and Software Specification (MASS) Document designed through our methodology that would enable developers or enthusiasts to modify Rocket-Chip’s modules and create an Intellectual Property (IP) using it.

Software Methodology

  • Object-Oriented Programming (OOP) principles and high-level Functional Programming concepts were used to better understand the structure of the Rocket-Chip code.
  • Flowcharts, UML Class Diagrams, and Block Diagrams were made to understand the in-depth functionality of each module inside the Rocket-Chip.

Complexity of Task

  • Rocket-Chip contains 328 source files of Scala in 23 directories and 33,427 total lines of Scala code.
  • To the best of our knowledge, there is no previous MASS Document of Rocket-Chip available for micro-architecture as well as software-level understanding.

Future Research

  • Integrate peripherals with the Rocket-Chip SoC that are not available in the Rocket-Chip repository which includes GPIO, I2C, JTAG etc.
  • Creates parameterizable Micro-Architecture.
  • Extend to include the any Extensions.