![]() |
1
1
Verilog现在被认为是低级的。将其与软件实现的程序集进行比较。人们使用它只是为了获得在软件领域用高级语言(如C或Java)无法达到的性能。 在硬件领域,C(用于Vivado HLS)或OpenCL被视为高级语言。OpenCL的开发考虑到了其他架构(如GPU和CPU)的可移植性。然而,与Vivado HLS相比,它在与FPGA通信方面的开销要大得多。
SDSoC,不是“Vivado SDSoC”,顺便提一下,它还允许您用C编写整个实现(硬件和软件)。在后台,它将调用Vivado HLS来实现硬件模块。之后,该工具将负责在硬件和将运行该软件的机载ARM处理器之间实现接口。
总之,我建议您使用SDSoC,除非您有充分的理由不使用它。然而,我要警告的是,分析Vivado HLS的合成结果要比分析Verilog或VHDL的Vivado输出困难得多。因此,我始终建议首先确保您的代码作为软件实现工作。只要付出最小的努力,您就应该能够在中编译任何代码
|
![]() |
2
0
SDSoc更好更简单,HLS就像一个黑盒子,甚至UG902也有这么多页面。
|
![]() |
3
0
看看 Xilinx XAPP1167 HLS Video Library Wiki appnote有几年的历史(比SDSoC工具旧),但有一个参考设计,用于使用HLS加速Zynq中的OpenCV应用程序。 我不能与SDSoC对话,但我强烈建议从HLS开始,而不是在Verilog中重写。听起来您对HLS有一个明确的预期用例:在FPGA中实现现有的C++应用程序。它的缺点是(1)您可能需要稍微修改代码,因为HLS不支持所有C++功能,(2)性能可能不如纯Verilog实现。
|
![]() |
4
0
开始使用OpenCL SDAccel或Intel SDK。OpenCL有详细且定义良好的API,这是一件好事。这很容易学习,您可以像Verilog/VHDL的多模块实例一样执行并行代码。OpenCl与HLS的优势在于不需要重新发明整个系统来管理数据、I/O和管道。等等,在OpenCL BSP(Intel)或shell(XILINX)中可以获得相当多的辅助逻辑。是的,开始阅读这些长指南。 |
![]() |
5
0
我建议使用SDAccel,因为它对C++“软件”用户友好得多。同时,请不要引用我的话,但我认为他们提供了一个现成的OpenCV实现,这意味着您可能只需要按摩非OpenCV代码即可实现所需的性能。 |
![]() |
Jason Steve · 实时gps reall需要数据库? 6 年前 |
![]() |
Naveen Attri · Android实时位置共享 6 年前 |
![]() |
Amin Ullah · EmguCv实时视频解码中的600毫秒延迟 7 年前 |
![]() |
Laveena · 连续无限实时流式音频信号,Python 7 年前 |
![]() |
Malerosa · 如何将数据库链接到我的Android应用程序? 7 年前 |