Skip to content

ceaj91/axi-stream-sorter

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

axi-stream-sorter

Overview

This repository contains an AXI-Stream-based sorting IP block implemented in Verilog. The IP receives data via an AXI-Stream input, sorts it using the Bubble Sort algorithm, and outputs the sorted data through an AXI-Stream output.

The design has been formally verified using SystemVerilog Assertions (SVA) and JasperGold to ensure correctness and reliability.

Features

  • AXI-Stream Input/Output: Compatible with standard AXI-Stream interfaces.
  • High-Throughput: Processes two 16-bit numbers per clock cycle.
  • Optimized Sorting: Implements Bubble Sort for stable sorting.
  • Formal Verification: Uses JasperGold to verify correctness.
  • Verilog Implementation: Designed for FPGA/ASIC applications.

System Architecture

  • Input: Receives two 16-bit numbers per clock cycle via AXI-Stream.
  • Sorting Logic: Implements Bubble Sort algorithm.
  • Output: Emits sorted numbers as quickly as possible via AXI-Stream.
    AXI-Stream Interface

Implementation Details

  • Language: Verilog
  • Sorting Algorithm: Bubble Sort
  • Verification: SystemVerilog Assertions (SVA) with JasperGold
  • Clock Cycle Behavior:
    • Every clock cycle, two numbers are received.
    • Sorted results are emitted as soon as possible.

About

This repository contains an AXI-Stream sorting IP block written in Verilog. The design supports an AXI-Stream input and output interface, making it suitable for FPGA and ASIC-based sorting applications. Formal verification has been performed using JasperGold to ensure correctness and reliability

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors