Parallel Programming for FPGAs

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 (Ryan Kastner, Janarbek Matai, and Stephen Neuendorffer) 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 CSE 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.

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

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