新闻中心

EEPW首页>嵌入式系统>设计应用> 将ARM AXI4用于FPGA 把恒星装入瓶中

将ARM AXI4用于FPGA 把恒星装入瓶中

作者:Billy Huang,Roddy Vann,Graham Naylor,Vladimir Shevchenko,Simon Freethy, 时间:2011-12-22 来源: 收藏

本文引用地址://m.amcfsurvey.com/article/127296.htm

  图 2:使用新颖的 PCB 天线的微波成像相位天线阵列

AXI4 问世之前

  为满足我们系统的需要,位于 Virtex-6 上的 MicroBlaze™ 处理器必须能够访问 DDR3 SDRAM 存储器,这样 Linux 才能访问我们采集到的实时数据。为此,我们必须采用一个能同时被 MicroBlaze 总线和实时串流 IP 访问的存储器控制器。起初我们试图使用 PLB 总线,但发现基于 PLB 的存储器控制器存在局限性,使我们无法在要求的频率下连接 64 位宽的接口,而只能提供 32 位宽。我们意识到这个任务会很艰难,我们又编写了一个能够通过低层 NPI 协议直接与存储器控制器进行通信的内核,但只能实现 2Gbps 的速率。虽然这个速率已经令人惊叹,而且打破了我们能够实现的所有速度记录,但仍然不能满足我们的要求。

  幸运的是随后推出了 AXI4 互联和存储器控制器,能够以 400MHz 的双倍数据速率(每秒 8 亿次事务处理)对整个 64 位宽度实现完全访问。这样可以有效实现 6.4Gbps 的数据吞吐能力,这个速度已经超过了我们要求的每板 4Gbps的速度。这正是我们所需要的。

  我们实际上找到了两种实现这个速度的途径:一个是修改 axi_v6_ddrx 存储器控制器(隐含在AXI 互联层下)。另一种方法是用系统生成器 (System Generator) 生成 AXI Master PCore。PCore 可以以 AXI External Master 的形式附加给 Xilinx Platform Studio (XPS) 里的MicroBlaze 系统。

  两种解决方案都能够以 5Gbps 的速度向 DDR3 存储器中传输数据。AXI 编程简便,采用独立的读写通道,可以实现非常高的存储速度。XPS 工具则为 AXI 设计赋予了极大的灵活性。我们把这种灵活性转化为我们的优势,例如我们可以根据需要只选择一条写入通道,从而能够简化逻辑设计,释放更多资源。

 软处理器界面

  这款工具集有一项独特的功能,即 MicroBlaze 软处理器。它的“软”在于能够使用 FGPA 逻辑。在及其合作伙伴的努力下,该处理器能够得到主流 Linux 内核的全面支持。我们被这种努力所打动,决定把开发工作放在 Linux 环境中进行。

  这项功能的意义在于,我们可以给系统构建一个类似 PC 的界面。这样做的意义非常重大,例如,可以在上实现 Web 和 SSH 服务器。我们可以在 Linux 下安装 System ACETM 闪存(格式化为 MSDOS),这样我们就可以远程更新固件。

网络流

  鉴于我们能够在 0.5 秒内在每个板上采集 2Gb 的数据,我们现在要解决的问题是如何在合理的时间内通过标准的接口将数据从 FPGA 板上输出。实践证明,在 Linux 环境中使用简单协议(比如 UDP),利用 MicroBlaze 处理器通过千兆位以太网所实现的网络速度太慢,只能达到 0.5 Mb/s。以这种速率下载 0.5 秒内采集的数据,我们需要等上一个多小时!



关键词:赛灵思ARMAXI4FPGA

评论


相关推荐

技术专区

关闭