首页 > 其他分享 >001-什么是VOQ

001-什么是VOQ

时间:2024-09-25 18:44:52浏览次数:10  
标签:tx 什么 mac fifo 001 VOQ 数据 desc

1、什么是VOQ(Virtual Output Queues)?

VOQ(虚拟输出序列)是一种存储结构,由FIFO与RAM以及逻辑结构组合构成。在一些数据应用场景中能够有效存储数据并且能够及时输出,避免阻塞。一句话来说VOQ的优点在于:共享存储,较少存储资源,避免数据阻塞,提高数据输出效率。

2、为什么FIFO会有数据阻塞,而VOQ不会有数据阻塞?

生活举例如下:在一条可以右转和直行的道路上,如果前面的直行车在等红路灯,虽然右转线已空闲,但是由于直行车的阻塞后面的右转车辆就只能等待。FIFO也会出现这种情况。

应用场景如下:4路数据共用一个数据输入端口,由于FIFO是先入先出,而第0路数据由于下游模块没有处理数据暂时停止读取,此时会导致后面的第1路、2路、3路数据无法读取,造成排头阻塞。

克服这种局限性的一种方法是使用虚拟输出队列(Virtual Output Queues)。

虚拟输出队列(Virtual Output Queues)总体的想法十分朴素:在输入端口将发送到不同端口的数据包虚拟成不同的队列,并且彼此互不影响,这样一来即使队头数据包被阻塞也将不会影响发送到其他端口的数据包的发送

3、VOQ的是如何实现的?

下文以MAC中的VOQ实现为例,讲解VOQ的实现方案

3.1 VOQ的结构

模块中只有一个数据输入,输出端口,但是有4路数据,由mac_tx_client_in[1:0]区分。

如果采用传统FIFO(先入先出)结构,假设0用户先输入,那么在一段时间内0用户数据没有读出(原因可能为:0用户下游处理模块处理不过来,起反压,一段时间内不能再发数据),就会阻塞后输入的1用户、2用户、3用户数据,导致其他用户数据无法读出。而采用VOQ结构,0用户数据暂停读取并不会影响其他用户数据读取。

 

MAC VOQ包含三部分,数据存储模块DATA_RAM、指针存储模块PTR_fifo、每个client专用的指针存储desc_fifo。为方便说明,假设MAC的client数据为4个,分别为0、1、2、3(即mac中的数据有4路),VOQ输入数据:mac_tx_data_in[1023:0],mac_tx_vld_in,mac_tx_client_in[1:0],来自下游的输入请求voq_read_req,voq_read_client。

3.2 VOQ的内部结构图

VOQ结构如图所示:

假设存储深度为256:4个client号,需要4个desc_fifo(256x8)

 一个数据存储RAM(256x1024),一个指针ptr_fifo(256x8)。数据data_RAM存储的是数据流mac_tx_data_in的数据,指针ptr_fifo存储的是DATA_RAM中未写入数据的地址,desc_fifo存储的是每个client数据在DATA_RAM中的地址。

NOTE:在模块使用之前,即复位释放后,指针ptr_fifo会自动进行初始化操作,将fifo写满,数据为0~255,表示data_ram中的0~255地址都是未写入的。

 

 

 

mac_tx_data_in[1023:0]

input

输入数据

mac_tx_vld_in

input

输入数据有效信号,作为ptr_fifo读使能、data_ram写使能、desc_fifo写使能

mac_tx_client_in[1:0]

input

用户标志号0~3,表示数据是哪路数据,作为选择器控制信号用于区分desc_fifo,

Voq_read_req

input

来自下游的读请求信号,作为desc_fifo的读使能,ptr_ram的写使能,以及data_ram的读使能

Voq_read_client

input

来自下游的读请求信号client

mac_tx_data_out[1023:0]

output

VOQ模块输出数据

mac_tx_client_out[1:0]

output

输出数据client

mac_tx_vld_out

output

输出数据有效信号

3.3 VOQ数据写入流程:

1、输入数据有效信号mac_tx_vld_in作为ptr_fifo读使能信号ren驱动源,读出ptr_fifo数据ptr_rdata

2、将ptr_rdata作为data_ram的写地址waddr,将mac_tx_data_in[1023:0]写入data_ram。

3、根据mactx_client将DATA_RAM写地址waddr(即ptr_rdata)写入相应的desc_fifo。

3.4 VOQ数据输出流程:

1、Voq_read_req为1有效,读取相应的desc_fifo数据desc_rdata。(根据voq_read_client选择desc_fifo。若为0则选择读desc_fifo_0)

2、将desc_rdata作为DATA_RAM的读地址,读取DATA_RAM中的数据作为mactx_tx_data_out。(voq_read_client打拍后赋值给mac_tx_client_out,打拍延时由desc_fifo读延时和RAM_DATA读延时确定)

