Skip to content

[BRH YT CHANNEL] This repo contains all the code and ressources you need for the Zynq tutorials, ready to copy and paste.

Notifications You must be signed in to change notification settings

0BAB1/BRH_Tutorials

Repository files navigation

BRH Tutorials - Code Github repo

Tip

Contributions are welcome ! Especially since I'm prone to mistakes ;) You can also check out the blog where you have additional informations for each tutorial, but also exclusive content related to engineering in general and bonus tutorials to learn more valuable stuff on a text format.

This repo contains all the code you need for the tutorials, ready to copy and paste.

It also contains links to the associated blog posts where you'll find additional tips & resources if you want to do it yourself or push the concepts I discuss a bit further.

I will also link all the very interesting ressources that helped me in my own learning journey for the curious among you.

Tip

In the future, I will focus more on "Project reviews" on youtube and post actual technical tutorials here and on the blog. Stay tuned !

Table of Contents

  1. ZynQ in two minutes
  2. AXI IP, Hello world & custom LED driver
  3. An introduction to HDLs
  4. DMA Tutorial with an FFT IP
  5. Quick Petalinux Example for Zynq
  6. Python AI to FPGA

1 : ZynQ in two minutes

Video

This video is all about clarifying what ZynQ is and how it use FPGAs at its advantage.

Code

There is no code necessary for this video

Blog post

Find the blog post here

2 : AXI IP, Hello world & custom LED driver

Video

Code

In the video's directory you will find:

  • Verilog code for the top wrapper
  • Verilog code for the AXI protocol handler in which we add our submodule
  • Verilog code for the submodule
  • Constraint file to "link" the IP's output to the LED's pin
  • The main.c file for the sofware part

Blog post

Find the blog post here

3 : An introduction to HDLs

Video

Code

In the video's directory you will find:

  • just the basic hdl and constraints so you have a basic template, nothing fancy

Blog post

Find the blog post here

4 : DMA Tuturial with an FFT IP

Video

Code

In the video's directory you will find:

  • dma_fft.c : The main file that I took you through during the video

IMPORTANT NOTE : do not use xil_printf() but rather printf() to handle the display of floats correctly.

Blog post

Find the blog post here

5 : Quick Petalinux Example for Zynq

Summer is here ! Lighthearted video, more or less entertainement but keeping in mind the objective of delivering fast and technicals infos for you to enjoy !

Video

Code

In the video's directory you will find:

  • commands.sh : a file (NOT MEANT FOR EXECUTION) with a list of the commands alongside some tips

IMPORTANT NOTE : do not use xil_printf() but rather printf() to handle the display of floats correctly.

Blog Post

There is no blog post for this one, but here are some resources :

Here are the topics covered in this ressource :

  • Chapter 22 Linux an overview : understand the basic of linux to get some context
  • Chapter 23 The linux kernel : pretty interresting but not useful to understand booting here
  • Chapter 24 Linux booting : FSBL, SSBL, U-BOOT etc... are discussed

Combined with the video, this 1 hour read should give you a great overview on Linux for embedded solution in no time (in 1/2 day of learning, worth it) !

8 : Python AI Model to fpga

THANK YOU SO MUCH for the success of the intro video !!! But now, Let's get serious : time for the actual tutorial, and it's a BIG one !

Video

Code

In the video's directory you will find:

  • ALL THE RESSOURCES

This video is a big one, It has its own Readme file. See you there !

Resources & Blog Post

C.f. the Readme file.

You can also find the blog post here for building the model's IP using FINN and here to run manual inference on Zynq.

About

[BRH YT CHANNEL] This repo contains all the code and ressources you need for the Zynq tutorials, ready to copy and paste.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published