Skip to content
/ SysAlloc Public

SysAlloc, a FPGA implemented hardware memory allocator for heterogeneous systems.

Notifications You must be signed in to change notification settings

Hilx/SysAlloc

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 

Repository files navigation

SysAlloc

Last updated by Hilda Xue, 26 Aug 2015

If you have any questions, please do not hesitate to contact me.

My email address: zeping.xue10 AT imperial.ac.uk.

Overview

SysAlloc is a hardware memory allocator for memory-mapped bus connected heterogeneous systems targeting centred memory. It is scalable in terms of having arbitrary number of active clients in the system; it is also flexible in the range of memory to be managed.

The current SysAlloc is based on the idea of binary buddy systems. The allocator searches for the first-fit memory block. Unlike software-implemented allocators where the memory management is done by repeatedly splitting and coalescing memory blocks, our hardware implemented allocator takes a number of continuous base blocks and allocate. In this way we avoid the splitting and coalescing. Apart from that, instead of searching in a list of memory blocks, we use a tree data structure to search for suitable memory blocks.

You could read my paper to better understand SysAlloc.

Source##

SysAlloc IP core for Zynq SoC

The VHDL implementation of SysAlloc IP core can be found here.

Allocator-only source

The VHDL implementation of memory allocator can be found here. This is the allocator only code, which means the communication protocol is not included.

Allocator Algorithm C model

The allocator algorithm is firstly modelled in C and the C code can be found here.

Synthetic FPGA implemented client

Source code for the synthetic hardware clients used in testing SysAlloc can be found here.

Software Access

The example code for accessing SysAlloc from software running on processors can be found here.

HLS Access

SysAlloc can also be accessed from HLS, and the example can be found here.

About

SysAlloc, a FPGA implemented hardware memory allocator for heterogeneous systems.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published