0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

实现重要分析与硬件加速的可编程Xilinx zynq-7000平台推荐

wFVr_Hardware_1 来源:互联网 作者:佚名 2017-11-07 14:37 次阅读

Xilinx Zynq-7000 全可编程 SoC (AP SoC) 系列集成 ARM处理器的软件可编程性与 FPGA硬件可编程性,不仅可实现重要分析与硬件加速,同时还在单个器件上高度集成 CPUDSP、ASSP 以及混合信号功能。Zynq-7000 器件配备双核ARM Cortex-A9 处理器,该处理器与基于 28nm Artix-7 或 Kintex-7 的可编程逻辑集成,可实现优异的性能功耗比和最大的设计灵活性。这种集成在一起的CPU与FPGA之间的通讯总线,通讯速度更快,信息传递结构更简单。简单来说,就是Xilinx的这款芯片既能节省成本又能提高性能,还有这种好事?还真有,下面我来举个例子。

鼎阳(SIGLENT)SDS1000X-E系列以及电商专供SDS1000X-C系列超级荧光示波器

2/4通道,最高带宽200MHz

图1 SDS1000X-E(X-C)中集成了Zynq-7000

SDS1000X-E(X-C)中采用的XC7Z020 SoC芯片,具有双核ARM Cortex-A9处理器(PS)+基于Artix-7架构的FPGA(PL),其中处理器部分支持的最高主频为866MHz,FPGA部分则包含85k逻辑单元、4.9Mb Block RAM和220个DSP Slice,并提供对常用外部存储器如DDR2/DDR3的支持,非常契合数字示波器中对数据进行采集、存储和数字信号处理的需求。同时,Zynq-7000的PS(处理器系统)和PL(可编程逻辑)部分之间通过AXI高速总线互连,可以有效解决传统数字存储示波器中CPU与FPGA间数据传输的带宽瓶颈问题,有利于降低数字示波器的死区时间,提高波形捕获率。用单片SoC芯片替代传统的CPU+FPGA的分立方案,也可以减少硬件布板面积,有利于将高性能处理系统向紧凑型的入门级示波器中集成。

数据采集与存储

图2 用Zynq-7000构架的SPO引擎

SDS1000X-E(X-C)中采用的高速模-数转换(ADC)芯片,其数据接口为LVDS差分对形式,每对LVDS的速率为1Gbps。采用的Zynq-7000芯片,其可编程IO的LVDS最高速率可达1.25 Gbps,可以保证稳定可靠地接收ADC采样到的数据。同时,FPGA接收到的高速ADC数据需要实时地写入到存储器中,以8-bit,1GSa/s的ADC为例,其输出数据的吞吐率为1GByte/s。Zynq-7000支持常用的DDR2、DDR3等低成本存储器,最高DDR3接口速率可达1066MT/s,因此,使用单片DDR3即可满足实时存储上述ADC输出数据的要求。而且,Zynq-7000支持PL共享PS的存储器,只要给PS部分预留足够的存储器带宽,剩余带宽用于存储ADC数据,无须在PL部分再外挂存储器,降低了成本。

更为重要的是,基于Zynq-7000中丰富的可编程逻辑资源(XC7Z020中为85k等效逻辑单元),SDS1000X-E(X-C)集成高灵敏度、低抖动、零温漂的数字触发系统,使得其触发更为准确;各种智能触发功能如斜率、脉宽、视频、超时、欠幅、码型等,能帮助用户更精确地隔离出感兴趣的波形;总线协议触发甚至能直接用符合条件的总线事件(如I2C总线的起始位,或UART的特定数据)作为触发条件,极大地方便调试。

图3 模拟触发系统与数字触发系统的触发抖动对比

数据交互

随着数字示波器设计复杂性的增加和处理器处理能力的提升,总线结构日益成为系统性能的瓶颈。传统的入门级数字示波器,采用低成本的嵌入式处理器作为控制和处理核心,采用低成本的FPGA实现数据采集和存储,二者之间通过并行的本地总线互连,处理器作为主设备,FPGA作为从设备;总线上同时还连接其他处理器外设,如FLASH、USB控制器等,如图4所示。

图4 传统架构的嵌入式处理器与FPGA互连

这种互连方式的最大问题是数据吞吐率低,一是因为本地总线一般是异步总线,理想的情况下一个读/写访问最少需要3个周期(1个setup周期,1个access周期和1个hold周期)。以16-bit位宽,外部总线频率100MHz的本地总线为例,其理想的最高总线访问吞吐率为66MB/s;二是因为读、写操作共用一套地址、数据总线,属于半双工操作;三是多个从设备会竞争总线,从而降低每个从设备的有效数据吞吐率。以1GSa/s采样率的数字示波器为例,其采样10M点的时间仅为10ms,但用于传输10M点的时间(以理想的66MB/s总线吞吐率为例)至少要150ms,是数据采样时间的15倍。换一种说法,即使不考虑数据处理的时间,死区时间也达到了15/16 = 93.75%。

SDS1000X-E(X-C)采用Zynq SoC架构,处理器(PS)和FPGA(PL)之间采用高速AXI总线互连,可以有效地解决二者间数据传输的带宽瓶颈问题,大大提高数据吞吐率,降低示波器的死区时间。Zynq-7000中采用的4个AXI-HP端口,每个端口支持最大64-bit位宽,最高250MHz时钟频率;同时读、写通道分开,可执行全双工操作;PS和PL之间属于点到点传输,不存在与其它设备的总线竞争。使用单个HP端口传输数据,其吞吐率都可以轻易达到双向各1GB/s的速度,4个端口总共可达到的读、写速率一共超过8GB/s,远远大于本地总线的传输速率。

图5 Zynq SoC中处理器与可编程逻辑的互连

数字信号处理

SDS1000X-E(X-C)中配备了很多实用性高、性能强大的数字信号处理功能,如支持1M点运算的FFT、增强分辨率(Eres模式,仅SDS1000X-E支持)、14M 全采样点的串行协议解码、14M 全采样点的多种测量以及数学运算等,大大提高了入门级数字示波器的数字信号处理能力。

Zynq-7000丰富的硬件资源,为SDS1000X-E(X-C)的数字信号处理功能提供了强大的支撑。SDS1000X-E(X-C)中采用的XC7Z020 SoC芯片,PS部分具有双核ARM Cortex-A9处理器,最高主频为866MHz,并行协处理器NEON可以在软件层面执行数字信号处理;PL部分具有220个DSP Slice和4.9Mb Block RAM;加上PS和PL之间数据接口极高的吞吐率,使得我们可以灵活地为不同的数字信号处理配置不同的硬件资源。

运算指令复杂、适合软件实现的功能,可以在PS侧实现,如信号上升沿的测量;需要使用大量乘累加运算,对硬件资源依赖度较高的功能,可以在PL侧实现,如示波器中常用的插值滤波。

有些复杂的功能,则可以利用PS和PL间的高数据带宽进行协同处理,例如FFT运算,在PL侧利用丰富的DSP Slice和Block RAM资源构建协处理器对基本FFT运算进行硬件加速,PS侧则实现复杂的窗函数计算、绘图、UI等操作。基于这种协同处理的架构,SDS1000X-E(X-C)上的FFT支持高达1M点的FFT,在获得极高的频谱分辨率的同时,还能大大加快频谱的刷新速度。图6显示了在SDS1000X-E(X-C)上分别进行16k点和1M点FFT的频谱分辨率对比。此例中我们给示波器输入了一个双音信号,其频率为100MHz和100.05MHz,从16k点FFT获得的频谱图中我们无法分辨如此靠近的两个正弦信号,信号被作为一个频率显示出来;而1M点FFT的频谱图有着明显更细致的频谱以及信号处理增益,从水平100倍展开的图中可以看出,两个相距50kHz的正弦型号能够被很好地区分开。

图6 1M点FFT获得极高的频谱分辨率

类似的,在SDS1000X-E(X-C)还有诸多这种PS和PL间相互协同处理而获得的高性能数字信号处理。例如,SDS1000X-E(X-C)可以对14M 全采样点进行多种测量和串行协议解码,而这是在许多中、高端示波器中都做不到的。图7中,上方两图为某主流中端示波器对10ns上升沿的测量结果,下方两图为SDS1000X-E(X-C)对相同信号的测量结果。可以看到,在小时基下,二者的测量结果都较为精确,与实际上升时间相差不大,但在大时基下,右上图显示该示波器在100us/div下只能显示"< 48ns"的测量结果,注意此时它的原始采样率仍然有1GSa/s,这说明此时它的测量对象并不是原始波形数据,而是经过压缩后映射到屏幕上的数据。右下图显示SDS1000X-E(X-C)在1ms/div的时基下的测量结果,注意此时的采样率同样为1GSa/s,但显示的测量精度仍然达到了1ns,能够较为真实地反映信号的参数。

SDS1000X-E(X-C)基于全采样点的数字信号处理以及高达14M点的存储深度,允许用户在大时基下观察信号整体的同时,仍然能获得细节上的处理结果;同时由于其基于Zynq架构的处理方式,使得信号处理的性能和速度达到最优,具备更好的实时性和灵活性。

图7 压缩点测量与全采样点测量精度对比

综上,这个例子说明了一点,就是在原本解决方案里就采用ARM+FPGA的产品里,使用zynq不仅能降低成本,还可以大幅度提高性能。这就使得在这款市场定位于入门级示波器的SDS1000X-E(X-C)上,就能够体现到一些中、高端数字示波器才具有的指标和功能

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

    关注

    1

    文章

    27

    浏览量

    15943

原文标题:浅谈Xilinx ZYNQ-7000平台的应用【文尾有福利】

