Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time
October 28, 2020 20:32
October 5, 2022 13:08
January 19, 2022 11:54
February 7, 2021 17:01
May 12, 2018 12:14
October 5, 2022 13:17
August 22, 2018 16:18
August 22, 2018 16:18
April 18, 2023 15:44
January 19, 2022 11:54
September 6, 2022 15:43
October 5, 2022 13:10


Parallel Programming for FPGAs

GitHub Actions Status: CI GitHub view download

Ryan Kastner, Janarbek Matai, and Stephen Neuendorffer

An open-source high-level synthesis book


Parallel Programming for FPGAs is an open-source book aimed at teaching hardware and software developers how to efficiently program FPGAs using high-level synthesis (HLS). The authors developed the book as we noticed a lack of material aimed at teaching people to effectively use HLS tools.

The book was developed over many years to serve as a primary reference for UCSD 237C — a hardware design class targeting first-year graduate students and advanced undergraduate students. We hope that you find it useful for learning more about HLS, FPGAs, and system-on-chip design.

The book is licensed under the Creative Commons Attribution 4.0 International License. We encourage you to make edits, add material, and fix errors. Thanks to those who have made pull requests over the years. Please keep them coming!

Feel free to grab the source at our github repo or for quicker access, here is the pre-built pdf.

Some fine people have translated this book into Mandarin - pp4fpgas-ch

If you want to cite this book, please use the arxiv submission:

author = {{Kastner}, R. and {Matai}, J. and {Neuendorffer}, S.},
title = "{Parallel Programming for FPGAs}",
journal = {ArXiv e-prints},
archivePrefix = "arXiv",
eprint = {1805.03648},
keywords = {Computer Science - Hardware Architecture},
year = 2018,
month = may