xilinx芯片有多常用?

时间:2010-07-26 19:16:06

标签: c++ c embedded arduino xilinx

我开始学习嵌入C语言(可能还有一些C ++),办公室的人说他们愿意捐出他们坐在架子上的免费xilinx芯片。我更多地考虑Arduino,尤其是Arduino教程和示例项目非常丰富。

  • 有人可以确认xilinx芯片与arduino的比较吗?他们在行业内是否以任何方式更加“真实世界”?或不?

  • 我是否应该避免使用特定的xilinx芯片(可能是较旧的型号),至少在我还没有开始的时候?

  • 由于缺乏教程,他们的学习曲线是否比Arduino更陡峭?

当你听到xilinx而不是Arduino时,我很想听听你的想法。我对筹码知之甚少,更不用说这个筹码了,所以很难进行任何明智的比较。

5 个答案:

答案 0 :(得分:13)

Xilinx芯片非常常用,但不适用于您想要的产品。 Xilinx生产的FPGA和CPLD采用VHDL和Verilog编程(两者均不同,均采用两者编程)。它们用于将原型逻辑电路转换为集成电路。例如,如果您想制作自己的ARM芯片,可以从ARM购买一些代码并将其放在Xilinx的FPGA上,然后将结果编程为C.我不推荐这样做,只是想给你一个想法这些野兽是为了什么。无论如何,Arduino是您想要的坚实平台。去吧。

答案 1 :(得分:10)

Xilinx的业务是销售FPGA芯片。如果没有创建逻辑设计和刻录芯片所需的工具,这样的芯片将毫无价值。工具过去非常昂贵,但可以免费用于中低端芯片(正如评论中所指出的那样)。谷歌“Verilog”和“FPGA编程”。

FPGA和Arduino之间的本质区别在于您在FPGA上编程硬件,在Arduino上编写软件。

答案 2 :(得分:9)

你正在比较粉笔和奶酪。 Xilinx是一家公司,而不是芯片,Arduino是一个基于Atmel AVR微控制器的开放式开发平台。

单独“筹码”对你来说可能毫无用处;它必须装配到带有辅助元件和电源等的开发板上。

Xilinx制造FPGA和其他可编程逻辑器件。可以使用嵌入了硬核或软核处理器的FPGA(即FPGA逻辑门中定义的处理器),并且可以用C编程该核,但如果你刚开始,你想要多少个球?马上玩吧?如果没有能够合成使其做有用的必要外围硬件的能力,这样的核心将是无用的。它们用于高度专业化的应用程序,其中核心和外围设备需要与应用程序紧密耦合。它们通常用于标准仍在开发中的应用(例如无线通信),其中固件和软件可能需要在现场更改以支持更改。 FPGA的另一个用途是直接在硬件中实现算法,以利用与软件解决方案相比可以提供大规模加速的并行性和管道衬里。

虽然Arduino,或者更具体地说是AVR(还有其他可用的AVR开发平台)可以用C和C ++编程,但如果您认真考虑在嵌入式系统中使用C ++,那么32位平台可能更合适(同样具有性能优势)。基于ARM Cortex-M3或ARM 7的开发板将是一个良好的开端,特别是因为如果你最终进步,ARM也是FPGA上软核处理器的常见选择。

答案 3 :(得分:4)

Xilinx制造FPGA及相关软件工具。 FPGA是抽象地 - 配置有查找表的NAND门。当单元数量不足以证明创建ASIC时,它们通常用于代替定制硅芯片以实现超快逻辑。

FPGA采用VHDL或Verilog编程,它们是抽象的硬件描述语言。他们不像von Neumann或函数式语言。

请注意,您可以加载常规CPU的“软核”描述,并使用C加载FPGA的CPU编程....您不希望在学习嵌入式时这样做。您可能需要调试 CPU 。哪个,好吧,可以很有趣。如果你想这样做。

对于嵌入式工作,Arduino是目前流行的芯片。您可以使用C编程。

答案 4 :(得分:1)

许多人已经说过Xilinx是FPGA。 FPGA是“软逻辑”,因为您使用simalar开发过程来开发ASIC,但您可以在硬件上测试您的设计,而无需制造工厂这样做。折衷是速度,它们实现“元逻辑”而不是布局由传统的“nand-nand”或“nor-nor”逻辑组成的设计,它们具有可编程的查找表,可以对其进行编程以实现任意逻辑门。对于处理器而不是本机代码运行解释器,这在概念上是simalar。

虽然使用asic无法达到相同的性能,但它允许小批量产品具有asic的大部分优势,而不需要在FAB工厂进行生产运行。此外,您可以将FPGA视为更像软件设计,并为不同的操作模式加载不同的比特流。 Xilinx和Altera都有开发套件,可让您将设计存储在紧凑型闪存中,并在启动时选择不同的图像。

对于嵌入式设计,FPGA允许您通常无法从现成的处理器中获取,您的设计可以拥有您需要的EXACT硬件,您不必看起来投入1000个不同的微处理器来查找“完美的一对!”最重要的是,我已经看到使用16位或32位处理器的旧系统转移到FPGA,并且比基于处理器的设计实现了更好的性能,更低的成本和更低的功耗。包含“正确”的硬件有一些东西可以说。

VHDL和Verilog都是高级语言,虽然与C和C ++不同,但它们并不是特别难以区分,需要不同的思考过程。你没有很多内置的库可以为你做任何事情,所以你最终可能会在“OpenCores.com”这样的网站上获得“核心”并将它们连接在一起以实现你的设计,并提供你需要的额外逻辑。 FPGA代码通常是并行的,您必须专门实现串行行为,并且您必须考虑流水线阶段和延迟。因此,尽管语言本身并不困难,但有些概念可能也是如此。但它们也更有价值,有点像建房子而不是写房子。