Continue to Site

Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

Beginner for FPGA

Bjtpower

Full Member level 5
Joined
Dec 24, 2015
Messages
297
Helped
2
Reputation
4
Reaction score
2
Trophy points
1,298
Activity points
3,893
Hi,
I am new for FPGA and i have intrest in FPGA.
Recently i have purchased ZYBO Z7 for learning and pursue my passion.
Can you please help or advice from where i should start?
I have 12 years experinece in hardware (Worked on 32 bit Microcontrollers, Power supplies, analog and digital design).
 
You seem to have a good hardware background, which is good for FPGA design, and will help to avoid coding FPGA as software.

The first basic thing is to decide which hardware description language you want to follow. The most common are System Verilog and VHDL, but there are others. I recommend to start with one of these two languages.

VHDL is a more strict and high-level language. It is based on ADA and the variables types are very present - you have to make data types translations very often. It is more verbose but, being more strict, kind of "protect the designer of its owns mistakes".

System Verilog is more flexible and lower level, most people compare with C. It is not strongly typed as VHDL but uses some concepts (reg, wires, blocking assignments, non-blocking assignments) which may be confusing, specially for more SW-oriented people. Being more flexible also means that you will have more unnoticed mistakes.

Once you chose a language to start, you can look for tutorials. There are plenty of tutorials on internet. For System Verilog, you can look at https://www.asic-world.com/verilog/verilog_one_day.html.

For reference projects, you can start looking around. There also projects on facebook, youtube tutorials, FPGA groups on Telegram. On web, you can look at https://www.fpga4fun.com/ - there are some interesting projects and ideas there. Once you have a group and more oriented interest, you will be in contact with people and start discussing ideas about FPGA implementations.

For FPGA itself, please note that implementation is important, but a good testing code is very important for FPGA design. Differently from microcontrollers, coding and testing directly the board is not a good development path - you have to develop a code, then develop a test bench and then testing on your board. Also, know your hardware: when to use a muxes, demuxes, flip-flops, how to infer memories and why latches are not good.

Welcome to the FPGA world and have fun!
 
You seem to have a good hardware background, which is good for FPGA design, and will help to avoid coding FPGA as software.

The first basic thing is to decide which hardware description language you want to follow. The most common are System Verilog and VHDL, but there are others. I recommend to start with one of these two languages.

VHDL is a more strict and high-level language. It is based on ADA and the variables types are very present - you have to make data types translations very often. It is more verbose but, being more strict, kind of "protect the designer of its owns mistakes".

System Verilog is more flexible and lower level, most people compare with C. It is not strongly typed as VHDL but uses some concepts (reg, wires, blocking assignments, non-blocking assignments) which may be confusing, specially for more SW-oriented people. Being more flexible also means that you will have more unnoticed mistakes.

Once you chose a language to start, you can look for tutorials. There are plenty of tutorials on internet. For System Verilog, you can look at https://www.asic-world.com/verilog/verilog_one_day.html.

For reference projects, you can start looking around. There also projects on facebook, youtube tutorials, FPGA groups on Telegram. On web, you can look at https://www.fpga4fun.com/ - there are some interesting projects and ideas there. Once you have a group and more oriented interest, you will be in contact with people and start discussing ideas about FPGA implementations.

For FPGA itself, please note that implementation is important, but a good testing code is very important for FPGA design. Differently from microcontrollers, coding and testing directly the board is not a good development path - you have to develop a code, then develop a test bench and then testing on your board. Also, know your hardware: when to use a muxes, demuxes, flip-flops, how to infer memories and why latches are not good.

Welcome to the FPGA world and have fun!
Thank you very much for the details and boosting confidence for FPGA, Really apprecited.
Keep in touch.
 
Hi,
I am new for FPGA and i have intrest in FPGA.
Recently i have purchased ZYBO Z7 for learning and pursue my passion.
Can you please help or advice from where i should start?
I have 12 years experinece in hardware (Worked on 32 bit Microcontrollers, Power supplies, analog and digital design).

The best would be to start with Digilent's Tutorial and Demo Projects for the Zybo Z7.
After you know the specifics as to what has to be done to get your design working with the board, you can choose projects for anywhere!
Because creating a functionally correct design and getting you design to work in silicon are two different things. So following what Diligent has already done for you is the best to being with in my opinion.

 

LaTeX Commands Quick-Menu:

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top