Learning-Resource
FPGA Resources
Papers
FPGA Intro
- URL: RapidWright FPGA Architecture Basics
- URL: RapidWright Xilinx Architecture Terminology
- Book: Parallel Programming for FPGAs
- Basic about FPGA and HLS
- URL: All about FPGAs, EE Times
- Slides: Intro FPGA CSE467 UW
- URL: I/O Pads
- BGA Wiki: In a BGA the pins are replaced by pads on the bottom of the package. If you check PGA package, you will know the difference between pin and pad, and immediately get why it is called pad. And you will also know what's the pad in the IO Block diagram.
Digital Basics
- PDF: The Digital World
- Wiki: Differential signaling and Wiki: Single-ended signaling
- Book: Digital design and computer architecture
- Content-Addressable Memory Introduction
Verilog
High-Level Synthesis (HLS)
- A Survey and Evaluation of FPGA High-Level Synthesis Tools
- Xilinx Introduction to FPGA Design with Vivado High-Level Synthesis
- Xilinx Vivado Design Suite User Guide High-Level Synthesis
- Xilinx SDAccel Development Environment Help for 2018.2 XDF
- The Zynq book
- Parallel Programming for FPGAs
- GMU ECE 699 Software/Hardware Co-design S15
- CMU ECE 18-643
- Cornell ECE5775 from Prof. Zhiru Zhang
- Good notes about HLS
Courses
- Online: Real Digital
- CMU ECE 18-643
- I like its slides, very informative. Slides about PR, Verilog, HLS are good.
- Also read its references, all quite good papers.
- Cornell ECE5775 from Prof. Zhiru Zhang
- GMU ECE 699 Software/Hardware Co-design S16
- GMU ECE 699 Software/Hardware Co-design S15
- DAMN, this is a good and practical course.
- MIT 6.111 Introductory Digital Systems Laboratory
- MIT 6.375 Complex Digital Systems
- UCB EECS 151/251A
Books
- Parallel Programming for FPGAs
- The Zynq book
- FPGAs for Software Programmers
- Data Processing on FPGAs, Synthesis Lectures on Data Management