文章出处:【微信号:Hardware_10W,微信公众号:硬件十万个为什么】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    简谈Xilinx Zynq-7000嵌入式系统设计与实现

    ,而用HDL语言描述硬件的具体实现的设计方法,这也是基于全可编程SoC和传统上基于SoC器件实现嵌入式系统设计的最大区别,即真正实现了软件和
    发表于 04-10 16:00

    Vivado HLS视频库加速Zynq-7000 All Programmable SoC OpenCV应用

    可编程逻辑中实现高数据速率的像素级处理任务,同时在ARM核中处理那些基于帧的低数据速率的任务。通过此次研讨会,您将获得以下信息:如何在Zynq™-7000 All Programmab
    发表于 12-30 16:09

    基于Zynq-7000创龙高速数据采集处理器

    实现重要分析硬件加速,同时还在单个器件上高度集成 CPU、DSP、ASSP 以及混合信号功能。Zynq-7000 系列包括单核
    发表于 06-07 15:36

    Zynq-7000 SoC提供 FPGA 资源

    Cortex-A9 处理器,但该器件上的 FPGA 数量存在差别,如表 1 所示:[td]Xilinx Zynq SoC可编程逻辑单元块 RAM 的容量大小 (Mb)DSP 切片
    发表于 08-31 14:43

    赛灵思Zynq-7000可扩展处理平台编程流程更简单

    赛灵思Zynq-7000可扩展处理平台(EPP)将双ARM Cortex-A9 MPCore处理器系统与可编程逻辑和硬IP外设紧密集成在一起,提供了灵活性、可配置性和性能的完美组合。围绕其刚刚推出
    发表于 05-16 10:44

    如何实现Xilinx Zynq-7000嵌入式系统设计?

    如何实现Xilinx Zynq-7000嵌入式系统设计?
    发表于 12-23 08:53

    Xilinx Zynq-7000特性参数

    CPUCPU为Xilinx Zynq-7000SOC,兼容XC7Z035/XC7Z045/XC7Z100,平台升级能力强,以下为Xilinx Zyn
    发表于 12-30 07:55

    Xilinx首款可扩展式处理平台:Zynq-7000

    Zynq-7000系列是Xilinx推出的首款可扩展式处理平台(EPP)。该新型产品将业界标准ARM双核Cortex-A9 MPCore处理系统与Xilinx一体化28nm
    发表于 01-26 19:02 1686次阅读
     <b class='flag-5'>Xilinx</b>首款可扩展式处理<b class='flag-5'>平台</b>:<b class='flag-5'>Zynq-7000</b>

    Zynq-7000系列特征概述

    相比较经典的FPGA,Zynq-7000系列最大的特点是将处理系统PS和可编程资源PL分离开来,固化了PS系统的存在,实现了真正意义上的SOC(System On Chip)。 1.
    发表于 11-18 05:11 1.9w次阅读
    <b class='flag-5'>Zynq-7000</b>系列特征概述

    Zynq-7000可编程SoC的性能和功能

    Zynq-7000可编程SoC提供无与伦比的性能和功能
    的头像 发表于 01-21 07:32 3256次阅读

    使用Zynq-7000 All Programmable SoC实现DSP功能的软件加速

    该演示展示了Zynq-7000 All Programmable SoC及其使用NEON引擎或硬件加速加速软件的能力。 查看Zynq-7000 SoC的灵活性,以
    的头像 发表于 11-26 06:56 4853次阅读

    Zynq-7000所有可编程SOC模块的详细资料介绍

    本文档的主要内容详细介绍的是Zynq-7000所有可编程SOC模块的详细资料介绍。
    发表于 02-13 17:16 0次下载
    <b class='flag-5'>Zynq-7000</b>所有<b class='flag-5'>可编程</b>SOC模块的详细资料介绍

    Xilinx Zynq-7000的汽车可编程SOC芯片的详细资料说明

    Xilinx Automotive Grade(XA)Zynq?-7000所有可编程SOC理想地解决了增长最快的汽车应用之一:高级驾驶员辅助系统(ADAS)的技术和业务挑战。汽车级设备
    发表于 02-15 11:52 9次下载
    <b class='flag-5'>Xilinx</b> <b class='flag-5'>Zynq-7000</b>的汽车<b class='flag-5'>可编程</b>SOC芯片的详细资料说明

    Zynq-7000可编程SOC系列产品选择指南免费下载

    本文档的主要内容详细介绍的是Zynq-7000可编程SOC系列产品选择指南免费下载。
    发表于 02-15 11:52 9次下载
    <b class='flag-5'>Zynq-7000</b>全<b class='flag-5'>可编程</b>SOC系列产品选择指南免费下载

    Zynq-7000 SOC的产品简介资料免费下载

    ®Cortex™-A9处理器与业界领先的每瓦28nm可编程逻辑性能相集成,实现了超过离散处理器和FPGA系统的功率和性能水平。Zynq-7000系列提供了Dualcore(Zynq-7000
    发表于 02-15 11:52 20次下载
    <b class='flag-5'>Zynq-7000</b> SOC的产品简介资料免费下载