Skip to content

Compact LSTM inference kernel (CLINK) designed in C/HLS for FPGA implementation.

Notifications You must be signed in to change notification settings

UCLA-VAST/CLINK

Repository files navigation

CLINK

Compact LSTM inference kernel (CLINK) designed in C/HLS for FPGA implementation.

Brief Description

The compact LSTM kernel is a one-hidden-layer N-node LSTM network. N is typically a small number, which indicates the network is compact.

It is originally designed to perform approximation on IIR filter functions without acausal delay, which is very useful for closed-loop EEG signal processing.

The idea and its implementation across platforms (especially on FPGA)can be extended for a variety of embedded real-time applications.

The C simulation is based on the test bench of EEG sampling sequence. Two benchmarks have been provided, corresponding to 16-bit fixed-point and 32-bit floating point data types, respectively.

The fixed-point CLINK kernel is implemented by Vivado HLS, and it is an acceleration kernel that can run on the FPGA.

The Vivado HLS kernel is time multiplexed by 16 slices, so that it can be shared among 16 different input EEG channels.

Reference

Please cite this paper when you find CLINK useful in your research. Thanks!

Zhe Chen, Hugh T. Blair, Andrew Howe, Jason Cong. CLINK: Compact LSTM Inference Kernel for Energy Efficient Neurofeedback Devices. International Symposium on Low Power Electronics and Design, Seattle, WA, July 23-25, 2018.

About

Compact LSTM inference kernel (CLINK) designed in C/HLS for FPGA implementation.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published