首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >你能用类C语言编程FPGA吗?

你能用类C语言编程FPGA吗?
EN

Stack Overflow用户
提问于 2012-01-24 14:36:29
回答 9查看 38.7K关注 0票数 30

在大学时,我用C语言编写了FPGA程序。然而,我也知道,人们通常用Verilog或VHDL编写FPGA。这是设计师的选择吗?如果是的话,性能的缺点是什么?

理想情况下,我希望用类似C的语言来编写FPGA程序,而不是VHDL.

我想买一个Xilinx Virtex-5,如果有什么区别的话?

EN

回答 9

Stack Overflow用户

回答已采纳

发布于 2012-01-24 17:34:12

简短的回答是“是的,当然”。

这是一个优秀的调查C编译器的FPGA和基于FPGA的系统.

C到硬件编译器(HLL合成)

在系统架构和通信带宽中发现了性能缺陷和注意事项,而不是使用C和硬件设计语言(HDL)。在使用C和HDL时,需要考虑的是编程时间和软件维护问题,而不是性能问题。

票数 13
EN

Stack Overflow用户

发布于 2012-01-26 15:12:40

FPGA不是处理器。C语言是为处理器设计的语言。

是的,有C到FPGA编译器。

他们是个好主意吗?我会说不。您将要完成的设计(据我所见)通常是一个状态机,每一行代码在C中有一个状态,然后状态机在执行算法的状态中移动。或者设置该或其他类型的图灵机器来执行代码。

这不是一个熟练的FPGA设计人员通常会处理一个问题。这是一种缓慢的,潜在的门饥饿的方式做事情。

正如英语比Fortran更适合写小说一样,VHDL和Verilog比C语言更适合描述逻辑电路。

如果您对使用FPGA很感兴趣,请使用一种用来描述逻辑电路的语言。这可能是一个陡峭的学习曲线,但结果将更好的IMHO。

票数 33
EN

Stack Overflow用户

发布于 2014-02-28 21:26:16

您可以在FPGA逻辑中安装一个软处理器核心,并在虚拟处理器中运行C代码。Xilinx拥有Microblaze (许可)和Picoblaze (免费)核心。您还可以实现其他软核(MIPS、x86、8051等)。

然而,这在很大程度上被认为是一种“黑客”,因为与真正的核心相比,内核的速度非常慢。我认为任何C到FPGA转换最终都会像运行软核一样,而不是给你在FPGA上运行的效率。FPGA不是图灵机,它们是一袋逻辑门。你可以在城门外建造一台图灵机,但这并不是你买这一袋门的原因。

这就像买了一袋乐高玩具,用砖块做了锤子和钉子。这可能是可行的,但你最好买一个锤子钉钉子,更好地建造城堡,太空船和消防站与乐高。

票数 8
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8988629

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档