问题标签 [zynq]

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 投票
2 回答
19897 浏览

ubuntu - 内核恐慌 - 不同步:没有找到工作初始化

我正在尝试通过 SD 卡在 zynq 7000 上使用 Linaro Ubuntu 桌面。在 SD 卡上创建两个分区并插入 FPGA 后,我在主机 PC 上收到此消息(使用 UART 通过串行端口链接到卡):

连接 VGA 的显示器不显示任何内容。有人可以帮我理解这个问题的原因吗?

0 投票
0 回答
137 浏览

c - 将以太网数据包写入特定的内存位置?

如果有人能为我指出一条路,我将不胜感激!

我想设计一个系统,它可以通过 TCP/IP 协议接受数据,现在一旦接收到数据,我想将此数据重定向到特定的内存位置,并为下一个数据包释放接收缓冲区并执行相同的操作. 在我的系统中,从主机到我的 fpga 板只有一个专用连接。

我正在使用 LWIP。我试图了解 LWIP 如何制作描述符列表(我的意思是如何为此目的决定特定的内存位置,因为我每次初始化程序时观察到 rx_qbar 指向不同的位置,即使没有数据包是发送或接收!!)。

所以我的想法是我应该控制已完成的描述符,当下一个缓冲区正在进行时,我可以复制第一个缓冲区(我的意思是 BD1 完成,Bd2 继续,BD1 rx_buffer 将被复制到我指定的地址),而不会干扰正在进行的事务接收端口!如果有人能帮助我在寄存器级别理解这个过程,我将不胜感激。

0 投票
1 回答
884 浏览

user-interface - FPGA逻辑的GUI控制的实用方法是什么?

我有一块 Zynq 开发板 (Z7020),我在硬件内核上运行 Linux。我想控制逻辑,我将编程到 Zynq 的 FPGA 部分,在硬件内核上运行 GUI 界面并显示在连接的触摸显示屏上。

当我从 GUI 界面选择选项或启动/停止任务时,我是否会向 FPGA 发送中断?

我如何也将任务完成的指示从 FPGA 返回到硬件内核或可能的一些数据?

0 投票
1 回答
7751 浏览

linux-kernel - 无法访问 /dev/video*:没有这样的文件或目录

因此,我正在开发 zynq z7000 卡,并在其上制作了 Linux 内核。我将 Linaro 作为根文件系统。我设法启动了卡,但是我只能使用鼠标和键盘 USB 设备。我尝试了网络摄像头和闪存驱动器,但它们无法正常工作。当我使用:

我得到了网络摄像头设备

但是,当我尝试

我明白了

我已经使用这些配置来构建我的图像。

0 投票
1 回答
340 浏览

ubuntu - Petalinux 2014.4 使用 board_f 文件构建错误

我正在尝试为一个项目构建一个 petalinux 内核。vivado 中的比特流编译得很好,有一些警告,但它们是有意的(隐含的锁存器,不在敏感度列表中的东西等)。

当我得到 HDF 时,一切都很好,项目初始化得很好。当我配置项目时,一切都很顺利。没有什么不寻常的,我正在实例化基本设置,没有任何变化。

现在,当我运行时petalinux-build -v,一切都很好,直到我进入 board_f 文件。由于此错误,这些失败。

我在 Ubuntu 14.04 和 15.10 都试过,错误都是一样的。

我不能发布整个构建日志,但这里有一个指向 pastebin 日志的链接 [第 2375 行出现错误] http://pastebin.com/zFkXs8wb

0 投票
3 回答
3278 浏览

vhdl - 如何从 AXI4 总线读取大量数据

我正在 zybo 板上构建一些东西,所以使用 Zynq 设备。

我想从 CPU 写入主存储器,并用 FPGA 从它读取,以便将 CPU 结果写入另一个设备。

我很确定我需要使用 AXI 总线来执行此操作,但我无法找到解决问题的最佳方法。我是否:

  • 自己制作完整的 AXI 外设?大概是一个主机,它向主内存发出读取请求,然后完成它们。我发现很难找到有关如何实际制作 AXI 外设的资源,我从哪里开始寻找简单的解释。
  • 使用其中一个 Xilinx IP 内核为我处理 AXI 总线,但其中有很多,我不确定最好使用哪一个。

无论是什么,它都需要速度快,并且需要能够从我板上的 DDR 内存中进行大量读取。该内存还需要可由 CPU 写入。

谢谢!

0 投票
1 回答
2420 浏览

verilog - AXI IP 综合期间出现未知错误

