Welcome to the MAFIA Project
MAFIA: Multi-Agent-Fabric-Integration-Architecture
An initiative aimed at designing a System-on-a-Chip (SoC) Tile-based mesh fabric.
Project Overview
The MAFIA Project is developed by final year Electrical and Computer Engineering students at Bar-Ilan University and the Technion in Israel.
Key Features
- Acceleration of distributed workloads, particularly beneficial for AI inference and learning.
- Traditional program acceleration by utilizing a pipelining approach.
- This SoC design provides a robust platform for versatile tasks, offering improved speed and efficiency
Functionality includes
- RISCV mini-cores and big-cores
- Hardware accelerators
- IO devices such as UART, keyboard, VGA, and DE10-Lite FPGA IO
Technology Stack
The project's RTL is written in SystemVerilog.
We utilize the GNU GCC for the RISCV software stack, which includes linker, assembly, and C source files.
Python is employed for build scripts, post-processing, GUI, and other utilities.
Main Components
Our architecture consists of the following key elements:
- A 4-way Router coupled with a local Endpoint.
- A 5-stage Mini Core that is RV32I compatible.
- A 5-stage Big Core, which is RV32IM CSR compatible and supports MMIO (VGA, UART, FPGA IO, PS2 Keyboard).
- A Memory Subsystem equipped with L1 Instruction and Data Cache, as well as a Memory Controller.
Software Stack to run on SoC
Our system runs on a simple proprietary RISCV embedded OS-like system and includes:
- A software library for VGA graphical capabilities.
- A software library for accessing the FPGA MMIO and special control registers.
- Software examples demonstrating the utilization of many cores for distributed calculations and parallel computation.
Getting Started
For the best experience, we recommend using a Windows machine running vscode + gitbash.
Please follow the instructions in the Walkthrough MAFIA
Prerequisite
Before you start, make sure you have the following tools and software installed:
- RISCV gcc releases & install, a Windows gcc for RISCV ISA.
- Intel design SW for windows,
modelsim + quartus + MAX10 (de10-lite).
Used to compile, simulate & load to FPGA the HW systemverilog design.
Inspiration Behind the Project
This project draws inspiration from innovative players in the field of computing.
These include:
- HammerBlade Manycore:Bespoke Silicon Group | Watch the video on Youtube
- Tesla: DOJO | Watch the video on Youtube
- Tenstorrent: Wormhole & more | Watch the video on Youtube
- Esperanto: ET-SoC-1 | Watch the video on Youtube
Stay Tuned for Updates!
Thank You for Your Interest in the MAFIA Project!