Forum Discussion

Altera_Forum's avatar
Altera_Forum
Icon for Honored Contributor rankHonored Contributor
14 years ago

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 advance

10 Replies

  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored 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's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored 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's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored 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's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored 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's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored 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's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored 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's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored 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's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored 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's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    thx was a nice explanation..now i started..and i'm sure i will have more and more posts

    cheers