首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

利用FPGA加速分布式计算(3)

利用FPGA加速分布式计算(3)

配备图像处理 PRM 的 SOC 客户端
我们使用在 PRM 中实现的 Sobel/ 中值过滤器验证 SoC 客户端的运算能力及其 TCP/IP 服务器通信功能(图7)。我们使用赛灵思系统生成器(System Generator)开发图像处理邻域运算。赛灵思系统生成器让我们享有 Simulink® 仿真和自动 RTL 代码生成的便利。解串器将输入的像素流转换成 3x3 像素阵列,然后依次排列成一个覆盖整个图像的掩膜,为滤波器的并行乘积加总提供输入,或为后续的中值过滤器比较提供输入。[7] 过滤器的输入和输出像素向量的宽度为 4 位,故我们插入一个 PRM 封装器,以多路复用同步 FIFO 提供的 32 位输入向量的 8个四位元。使用MATLAB® 脚本,我们将 800 x 600 PNG 图像转换为四位灰度像素,用作 PRM 的输入激励。在过滤器的输出端,8 个四位寄存器顺序写入和级联,将字传输给 OUTFIFO(图 4)。

表 3 是 SoC 客户端三个运算步骤(接收 PRM 比特文件、重配置PRR、图像处理序列)的时序测量结果。我们用数字示波器在XGpio_WriteReg() 调用触发的 GPIO 输出处测量第一次到最后一次数据传输周期,采集接收与图像处理周期。

重配置时间间隔都是一样的,因为没有 Xilkernel 调度事件干扰基于软件的 HWICAP 操作。受 FSM 控制的HWICAP 操作在没有 MicroBlaze 互动的情况下,可以超过 112 KBps 的重配置速度实现更短的用时,甚至在启用中断的情况下也不例外。
在从代理向 SoC 客户端发送PRM 的过程中,连接很快中断。因为每传输 100 个字节仅 1 毫秒的延迟,SoC 客户端的通信非常畅通。由于与图像处理周期同步,正常的 Xilkernel线程导致 PLB 访问竞争,因此 SoC客户端在典型状态下运行。二值化序列的用时为 600 x 800/100MHz=4.8毫秒,因为只需要进行一次比较。这个序列嵌套在两次经 PLB 的图像传输中,根据功能性总线仿真的结果,每个字至少需要使用五个时钟周期,故:2 x 5 x 600 x 800/(8 x100MHz)=6 毫秒。由于所有测量的数据传输值都大于我们先前的预估值,我们需要对由总线读取、FIFO 写入和清空、图像处理流水线和总线写入组成的完整时序链条的构成进行详细分析。
继承事业,薪火相传
返回列表