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

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

3天内不再提示

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

h1654155966.4254 来源:未知 作者:佚名 2017-09-16 06:41 次阅读

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

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

QDR-IV SRAM概述

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

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

统计计数器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:带统计IPNPU和存储器的完整基础架构

统计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控制器采用带有为QDRIV端口A和端口B定义的专用四通道端口界面的4:1/1:4通道复用/解复用功能。QDR-IV控制器以固定顺序对通道进行复用和解复用,应用端和以4X时钟频率运行的QDRIV设备端之间的顺序为ch0ch1ch2ch3。图3为所假设的QDR-IV控制器顺序和建议的QDRIV HP统计计数器解决方案和QDRIV XP统计计数器解决方案应用通道映射。

图3:

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

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


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

    关注

    0

    文章

    2

    浏览量

    1031
  • ip计数器
    +关注

    关注

    0

    文章

    1

    浏览量

    1356

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

文章出处:【微信号:CypressChina,微信公众号:Cypress教程】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

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

    网络路由器带有用于性能监控、流量管理网络追踪和网络安全的统计计数器
    的头像 发表于 09-24 07:02 5357次阅读
    一种使用<b class='flag-5'>IP</b>方法的独特<b class='flag-5'>高效</b><b class='flag-5'>统计</b><b class='flag-5'>计数器</b>应用设计

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

    —修改—写操作。本文将描述一种使用IP方法的独特统计计数器,这种计数器的一端可以连接网络处理
    发表于 07-17 06:55

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

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

    计数器是什么?如何使用计数器

    计数器是什么?如何使用计数器计数器有哪些应用呢?
    发表于 02-28 11:08

    计数器的级连使用

    计数器的级连使用 一个十进制计数器只能显示0~9十个数,为了扩大计数器范围,常用多个十进制计数器级连使用。
    发表于 11-22 12:53 3384次阅读
    <b class='flag-5'>计数器</b>的级连使用

    计数器

    计数器 计数器的作用与分类   计数器(Counter)用于计算输入脉冲个数,还常用于分频、定时等。
    发表于 09-30 18:30 1419次阅读
    <b class='flag-5'>计数器</b>

    环形计数器和扭环形计数器

    环形计数器和扭环形计数器 移位寄存器也可以构成计数器,称为移位型计数器。它有两种结构:环形计数器和扭环形
    发表于 01-12 14:07 9202次阅读

    计数器,计数器的工作原理是什么?

    计数器,计数器的工作原理是什么? 在数字系统中使用最多的时序电路是计数器计数器不仅能用于对时钟脉冲进行计数还可以用于分频、定时,产生
    发表于 03-08 13:50 6w次阅读

    集成计数器实现N进制计数

    集成计数器实现N进制计数集成计数器实现N进制计数集成计数器实现N进制计数
    发表于 06-08 14:28 0次下载

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

      网络路由器带有用于性能监控、流量管理网络追踪和网络安全的统计计数器
    发表于 09-18 19:52 10次下载
    一种使用<b class='flag-5'>IP</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'>统计</b><b class='flag-5'>计数器</b> <b class='flag-5'>IP</b>设计方案解析

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

    网络路由器带有用于性能监控、流量管理网络追踪和网络安全的统计计数器
    的头像 发表于 09-23 14:00 3120次阅读
    采用QDR-IV SRAM设计<b class='flag-5'>统计</b><b class='flag-5'>计数器</b><b class='flag-5'>IP</b>

    MOD计数器和时序图

    计数器的工作是通过每个时钟脉冲将计数器的内容提前一个计数计数。当被时钟输入激活时推进其数字或状态序列的计数器被称为以“递增
    的头像 发表于 06-23 07:47 1.3w次阅读
    MOD<b class='flag-5'>计数器</b>和时序图

    同步计数器和异步计数器是什么 同步计数器和异步计数器的主要区别?

    在数字电子产品中,计数器是由一系列触发器组成的时序逻辑电路。顾名思义,计数器用于计算输入在负或正边沿转换中出现的次数。根据触发触发器的方式,计数器可以分为两类:同步计数器和异步
    的头像 发表于 03-25 17:31 1.9w次阅读
    同步<b class='flag-5'>计数器</b>和异步<b class='flag-5'>计数器</b>是什么 同步<b class='flag-5'>计数器</b>和异步<b class='flag-5'>计数器</b>的主要区别?

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

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