jan.kral@fi.muni.cz Jan Kral FPGA III: Introduction W01: Introduction jan.kral@fi.muni.cz 2 Contact Jan Kral jan.kral@fi.muni.cz Consulting hours: Please always write me an e-mail in advance. Office: B401 W01: Introduction jan.kral@fi.muni.cz 3 Safety Instructions ● Please sign the briefing record ● You will work only with Safe Extra Low Voltage (SELV) devices ● Do not eat or drink inside the laboratory ● All injuries are required to be reported ● Do not manipulate with electrical equipment W01: Introduction jan.kral@fi.muni.cz 4 Semester Plan W1: Introduction to Zynq platform W2: Generating BSP for custom board W3: First Linux on Zynq W4: PS <> PL communication (AXI Lite) W5: Custom IP core in PL W6: PS <> PL communication – DMA (Part 1) W7: PS <> PL communication – DMA (Part 2) W8: PS <> PL communication – DMA (Part 3) ? W9: Individual projects W01: Introduction jan.kral@fi.muni.cz 5 Scoring ● Scoring: – Individual projects presented in Week 13 ● Individual projects: – Agree on the assignments – Specify the milestones and their deadlines – Git repository required – Presentations of the projects for your colleagues W01: Introduction jan.kral@fi.muni.cz 6 Recommendations ● All PC lab are recommended ● Active participation in laboratory – Will help to solve individual projects ● Home preparation ● Find study materials online W01: Introduction jan.kral@fi.muni.cz 7 Coarse Goals ● You should know: – What is the Zynq platform – How to create a Petalinux system for it – How to communicate with custom IP cores – How to make DMA data transfers ● We will not focus on: – How to create custom IP cores (please take PA221) – SystemVerilog or Verilog or VHDL – Timing and other critical functions of FPGAs (covered by PV200 and PA221) – Signal processing W01: Introduction jan.kral@fi.muni.cz 8 Petalinux Environment ● Petalinux VM on Melampus – ssh user@192.168.51.110 – Contact Ondrej Bleha (493178@mail.muni.cz) if you need access from your home ● Petalinux installation on your machine – https://docs.amd.com/r/en-US/ug1144-petalinux-tools-refer ence-guide – Change default /bin/sh to /bin/bash – Required packages (see .xlsx below the article) https://adaptivesupport.amd.com/s/article/000037095?lang uage=en_US – W01: Introduction jan.kral@fi.muni.cz 9 Petalinux Environment ● For Ubuntu 24.04 # make /bin/sh to point to bash sudo ln -s bash /bin/sh.bash sudo mv /bin/sh.bash /bin/sh # install prerequisities # see https://adaptivesupport.amd.com/s/article/000037095?language=en_US # below the article there is an xlsx file which contains required packages # after some tweaking this command worked on Ubuntu 24.04.1 sudo apt-get install iproute2 gawk python3 build-essential gcc git make nettools libncurses5-dev tftpd zlib1g-dev libssl-dev flex bison libselinux1 gnupg wget diffstat chrpath socat xterm autoconf libtool tar unzip texinfo zlib1g-dev gcc-multilib automake screen pax gzip cpio python3-pip python3pexpect xz-utils debianutils iputils-ping python3-git python3-jinja2 libsdl1.2-dev pylint W01: Introduction jan.kral@fi.muni.cz 10 First steps in Vivado ● On Zedboard ● Create a basic system with PS7 Notes: ● PS (Processing System – CPU and its peripherals) ● PL (Programmable Logic = FPGA area)