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

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

3天内不再提示

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

电子设计 作者:电子设计 2018-09-23 14:00 次阅读

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

管理统计计数器需要高性能的存储器才能满足多重的读—修改—写操作。本文将描述一种使用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

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存储器。

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

图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)区块实例。

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

图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为网络流量管理和其他计数器的应用提供了高效的统计计数方案。

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

    关注

    68

    文章

    19286

    浏览量

    229854
  • 计数器
    +关注

    关注

    32

    文章

    2256

    浏览量

    94576
  • 路由器
    +关注

    关注

    22

    文章

    3732

    浏览量

    113789
收藏 人收藏

    评论

    相关推荐

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

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

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

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

    用于DDR、QDRQDR-IV SRAM的完整高性能稳压解决方案

    DN551 - 用于 DDR、QDRQDR-IV SRAM 的超薄型三路输出 μModule 稳压可安放在 0.5cm2 面积内和 PCB 的背面
    发表于 05-06 08:40

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

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

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

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

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

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

    QDR SRAM与Spartan3 FPGA的接口设计

    以CY7C1302为例来详细介绍QDR的工作原理及其与Spartan3系列FPGA的接口设计。CY7C1302是赛普拉斯公司生产的一种QDR SRAM
    发表于 06-01 09:57 5350次阅读
    <b class='flag-5'>QDR</b> <b class='flag-5'>SRAM</b>与Spartan3 FPGA的接口设计

    用于DDR、QDRQDR-IV SRAM的超薄型三路输出µmodule稳压

    数据速率下的一项主要挑战是保持在 SRAM 与高速 FPGA 和处理等器件之间传输数据的完整性。 一种良好的解决方案是把 SRAM (例如:QDR-IV
    发表于 05-08 15:56 7次下载
    用于DDR、<b class='flag-5'>QDR</b>和<b class='flag-5'>QDR-IV</b> <b class='flag-5'>SRAM</b>的超薄型三路输出µmodule稳压<b class='flag-5'>器</b>

    一种使用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次下载
    基于 <b class='flag-5'>QDR-IV</b> <b class='flag-5'>SRAM</b> 实现网络流量管理<b class='flag-5'>统计</b><b class='flag-5'>计数器</b> <b class='flag-5'>IP</b>设计方案解析

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

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

    如何使用 QDR(TM) II SRAM 和 DDR II SRAM 用户手册

    如何使用 QDR(TM) II SRAM 和 DDR II SRAM 用户手册
    发表于 04-27 20:25 6次下载
    如何使用 <b class='flag-5'>QDR</b>(TM) II <b class='flag-5'>SRAM</b> 和 DDR II <b class='flag-5'>SRAM</b> 用户手册

    同步计数器和异步计数器各有什么特点

    同步计数器和异步计数器是两种常见的数据结构,它们都用于控制对共享资源的访问。它们的主要作用是实现多个线程之间的同步和并发控制。尽管它们都被用于同步的目的,但它们有很多不同的特点和用例。 同步计数器
    的头像 发表于 12-15 10:49 2019次阅读

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

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

    同步计数器和异步计数器的区别

    在数字电子领域中,计数器是一种用于统计脉冲信号数量的重要设备。其中,同步计数器和异步计数器是两种不同类型的计数器,它们在工作原理、特性以及应
    的头像 发表于 05-24 14:36 4311次阅读