Zynq Part 2: Zynq Vitis Example with PL Fabric GPIO and BRAM

Поделиться
HTML-код
  • Опубликовано: 12 сен 2024
  • Hi, I'm Stacey, and in this video I go over part 2 in my zynq series, using Vitis!
    Part 1: • Zynq Part 1: Vivado bl...
    Github Code:
    github.com/HDL...
    Buy me a coffee to support my channel: www.buymeacoff...

Комментарии • 31

  • @SergeyUstinovDih
    @SergeyUstinovDih 11 месяцев назад +11

    Thank You! Really clear and detailed explanation. The best I've seen on RUclips,

  • @pradeeppotturi3249
    @pradeeppotturi3249 8 месяцев назад +4

    Thank you very much, I'm totally new to FPGAs and tools but Part 1&2 helped me understand Zybo boards, Vivado and Vits. For your reference I used Zybo 20 with Vits 2023.2 (it is not on eclipse but on Vcode). But it is intuitive to find all the option. Although I didn't find xbram in the hardware this is a good start toggling SWs & LEDs.

  • @guilherme8829
    @guilherme8829 7 месяцев назад +1

    Thank you Stacey for taking the time to share this knowledge. Your explanations are really helpful.

  • @JIeFu-ee4xk
    @JIeFu-ee4xk 7 месяцев назад +1

    thanks a lot for this detialed explanation, it helps a lot for beginners like me!

  • @kevinstark8816
    @kevinstark8816 5 месяцев назад +1

    Really great video, should have more views

  • @adnanetube9588
    @adnanetube9588 5 месяцев назад +1

    Thank you very much for these videos !

  • @sayedsaeedjazaeri4483
    @sayedsaeedjazaeri4483 9 месяцев назад +1

    Completely useful and clear! Thank You

  • @fc3fc354
    @fc3fc354 3 месяца назад +1

    I hope you will keep going with the vide😢this videos are really informative

  • @giorgiop509
    @giorgiop509 Год назад +4

    Hello . Very nice examples (vivado+Vitis). Can you do another part where the Bram is read/write from PL side concurrently from PS ? Than you for very clear explanation. Your video is very interesting for me. Ciao

    • @FPGAsforBeginners
      @FPGAsforBeginners  9 месяцев назад

      See part 3, this is where I do read/writes from the PL as well.

  • @unixux
    @unixux 4 месяца назад

    Best of RUclips hands down… where did the uart come from though ? And the printf() function - is there some kind of rtl (as in runtime library) and a kernel behind the scenes ?

  • @Aramatos
    @Aramatos 3 месяца назад +2

    Thanks for the tutorial, Stacey! While I can follow the coding portion I am a bit lost on how to set up Vitis.
    I am sure I have the Vitis IDE but it says unified IDE now, it seems like a new version. While I was able to create a project and a system I can't find this prj file or the BSP settings. When starting I get the options of creating either: platform components, embedded aplication or a system project, what should I do to follow this tutorial?

    • @44Kokoloko
      @44Kokoloko 3 месяца назад +1

      Hey there
      I did some digging in the doc and experimenting and I figured out the following:
      Vitis Unified IDE doesn't seem to automate the process as much as the old IDE did, I think mostly due to the wider variety of projects it can now handle, so the added granularity allows more flexibility.
      Note I am using Vitis Unified Platform 2024.1 here
      Refer to the diagram at 3:21 for the following:
      - The System Project rectangle refers to the System project level, one of the two levels for which the new Vitis can be used to design. The other level is the component level, which refers to anything that can fit inside of this System Project rectangle/scope, including the Platform Project rectangle.
      - an "Application project" in the old Vitis is nothing other than an "Application Component" in the new Vitis. However, as you may realize if you try to build one, it will not offer you to create a new "Platform Project". For this, you will need to create a new "Platform Component" seperately before creating the application component. It will also generate a new domain, as illustrated in the diagram.
      Since in this tutorial we are not doing HLS Development, simply refer to the "System Development" box at the bottom of the Welcome Page in Vitis Unified IDE. Notice how the different components you need to create are already in order from top to bottom in this box!
      You should go to the system configuration file (vitis-comp.json under your zynq_example_system on the lefthand side menu) to add your application component to your system project.
      .prj files in the old IDE are equivalent to the .json files in the settings of your various components. It seems the new Vitis has moved away from the Eclipse engine and uses something very similar to VSCode....

  • @SkyRiderJavelin
    @SkyRiderJavelin 8 месяцев назад +1

    excellent, very clear & practical tutorial. What doing the same thing using opensource tools

  • @Tony-jj7qj
    @Tony-jj7qj 3 месяца назад +1

    Hi, I am following your playlist to learn about the PS PL integration, I have bram controller in the block design but it is not showing in the drivers in BSP. Can you help. I checked the xparameters.h file it isn't there as well.

    • @Eniola-j2i
      @Eniola-j2i 17 дней назад

      Hello Tony, I have the same problem and I can’t figure out a why. Did you get it resolved? If so, how? Thank you !

    • @Tony-jj7qj
      @Tony-jj7qj 16 дней назад

      @@Eniola-j2i hey!! you need to manually add the driver... I'll share a link where you can learn how to do.
      may i ask which version are you using?

    • @Tony-jj7qj
      @Tony-jj7qj 16 дней назад

      @@Eniola-j2i see stephenm's answer (expand it)

  • @mohammadhosseinsame3322
    @mohammadhosseinsame3322 3 месяца назад

    BRAM Controller has AXI4 (full) Slave port,
    is there anyway to do the "Burst Write/read" instead of writing/reading data one by one in for loop? for loop keeps the ARM busy
    thanks!

  • @rohiniml7749
    @rohiniml7749 3 месяца назад

    Can we program the PS using Python instead of C language.
    If yes, can you please guide me through?

  • @HamedTor
    @HamedTor 5 месяцев назад

    Hi, thank you!. it's very usefull video, but I have question, how does it work?! I did all steps based on video 1, but you didnt define UART IP, so you can't use hello world template

  • @SeriousCee
    @SeriousCee 7 месяцев назад

    How can i access the gpio within petalinux for example? I love your videos, keep it up❤

  • @danielv3228
    @danielv3228 9 месяцев назад

    Hi, could you do a quick video about the differences between this version and the 2023.2 version with the new interface? There seems to be a lot of interface/syntax changes. I learned a lot from your zynq 1 video with 2023.2 but had to download 2023.1 to be able to continue with this video. Thanks for making this all make sense.

    • @FPGAsforBeginners
      @FPGAsforBeginners  9 месяцев назад

      I'd recommend checking that you're using Vitis and not vitis HLS. Very different interfaces.

  • @MrKrishnanandaKHegde
    @MrKrishnanandaKHegde 24 дня назад

    When you hit Run and Launch, where actually is the program running?

  • @christiangrenier9434
    @christiangrenier9434 8 месяцев назад

    Can u confirm that XGpio_Initialize(&Gpio, XPAR_AXI_GPIO_0_DEVICE_ID); ==> need to set XPAR_AXI_GPIO_0_DEVICE_ID, not XPAR_AXI_GPIO_0_BASEADDR. Thanks for your great videos!!

    • @FPGAsforBeginners
      @FPGAsforBeginners  8 месяцев назад

      Yeah I picked up on this too after the fact. In the next video (part 3) and github it should be fixed.

  • @kevinstark8816
    @kevinstark8816 5 месяцев назад

    btw, can you confirm that in line 112 and line 119, the XBram_ReadReg(XPAR_BRAM_0_DEVICE_ID,i) is actually XBram_ReadReg(XPAR_BRAM_0_BASEADDR,i) thanks! cause it's writing to the base address of Bram