user1010005
user1010005

Reputation: 2707

Getting started with FPGA development

I would like to get an FPGA development board with the goal to emulate a CD-ROM drive. My questions are:

Upvotes: 1

Views: 940

Answers (2)

Vlad
Vlad

Reputation: 18643

A) As an alternative approach, there are some C-like languages that compile down to VHDL or Verilog. See C to HDL on Wikipedia for details.

What a compiler for such a language usually produces is a customized circuit design for your specific "program". For instance, if you wanted to compute a*b+c*d+e*f, you might end up with a circuit that contains three multipliers and two adders and can run that computation for a different (a,b,c,d,e,f) tuple every cycle, sort of like a pipeline.

I suppose it depends on what you want to do. For low level applications, a CPU is slower than a customized circuit, but it's definitely easier to program.

D) I agree with FailedDev. You should start with the basics, mess around with VHDL or Verilog and light up some LEDs (for instance, implement a binary counter).

Upvotes: 1

FailedDev
FailedDev

Reputation: 26940

A) Well directly writing C++ code does not make sense, however you can emulate a processor and write C/C++ to it. I have done this. I would recommend a starting kit from ALTERA don't buy something really expensive for starters.

B) http://www.altera.com/products/devkits/altera/kit-cyc2-2C20N.html This is pretty nice for example. I have implemented a dsp on it, using C.

Altera has the NIOS CPU which you can implement. It is not the easiest thing to do. You will need at least basic VHDL knowledge to do this.

C) http://www.amazon.com/Designing-FPGAs-CPLDs-Bob-Zeidman/dp/1578201128 covers the basics.

D) You should know digital architectures. C/C++ is way different than VHDL and you will not be able to harvest the true power of FPGA's until you know how the core components work. Adders, ALU's, MUX, DEMUX, MULTIPLIERS etc are integral parts of any digital circuit. You need to know how you can combine them in order to parallelize your solution and exploit the hardware.

Upvotes: 3

Related Questions