ZYNQ for beginners: programming and connecting the PS and PL | Part 1

  Рет қаралды 114,715

Dom

Dom

Күн бұрын

Пікірлер: 88
@1DiscipleDragon
@1DiscipleDragon 5 ай бұрын
I really appreciate you in not only explaining what you are trying to do, but also explaining other terms and buttons and features surrounding what you are trying to do to help get a bigger picture of why and how we are this thing in vivado. thanks
@Dom-bo8wd
@Dom-bo8wd 5 ай бұрын
Thanks for watching and your comment :)
@jacobattar6829
@jacobattar6829 2 жыл бұрын
Great video, there's nothing else online that is as introductory and easy to understand as this video. In fact San Diego State University is instructing their students to watch this to learn how to work with the minized board with has both PS/PL As well. So thanks.
@Dom-bo8wd
@Dom-bo8wd 2 жыл бұрын
wow i am so happy that it is working! thanks for the feedback and for watching!
@emiliomartineziii2980
@emiliomartineziii2980 29 күн бұрын
This was amazing. It's always so rare to have somone who can speak english normally making these videos
@SciHeartJourney
@SciHeartJourney 3 жыл бұрын
About 12:20 in, the S_AXI options did not appear. I had to select GPIO or the OK button would not appear. When I completed the Block Automation, the M_AXI_GP0_ACLK input disappeared. Not to worry though, just open up the Zynq Processing System block and edit the properties to enable the GP0 AXI. Then it worked just fine. I've already seen Part 2, which this is a setup for. This stuff is pure gold! You have to fish through a lot of documents to find what these two videos show. Thank you very much Dom.
@Dom-bo8wd
@Dom-bo8wd 3 жыл бұрын
I am glad you got it working!! Thanks for the positive feedback!!
@KasLewis
@KasLewis Жыл бұрын
I was having this exact problem and your comment as ell as solution was exactly what I needed to resolve my issue, Thank you
@SciHeartJourney
@SciHeartJourney 3 жыл бұрын
Thank you! I keep seeing too many PS examples using software. The sight of that "RTL" block in the bock diagram is a subtle, but beautiful thing. That's where the magic happens.
@Dom-bo8wd
@Dom-bo8wd 3 жыл бұрын
You are so right!! Thanks for the comment!!
@WiggumRalph
@WiggumRalph 6 ай бұрын
Brilliant video. Really appreciate it. No other material on youtube explained it so easily. I could apply the same principles to my PYNQ boards.
@preontech3477
@preontech3477 3 жыл бұрын
Thank you very much, This is exactly what I´ve been looking for.
@Dom-bo8wd
@Dom-bo8wd 3 жыл бұрын
Great! I am glad it helped!
@chinmayapanda9686
@chinmayapanda9686 Жыл бұрын
Thank you very much. I have followed both videos exactly as explained and changed the .xdc file of ZedBoard and it's working perfectly.
@mubasheer5584
@mubasheer5584 3 жыл бұрын
Wow! Amazing I was looking for this kinda tutorial.. please make it more for us.
@Dom-bo8wd
@Dom-bo8wd 3 жыл бұрын
Im very glad that you found it helpful!
@AdnanGhadri
@AdnanGhadri 3 жыл бұрын
Many thank for your useful video. I have been looking a while for a video that has both PL and PS code. I hope we could see more videos like this in the future.
@DM-fw5su
@DM-fw5su 2 жыл бұрын
@9:03 you should not use RGB LEDs with 100% driven output, they should be at 50% PWM duty cycle max. Below that section (as seen in video) was the standard LEDs for Arty-Z7 that are safe to drive 100%, thanks for video this answered many questions I had.
@Dom-bo8wd
@Dom-bo8wd 2 жыл бұрын
gotcha thnks
@alexgian9313
@alexgian9313 Жыл бұрын
That's interesting. Why not? Having seen this video, I am about to start with a Cora-z7 board, which has two rgb diodes on it, useful as indicators. In beginner projects I do not run them off PWM, I just set them to '1'. I only use them to test button presses etc, should I not be doing this? Seems a bit strange... But if need be I'll write a PWM entity to drive them. BTW, many, many thanks to Dom, this was perfect and exactly at the level needed!
@DM-fw5su
@DM-fw5su Жыл бұрын
@@alexgian9313 IIRC my information came from the documentation for the Arty-Z7 I refer to. Maybe your Cora-Z7 hardware design is different, such as having higher ohm inline resistors in the wiring diagram. LEDs can be made to shine brightly with differing MTBF figures.
@alexgian9313
@alexgian9313 Жыл бұрын
@@DM-fw5su Thanks for that, the Arty and Cora setups look very similar, I'll see if I can find anything in the spec sheets.
@checksum1990
@checksum1990 2 жыл бұрын
Finally, someone is explaining this connection, well done!!! Could you please tell me why the option "add module to block design" is greyed out in my program?
@JustinCao52
@JustinCao52 Жыл бұрын
maybe u have it in systemVerilog file? because for me it is only work for verilog
@isamuhammadhassan8730
@isamuhammadhassan8730 Жыл бұрын
Thank you so much for this video as it really stabilized my shaky basics.
@chaoyangnz
@chaoyangnz Жыл бұрын
Great work Dom, a nice beginner tutorial
@DvuongDo
@DvuongDo 3 жыл бұрын
Thank you! Useful videos!
@Dom-bo8wd
@Dom-bo8wd 3 жыл бұрын
I am happy you like them!
@tahirsengine
@tahirsengine 3 жыл бұрын
Audio quality was fine.
@danshazar6683
@danshazar6683 2 жыл бұрын
Thank you for great video and clear explanation 🙏
@Chris-hi2hn
@Chris-hi2hn 5 сағат бұрын
Do you know how to write out the bitstream from Vivado to the flash, to keep the design after power 🚴‍♂️
@eigenfield
@eigenfield Жыл бұрын
Exactly what I'm looking for. You da man!
@stage666
@stage666 2 жыл бұрын
Hi dom, will you do more tutorials on the zynq fpga?
@azmatali1159
@azmatali1159 3 жыл бұрын
Hi, Thank you for the video Dom. I wanted to know that what max. Speed of IO-PIN of Micro-Zed Board with 7020? I cannot find this information into the datasheet. Can you please help me out here
@cagakanodabas7673
@cagakanodabas7673 2 жыл бұрын
Very helpful ,thank u
@aaronelectronik4762
@aaronelectronik4762 5 ай бұрын
Great Video, Well explained 10/10
@ZainAhmed
@ZainAhmed 3 жыл бұрын
This is an awesome video, thanks
@ddbohra8426
@ddbohra8426 5 ай бұрын
so here AND gate giving one output signal. what to do if i need all four combination on input for operating four different code in PS part?
@gokulvishnu5899
@gokulvishnu5899 3 жыл бұрын
Thank you for the video, very useful for beginners. Can you upload a video on how to write data into DDR memory using RTL data from PL.
@buckets_of_chai
@buckets_of_chai 8 ай бұрын
@Dom-bo8wd this walkthrough is really really excellent.
@Dom-bo8wd
@Dom-bo8wd 8 ай бұрын
Glad you like it!
@maxmaxx8739
@maxmaxx8739 2 жыл бұрын
Thanks for the tutorial! Should it also work when i use the latest vitis version? i dont get it managed that it works...
@shomiiii96
@shomiiii96 3 жыл бұрын
I am working with Zybo Z7-10, not Arty like you, but I managed to find constraint masterfile and other prerequisites... Everything else is pretty much the same. But I get these warnings(after I create HDL wrapper), and I don't know what they mean. Can someone explain? CRITICAL WARNING: [PSU-1] Parameter : PCW_UIPARAM_DDR_DQS_TO_CLK_DELAY_0 has negative value -0.050 . PS DDR interfaces might fail when entering negative DQS skew values. CRITICAL WARNING: [PSU-2] Parameter : PCW_UIPARAM_DDR_DQS_TO_CLK_DELAY_1 has negative value -0.044 . PS DDR interfaces might fail when entering negative DQS skew values. CRITICAL WARNING: [PSU-3] Parameter : PCW_UIPARAM_DDR_DQS_TO_CLK_DELAY_2 has negative value -0.035 . PS DDR interfaces might fail when entering negative DQS skew values. CRITICAL WARNING: [PSU-4] Parameter : PCW_UIPARAM_DDR_DQS_TO_CLK_DELAY_3 has negative value -0.100 . PS DDR interfaces might fail when entering negative DQS skew values
@Dom-bo8wd
@Dom-bo8wd 3 жыл бұрын
The parameter PCW_UIPARAM_DDR_DQS_TO_CLK_DELAY_n should always be positive I believe because it if is negative it means data is arriving late. Does your master constraint file contain timing constraints? If so, try deleting those and just using the physical constraints for now.
@mangalkothari5628
@mangalkothari5628 2 жыл бұрын
Thanks for the nice video and explanation. I have a problem generating bitstream, it says ERROR: [DRC NSTD-1] Unspecified I/O Standard: 3 out of 133 logical ports use I/O standard (IOSTANDARD) value 'DEFAULT', instead of a user assigned specific value. I searched some sources but could not fix it. Could you help ?
@shreyasborse768
@shreyasborse768 4 жыл бұрын
Good One!
@Andrew09LKN
@Andrew09LKN 2 жыл бұрын
How you can use the RTL instantly at 10:58? There have no such option for me in Vivado 2015.1 or it only available for Vivado 2019 ?
@miladdalim1
@miladdalim1 2 жыл бұрын
great stuff, good explanation.
@wenyanwang219
@wenyanwang219 3 жыл бұрын
could you explain how to greate a board file snd how to defind MIO? Thanks.
@VCodes
@VCodes 2 жыл бұрын
great. thx.
@divyasara1
@divyasara1 2 жыл бұрын
In our design, axi i2c ip is continuously generating interrupts as soon as we load pl file. Any suggestions
@SciHeartJourney
@SciHeartJourney 3 жыл бұрын
VHDL is not case sensitive, but I adhere to writing code like it were. I don't know if Viviado or Verilog are case sensitive. If someone would comment on this, I'd be grateful. Thanks!
@Dom-bo8wd
@Dom-bo8wd 3 жыл бұрын
Verilog is case sensitive. Here is a link to a paper on some subtleties about the language www.google.com/url?sa=t&source=web&rct=j&url=lcdm-eng.com/papers/snug06_Verilog%2520Gotchas%2520Part1.pdf&ved=2ahUKEwiv-7uiwq7uAhXGUt8KHRJVDbIQFjACegQIDBAB&usg=AOvVaw03cv3_MkZV2pnkMtmieTX9
@SciHeartJourney
@SciHeartJourney 3 жыл бұрын
@@Dom-bo8wd Thanks a lot Dom!
@dipikasahoo5546
@dipikasahoo5546 3 жыл бұрын
Please make tutorials on the vivado software for ZC706 board
@murad19882003
@murad19882003 3 жыл бұрын
Thank you, great friendly tutorial. But can't we just run the NOT and the AND on the FPGA ? To avoid doing the C code on SDK?. What is the purpose of the processor in this FPGA? Will it not introduce delays if we gonna make a real time system ? Thank you
@Dom-bo8wd
@Dom-bo8wd 3 жыл бұрын
Hi! Yes you can run the NOT and the AND on the FPGA, and it would probably be faster. The purpose of the video is only to show how to connect the processor and the FPGA for learning purposes.
@knavaneethan79
@knavaneethan79 10 ай бұрын
great video , thank you verry much 😉😉😉
@bakeronews1
@bakeronews1 Жыл бұрын
Best tutorial
@Andrew-eg2pc
@Andrew-eg2pc 3 жыл бұрын
I assume the "ZYNQ" thing is the PS, right? But usually isn't there multiple CPUs (maybe corext A53, cortex R5 for example ) in the PS and how does the "ZYNQ" know which one to use to do the "NOT" operation?
@Dom-bo8wd
@Dom-bo8wd 3 жыл бұрын
The ZYNQ is the processor, just like a Cortex A53 is a processor. There arent multiple processors on a ZYNQ chip unless you instantiate them in the block design/code. (You can put arm processors onto xilinx chips). ZYNQ is the name of the chip family as well as the name of the processor on the chip, so when you are programming a ZYNQ chip in C (not the FPGA part), then you are programming the ZYNQ processor
@Andrew-eg2pc
@Andrew-eg2pc 3 жыл бұрын
@@Dom-bo8wd I see. I just go to the xilinx website and happen to find one of "ZYNQ" processor called "ZYNQ UltraScale+ CG" ("www.xilinx.com/products/silicon-devices/soc/zynq-ultrascale-mpsoc.html"). However, according to description of "ZYNQ UltraScale+ CG", it contains both "cortex A53 and cortex R5", so the "ZYNQ" is not a processor like A53 in this case? It is kind of confusing that the description says that it has both A53 and R5.
@Dom-bo8wd
@Dom-bo8wd 3 жыл бұрын
Okay i understand now. Yes the zynq i was using in the video is just a ZYNQ 7000 series which only has one type of processor. The ZYNQ ultrascale chips have multiple processors on board. I am sorry I should have made that clearer.
@Andrew-eg2pc
@Andrew-eg2pc 3 жыл бұрын
@@Dom-bo8wd Yes, I see. It is clear now. Thank you. And in this case, if there are multiple processors in the ZYNQ, there should be an option to choose which one to run the c code in the sdk environment, right? I remember that in the sdk environment, after clicking "new" -> "application project", there should be a field that show the CPU name (I assume that user should be able choose one of the CPU (A53 or R5) if there are more than 1 CPU in there, right?).
@mbuaesenju8514
@mbuaesenju8514 2 жыл бұрын
Hi, Thank you for the tutorial. Very cool. I have one worry, I could not "Add Module to Block Design". What do you think is the problem? the error message mentioned the port type led0 is not recognized. Only std_logic and std_logic_vector types are allowed for ports.
@omar-moussa
@omar-moussa 4 жыл бұрын
Many thanks for your great videos. I got 3 errors after Launching the Runs at "Generate bit stream". Btw your launch box is 2 jobs mine is 4 jobs, nevertheless I redid it again like yours and still get errors, I couldn't find a solution, can you help me out here? 1- [DRC UTLZ-1] Resource utilization: BIBUF over-utilized in Top Level Design (This design requires more BIBUF cells than are available in the target device. This design requires 260 of such cell types but only 130 compatible sites are available in the target device. Please analyze your synthesis results and constraints to ensure the design is mapped to Xilinx primitives as expected. If so, please consider targeting a larger device.) 2- [DRC UTLZ-1] Resource utilization: PS7 over-utilized in Top Level Design (This design requires more PS7 cells than are available in the target device. This design requires 2 of such cell types but only 1 compatible site is available in the target device. Please analyze your synthesis results and constraints to ensure the design is mapped to Xilinx primitives as expected. If so, please consider targeting a larger device.) 3- [Vivado_Tcl 4-23] Error(s) found during DRC. Placer not run. Many thanks for your time :-)
@Dom-bo8wd
@Dom-bo8wd 4 жыл бұрын
The reason mine says 2 jobs is because i am only running a dual core cpu, where you probably have quad core. From your errors it looks like you might be using a different zynq chip maybe one with only a single core arm processor? Thats possibly why the error tells you there is only one ps7 available. Or maybe you accidently tried to instantiate two copies of the zynq processor?
@omar-moussa
@omar-moussa 4 жыл бұрын
@@Dom-bo8wd Thanks!
@isaaczambrano3029
@isaaczambrano3029 2 жыл бұрын
Excellent video, could you do tutorials using a Zedboard and Vivado from 0?
@alexandrosiii5676
@alexandrosiii5676 3 жыл бұрын
This is the same as transferring data from ps to pl?
@Dom-bo8wd
@Dom-bo8wd 3 жыл бұрын
Yep. I think there is more than one way but you can do it this way
@alexandrosiii5676
@alexandrosiii5676 3 жыл бұрын
@@Dom-bo8wd And let me ask one more question. Are you using PS internal memory(cache) to send data? Means you press swich then put into internal memory(cache) PS then put out LED?
@Akshay-xo5iy
@Akshay-xo5iy Жыл бұрын
Hello!! What should we do if there are 2 outputs?
@pavelkulagin1508
@pavelkulagin1508 Жыл бұрын
love yr style
@michaelbradley7621
@michaelbradley7621 4 ай бұрын
Can you wire external 5/0 v digital inputs to the mod pins instead of using their buttons and switches?
@Dom-bo8wd
@Dom-bo8wd 4 ай бұрын
Yes, but you HAVE to use a level shifter. I have done this before with arduino to the FPGA but you need to step the voltage down to 3.3 V before input to the FPGA board.
@michaelbradley7621
@michaelbradley7621 4 ай бұрын
@@Dom-bo8wd thanks Im trying to put together and encoder for my ADC and i figured that a step down is needed I just wasn't sure if it was possible in the xdc i/o file but I'm going to play around with it. Excellent video by the way, do you have a patreon?
@Dom-bo8wd
@Dom-bo8wd 4 ай бұрын
@@michaelbradley7621 ah gotcha, yes I think you can set different voltage levels in the xdc file, but I have never seen a 5V setting. Vivado might yell at ya lol. No patreon, maybe I will set one up in the future :)
@sagarhm2237
@sagarhm2237 3 жыл бұрын
sir how to run the python on zinc and how to build own fpga for runinng python
@nikolaykostishen6402
@nikolaykostishen6402 Жыл бұрын
Wow!!! Thanks!
@user-hq6by8pl3n
@user-hq6by8pl3n 28 күн бұрын
can i get master.xdc??
@PhilipHubbe
@PhilipHubbe Жыл бұрын
Sorry I just can’t get over the fact that a NAND gate should be less transistors than an AND gate
@RatedA4Aliens
@RatedA4Aliens 5 ай бұрын
Bla bla bli bli bu 😅
@z.3368
@z.3368 9 ай бұрын
PS is ASIC, it is not programmable gate array like PL part
@JasperHatilima
@JasperHatilima 2 ай бұрын
Oh, really? I actually asked a question in the comments if the PS is like an application processor like Cortex A53 or so, and as such, if he used an SD card with Linux on it to run on the Cortex A Processing System.
@ismailpalit6980
@ismailpalit6980 2 жыл бұрын
Quite explanatory, thanks for that but please don't say bla bla bla :)
@miteshvb1338
@miteshvb1338 2 жыл бұрын
Hii! Great tutorial i wanted some help in my project how can I contact you?
Zynq Part 1: Vivado block diagram (no Verilog/VHDL necessary!)
20:00
FPGAs for Beginners
Рет қаралды 21 М.
Incredible Dog Rescues Kittens from Bus - Inspiring Story #shorts
00:18
Fabiosa Best Lifehacks
Рет қаралды 28 МЛН
Kids' Guide to Fire Safety: Essential Lessons #shorts
00:34
Fabiosa Animated
Рет қаралды 17 МЛН
Before VS during the CONCERT 🔥 "Aliby" | Andra Gogan
00:13
Andra Gogan
Рет қаралды 10 МЛН
❌Разве такое возможно? #story
01:00
Кэри Найс
Рет қаралды 3,7 МЛН
EEVblog #496 - What Is An FPGA?
37:44
EEVblog
Рет қаралды 761 М.
What is ZYNQ? (Lesson 1)
33:00
Microelectronic Systems Design Research Group
Рет қаралды 101 М.
Using AXI DMA in Vivado
27:49
FPGA Developer
Рет қаралды 31 М.
PetaLinux 101 - Getting Started Quickly
28:52
Adaptive Computing Developer
Рет қаралды 33 М.
AXI Stream basics for beginners! A Stream FIFO example in Verilog.
12:11
FPGAs for Beginners
Рет қаралды 27 М.
ZYNQ AXI Interfaces Part 1  (Lesson 3)
39:10
Microelectronic Systems Design Research Group
Рет қаралды 71 М.
Hacker's Guide to UART Root Shells
17:40
Flashback Team
Рет қаралды 477 М.
ZYNQ Training - Session 01 - What is AXI?
20:52
Mohammad S. Sadri
Рет қаралды 164 М.
Nokia…
0:19
Eggified
Рет қаралды 2,3 МЛН
Nokia imba #trollface #sorts
0:31
Sodnom
Рет қаралды 7 МЛН
Как правильно светить смартфоном?
0:18
Люди.Идеи, общественная организация
Рет қаралды 552 М.
САМЫЙ ОПАСНЫЙ iPHONE В МИРЕ 🤯 #iphone
1:01
ТЕХНОБЛОГ АЛИША
Рет қаралды 309 М.
Слетела прошивка на LiXiang L7
1:01
Настя ЧПЕК Туман
Рет қаралды 4,1 МЛН
Тест Ryzen AI 9 HX 370 и графики 890m
27:29
PRO Hi-Tech
Рет қаралды 96 М.