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

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

3天内不再提示

一种使用IP方法的独特高效统计计数器应用设计

YCqV_FPGA_EETre 来源:未知 作者:佚名 2017-09-24 07:02 次阅读

作者: Avi Avanindra,Devardhi Mandya,Cypress

网络路由器带有用于性能监控、流量管理、网络追踪和网络安全的统计计数器。计数器用来记录数据包到达和离开的次数以及特定事件的次数,比如当网络出现坏包时。数据包的到达会使多个不同的统计计数器发生更新;但一台网络设备中的统计计数器的数量及其更新速度常常受到存储技术的限制。

管理统计计数器需要高性能的存储器才能满足多重的读—修改—写操作。本文将描述一种使用IP方法的独特统计计数器,这种计数器的一端可以连接网络处理器(NPU),另一端可以连接Xilinx公司的QDR-IV存储控制器。QDR-IV统计计数器IP是一种带有QDR-IV SRAM、为网络交流管理和其他计数器应用提供高效统计计数器的软IP。

QDR-IV SRAM概述

QDR-IV SRAM配备两个双向数据端口A和B,可以在一个时钟周期内完成两次数据写入或两次数据读取操作,或一次读写结合的操作。因此,这一特点带来了额外的灵活性,架构师可将之用于读/写并不一定平衡的应用中。每个端口在两个时钟沿均可进行数据传输(DDR(双倍数据速率)操作),工作模式为突发式,每个时钟周期的突发长度为两个字(每个字为X18或X36)。地址总线为通用型,其上升沿和下降沿能分别为端口A和端口B提供地址。部分制造商的QDR-IV SRAM还可支持嵌入式ECC(错误检查和纠正),可从根本上消除软错误,提高存储器陈列的可靠性。

QDR-IV SRAM分为两种:高性能 (HP) QDR-IV和超高性能 (XP) QDR-IV。HP设备的最大运行频率为667 MHz,而XP设备的最大运行频率为1066 MHz。QDR-IV XP能够通过将存储空间分成分成8个内存条来增加性能,用地址的3个最低有效位(LSB)表示。要求的存储方案是在同一周期内存取不同的内存条。从一个周期到另一周期,所有的内存条均可存取,系统设计师可通过规划系统架构来相应地分配记忆库地址,以充分发挥极速存储器的RTR性能。这样,开发人员可以在降低总系统成本的同时大幅提高性能。

统计计数器IP

统计计数器IP

QDR IV统计计数器是一种带有QDR-IV SRAM,并且为网络交流管理和其他计数器应用提供统计计数器的软IP。该IP采用支持系统管理存取端口的读—修改—写逻辑。该IP的一端可以连接网络处理单元(NPU),另一端可以连接 QDR-IV存储控制器。由于该统计计数器支持400Gbps及更快速率的线卡,因此性能仅受限于所使用的FPGA和QDR-IV设备。

统计计数器IP的运行

图1是使用QDR-IV和统计计数器IP的用例。典型的网络处理单元(NPU)以800M的每秒配对物更新速率发送统计(STATS)更新请求。每一项STATS请求包含在一个72位字中带有两个计数器(数据包和字节计数)的入口/出口包命令令牌。整个计数器缓存数据以1秒为间隔,更新到系统存储器中的终身计数器(通常为DRAM)。这一来自NPU的回读被称为处理器(PROCS)更新请求。PCIe接口用于传输计数器缓存数据以更新终身计数器。下图显示了STATS IP的设置和与Xilinx存储控制器、PCIe总线和NPU连接的QDR-IV存储器。

图1:带统计IP、NPU和存储器的完整基础架构

统计IP适用于HP和XP QDR-IV存储器。其运行模式通过位于IP设计顶层接口的单一参数控制。两个计数器(数据包和字节)的每个流地址为单72位字。一个144Mb QDR-IV SRAM支持四百万计数器。该设计所要求的IP接口数量与所使用的QDR-IV SRAM的数量相当。

正如模块图所示,NPU通过4x25Gbps链路将统计和处理请求推送到IP中。IP的运行频率为存储器存取频率的四分之一,并且使用四条被称为“通道”的平行数据路径以匹配存储器带宽。在存储接口HP和XP运行模式中,端口A作为读取端口,端口B作为写入端口。每项统计请求对保存在与该请求相关的独特存储位置中的计数器数据进行读—修改—写操作。

读写请求通过分阶段来延迟与QDR-IV存储器读取延迟以及存储控制器延迟的匹配。分阶段设计也作为本地缓存累积延迟过程中的服务更新请求。在HP模式中,没有统计/处理器更新地址限制通过四根通道中的任何一根。地址的发生可能是随机的,并且无需给每根通道分配特定类型的地址。但由于在XP模式中存储器的区块结构和限制与其相关,因此通道0和1被分配到保存入口流数据的奇数地址位置,通道2和3被分配到保存出口流数据的偶数地址位置。这一独特的安排可以预防可能在XP模式中发生的分块限制位置。