3、将desc_rdata作为写数据写入ptr_fifo中,表示DATA_RAM中的此地址为空。

NOTE:

Voq_read_req作为desc_fifo的读使能,ptr_ram的写使能,以及data_ram的读使能

mac_tx_vld_in作为ptr_fifo读使能、data_ram写使能、desc_fifo写使能

标签:tx,什么,mac,fifo,001,VOQ,数据,desc
From: https://www.cnblogs.com/xuzhi-fpga/p/18431977

相关文章

  • 为什么iTunes提示找不到msvcr100.dll?彻底解决iTunes找不到msvcr100.dll的五种方法
    iTunes提示找不到msvcr100.dll的原因通常是由于电脑系统中缺失了这个必要的动态链接库文件(DLL)。msvcr100.dll是MicrosoftVisualC++2010RedistributablePackage的一部分,许多软件(包括iTunes)都依赖于它来运行。当这个文件丢失或损坏时,iTunes等程序就无法正常启动。以下是彻......
  • 心理学家彭凯平:情绪价值到底是什么?
    心理学家彭凯平:情绪价值到底是什么?分析解读发布时间:2024-09-20 51赞 2评论 1964阅读作者:彭凯平来源:微信公众号:大渔大师课(ID:dayuclassx) 不知何时起,“情绪价值”这个词火了。从恋爱到职场再到商业,人们似乎越来越离不开它,情绪价值是什么意思呢?简而言之,情绪价值是给......
  • 选错屏幕类型,护眼可能成空谈——类纸护眼屏与墨水屏有什么区别?
    类纸护眼屏与墨水屏是两种不同的显示技术,它们在显示原理、视觉体验和应用场景上有所区别。以下是对这两种技术的对比分析:特性类纸护眼屏墨水屏(电子墨水屏)显示原理通常采用液晶显示技术,通过特殊的AG防眩光、圆偏光等技术处理,模拟纸张的显示效果利用电场作用下电子墨水粒子的运......
  • <script>中的&为什么需要转义?
    在HTML和JavaScript中,特殊字符如&需要转义主要是因为它们在HTML实体中有特殊的含义。具体来说,&字符在HTML中用于表示实体开始的标记,例如<代表小于号<,>代表大于号>等。因此,如果在HTML文档或JavaScript代码中直接使用&字符,可能会导致HTML解析错误或产生意外的结果。为了避免这种......
  • 什么是 Service Mesh
    ServiceMesh作为下一代微服务技术的代名词,初出茅庐却深得人心一鸣惊人,大有一统微服务时代的趋势。那么到底什么是ServiceMesh?一言以蔽之:ServiceMesh是微服务时代的TCP/IP协议。有了这样一个感性的初步认知,我们再来看到底什么是ServiceMesh。提到ServiceMesh,就不得不提微......
  • 什么是openAPI?
    什么是openAPI?OpenAPI是一个规范(Specification)和一套工具集,用于描述和定义RESTful风格的Web服务接口。它的核心目标是使API的开发、使用、维护和文档化变得更加容易和高效。OpenAPI规范(OpenAPISpecification,OAS)以前也被称为Swagger规范,它提供了一种标准化的方式,让开发者以YAML......
  • Android Auto认证是什么?
    AndroidAuto认证是谷歌官方提供的一种认证机制,旨在确保车辆信息娱乐系统与AndroidAuto应用程序接口(API)的兼容性,从而实现与Android设备的无缝连接和通信,为用户提供稳定、安全、高性能的使用体验。AndroidAuto认证目的是确保这些应用程序和系统能够与AndroidAuto平台无缝集成,提供......
  • 深入了解ISO 10012测量管理体系认证
    在当今快速发展的市场环境中,企业面临着越来越高的质量管理和测量要求。ISO10012测量管理体系认证应运而生,旨在帮助企业建立一套系统的测量管理流程,确保其测量过程和测量设备的准确性与可靠性。这一认证不仅对企业的内部管理有着深远影响,也为其在市场竞争中提供了有力支持。ISO100......
  • 什么是自助服务门户?
    自助服务门户其实就是一个线上平台,用户可以用它来提交IT问题、查找和请求IT服务,或者阅读一些知识文章,自己动手解决问题。一个设计得好的自助服务门户可以让用户自己处理问题,而不需要找技术人员帮忙,这大大提升了IT服务台团队的效率。不仅减轻了他们的工作压力,还能让他们有更多......
  • 【软考机考问答】—为什么有的专业报名找不到
    软考高级、中级以及初级科目中不同专业每年安排的考试次数不一样。例如以下8个专业高级:“信息系统项目管理师”中级:“软件评测师”“电子商务设计师”“嵌入式系统设计师”“数据库系统工程师”“信息系统管理工程师”初级:“程序员”“信息处理技术员”2024年只在上半年3-4月进行报......