【发布时间】:2011-10-23 22:48:47
【问题描述】:
我想要一个 FPGA 开发板,目标是模拟 CD-ROM 驱动器。 我的问题是:
- 是否有任何 fpga 允许使用 C/C++ 而不是 VHDL 编写代码?
- 如果非要推荐一块板子,你会推荐哪块板子?
- 您会推荐购买哪本书?
- 在继续之前我还有什么需要了解的吗?
【问题讨论】:
我想要一个 FPGA 开发板,目标是模拟 CD-ROM 驱动器。 我的问题是:
【问题讨论】:
A) 直接编写 C++ 代码没有意义,但是您可以模拟处理器并向其编写 C/C++。我已经做到了。我会推荐 ALTERA 的入门套件,不要为初学者购买非常昂贵的东西。
B) http://www.altera.com/products/devkits/altera/kit-cyc2-2C20N.html 例如,这非常好。我已经使用 C 实现了一个 dsp。
Altera 具有您可以实现的 NIOS CPU。这不是最简单的事情。您至少需要基本的 VHDL 知识才能做到这一点。
C) http://www.amazon.com/Designing-FPGAs-CPLDs-Bob-Zeidman/dp/1578201128 涵盖了基础知识。
D) 您应该了解数字架构。 C/C++ 与 VHDL 完全不同,在您了解核心组件的工作原理之前,您将无法获得 FPGA 的真正力量。加法器、ALU、MUX、DEMUX、乘法器等是任何数字电路的组成部分。您需要知道如何组合它们以并行化您的解决方案并利用硬件。
【讨论】:
A) 作为一种替代方法,有一些类似 C 的语言可以编译成 VHDL 或 Verilog。有关详细信息,请参阅维基百科上的 C to HDL。
这种语言的编译器通常会为您的特定“程序”生成定制的电路设计。例如,如果你想计算 a*b+c*d+e*f,你最终可能会得到一个包含三个乘法器和两个加法器的电路,并且可以针对不同的 (a,b,c,d ,e,f) 元组每个循环,有点像pipeline。
我想这取决于你想做什么。对于低级应用,CPU 比定制电路慢,但它绝对更容易编程。
D) 我同意 FailedDev。您应该从基础开始,使用 VHDL 或 Verilog 并点亮一些 LED(例如,实现一个二进制计数器)。
【讨论】: