赛灵思应用简介

描述

XAPP1206:利用NEON提高ZYNQ-7000 AP SOC上的软件性能

一般来说,CPU需要一个接一个地执行指令和进程数据。设计人员通常使用高时钟频率来实现高性能,但是半导体技术在此项技术上存在极限。并行计算是下一个提高CPU数据处理能力的典型策略。单指令多数据(SIMD)技术使得在一个或几个CPU周期内处理多个数据成为可能。NEON是赛灵思Zynq-7000 All Programmable SoC所采用的双核ARM Cortex-A9处理器中的高级SIMD引擎。NEON专门用来对大数据集进行并行数据计算,有效利用该技术可以提高设计的软件性能。

在本应用指南中,作者Haoliang Qin介绍了四种利用Cortex-A9处理器内核上的NEON 提高软件性能和缓存效率的方法,这四种方法分别是:优化汇编码、使用NEON intrinsics、使用针对NEON优化的函数库以及使用针对编译器优化的自动向量化。此外,他还详细介绍了改善CPU、缓存和主存储器之间数据交换的方法。

软件优化是一个复杂的话题。Qin表示,要实现最佳硬件性能,必须同时使用所有这些技术,并在它们之间取得最佳平衡。

高性能

XAPP1208:逻辑中的BITSLIP

赛灵思UltraScale器件中的I/O逻辑是指位于I/O缓冲器和通用互联之间的专用I/O处理组件。相对此前器件系列而言,UltraScale器件中的I/O逻辑设置可提供更快速的I/O处理、更低的抖动以及更多的功能。但是,它省略了7系列和Virtex-6 FPGAI/O逻辑中的一些可用功能,如Bitslip。

由Marc Defossez撰写的本应用指南介绍了在通用互联中实现的可用在UltraScale器件及此前器件架构中的Bitslip解决方案。本参考设计实现了Bitslip功能,并通过若干附加选项扩展了基本功能。

Bitslip参考设计执行的功能与7 系列和Virtex-6 FPGA的ISERDES中嵌入的固有Bitslip功能相同,但是,该参考设计提供的一些额外选项是基于7 系列和Virtex-6 FPGA器件的解决方案中所没有的,因而超越了后者。当这个设计中的功能需要用在7系列或Virtex-6 FPGA设计中时,必须使用通用互联。因此,Bitslip参考设计可满足先前器件系列中Bitslip的要求和目标。

XAPP1203:在ZYNQ-7000 AP SOC上实现信号处理IP,以对XADC采样进行后处理

本应用指南是白皮书《在赛灵思All Programmable器件中有效实现模拟信号处理功能》(WP442)的后续配套文章,给出了简单易用的设计流程,以便利用赛灵思All Programmable抽象在赛灵思FPGA和All Programmable SoC中实现模拟信号处理功能。作者Mrinal J. Sarmah和Cathal Murphy在书中详细描述了如何利用白皮书中介绍的概念在Zynq-7000 All Programmable SoC上轻松构建信号处理IP核与完整的混合信号系统。

本应用指南演示了如何对来自模数转换器的采样进行后处理,以便以低成本方式滤除环境噪声。所用的设计模块是基于DSP模块(支持标准AXI接口)的轻量级解决方案。读者可在他们自己的设计中重用这些IP核,并作为XADC采样的后处理方法。基于Vivado IP Integrator的设计流程可在基于原理图的环境下简化重用过程,使设计人员在该环境下不必处理底层RTL。

XAPP1205:利用ZYNQ-7000 ALL PROGRAMMABLE SOC和IP INTEGRATOR设计高性能视频系统

对于赛灵思Zynq-7000 All Programmable SoC这样的高端处理平台,客户希望充分利用器件中的处理系统(PS)和可用的定制外设。针对该理念的实例为一种具有多条视频流水线的系统,其中,在处理器访问存储器的同时,可将现场视频流写入存储器(输入),将存储器的内容送到现场视频流(输出)。由James Lucero和Bob Slous撰写的本应用指南涵盖相应设计原则,以便从Zynq SoC存储器接口、可编程逻辑(PL)中实现的AXI主接口以及ARM Cortex-A9处理器中获得高性能。.

对于视频流,最差情况时延要确保不丢失或破坏数据帧。为了在PL中提供具有更低时延的高速AXI主接口,并直接访问Zynq-7000 SoC存储器接口,需要连接到高性能(HP)接口。Zynq SoC包含四个HP接口,均为针对高吞吐量而设计的64位或32位AXI3从接口。

该设计使用四个AXI视频直接存储器访问(VDMA)内核同步移动8个视频流(4个发送视频流和4个接收视频流),所有视频流均为1920 x 1080p格式,60Hz刷新率,每像素多达24个数据位。每个AXI视频DMA内核均采用视频定时控制器(VTC)内核建立必要的视频定时信号,内核由视频测试模式发生器(TPG)驱动。每个AXI视频DMA内核读取的数据被送到一个共用的视频屏幕显示(OSD)内核,该内核可将多个视频流多路复用或重叠为单个输出视频流。板载HDMI视频显示接口由视频屏幕显示内核的输出和附加的IP核驱动。

该设计采用AXI性能监视器内核捕捉性能数据。所有4个AXI视频DMA内核都通过AXI互联连接到4个独立的HP接口,并受Cortex-A9处理器的控制。该系统使用70%的存储器控制器带宽。该参考设计适用于Zynq SoC ZC702评估板。

XAPP1091:在KINTEX-7 FPGA中实现实时视频引擎2.0

在广播视频领域,不同格式的视频内容流经过采集、处理、分配和使用等不同操作。为了正确存档、分配和显示内容,视频信号经常需要通过适当的格式转换进行正确处理。例如,为了在全高清(FHD)LCD屏幕上正确显示NTSC/PAL信号,必须执行一系列去隔行、缩放、色度上采样、颜色校正以及α混合操作。

本应用指南利用最新的赛灵思Kintex-7 FPGA架构提供真正可扩展的视频处理器参考设计,以满足多数据流/多流水线视频处理需求。作者Bob Feng和Kavoos Hedayati针对的是多画面监控器显示器、视频开关和多通道视频路由器以及多数据流上变频器和下变频器等应用。

XAPP1095:在赛灵思ZYNQ-7000 ALL PROGRAMMABLE SOC中实现实时视频引擎2.1

另一个以视频为导向的应用指南利用最新的Zynq-7000 All Programmable SoC架构提供真正可扩展的视频处理器参考设计,以满足多数据流/多流水线视频处理需求。此外,它还提供用以创建差异化内容的图形渲染功能。该设计针对的是多画面监控器显示器、视频开关和多通道视频路由器以及多数据流上变频器和下变频器等应用。

作者Bob Feng表示,他们的目标是提供针对多种视频应用的高度可论证的广播质量视频处理参考设计。实时视频引擎参考设计2.1版本(RTVE 2.1)可提供一种在Linux v3.3下使用API的图形渲染平台,具有Qt图形环境并可执行可扩展的视频处理功能。

TIPS:文中文档下载方式,请登录China.xilinx.com,在搜索栏直接以文件编号为关键词进行搜索,比如“XAPP1095”。

---> END <---

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分