# FPGA

## FPGA

* [1. Getting Started](#1-getting-started)
* [2. Frameworks](#2-frameworks)
* [3. Resources](#3-resources)
  * [3.1. Articles](#31-articles)
  * [3.2. Open Source Implementations](#32-open-source-implementations)
* [4. Research](#4-research)
  * [4.1. Conferences](#41-conferences)
  * [4.2. Labs/Opportunities](#42-labsopportunities)

### 1. Getting Started

* [Nandland: FPGA 101](https://www.nandland.com/articles/fpga-101-fpgas-for-beginners.html) - FPGA for beginners
* [Hackaday: FPGA Bootcamp](https://hackaday.io/project/159720-fpga-bootcamp-0) - Refresher on digital logic
* [FPGA Glossary](https://blog.digilentinc.com/fpga-for-beginners-glossary-and-setup/)
* [FPGA Design Elements](https://github.com/laforest/FPGADesignElements) - A self-contained online book containing a library of FPGA design modules and related coding/design guides.
* [Blinky on every FPGA](https://github.com/fusesoc/blinky)
* [FPGA Project ideas](https://github.com/lastweek/FPGA-Readings) - Recipe for FPGA cooking
* [FPGA Boards list](https://joelw.id.au/FPGA/CheapFPGADevelopmentBoards)
* [FPGA in Finance blog](https://fpgainfinance.com/what-are-fpgas/) - What are FPGAs?
* [Getting started with FPGA](https://github.com/lastweek/FPGA) - This repository is intended for folks who are new and want to learn something about FPGA. This repository is a collection of useful resources and links rather than a thorough FPGA tutorial.
* [FPGA timing](https://github.com/rajesh-s/computer-engineering-resources/blob/master/area_specific/youtube.com/playlist?app=desktop\&list=PLx-Ml26M7ApIfR5VF0B7LKx0NYqMJ7GR4/README.md)

### 2. Frameworks

* [SoC Builder from LiteX](https://github.com/enjoy-digital/litex) - LiteX is a MiSoC-based SoC builder using Migen as Python DSL that can be used to create SoCs and full FPGA designs.
* [Scalable Network Stack for FPGA](https://github.com/fpgasystems/fpga-network-stack) - Scalable Network Stack supporting TCP/IP, RoCEv2, UDP/IP at 10-100Gbit/s

### 3. Resources

* [Xilinx AXI VIP for FPGAs](https://forums.xilinx.com/t5/Design-and-Debug-Techniques-Blog/AXI-Basics-2-Simulating-AXI-interfaces-with-the-AXI-Verification/ba-p/1053935) - Article on using the Xilinx AXI VIPs. [Part 2](https://forums.xilinx.com/t5/Design-and-Debug-Techniques-Blog/AXI-Basics-2-Simulating-AXI-interfaces-with-the-AXI-Verification/ba-p/1053935)
* [Productive Parallel Programming for FPGA with HLS](https://spcl.inf.ethz.ch/Teaching/hls-tutorial/) - ETH Parallel Computing lab
* [Course on MPSoC](https://ohwr.org/project/soc-course/wikis/home)

#### 3.1. Articles

* [Using SDRAM in FPGA Designs](https://www.joshbassett.info/sdram-controller/)

#### 3.2. Open Source Implementations

* [HDMI HDL UTIL](https://github.com/hdl-util/hdmi) - Send video/audio over HDMI on an FPGA

### 4. Research

#### 4.1. Conferences

* [FPL](http://www.wikicfp.com/cfp/program?id=1083\&f=Field-Programmable) - Conference on Field-Programmable Logic and Applications

#### 4.2. Labs/Opportunities

* [SHREC](https://nsf-shrec.org/) - Consortium of universities doing good FPGA research
* [NetFPGA](https://netfpga.org/site/#/about/) - The NetFPGA is an open source hardware and software platform designed for research and teaching. These platforms allow researchers, and students to build prototypes of high-speed, hardware-accelerated networking systems.
