ShreyaMahetaliya / Hardware-Accelerator-for-QR-Decomposition

This repo features an ASIC implementation of a hardware accelerator for QR decomposition using the Modified Gram-Schmidt algorithm to enhance numerical stability and accuracy. It includes a QR decomposition module, vector operations, and control units. The design follows the RTL to GDSII flow, providing efficient and scalable QR decomposition.
1 stars 1 forks source link

QR Decomposition Hardware Accelerator

Introduction

This repository contains the implementation of a hardware accelerator for QR decomposition. The project is designed as an ASIC to provide scalable QR decomposition tailored for scientific and engineering applications.

Modified Gram-Schmidt Algorithm

We chose the Modified Gram-Schmidt (MGS) algorithm for its robustness and ability to produce more accurate orthogonal matrices compared to the classical Gram-Schmidt process. The MGS algorithm helps in reducing numerical instability and provides sounder values for the orthogonal matrix Q.

Limitations

Despite the robust design, there are some limitations:

Future Optimization

To enhance the performance and scalability of the QR decomposition module, future optimizations include:

Usage

  1. Clone the Repository
  2. Navigate to the Project Directory
  3. Run Simulations: Use simulation scripts with tools like Vivado, Quartus/ModelSim, or VCS.
  4. QR Decomposition Module: The qr_decomp is the main module. You can add any input matrix (3x3) in the qrdecomp_tb test bench (please take a look at the limitations).
  5. Synthesize the Design: Convert RTL code to gate-level netlist and verify performance.
  6. Generate GDSII: Perform place and route using VLSI design tools and generate the GDSII file for fabrication.