1

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

  • Is there any fpga that allows writing code in C/C++ and not VHDL?
  • If you had to recommend a board , which one would that be ?
  • Which book would you recommend to buy ?
  • Is there anything else that i should know before going further ?
1

2 Answers 2

3

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.

Sign up to request clarification or add additional context in comments.

Comments

1

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).

1 Comment

Although there are indeed C to HDL compilers I would stay away from them , especially at start. You have little control over what the compiler will actually generate for you whereas with HDL you have direct control.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.