Skip to main content

FPGA Multi-Agent FabrIc Architecture

mafia_level2 badge

Current Development Status:

This project is currently a work in progress
We are in the process of enabling and integrating individual IPs
Our team is working diligently to deliver a fully functional fabric by May, 2024.


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 Image

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:

Inspiration Behind the Project

This project draws inspiration from innovative players in the field of computing.
These include:

Stay Tuned for Updates!

Thank You for Your Interest in the MAFIA Project!