首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Verilog或Vivado HLS或Vivado SDSoC

Verilog或Vivado HLS或Vivado SDSoC
EN

Stack Overflow用户
提问于 2017-08-22 15:19:59
回答 5查看 1.6K关注 0票数 0

我想把C++ (OpenCV)写的车道检测代码转换成FPGA。Vivado HLSVivado SDSoC可以帮助将C ++代码嵌入到FPGA中。或者我可以用verilog重写车道检测代码。问题是,这三种方法的优缺点是什么?我想用一种便宜的Zynq-7000 FPGA。

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2018-05-11 12:17:33

维里罗格现在被认为是低级别的。将其与程序集进行软件实现比较。人们使用它只是为了获得软件领域的高级语言(如C或Java )无法达到的性能。

在硬件领域,C(用于Vivado HLS)或OpenCL被认为是高级语言.OpenCL的开发考虑到了GPU和CPU等其他体系结构的可移植性。然而,它在与FPGA通信方面的开销要比Vivado HLS大得多。

Vivado HLS本身只生产VHDL或Verilog的硬件模块,您仍然需要连接到FPGA引脚、ARM处理器等。它不负责与模块的通信。您仍然需要在Vivado块设计或顶级VHDL或Verilog实现中集成模块。

顺便说一句,SDSoC不是"Vivado SDSoC“,它还允许您用C编写整个实现(硬件和软件)。在此框架下,它将调用Vivado HLS来实现硬件模块。之后,该工具将负责实现您的硬件和运行软件的车载ARM处理器之间的接口。

总之,我建议使用SDSoC,除非您有充分的理由不使用它。不过,我要警告的是,分析Vivado HLS的合成结果比分析Verilog或VHDL的Vivado输出要困难得多。因此,我总是建议确保您的代码首先作为软件实现工作。只要付出最少的努力,您也应该能够在gcc或其他编译器中编译任何代码。不要使用综合结果来调试代码,而只是分析性能。

票数 1
EN

Stack Overflow用户

发布于 2017-09-07 02:32:56

SDSoc更好更容易,它就像一个黑匣子,甚至UG902也有这么多的页面。

只有我自己的意见。

票数 0
EN

Stack Overflow用户

发布于 2018-02-17 20:26:49

看看Xilinx XAPP1167和Xilinx HLS视频库Wiki

该应用程序有几年的历史(比SDSoC工具更老),但是有一个参考设计,用于使用HLS加速Zynq中的OpenCV应用程序。

我不能和SDSoC说话,但我强烈建议从HLS开始,而不是在Verilog中重写。听起来您完全有一个用于HLS的预期用例:在FPGA中实现现有的C++应用程序。它的缺点是(1)您可能需要稍微修改代码,因为HLS不支持所有C++特性,(2)性能可能不如纯Verilog实现那么好。

即使您有硬件设计经验,手动将C++转换到Verilog也需要一些很大的努力。除非HLS或SDSoC没有提供所需的性能,否则我将避免这种方法。

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

https://stackoverflow.com/questions/45821532

复制
相关文章

相似问题

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