【问题标题】:Simple Adder Control Signals on Zynq SoC - ZedboardZynq SoC 上的简单加法器控制信号 - Zedboard
【发布时间】:2014-12-03 14:34:14
【问题描述】:

我是 Zedboard 的新手,我正在努力转移一个复杂的硬件加速器,我目前在常规 FPGA 板上工作。无论如何,我想在我能跑步之前先走路,所以已经完成了 Zedboard 高速公路教程,现在正在玩一些小项目。我的第一个是一个简单的加法器加速器:

-发送 2 个数字到 pl(可编程逻辑),到 reg a 和 b

-pl 加数字

-PS(CPU) 的中断表示计算已完成。

-在 ISR 中,PS 从 reg c 读取结果

对于这个设计,我在 AXI 互连中使用了 3 个寄存器(a、b、c),我使用 CIP 创建了 IP 模板。

基本上,发送控制信号以启用添加到 PL 的最佳方式是什么。那么我应该如何向 PL 加法器表明我已经在 reg a 和 b 中加载了两个数字并且现在想要添加它们呢?

-我应该创建一个 1 位信号 GPIO 互连,向 IP 添加一个第 4 个 1 位控制寄存器吗?或者有没有更“时尚”的方式通过使用 BUS2IPdata 信号来做到这一点?

-或者是否有另一种方法来创建自定义 PS 到 PL 控制启用信号?

非常感谢 山姆

目前的想法:

-基于 BUS2IPWrCE 在 user_logic HDL 中构建一个开关,所以当它被断言写入 reg B 时,我可以向我的加法器发送一个启用信号吗?或者我会因为数据没有立即完全写入而遇到一些并发问题?

【问题讨论】:

  • 在你可以运行之前先走:这表示使用 GPIO 作为第一步。它会处理一些开关、寄存器和灯(显示器?)就好了。之后,如果需要避免额外的硬件层,或者 GPIO 驱动太慢,您可以开发自己的 AXI 外设。

标签: vhdl fpga hardware-acceleration zynq


【解决方案1】:

为此,我使用 CIP 创建了 AXI perph,然后修改了 used_logic 和两个新端口,en 和 interrupt。按照这些说明,我使用了这些外部连接。http://www.programmableplanet.com/author.asp?section_id=2142&doc_id=264841

然后我将这两个外部连接连接到 GPIO 接口以提供所需的功能。

【讨论】:

    【解决方案2】:

    在您的大型设计中,使用 GPIO 来控制加速器的调度将很难获得性能。我建议在软件和硬件之间设置命令块的 FIFO。

    例如,您的外围设备可以实现一个 AXI Stream 从属设备,用于接收来自软件的命令,以及一个 AXI Stream 主设备,将结果指示发送回软件。

    它可以断言一个中断来指示响应FIFO中有值。

    为了获得更高的性能,请在 DRAM 中设置这些 FIFO,并在外围设备中使用 AXI 读/写主机。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多