问题标签 [vivado-hls]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1251 浏览

xilinx - HLS 中的延迟和启动间隔

我在 SDAccel 中有一个设计,显示延迟为 33000 个周期,启动间隔为 8。这是什么意思?

这是否意味着在 33000 次循环后输出准备就绪?我检查了输出的实际时间(配置文件摘要报告),它显示为 319 毫秒。(时钟为 5ns)

0 投票
0 回答
768 浏览

c - 实现像openCV这样的对象检测

我正在尝试使用 C 中的 Haar 级联(如 openCV 的实现)来实现用于对象检测的 Viola-Jones 算法,以检测人脸。我以 Vivado HLS 兼容的方式编写 C 代码,因此我可以将实现移植到 FPGA。我的主要目标是尽可能多地学习,而不仅仅是让它发挥作用。对于改进我的问题,我也将不胜感激。

我基本上开始阅读 G. Bradski 的Learning openCV,看了一些在线教程并开始编写代码。果然它没有检测到人脸,我不知道为什么。在这一点上,我更关心的是理解我的错误,而不是能够检测到人脸。

我的实施步骤

我不确定多少细节是合适的,但为了简短起见:

  • 将Haar 级联数据从haarcascade_frontalface_default.xml提取到 C 可读结构(巨大的数组)
  • 编写一个函数来创建任何给定 24x24 大小的 8 位灰度图像的积分图像(与级联中列出的大小相同)
  • 应用这篇精彩文章中的知识进行必要的计算

我的测试方案

  • 使用与上述相同的 Haar 级联创建黄金数据的 openCV 库实现 python 脚本来检测人脸,从图像中切出检测到的人脸(确保 24x24 大小)并存储。
  • 存储的图像被转换为​​一维 C 数组,包含逐行的像素值:img = {row0col0, row0col1, row1col0, row1col1, ... }
  • 计算积分图像并应用人脸检测

结果

  • 面部仅通过 Haar 级联的 25 个阶段中的 6 个,因此我的实现没有检测到它们,我知道它们应该被检测到,因为带有 openCV 的 python 脚本和相同的 Haar 级联确实检测到了它们。

我的代码

0 投票
0 回答
114 浏览

c++ - 将注释传递给 BOOST_PP_STRINGIZE 宏

boost/mpl/list.hpp有以下代码:

当我尝试使用 Vivado HLS C++ 编译器对其进行编译时,出现错误:

我得出的结论是预处理器将空注释附加/**/到包含的文件名中。删除它(使用前一行的反斜杠\)解决了这个问题,尽管还有许多其他这样的空注释会导致新的错误。

为什么AUX778076_LIST_HEADER宏开头有这个空注释?期望BOOST_PP_STRINGIZE删除它是否正确?

0 投票
0 回答
300 浏览

image-processing - AXIS:在 AXI 上发送图像 RGB 24bit

我正在我的大学做一个项目,我必须制作一些需要至少两帧视频的算法,但我不能使用任何相机 - 我只能将图像存储在某个地方。我想在 vivado HLS 中对一个 24 位像素(红色 8 位,绿色 8 位,蓝色 8 位)进行一些图像处理,我知道如何制作 24 位的输入流,但我不知道如何当 axi 支持 8,16 和 32 位时,我可以发送 24 位吗?1. 存储图像的最佳方式是什么?DMA?2. 如果我使用 DMA,我的输出是 32 位 - 我怎样才能获得 24 位,在我的模块上发送它?3. 输入 24 位是否是一个好的解决方案?我可以在该项目中看到https://www.xilinx.com/support/documentation/application_notes/xapp1167.pdf那个某人有输入流,这是一个完整的图像?后来只使用了一些 OpenCv 算法并得到了结果!没有HDMI可以吗?

我将不胜感激任何帮助。

0 投票
1 回答
768 浏览

image-processing - 将 JPEG 图像发送到 AXI4 流并读回?

我正在 Zedboard Zynq 评估板上使用构建在其上的 FPGA 进行图像处理项目。我已经使用 HLS 编写了图像处理块,并将输入和输出的 IP 创建为宽度为 8 的 AXI4 流。

如何在我的 PC 上读取 JPEG 图像并将其作为 AXI4 流发送到此 IP 块,然后将其输出回来以显示在我的 PC 屏幕上?

是否有任何现有的 IP 可以做到这一点?

PS FPGA 板通过 JTAG 电缆连接到我的 PC,以防万一。

0 投票
2 回答
1907 浏览

vivado - Ubuntu 17.10 上的 Vivado HLS 2017.3 csim 错误

Vivado HLS 无法在 kubuntu 17.10 上编译 ac 测试台代码,相同的项目在 Windows 10 下完美编译。在 Kubuntu 和 Windows 上,解决方案综合,只有 sim 在 ubuntu 上失败。

从日志文件中,我认为 vivado 将其 gcc4.6.3 与系统 gcc 库混合在一起,有人可以帮我避免这种情况。

问候

0 投票
1 回答
1996 浏览

c - VIVADO HLS:如何为二维数组声明任意精度(或位精度)整数数据类型?

0 投票
2 回答
2456 浏览

fixed-point - 如何在 Vivado HLS 中使用定点 sin 函数

我正在计算极坐标系中两条线的交点:

在对我们的 FPGA 进行综合后,我看到浮点正弦(和余弦)的 4 种实现每次实现需要 4800 个 LUT,这 4 个函数的总和为 19000 个 LUT。我想通过使用定点正弦来减少 LUT 计数。我已经找到了CORDIC的实现,但我不确定如何使用它。该函数的输入是一个整数,但我有一个ap_fixed数据类型。如何将其映射ap_fixed到整数?以及如何将我的 3.13 固定点映射到所需的 2.14 固定点?

0 投票
1 回答
296 浏览

c - VIVADO HLS:如何在任意精度类型中声明“变量的总宽度”?

我正在使用 XILINX VIVADO HLS,我需要在其中运行具有“任意精度类型”的 C/C++ 代码。所以,我已经浏览了 UG902 Xilinx 指南中的“任意精度类型”主题。但我不清楚这个主题。我不知道如何初始化“变量的总宽度”。谁能用例子解释我?

数字#W 指定被声明的变量的总宽度。假设我的数组大小是 102(一维数组)或 102x204(二维数组)。你将如何声明“变量的总宽度”。

0 投票
0 回答
74 浏览

xilinx-edk - XSDK 是否支持 Vivado HLS 任意精度类型?

我在 HLS IPcore 中设计了一个函数,它处理任意精度类型的数组。我将该内核连接到 MICROBLAZE 处理器并生成比特流。

我在 SDK 中编写了 C 代码来初始化硬件 IP 核并编译代码。在 TERA TERMINAl 中,任意精度变量似乎不起作用。那么,XSDK 中是否支持 VIVADO HLS 任意精度类型?

谢谢