处理器发出的一秒钟回读请求常见于这两种运行模式。整个存储位置需要以一秒钟间隔回读,因此处理器不发出连续请求,并且以一秒钟间隔时间分布。该活动在每次通过处理器请求读取后复位存储器位置。

统计IP架构

图2中的STATS_IP架构模块图标出了三个子部件:每条通道的同地址比较管道(SACOMP)区块、请求-复用-解复用(REQ_MXDMX_CHn)区块以及每条QDR IV应用通道1个的4个A-B通道配对计数器逻辑(ABCH_CTRL_CHn)区块实例。

图2:统计IP架构

SACOMP模块图包含两个管道阶段,其中一个用于通过比较将同一时钟周期上的所有四条通道进行压缩(SACOMP_ChN-to-All),另一个用于对单一通道上的同一地址进行双向(突发2)比较(SACOMP_B2BChN)。当两条或更多条通道在指定的时间实例中为同一地址时,优先性最高的通道积累地址相同的通道上出现的数据,而所有其他优先性较低、地址相同的通道都将失效。这确保了单一统计请求覆盖所有地址相同的通道,从而预防出现任何数据一致性问题。比较和积累算法对所有可能的情况进行快速评估。此外,在单根通道上,如果有同一存储位置的双向统计更新请求,则最新请求失效,其数据通过之前发生的请求积累。这样能够确保任何同一地址位置的双向存取不会在QDR-IV存储设备定义的读取延迟中发生。

图2所示的请求-复用– 解复用(RQMXDMXChn)区块接收对应通道数的处理器更新请求和统计更新请求。由于处理器更新请求的间隔时间固定,因此RQMXDMXchN选择对应下一个时钟服务的处理器请求,并且通过“请求就绪”回压信号停止统计请求。在开始处理每个一秒更新请求后,RQMXDMXchN停止配置时钟数(默认为10)的处理器请求通道以确保不会提供连续的一秒更新请求服务。停止信号发送至NPU,确保在回压信号失效前不会产生新的请求。该机制能够在不堵塞这一设计的情况下处理统计和处理器请求。

在最终阶段,A-B通道配对计数器逻辑(ABCH_CTRLn)对每项统计请求实施实际的读—修改—写机制,同时确保对每一项处理器请求进行最新读取。该阶段包含读取-延时管道逻辑、控制复用、读写管道和QDR-IV控制器接口逻辑。读写延时管道考虑了内存和控制器延迟。来自邻近通道和同一通道控制复用的反馈机制杜绝所有数据一致性问题发生的可能性。管道中的请求流发起统计和处理器更新。控制复用(CTRL_MUX)区块区分处理器和统计请求,从而使当前数据能够作为处理器读取数据转发或者推送到控制器接口区块以便进行进一步处理。控制器接口区块将实际的读写请求转换为端口A和端口B上的控制器特定命令。

QDR-IV接口运行和应用通道映射

统计流四通道和一秒(处理器)更新四通道接口作为应用通道。QDR IV控制器采用带有为QDR IV端口A和端口B定义的专用四通道端口界面的4:1/1:4通道复用/解复用功能。QDR-IV控制器以固定顺序对通道进行复用和解复用,应用端和以4X时钟频率运行的QDR IV设备端之间的顺序为ch0、ch1、ch2和ch3。图3为所假设的QDR-IV控制器顺序和建议的QDR IV HP统计计数器解决方案和QDR IV XP统计计数器解决方案应用通道映射。

图3 QDR-IV接口4:1/1:4 复用/解复用和应用通道映射

在QDR-IV HP统计计数器中,端口A和端口B 的请求独立于地址并按照Ch0-Ch1-Ch2-Ch3顺序的排列。这是因为HP模式无区块要求,并且端口A和端口B上的请求可能包含同一位置的地址。但在QDR-IV XP统计计数器中,端口A和端口B的请求是以奇数-偶数-奇数-偶数为顺序的排列的,这样端口A和端口B在同一时钟周期中就不会出现两个属于同一区块的地址。

基于 QDR-IV SRAM的QDR IV 统计计数器IP为网络流量管理和其他计数器的应用提供了高效的统计计数方案。


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

    关注

    5

    文章

    1402

    浏览量

    148267
  • 统计计数器
    +关注

    关注

    0

    文章

    2

    浏览量

    1418

原文标题:基于 QDR-IV SRAM 实现网络流量管理统计计数器 IP设计

