FPGA task
Task overview
- The goal is to sort 32-bit unsigned numbers in a window of size N and output the three highest of each window.
- Our stream protocol is AXI (VALID + READY + DATA + LAST)
Task overview: AXI
Design proposal
- Sorting is made using a pipelined sorting network (Mergesort) with 7 stages and 8 inputs.
- Storage is only a register array with 8 positions.
- Comparators in the pipeline have a register to save the highest numbers in the window.
- There is a global window counter to output only when it's expected.
Design proposal
Block diagram overview
Design proposal
Staged pipeline
So far...
- Implemented and tested: Comparators, stages and pipeline.
- Next pictures are some of our behavioural simulations.
So far...
Comparator test
So far...
Stage 1 test
So far...
Stage 2 test
So far...
Pipeline test
To be implemented
- AXI Stream source/destination.
- Register array.
- Main module (global window counter).
Issues/Concerns
- Sorting timing is not consistent (should the pipeline output all three numbers at once?)
- Our register array size might be a bottleneck in high-speed transmission.
deck
By samgh96
deck
- 25