Forum Discussion
the beginning of the my adventure with FPGA
hello every one
i'm completely new in field of FPGA and VHDL or VERILOG programming... plz can some one tell me which one is worth to learn VHDL or VERILOG? any video tutorials or some useful books from your side? i have a back round in c programming for embedded systems..is this going to help me for moving forward? thx in advance10 Replies
- Altera_Forum
Honored Contributor
An excellent book of VHDL: "RTL Hardware Design using VHDL" Pong. Chu.
Books related to Altera FPGA: "Rapid Proptotyping of Digital Systems" Humblen, Hall, Furman "Embedded SOPC...." Pong Chu. Also you have "FPGA Protyping in VHDL" Pong Chu. It uses Xilinx but you can easily translated it to Altera. Another one is "VHDL learn by example" or something like this from Stephen Brown. Good luck! - Altera_Forum
Honored Contributor
thx for this information, tell me what about verilog? you didn't mention it..is vhdl the most useful langage in the industry?i'm asking that because i hAVE back ground in c programming which is close to verilog , vhdl is more closer to pascal isn't it?
thx in advance - Altera_Forum
Honored Contributor
I prefer vhdl but you can do the same things with verilog. The book "Rapid Prototyping of digital systems" explains vhdl and verilog.
- Altera_Forum
Honored Contributor
thx for help,another question..can youtell me exactly how an fpga looks like before programming,is just millions of logical gates connected to each other? because its little bit confusing ..please some explanations from your part..
thx - Altera_Forum
Honored Contributor
no. millions of logic gates connected each other is not the best image of an fpga. The simplest element of an fpga is a truth table with 4 inputs and 1 output. It is called Look-Up Table ( LUT ). With this you can implement combinational circuits up to 4 inputs. Optionaly a flip-flop D can be connected to the output of the LUT, so you can make sequential synchronous circuits. The LUT with the D FF forms a Logic Element ( LE ). The fpga has thousands of LE with tracks that connect inputs and outputs of the LE and to the pins of the fpga.
With a lot of LEs you can design logic circuit with many inputs and outputs, very complex sequential circuits and state machines. I described a simplified diagram of a fpga. Actual fpga has many others elements: pll, embedded multipliers, high-speed interfaces, etc. - Altera_Forum
Honored Contributor
To add a little info to your original question:
Verilog is a flexible language. It is easy to work with when switching between types (integers vs vectors). VHDL is a bit more strict, but has some added features that can be helpful for more advanced users (generics and bound integers). From my experience, both VHDL and Verilog are widely used. I will admit that I have not found a Verilog book I like yet. My personal favorite VHDL book for beginners is "VHDL : Programming By Example" by Douglas Perry. Bertulus recommended "RTL Hardware Design using VHDL" Pong. Chu. This book is a bit harder of a read. I do highly recommend it for more advanced VHDL programmers though. - Altera_Forum
Honored Contributor
I agree with kosh, "RTL Hardware Design...." is not a book for a beginner. you have to know something of fpga an vhdl to understand it. But i recommended for one reason. Usually when people start with fpga thinks vhdl ( or verilog ) is like any other programming language and forget that we are designing hardware. This book teachs you the good rules ( and why ) to code in vhdl.
I say again: this book is not for beginner. May be, you prefer start with "Rapid prototyping of digital systems" or the book of Stephen Brown ( sorry, i don't remember the name ). - Altera_Forum
Honored Contributor
As a C programmer, you will probably prefer the syntax of verilog (as it was kind of based on C). VHDL can really annoy C programmers as it has strict typing. There are pros and cons for each but at the end of the day they can both produce the same hardware. There is a big push for system verilog from the verification point of view, but you can do a lot of things with pure VHDL, that I dont think many people realise.
Im a VHDL guy, and havent read any books, so I cant recommend any, but Pong Chu's book does come up alot, even though he does push his opinion as "best practice" in at least 1 case. - Altera_Forum
Honored Contributor
thx was a nice explanation..now i started..and i'm sure i will have more and more posts
cheers - Altera_Forum
Honored Contributor
thx for helping