文章出处:【微信号:FPGA-EETrend,微信公众号:FPGA开发圈】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    如何为网络交流管理和其他计数器应用提供高效统计计数器的软IP

    管理统计计数器需要高性能的存储器才能满足多重的读—修改—写操作。本文将描述一种使用IP方法独特
    的头像 发表于 09-16 06:41 3732次阅读
    如何为网络交流管理和其他<b class='flag-5'>计数器</b>应用提供<b class='flag-5'>高效</b><b class='flag-5'>统计</b><b class='flag-5'>计数器</b>的软<b class='flag-5'>IP</b>

    求助:需要个特定物品发出的声音记录系统【某一种声音的计数器】,酬劳感谢

    各位大神,小弟有个需求,就是要记录某一种声音的发生次数,这个声音发生是频率在1秒钟左右,但是不是持续发生,是某时间发生。 就是当这个声音发生后记录,然后对接在我自己开发的系统后来里显示,可以
    发表于 12-24 11:58

    基于单片机的网站计数器

    `转自网络,如有不妥请告知基本每个网站都有计数器,通常我们使用的计数器都是软件方式的,也就是在页面嵌入统计代码而已,看得到,但是摸不
    发表于 11-06 17:22

    网站访客计数器

    网站计数,然后使用libu***的类库和单片机通讯,将数字发送过去。制作资料这里下载:上位机程序获取网站计数方法有很多,我们这里使用的是最简单的一种:  web服务
    发表于 12-09 21:12

    采用QDR-IV SRAM的网络流量管理统计计数器IP设计

    —修改—写操作。本文将描述一种使用IP方法独特统计计数器,这种
    发表于 07-17 06:55

    请问如何去实现一种管理统计计数器

    请问如何去实现一种管理统计计数器
    发表于 05-14 07:06

    怎样去设计一种基于单片机定时/计数器的时钟

    /计数器编程方法第四部分 定时/计数器仿真设计设计案例原理图动态仿真结果代码设计案例二原理图动态仿真结果代码第
    发表于 07-14 08:00

    怎样去设计一种基于60进制计数器的时钟芯片

    怎样去设计一种基于60进制计数器的时钟芯片?如何去编写基于60进制计数器的时钟芯片的程序代码?
    发表于 08-06 06:33

    怎样去设计一种数码管显示0-9999的计数器

    怎样去设计一种数码管显示0-9999的计数器?其代码程序是怎样的?
    发表于 10-08 08:00

    求分享S32G2内存映射系统计数器的地址

    我正在寻找 S32G2 中内存映射系统计数器的地址。 Armv8 参考手册(DDI 0487H.a,D7 章,尤其是 D7.1.2 节)提供了系统计数器的定义。引用其中的点: 通用计时
    发表于 05-12 06:18

    一种使用IP方法独特统计计数器

      网络路由器带有用于性能监控、流量管理、网络追踪和网络安全的统计计数器计数器用来记录数据包到达和离开的次数以及特定事件的次数,比如当网络出现坏包时。数据包的到达会使多个不同的统计
    发表于 09-18 19:52 10次下载
    <b class='flag-5'>一种</b>使用<b class='flag-5'>IP</b><b class='flag-5'>方法</b>的<b class='flag-5'>独特</b><b class='flag-5'>统计</b><b class='flag-5'>计数器</b>

    基于 QDR-IV SRAM 实现网络流量管理统计计数器 IP设计方案解析

    ;但一台网络设备中的统计计数器的数量及其更新速度常常受到存储技术的限制。 管理统计计数器需要高性能的存储器才能满足多重的读修改写操作。本文将描述一种
    发表于 11-12 10:52 0次下载
    基于 QDR-IV SRAM 实现网络流量管理<b class='flag-5'>统计</b><b class='flag-5'>计数器</b> <b class='flag-5'>IP</b>设计方案解析

    采用QDR-IV SRAM设计统计计数器IP

    网络路由器带有用于性能监控、流量管理、网络追踪和网络安全的统计计数器计数器用来记录数据包到达和离开的次数以及特定事件的次数,比如当网络出现坏包时。数据包的到达会使多个不同的统计
    的头像 发表于 09-23 14:00 3171次阅读
    采用QDR-IV SRAM设计<b class='flag-5'>统计</b><b class='flag-5'>计数器</b><b class='flag-5'>IP</b>

    电子计数器电路图_电子计数器接线方法

    本文主要介绍了电子计数器电路图及电子计数器的接线方法
    发表于 09-26 10:06 4.4w次阅读
    电子<b class='flag-5'>计数器</b>电路图_电子<b class='flag-5'>计数器</b>接线<b class='flag-5'>方法</b>

    计数器怎么用 计数器的作用有哪些

    计数器一种被广泛应用于各个领域的实用工具,在我们的日常生活中随处可见。无论是进行时间统计,协助工作任务的完成,还是用于科学研究和编程技术,在各个领域都起到了重要的作用。本文将详细介绍计数器
    的头像 发表于 02-03 10:04 1184次阅读