Really good tutorial and well explained! Has helped me a lot to understand both VHDL language and how to program an FPGA. would have been great if you done the same with the pong game. Thanks.
Great Tutorial!!! Thank you :) Dear daxerz, I have a request to you for a video on VHDL project: We have a calculator program in vhdl and we need to interface the the PS2 (Keyboard), VGA and processor using an Xilinx Spartan 3E starter kit board. Finally we need to run the calculator program and test whether all the interfacing and processor designing are working properly. We are really new to this and have very limited knowledge on the same. It would be great if you can upload a video showing how to do the programming for processor, Keyboard and VGA interfacing for the Xilinx Spartan 3E starter kit board.
Thank you very much for a great response! As for your request I can't accept requests since this is a very busy time in my life, I am a masters student at this time. I would like to help but during my course I have studied verilog and find it a much better description language after many months of contemplation. I do plan on doing more tutorials in the future but as of now I can only show what I know. As for you request I could do everything in verilog apart from the keyboard from my knowledge alone, I do have experiance with a mouse so it wouldn't take long to learn the keyboard protocol. I actually recommend this video for the keyboard: ua-cam.com/video/EtJBqvk1ZZw/v-deo.html Also the book: FPGA PROTOTYPING. BY VHDL EXAMPLES. Xilinx SpartanTM-3 Version. Pong P. Chu. Cleveland State University
Kent VanderVelden thank you, I agree. It's the power to create your own custom digital circuit on a chip with almost no limitations (apart from the logic blocks available!).
Awesome tutorial mate, I have learned quite a lot from this. I was checking if you posted a ping pong tutorial for VHDL but I haven't found any, if it's possible could you link me to one that uses the same principal of coding here? Or if you can upload the video yourself, that would be great! Again, thanks for the video!
There seem to be many equations to calculate the exact timing, most of which I don't know. The easiest way is to use a calculator. something like this might help you: www.epanorama.net/faq/vga2rgb/calc.html
How can we add test bench architecture to do port mapping stuffs and do the simulation test in Xilinx itself, before actually testing the output in the monitor. Do you have the code for that. If so that will help.
Yes it's actually very simple since everything is counting based on the clock, therefore only a clock signal is needed as an input in the test bench (also reset to be set as 0). Just make sure to change the simulation period to what you want. I've updated the link to include a testbench.
@@manurules51 It's not breesham, but bresenham... I see that you answer questions like you did the video : without any preparation. Do you imagine what you would feel if you have one of your teacher making an errrrrr... and hmmmmm.... at the beginning and end of each sentence. Your video could be 50% shorter by just preparing it properly and editing it...
Hi, As of now i have just hard coded the RGB values similar to what explained in the video. It is working okay. Now I need to make the vga component capable of outputting data from a character memory. We also have a processor and need an interface to write character memory from processor. How can we do that?
First of all is the processor a requirement? I know it's not a great video but I have one where I made a text generator in it: ua-cam.com/video/jU_txSkDGM4/v-deo.html. This was made in verilog here's a link to the text generator in the project: github.com/NoelSh/Projects-FPGA/blob/master/Tic%20Tac%20Toe%20PS2%20mouse/textGenerator.v. I used a ROM ip core to store the text and used the x and y address to determine if a pixel should be drawn on the LCD. The LCD here works the same as a VGA monitor with the pixel address changing every clock cycle. The way it works may not make sense at first (that's including the addresses since the LCD was rotated) but I chose this method so only one module instantiation is needed. Also if you look around in the whole project I made a binary/hex to bcd to ascii converter which you will most probably need. This is all I can do right now.
Great Video but I am having some issues. I double-checked the code and there is no syntax error but as soon as try to display it on the monitor it says no signal from the device. Can you help me out?
Really good tutorial and well explained! Has helped me a lot to understand both VHDL language and how to program an FPGA. would have been great if you done the same with the pong game. Thanks.
super sir
keeps this type of tutorial
very much useful for us
thank you so much
3:37 bless you
gr8 work. love the authenticity of your effort
Great Tutorial!!!
Thank you :)
Dear daxerz,
I have a request to you for a video on VHDL project:
We have a calculator program in vhdl and we need to interface the the PS2 (Keyboard), VGA and processor using an Xilinx Spartan 3E starter kit board. Finally we need to run the calculator program and test whether all the interfacing and processor designing are working properly.
We are really new to this and have very limited knowledge on the same.
It would be great if you can upload a video showing how to do the programming for processor, Keyboard and VGA interfacing for the Xilinx Spartan 3E starter kit board.
Thank you very much for a great response! As for your request I can't accept requests since this is a very busy time in my life, I am a masters student at this time. I would like to help but during my course I have studied verilog and find it a much better description language after many months of contemplation. I do plan on doing more tutorials in the future but as of now I can only show what I know. As for you request I could do everything in verilog apart from the keyboard from my knowledge alone, I do have experiance with a mouse so it wouldn't take long to learn the keyboard protocol.
I actually recommend this video for the keyboard: ua-cam.com/video/EtJBqvk1ZZw/v-deo.html
Also the book: FPGA PROTOTYPING. BY VHDL EXAMPLES. Xilinx SpartanTM-3 Version. Pong P. Chu. Cleveland State University
Thanks for your reply.
Nice job, I've always meant to make one, but never have, seems like something everyone should do though who tinkers with FPGAs.
Kent VanderVelden thank you, I agree. It's the power to create your own custom digital circuit on a chip with almost no limitations (apart from the logic blocks available!).
Excellent video, thank you. I tried it as my second FPGA project on ICE40 and am very pleased to have it working.
Great tutorial. Thank a lot!
Hi can we still download the code somewhere because the link doesn't work anymore
Thank you for this great tutorial
Can't get this working for a De1-SoC board. Any tips?
Awesome tutorial mate, I have learned quite a lot from this. I was checking if you posted a ping pong tutorial for VHDL but I haven't found any, if it's possible could you link me to one that uses the same principal of coding here? Or if you can upload the video yourself, that would be great! Again, thanks for the video!
very good tutorial mate!.
Please can you tell me or suggest video how to do name display on vga
How to compute VGA timings manually for any resolution? Specifically, fp and bp, hs and vs pulse lengths?
There seem to be many equations to calculate the exact timing, most of which I don't know. The easiest way is to use a calculator. something like this might help you: www.epanorama.net/faq/vga2rgb/calc.html
daxerz, Thank you.
How can we add test bench architecture to do port mapping stuffs and do the simulation test in Xilinx itself, before actually testing the output in the monitor.
Do you have the code for that. If so that will help.
Yes it's actually very simple since everything is counting based on the clock, therefore only a clock signal is needed as an input in the test bench (also reset to be set as 0). Just make sure to change the simulation period to what you want. I've updated the link to include a testbench.
Great. Thank you so much
Okay tutorial. Information is great, but you could do with planning the content before filming, or edit down the fluff, umm-ing and err-ing..
hi, how can i download a code?
Nice video, I have a question:
How would you do diagonal lines? as in if I was to draw a triangle.
Rare Candy I've actually never done it on an fpga, only using c or python. However have a look at breesham line algorithm.
Ahh ok, thank you.
Here's a link i found searching yesterday:
opencores.org/project,graphicsaccelerator
@@manurules51 It's not breesham, but bresenham... I see that you answer questions like you did the video : without any preparation. Do you imagine what you would feel if you have one of your teacher making an errrrrr... and hmmmmm.... at the beginning and end of each sentence. Your video could be 50% shorter by just preparing it properly and editing it...
Thank you
Hi,
As of now i have just hard coded the RGB values similar to what explained in the video. It is working okay.
Now I need to make the vga component capable of outputting data from a character memory.
We also have a processor and need an interface to write character memory from processor.
How can we do that?
First of all is the processor a requirement? I know it's not a great video but I have one where I made a text generator in it: ua-cam.com/video/jU_txSkDGM4/v-deo.html. This was made in verilog here's a link to the text generator in the project: github.com/NoelSh/Projects-FPGA/blob/master/Tic%20Tac%20Toe%20PS2%20mouse/textGenerator.v. I used a ROM ip core to store the text and used the x and y address to determine if a pixel should be drawn on the LCD. The LCD here works the same as a VGA monitor with the pixel address changing every clock cycle. The way it works may not make sense at first (that's including the addresses since the LCD was rotated) but I chose this method so only one module instantiation is needed. Also if you look around in the whole project I made a binary/hex to bcd to ascii converter which you will most probably need. This is all I can do right now.
Thank you so much.
Great Video but I am having some issues. I double-checked the code and there is no syntax error but as soon as try to display it on the monitor it says no signal from the device. Can you help me out?
thanks
all that just for a small square