This material was presented as only someone who really understands what they are doing can. I was especially impressed at how Stacey anticipated virtually all of the questions I had. Great job!
Thank you for this class. What incredible and detailed teaching, besides being straight to the point. It's hard to find good content on this type of subject; I really hope you continue sharing this kind of knowledge that ends up helping many people. Hugs from Brazil.
Really amazed to see how simple you made this topic for a beginner like me to understand. Thanks for the video. Looking forward to more such video tutorials!
This is a top video. I have been struggling with my own design using Zynq and my own HLS IP created in Vitis. Vivado has been reporting I/O resource over-utilisation and problems with the placer during the Implementation run. Now I know that the key is to create the HDL wrapper first.
Excellent Vid & Explanation of this complicated Software & Project. Keep up the good work Stacey! 😁I've just bought a Zybo Z7-10 purely on the strentgh of this Vid!
Okay, this is weird - I was looking at Zynq SoCs only a couple of hours ago for a future project. I've used Vivado a fair amount when working with Artix-7s but never Vitis, so I look forward to part 2. Thank-you for your video.
Great video! I've been struggling a lot with programming FPGAs for my master thesis and your videos have by far been of the greatest help. One question about the peripherals: the way I understand the block diagram now is that the AXI interconnect is connected to both the LEDs and switches in this case, not the other way around. So, in this case, can the switches be used in this case to provide input back through the interconnect to the PS to make the LEDs turn on for example? Basically, is the master and slave AXI connection a two way street?
The question you asked has 2 components… #1 as stacey replied to already… yes you can trigger interrupts on gpio input change to notify the zynq processor BUT YOU ALSO ASKED “is axi a two way street” which is an entirely different question… #2 Is axi a 2 way street? No… only the master can issue read write requests from peripherals!
Thank you very much Stacey for this nice tutorial. I followed your 2 parts using Vivado 2023.2, but after using the exported XSA file in Vitis, there is no driver for block ram, I am able to use GPIO but the platform created has no driver for xbram. Either Vivado 2023.2 does not include it in the XSA file, or the Vitis software has a bug and can't see it in XSA file. I would like some advice on this
I guess, those of us who don't have Zynq can use a microblaze for "processing system". I train on a board with a xcku15p-ffve1517. IMHO, the GPIO even doesn't need 4k range - 128 bytes looks sufficient. Are there considerations to put it bigger (like faster address decode, etc) ?
great explanation. i am from india and i really enjoy your tutotial for block design but what we basically trying to do here ? turning on or off led through zunq processor or something else ?
I have wanted to do an FPGA project for quite awhile now and haven´t gotten around to it. I wanted to create maybe a small 8-bit microcontroller with the alu and a large enough instruction set to be considered general purpose, with registers, and control, etc. There are several companies that offer fpga development boards, could you recommend one to me that would be sufficient to complete my goals? I would like to code in Verilog preferably but VHDL would be fine also.
Dear teacher I have built a module using PL part only to calculate the summation of Bytes. Now, I try to use the Zynq with axi-gpio to read the final value of the summation. I test each circuit individually, it is works correctly. The problem is that when I connected them together (the PL with PS), I did not get any results by the Zynq at the serial monitor. Please, if you can help. Thanks.
You connect your peripherals to the interconnect_aresetn, when the Processor System Reset has a dedicated output called peripheral_aresetn. Is this going to be a problem? The instinct tells us that there are differences between these two resets generated by the reset IP. What can you tell us about that? Thanks!
There is a slight delay, as far as I know, between the peripheral reset and the interconnect reset. So that the interconnects can come out of reset first. However, unless your peripheral specifically needs this reset timing, it doesn't really matter in practice which is connected.
Dear teacher Please, I have a problem during reading the status of an output switch on Zybo Z7-10. I use Vitis to program the Zynq processor with Gpio connected to a slid switch. I make the switch (input2) status as a condition as shown in the program below if (D == 1) ; The following program works only when the input2 signal that was connected to Gpio IP starts from ("1") but the program does not work when input2 signal starts from ("0"). ////////// while (1) { D = XGpio_DiscreteRead(&input2, 1); // input2 from a slide switch if (D == 1) { sum_all = XGpio_DiscreteRead(&input, 1); // input is a 32-bit data printf("%x " , sum_all); sleep (1); } else { XGpio_DiscreteWrite(&output, 1, 0); // output is a LED printf("No_Signal "); sleep (1); } } ///////////// i.e. the program works only when I change input2 from "1" to "0" but does not work when the input2 start changes from "0" to "1".
This material was presented as only someone who really understands what they are doing can. I was especially impressed at how Stacey anticipated virtually all of the questions I had. Great job!
The most clear and detailed explanation I've seen for a long time.
Glad it helped!
Thank you for this class. What incredible and detailed teaching, besides being straight to the point. It's hard to find good content on this type of subject; I really hope you continue sharing this kind of knowledge that ends up helping many people. Hugs from Brazil.
Finally, a tutoral on Xilinix SoC's that makes sense.
You are amazing Stacey. you delivered a very high and clear explanation. keep it up!
Really amazed to see how simple you made this topic for a beginner like me to understand. Thanks for the video. Looking forward to more such video tutorials!
I absolutely love how involved you are throughout. Amazing.
This is the first video in which I really understood what the teacher is teaching...
Thank you... Awsm video...
Thank you Stacey for this tutorial. You explained everything very well. Also graphically. Very impressive! Keep up the formidable work!
Excellent! Thank you, Stacey, great job. You're explanation of the processing of the 'how' and 'why' are super!
This is the channel what i need! Thanks for share this content. Greetings from Argentina
Thanks for the nice video tutorial. Waiting for the next part.
This is a top video. I have been struggling with my own design using Zynq and my own HLS IP created in Vitis. Vivado has been reporting I/O resource over-utilisation and problems with the placer during the Implementation run. Now I know that the key is to create the HDL wrapper first.
Many thanks for your efforts Stacey. Your videos are very useful and we really appreciate your time.
Excellent Vid & Explanation of this complicated Software & Project. Keep up the good work Stacey! 😁I've just bought a Zybo Z7-10 purely on the strentgh of this Vid!
Thank you so much for the very useful tutorial, hope you keep on these tutorials and go further for advanced videos!
Okay, this is weird - I was looking at Zynq SoCs only a couple of hours ago for a future project. I've used Vivado a fair amount when working with Artix-7s but never Vitis, so I look forward to part 2. Thank-you for your video.
Wonderful explanation!
Stacey, you are a legend!
Great video, always liked Vivado more than Quartus, much easier to learn
very clear and easy to understand, thanks!
thank you for the amazing explanation:) love the enthusiasm
Great to see your new post Katy.
Great video thanks for taking the time.
Thank you, very helpful.
Useful example, thank you
a stacey plus vivado. i like it
Thank you for the series.
Could you please make a video on some applications such as connecting camera, servo, dc motors, some sensors and etc?
Great video 👍👍👍
Great video! I've been struggling a lot with programming FPGAs for my master thesis and your videos have by far been of the greatest help.
One question about the peripherals: the way I understand the block diagram now is that the AXI interconnect is connected to both the LEDs and switches in this case, not the other way around. So, in this case, can the switches be used in this case to provide input back through the interconnect to the PS to make the LEDs turn on for example? Basically, is the master and slave AXI connection a two way street?
Yup, precisely! Actually in the Vitis video, I'll show how I connect the switches to the LEDs to do just that.
The question you asked has 2 components…
#1 as stacey replied to already… yes you can trigger interrupts on gpio input change to notify the zynq processor
BUT YOU ALSO ASKED “is axi a two way street” which is an entirely different question…
#2 Is axi a 2 way street? No… only the master can issue read write requests from peripherals!
Thank you for such a great video!
Thank you very much Stacey for this nice tutorial. I followed your 2 parts using Vivado 2023.2, but after using the exported XSA file in Vitis, there is no driver for block ram, I am able to use GPIO but the platform created has no driver for xbram. Either Vivado 2023.2 does not include it in the XSA file, or the Vitis software has a bug and can't see it in XSA file. I would like some advice on this
thanks for sharing!
You're welcome!
well done!
I guess, those of us who don't have Zynq can use a microblaze for "processing system". I train on a board with a xcku15p-ffve1517. IMHO, the GPIO even doesn't need 4k range - 128 bytes looks sufficient. Are there considerations to put it bigger (like faster address decode, etc) ?
Thank you!
great explanation. i am from india and i really enjoy your tutotial for block design but what we basically trying to do here ? turning on or off led through zunq processor or something else ?
When do we use Constraint files?
Hi Stacey, can you please briefly explain the pin connection of FPGA board with laptop. I have USB blaster with JTAG. thanks
I am using ZCU104 board i have added the ip but not able to connect the reset to processor system reset as it is showing no matching connection found
Can you explain the mceliece cryptography system on vivado
I have wanted to do an FPGA project for quite awhile now and haven´t gotten around to it. I wanted to create maybe a small 8-bit microcontroller with the alu and a large enough instruction set to be considered general purpose, with registers, and control, etc. There are several companies that offer fpga development boards, could you recommend one to me that would be sufficient to complete my goals? I would like to code in Verilog preferably but VHDL would be fine also.
Dear teacher
I have built a module using PL part only to calculate the summation of Bytes. Now, I try to use the Zynq with axi-gpio to read the final value of the summation. I test each circuit individually, it is works correctly. The problem is that when I connected them together (the PL with PS), I did not get any results by the Zynq at the serial monitor.
Please, if you can help.
Thanks.
You connect your peripherals to the interconnect_aresetn, when the Processor System Reset has a dedicated output called peripheral_aresetn. Is this going to be a problem? The instinct tells us that there are differences between these two resets generated by the reset IP. What can you tell us about that? Thanks!
There is a slight delay, as far as I know, between the peripheral reset and the interconnect reset. So that the interconnects can come out of reset first. However, unless your peripheral specifically needs this reset timing, it doesn't really matter in practice which is connected.
Dear teacher
Please, I have a problem during reading the status of an output switch on Zybo Z7-10.
I use Vitis to program the Zynq processor with Gpio connected to a slid switch. I make the switch (input2) status as a condition as shown in the program below if (D == 1) ;
The following program works only when the input2 signal that was connected to Gpio IP starts from ("1") but the program does not work when input2 signal starts from ("0").
//////////
while (1)
{ D = XGpio_DiscreteRead(&input2, 1); // input2 from a slide switch
if (D == 1)
{ sum_all = XGpio_DiscreteRead(&input, 1); // input is a 32-bit data
printf("%x
" , sum_all);
sleep (1); }
else
{ XGpio_DiscreteWrite(&output, 1, 0); // output is a LED
printf("No_Signal
");
sleep (1); }
}
/////////////
i.e. the program works only when I change input2 from "1" to "0" but does not work when the input2 start changes from "0" to "1".
Orn Camp
10.12.2024
afrikaans is my favorite accent
Omg where were you hiding till now
Thanks so much!