从MCU到FPGA:第4部分

发布时间:2018-4-26 15:59    发布者:eechina
关键词: MCU , FPGA
作者:JPaul Carpenter

之前的文章:
从MCU到FPGA:第1部分
从MCU到FPGA:第2部分
从MCU到FPGA:第3部分

本周我想进一步探究可编程逻辑(FPGA)与硬核处理器(HPS)之间互联的结构。我发现了三种主要方式,它们是如何映射并处理通信的,哪些组件需要管控时序并且有访问权限。

AXI Bridge

为了能够实现HPS与FPGA之间的通信接口,衍生出了AXI bridge协议。AXI  bridge协议能够处理带宽适应和时钟控制,支持HPS与FPGA之间双向的逻辑和数据交互。

image003.jpg
图1:FPGA结构可视化表示(来源:Intel PSG)

HPS到FPGA

HPS到FPGA有两种类型:高吞吐量和低吞吐量。高吞吐量的数据带宽可以使32位、64位或128位,它是专门为高带宽数据传输而设计的,HPS作为主,处在L3层。

轻量级(或低吞吐量)通道被限制为32位,然而它进行了优化,延迟最低。它的主要功能是将控制和状态寄存器传递给FPGA。此外它也对HPS到FPGA的通信通道进行了一定的分流,具体类比描述见图1,从HPS到FPGA有两条通道:第一个是32位数据通道具有更高的速度限制,另一个则设计了很多个通道,在同一时刻支持更高的带宽和更多的数据传输。

FPGA到HPS

图1的第三个通道是实现FPGA到HPS的数据传输,它设计的目的是访问HP slave接口或在HPS程序端等待数据的输入。它可以配置为32位、64位或者128位的数据带宽,是由HPS L3主切换时钟来控制。

为了将这些通信通道结合在一起,我开始翻阅Intel开发者社区的黄金硬件参考设计指南(GHRD),它提供了一些例子来说明如何在FPGA和HPS之间建立AXI bridge通道,正是借助它我真正体会到了“配置向导”的强大功能,只需要鼠标点击六次我就完成了三个通信通道的配置,同时还可以配置内存分配。最后我了解到HPS bridge是映射到片上内存,实现尽可能少的延迟。而FPGA部分则映射到从内存地址,当有数据时将数据写入内存。

将它们整合在一起

那么这意味着什么?通信通道和不同传输层对于我这种对小型低功耗的MCU经验丰富的人来说也不是有太多的机会应用它们。尽管如此,那些习惯ARM MCU编程的开发者来说可能会熟悉这些通信通道(Bridge)。实际上这些通信通道是一系列的控制寄存器和内存映射,会以非常高的速度被访问,这对于多线程、多核系统非常的有用,因为这类系统需要高速、多用途的数据传输。当然这种内部互联的想法对于MCU爱好者来说是非常普遍的。使用内部互联通信通道来分担任务是非常熟悉的,但是将它们当做内存或RAM来访问则有些新奇了。简单来说,L3层是实现从FPGA到HPS通信机制而设计的,支持不同处理器核之间的数据传输。它开放了FPGA资源执行一些HPS所要完成的任务,否则HPS会有极大的阻碍,最终从整体上提升了系统性能。

原文链接: https://www.mouser.cn/blog/intro ... to-fpga-part-4-of-6
本文地址:https://www.eechina.com/thread-525022-1-1.html     【打印本页】

本站部分文章为转载或网友发布,目的在于传递和分享信息,并不代表本网赞同其观点和对其真实性负责;文章版权归原作者及原出处所有,如涉及作品内容、版权和其它问题,我们将根据著作权人的要求,第一时间更正或删除。
您需要登录后才可以发表评论 登录 | 立即注册

厂商推荐

相关视频

关于我们  -  服务条款  -  使用指南  -  站点地图  -  友情链接  -  联系我们
电子工程网 © 版权所有   京ICP备16069177号 | 京公网安备11010502021702
快速回复 返回顶部 返回列表