SHAKTI Processor Project


The SHAKTI processor project aims to build 6 variants of processors based on the RISC-V ISA from UC Berkeley (www.riscv.org). The project will develop a complete reference SoC for each family which will serve as an exemplar for that category of processor. While the cores and most of the SoC components (including bus and interconnect fabrics) will be in open source, some standard components like PCIe controller, DDR controller and PHY IP will be proprietary 3rd part IP.


All source will be licensed using a 3 part BSD license and will be royalty and patent free (as far as IIT-Madras is concerned, we will not assert any patents). While the primary focus is research, the SoCs are being designed to be competitive with commercial processors with respect to features, silicon area, power profile and frequency. This of course assumes that an optimal layout process is used to tape out our design. All FPGA data (Xilinx) will also be made available


While we do plan to tape out a few variants, given the foundry NDA requirements, we will not be able to publish any layout/backend data.

Students seeking internship/collaboration under this project are requested to fill this FORM


Processor Variants

C class microcontrollers

I class processors


M Class processors

S class processors

H class processors

T class processors

Experimental security oriented 64-bit variants with tagged ISA, single address space support, decoupling of protection from memory management.


Processor Interconnect

We are also developing a processor to processor cache-coherent interconnect to allow building of multi-socket S class systems. The interconnect is based on the RapidIO interconnect. We are investigating a two tier scheme where a MOESI/MESIF style scheme is used for 2-8 socket systems anda directory based scheme for larger configurations (max 256 sockets)

Design Approach

The approach is to built optimal (high performance) building blocks that can be shared among the variants and then add variant specific blocks. The above variants are just canonical references and the Shakti family will see variants that will be hybrids.


When possible, we have also provided the Synopsys and Xilinx synthesis results for each module.


Final versions will contain the full BSV code, the generated Verilog code, testbenches, verification IP and FPGA support files.


Related projects

The SHAKTI effort is part of a larger effort to build complte systems. As part of this effort, IIT-M is developing interconnects (optical and copper) based on Gen 3 (10/25G per lane) RapidIO and a scale-out SSD storage system called lightsor (see lightstor.org) based on this interconnect. The final goal is to build a fabric called Adaptive System fabric that will use a combination of Hybrid Memory Cubes and RapidIO that will unify support for compute, networking and storage.

Source Code

The code repository is bitbucket.org/casl

Currently the RapidIO code and the storage controller code is available.

Contributors

Project Co-ordinators

  • Prof. V. Kamakoti (veezhi@gmail.com)
  • G.S.Madhusudan (gs.madhusudan@cse.iitm.ac.in)
  • Research Scholars

  • Neel Gala (neelgala@gmail.com)
  • Bodduna Rahul (rahul.bodduna@gmail.com)
  • Arjun Menon (c.arjunmenon@gmail.com)