我正在尝试使用 Xilinx Vivado 中的 IP 封装工具来创建具有 AXI-Lite 接口的协处理器,并将其用于我的数字系统工程课程的 Zynq SoC 设计中。协处理器是一个 GCD 计算器,我们已经在之前的任务中开发了它。我按照讲师的指示从 GCD 计算器中创建了一个 IP,我们大致按照位于此处的 PDF 中的教程 4A来创建 AXI 接口(显然修改了 I/O 声明以适应 GCD 计算器)。我有一个名为“数据”的数据总线,从 AXI IP 和 GCD IP 运行,以将值发送到计算器。但是,当我尝试合成设计时,我收到以下错误:

[Synth 8-685] variable 'data' should not be used in output port connection'

错误指向定义我的数据端口的 AXI 总线接口实例化行。

我一直在网上搜索这个错误的解决方案几个小时,但即使是 Xilinx 网站,也没有向我们提供的 Xilinx 文档,都没有关于这个错误的任何信息,我也找不到任何来自遇到相同错误的任何人的帐户。

我给教授发了电子邮件,看看他是否有任何想法,但他可能还要六个小时才能醒来,而且作业今天(明天?)到期。

有没有人听说过这个错误,或者知道如何纠正它?

这是包含错误源的部分代码:

谢谢,

-安德鲁

0 投票
1 回答
2708 浏览

vhdl - 将数据存储到 zynq 设备上的 ram

我目前在将Zynq的 PS 部分生成的图像存储到板的 DDR3 中时遇到一些问题,然后将该图像读入板的 PL 侧,以便在那里创建的 VGA 驱动程序可以

PS 创建一个 640x480 的图像,理想情况下我想将其存储在 Dram 中。到目前为止,我一直使用 DMA 来回传输数据并以某种方式(不存储所有像素)将其存储到我系统的块 RAM 中。但这不是一个理想的解决方案,我也知道..

所以我的问题是如何访问我的 zynq 板的 DDR ram,我知道它位于 PS 端,但似乎找不到任何解释它应该如何接口的文档等等..

0 投票
1 回答
1157 浏览

verilog - 不同频率的 LED 计数器程序 (0 - 15)

我想在 Zybo 板上用 4 个 LED 制作一个计数器,从 0 到 15 计数。此外,我希望板上的 4 个按钮对应于 LED 变化的不同频率(0.5Hz、1Hz、2Hz、 4赫兹)。我已经实现了具有固定频率的简单计数器,但没有实现按钮频率变化的第二部分。

在块设计中,我有一个 Zynq 处理系统、一个读取按钮数据的 AXI GPIO 和一个用作 LED 驱动器、时钟分频器和频率转换器的自定义 IP。

自定义 IP

时钟分频器模块代码。

寄存器 constantNumber 取相应的值以改变时钟频率。

其余的自定义 IP 逻辑

按钮数据被发送到自定义 IP (slv_reg0) 的第一个寄存器,后者又将它们发送到 Clock_Divider 模块中的 reg0。

主 C 程序

我可以确认 AXI GPIO 正确读取了按钮数据,因为当按下它们时,终端中会打印正确的行。但是当我按下按钮时,频率并没有改变。此外,它以非常慢的频率运行,比默认的 1Hz 慢得多,即使按钮数据没有发送到自定义 IP。

问题必须存在于自定义 IP 中的 reg0 案例逻辑或将按钮数据从 cpu 发送到自定义 IP 的寄存器的某个地方。

0 投票
1 回答
584 浏览

xilinx - Zynq7000 PS DMA“完成”信号过早

TL;DR:Zynq7000 PS 内置 DMA 过早返回“完成”信号。它似乎在(我假设)填充其内部“MFIFO”并且不再需要访问数据源时立即发出信号。但是我的软件也需要知道它何时真正完成了数据传输。

PS DMA 是否有状态位来指示传输是否完成?Xilinx 文档中的一些 DMA 寄存器不清楚(http://www.xilinx.com/support/documentation/user_guides/ug585-Zynq-7000-TRM.pdf,第 276 页)

我正在使用 DMA 使用以下 C 代码将大量数据从 DDR 内存泵送到 PL IP:

然后我开始DMA传输......

并等待它完成,然后再从我的 IP 中读取结果。

我遇到的问题是,在数据传输完成之前,这个结果经常被过早地读回。显然,DMA 有时会说它在 DMA 传输仍在进行时已完成(我可以说是因为,从chipscope,我可以看到在写入突发仍在发生时发生读取)。

如何将我的软件设置为等到 DMA实际完成数据传输?