CN111143257A - Ddr仲裁控制器、视频缓存装置及视频处理系统 - Google Patents
Ddr仲裁控制器、视频缓存装置及视频处理系统 Download PDFInfo
- Publication number
- CN111143257A CN111143257A CN201911211092.7A CN201911211092A CN111143257A CN 111143257 A CN111143257 A CN 111143257A CN 201911211092 A CN201911211092 A CN 201911211092A CN 111143257 A CN111143257 A CN 111143257A
- Authority
- CN
- China
- Prior art keywords
- arbitration
- template
- read
- node
- ddr
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1605—Handling requests for interconnection or transfer for access to memory bus based on arbitration
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Bus Control (AREA)
Abstract
本发明涉及一种DDR仲裁控制器、视频缓存装置及视频处理系统,DDR仲裁控制器包括仲裁器以及若干个用户通道;用户通道提供读写请求;仲裁器,为若干模板仲裁节点组成的树状结构;模板仲裁节点采用轮询机制;至少有一个叶节点到根节点的深度小于其他叶节点到根节点的深度;根据每个端口对应的叶节点到根节点的路径上的模板仲裁节点的输入端数量,确定该端口接收到的读写请求访问DDR存储器的时间片段。利用模板仲裁节点构建树状结构,不同叶节点可以配置不同的权重,以让高带宽需求的用户通道得到及时响应;应对不同场景时,可以复用模板仲裁节点的电路结构和代码,降低了开发难度和时间。
Description
技术领域
本发明涉及存储器控制领域,特别是涉及一种DDR仲裁控制器、视频缓存装置及视频处理系统。
背景技术
随着视频图像技术的不断发展,视频的分辨率、帧频也越来越高,对视频处理系统的传输带宽和处理性能提出了很高的要求。目前,视频的缓存,是视频处理系统中不可或缺的组成部分。现在比较经常使用的缓存部件,主要是DDRSDRAM(双倍速率同步动态随机存储器,简称DDR存储器)。
而视频处理系统还经常涉及同时对多路视频进行采集、播放等处理操作,由此就需要同时对多路视频进行缓存处理。由于DDR存储器的传输带宽有限,当有多路视频需要缓存时,就需要控制多个用户对DDR存储器的使用权分配。一般采用一个仲裁器(arbiter),来分配各个用户对DDR存储器的使用时间,以实现多路视频同时且互不干扰的读写DDR存储器,完成视频的缓存处理。
目前,很多的视频处理系统是基于FPGA进行开发设计的。不同场景下,视频用户的通路数量各不相同,由此导致需要不同结构的仲裁器,需要对每种场景下的仲裁器进行单独的电路与代码设计,导致开发周期较长。并且,由于使用单一节点的仲裁器,每次都需要重新设计仲裁器的结构,代码的改动非常大,代码复用率较低。
同时,为了缓解DDR存储器的高速传输速度与外部端口传输速度之间的差异,在FPGA上,还经常使用片上RAM,在外部端口与DDR存储器之间进行缓冲。现有的仲裁器,经常采用轮询机制。这就可能导致,对一些带宽要求较高的视频通路响应不及时,造成对应的片上RAM溢出或者一直为空,从而出现视频数据中断或者丢失的问题。而为了解决这个问题,现有的做法是增加片上RAM的使用量,以缓冲更多的数据。但这就会导致成本的上升。
发明内容
基于此,有必要针对现有DDR存储器的仲裁器,对高带宽需求响应不及时的问题,提供一种DDR仲裁控制器、视频缓存装置及视频处理系统。
本申请一实施例提供了一种DDR仲裁控制器,用于多通道用户读写DDR存储器的调度管理,包括仲裁器以及若干个用户通道;
每个所述用户通道均与所述仲裁器连接,所述用户通道用于提供读写DDR存储器的读写请求;
所述仲裁器接收所有所述用户通道提供的读写请求,仲裁确定每个读写请求访问DDR存储器的时间片段;
所述仲裁器,包括若干模板仲裁节点,多个所述模板仲裁节点组成树状结构;所述仲裁器具有若干端口和根节点,每个所述端口连接一个所述用户通道,所述根节点用于输出仲裁结果;所述模板仲裁节点采用轮询机制,具有多个输入端和一个输出端,父节点的模板仲裁节点的输入端连接子节点的模板仲裁节点的输出端;所述模板仲裁节点的未连接有其他模板仲裁节点的输入端为叶节点,每个所述叶节点构成所述仲裁器的一个端口;至少有一个所述叶节点到所述根节点的深度小于其他叶节点到所述根节点的深度;
根据每个端口对应的叶节点到所述根节点的路径上的模板仲裁节点的输入端数量,确定所述端口接收到的读写请求访问DDR存储器的时间片段。
在一些实施例中,所述模板仲裁节点包括多种类型的子模板仲裁节点,不同类型的子模板仲裁节点具有不同数量的输入端。
在一些实施例中,所述模板仲裁节点包括第一模板仲裁节点和第二模板仲裁节点,所述第一模板仲裁节点具有4个输入端,所述第二模板仲裁节点具有2个输入端。
在一些实施例中,所述模板仲裁节点之间采用AXI总线连接。
在一些实施例中,所述用户通道提供的读写请求为突发请求,所述突发请求的突发长度设置为预设固定值。
在一些实施例中,所述用户通道包括缓冲单元和读/写控制逻辑单元,所述缓冲单元用于缓冲数据,所述读/写控制逻辑单元用于根据所述缓冲单元缓冲的数据情况,产生访问DDR存储器的读写请求。
在一些实施例中,所述缓冲单元包括写入FIFO和读出FIFO,所述读/写控制逻辑单元包括写控制逻辑单元和读控制逻辑单元;
所述写控制逻辑单元与所述写入FIFO连接,当所述写入FIFO中的数据量增加预设写入水位线时,所述写控制逻辑单元产生写数据请求,请求向DDR存储器中写入数据;
所述读控制逻辑单元与所述读出FIFO连接,当所述读出FIFO中的数据量降低预设读出水位线时,所述读控制逻辑单元产生读数据请求,请求从DDR存储器中读出数据。
在一些实施例中,所述读控制逻辑单元与所述写控制逻辑单元连接,用于获取写入数据在DDR存储器中的地址。
本申请一实施例还提供了一种视频缓存装置,用于多通道视频数据的缓存,包括DDR仲裁控制器和DDR存储器,所述DDR仲裁控制器具有多个用户通道,每个用户通道分别接收一个通道视频数据,所述DDR仲裁控制器为前面任一项实施例所述的DDR仲裁控制器。
本申请另一实施例提供了一种视频处理系统,用于多通道视频数据处理,包括视频缓存装置和处理器,所述视频缓存装置为前面实施例所述的视频缓存装置。
本实施例提供的DDR仲裁控制器,利用模板仲裁节点构建树状结构,部分叶节点到根节点的深度较低,在模板仲裁节点采用轮询机制下,该部分具有较低深度的叶节点可以分配到更高的权重,在一个循环周期内,对应连接的用户通道可以获得更多的时间片段,可以让高DDR存储器带宽需求的用户通道可以得到及时的响应,避免了现有轮询机制的仲裁器平均分配时间带来的响应不及时的问题。本实施例采用模板仲裁节点建立树状结构的仲裁器,当应对不同场景时,直接利用模板仲裁节点进行级联即可,可以复用模板仲裁节点的电路结构和代码,而无需重新设计电路结构和代码,降低了开发难度和时间,可以有效提升开发效率。
附图说明
图1为本申请一实施例的DDR仲裁控制器的结构示意图;
图2为本申请另一实施例的DDR仲裁控制器的结构示意图;
图3为本申请一实施例中仲裁器的结构示意图;
图4为本申请另一实施例中仲裁器的结构示意图;
图5为本申请一实施例中仲裁器的状态机的状态变化示意图;
图6为本申请一实施例的视频处理系统的结构示意图。
具体实施方式
为了能够更清楚地理解本申请的上述目的、特征和优点,下面结合附图和具体实施方式对本申请进行详细描述。需要说明的是,在不冲突的情况下,本申请的实施方式及实施方式中的特征可以相互组合。
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。本文中在本申请的说明书中所使用的术语只是为了描述具体的实施方式的目的,不是旨在于限制本申请。
如图1及图3所示,本申请一实施例提供了一种DDR仲裁控制器10,用于多通道用户读写DDR存储器的调度管理,包括仲裁器200以及若干个用户通道100;
每个用户通道100均与仲裁器200连接,用户通道100用于提供读写DDR存储器的读写请求;
仲裁器200接收所有用户通道100提供的读写请求,仲裁确定每个读写请求访问DDR存储器的时间片段;
仲裁器200,包括若干模板仲裁节点210,多个模板仲裁节点210组成树状结构;仲裁器200具有若干端口和根节点,每个端口连接一个用户通道100,根节点用于输出仲裁结果;模板仲裁节点210采用轮询机制,具有多个输入端和一个输出端,父节点的模板仲裁节点210的输入端连接子节点的模板仲裁节点210的输出端;模板仲裁节点210的未连接有其他模板仲裁节点210的输入端为叶节点,每个叶节点构成仲裁器200的一个端口;至少有一个叶节点到根节点的深度小于其他叶节点到根节点的深度;
至少根据用户通道100所需DDR存储器的带宽要求以及叶节点到根节点的路径上的模板仲裁节点210的输入端数量,确定用户通道100连接的叶节点;
根据每个端口对应的叶节点到根节点的路径上的模板仲裁节点210的输入端数量,确定该端口接收到的读写请求访问DDR存储器的时间片段。
模板仲裁节点210采用轮询机制,通过周期性的轮询该模板仲裁节点210的各输入端,如果某个输入端有读写请求,则在轮询到该输入端时,模板仲裁节点210进行响应,连接该模板仲裁节点210的该输入端和输出端,将该输入端的读写请求经由输出端输出——比如如果输出端连接DDR存储器,则可以访问DDR存储器,实现对读写请求的响应操作;如果输出管连接下一个模板仲裁节点210的输入端,则将该读写请求输出到该下一个模板仲裁节点210上,由该下一个模板仲裁节点210进行轮询。对某个输入端的读写请求进行响应之后,模板仲裁节点210可以继续轮询下一个输入端。
如此,在轮询机制下,一个模板仲裁节点210中,所有输入端之间具有相同权重,可以分配到相同时间来访问DDR存储器。示例的,如果模板仲裁节点210具有P个输入端,模板仲裁节点210本身去的权重为1,可以分配的访问DDR存储器的时间为t1,那么每个输入端分配到的权重为1/P,可以分配得到时间长度为t1/P的时间片段。
不同的用户通道100,可能需要传输不同大小的数据,所需DDR存储器的带宽要求各不相同,具体来讲,就是访问DDR存储器的时间要求就各不相同。为了充分利用DDR存储器的带宽,提高吞吐量,并能及时响应带宽要求高的用户通道100,不同带宽要求的用户通道100,应该配置不同的权重,在一个循环周期内,分配不同的时间来访问DDR存储器。
如图3所示,仲裁器200由多个模板仲裁节点210组成一个树状结构,具有N层、M个端口。在树状结构中,一个模板仲裁节点210,就是一个节点。示例的,图3中,最右侧的节点,就是根节点。如果一个节点的模板仲裁节点210的输入端没有连接的模板仲裁节点210,该模板仲裁节点210的该输入端就是一个叶节点,构成仲裁器200的一个端口。如果一个节点的输入端连接有其他模板仲裁节点210,该节点的该输入端就不是一个叶节点。就该节点以及输入端连接的节点来讲,该节点为父节点,输入端连接的节点为子节点。
对于叶节点来讲,叶节点到根节点的最短路径,就是叶节点到根节点之间的深度。如果将根节点所在层级定义为1,之后的层级逐级加1,那么叶节点到根节点的深度,就可以记为该叶节点所属模板仲裁节点的层级数。示例的,图3中,叶节点1的深度,就左上角的模板仲裁节点210的层级数,即为3。相应的,叶节点5、6、7、8、9的深度,就是2。仲裁器200的树状结构中,至少有一个叶节点的深度,小于其他叶节点的深度。如此,就相当于,有至少一个叶节点所属的模板仲裁节点210,在树状结构中,相比其他一些叶节点所属的模板仲裁节点210,更靠近根节点。在采用轮询机制中,每个叶节点所获取的权重,就与该叶节点到根节点的路径上的模板仲裁节点210的输入端数量密切相关。
示例的,假设根节点的权重为1,那么叶节点的权重,可以是路径上所有目标仲裁节点210的输入端数量乘积的倒数。叶节点的深度越小,越靠近根节点,路径上的模板仲裁节点210的数量越少,权重相应会越大;路径上的模板仲裁节点210的输入端数量越少,权重也相应会越大。叶节点的权重越大,在一个循环周期内,该叶节点分配到的时间片段数量就越多,可以访问DDR存储器的次数就越多,相应的,就占用越多的DDR存储器的带宽,可以从DDR存储器中读写越多的数据。
每个叶节点连接一个用户通道100。当该叶节点在仲裁器200的轮询机制下,分配到了时间片段时,该叶节点连接的用户通道100提供的读写请求,即可发送到DDR存储器,以被响应、执行对应的读写操作。
在仲裁器200的树状结构中,部分叶节点的深度的较小,权重相对较大,与之连接的用户通道100,在一个循环周期内,就可以相对占用更多的时间片段,以适应该用户通道100所需要的更大的DDR存储器的带宽需求。因此,可以根据用户通道100所需DDR存储器的带宽要求和叶节点的权重,将不同带宽需求的用户通道100连接到对应权重的叶节点上。如此,可以让高带宽需求的用户通道100,分配到更多的访问DDR存储器的时间片段,以满足高带宽需求。
本实施例提供的DDR仲裁控制器10,利用模板仲裁节点210构建树状结构,部分叶节点到根节点的深度较低,在模板仲裁节点210采用轮询机制下,该部分具有较低深度的叶节点可以分配到更高的权重,在一个循环周期内,对应连接的用户通道100可以获得更多的时间片段,可以让高DDR存储器带宽需求的用户通道可以得到及时的响应,避免了现有轮询机制的仲裁器平均分配时间带来的响应不及时的问题。本实施例采用模板仲裁节点210建立树状结构的仲裁器,当应对不同场景时,直接利用模板仲裁节点210进行级联即可,可以复用模板仲裁节点的电路结构和代码,而无需重新设计电路结构和代码,降低了开发难度和时间,可以有效提升开发效率。
模板仲裁节点210,可以包括有至少两种类型的子模板仲裁节点,不同类型的子模板仲裁节点可以具有不同数量的输入端,以实现更加细腻的权重分配。示例的,如图3所示,模板仲裁节点210,可以包括有两种类型的子模板仲裁节点——第一模板仲裁节点201和第二模板仲裁节点202,其中,第一模板仲裁节点201具有4个输入端,第二模板仲裁节点202具有2个输入端。图3中,叶节点可以具有多种不同的权重。示例的,假设根节点的权重为1,那么叶节点1、2、3、4的权重均为1/64,而叶节点5、6、7的权重均为1/16,叶节点8、9的权重为1/8,叶节点M的权重为1/32,。如此,就形成了4种权重,可以提升与不同带宽需求的用户通道的匹配度,以提升DDR存储器的利用率,进一步保障不同带宽需求的用户通道均能得到及时的响应。
可以理解的是,模板仲裁节点的输入端的数量,还可以是其他数值,比如3、4、5等等,只要能够在树状结构中让部分叶节点具有较高权重即可。
在DDR仲裁控制器10中,仲裁器200可以仅用于对读写请求的仲裁,而不需要参与读写请求的响应执行过程——比如数据传输。此时,DDR仲裁控制器10,可以包括路由控制单元、地址命令通道和数据通道,地址命令通道用于将仲裁器200确定的读写请求输入到DDR存储器中,数据通道用于与DDR存储器交互根据读写请求产生的数据;路由控制单元用于根据仲裁器200的仲裁结果,确定接入地址命令通道的读写请求。
在一些实施例中,仲裁器200也参与到读写请求的响应执行过程。模板仲裁节点210之间,可以采用AXI总线连接,以实现父节点的模板仲裁节点210与子节点的模板仲裁节点210之间的地址命令、数据的双向传输,如此,仲裁器200可以直接连接DDR存储器。具体的,AXI总线可以包括有读地址通道、写地址通道、读数据通道、写数据通道和写响应通道,每个通道均使用双向的VALID和READY握手信号机制,信息源端使用VALID信号,表示通道上存储可用的有效数据或控制信息,而信息接收端则使用READY信号,表示可用接收数据。读数据通道和写数据通道可以包含LAST信号,以表示传输的是最后一个数据项。
为了方便理解不同权重的叶节点可以分配到不同时间片段,下面先介绍一下模板仲裁节点210的轮询工作机制。以具有4个输入端的模板仲裁节点201为例,其状态机的状态变化如图5所示。状态S1、S3、S5、S7分别表示对输入端1、2、3、4的读写请求的响应,状态S2、S4、S6、S8分别表示执行各自输入端的读写请求而进行的读写操作。
模板仲裁节点201,在每个时钟周期下,在S1、S3、S5、S7之间轮询跳转,如果某个输入端没有发起读写请求,就跳转到下一个输入端继续轮询;如果轮询到的输入端有发起读写请求,比如输入端1有读写请求,则跳出轮询状态,由状态S1转到状态S2,执行输入端1的读写请求——执行读写操作。如果输入端1的读写操作完成了,则由状态S2跳转到状态S3继续轮询。如此往复循环。状态S2,就是对输入端的读写请求的响应时间,可以视为叶节点分配到的时间片段。
一般的,输入端发起的读写请求为突发请求(burst请求),为具有一定突发长度的读或写操作。为了保障时间片段的一致性,读写请求中的突发长度,可以设置为统一的预设固定值。如此,可以让对应每个输入端的状态S2、S4、S6、S8的时间一致,保证分配到叶节点的时间片段的一致性。
下面,参见图4,来具体说明不同权重的叶节点如何分配到不同数量的时间片段,以满足不同DDR存储器带宽需求的用户通道。在图4示出的仲裁器200中,由4个模板仲裁节点210——3个第二模板仲裁节点202、1个第一模板仲裁节点201组成,构成了3层树状结构,具有7个叶节点ABCDEFG。假设根节点的权重为1,那么叶节点ABCDEFG的权重分别为1/8、1/8、1/4、1/8、1/8、1/8、1/8。
假设一个循环周期为8个时间片段,7个节点均同时有读写请求,每个模板仲裁节点的轮询顺序均是从上往下进行的。在第1个时间片段内,对于叶节点A、B的读写请求来讲,L3层的第二模板仲裁节点202响应位于上面的输入端——叶节点A,输出叶节点A的读写请求。L2层的第二模板仲裁节点202的上端输入端接收到叶节点A的读写请求,下端输入端接收到叶节点C的读写请求输出上端输入端的读写请求——叶节点A的读写请求。相似的,L2层的第一模板仲裁节点201,接收到4个叶节点的读写请求,输出叶节点D的读写请求。L1层的第二模板仲裁节点202,上端输入端接收到叶节点A的读写请求,下端输入端接收到叶节点D的读写请求,输出上端输入端的读写请求——叶节点A的读写请求。也就是说,响应叶节点A的读写请求,给叶节点A分配该第1个时间片段。
类似的,在第2个时间片段内,L3层的第二模板仲裁节点202输出叶节点B的读写请求,L2层的第二模板仲裁节点202接收到叶节点B和C的读写请求,输出叶节点C的读写请求。L2层的第一模板仲裁节点201,输出叶节点D的读写请求,因为第1时间片段内未响应叶节点D的读写请求,L2层的第一模板仲裁节点201不需要轮询下一个输入端——叶节点E。L1层的第二模板仲裁节点202接收到叶节点C和D的读写请求,响应下端输入端的读写请求——叶节点D的读写请求。
如此一直继续下去,在一个循环周期内,8个时间片段的分配情况为ADCEBFCG,其中,叶节点C的权重为1/4,比其他叶节点的1/8权重要大,叶节点C获得了2个时间片段,而其他叶节点只有1个时间片段。
可以理解的是,通过控制树状结构中叶节点的深度、模板仲裁节点的输入端的数量,可以组合出多种权重的叶节点,从而实现更加细腻的时间片段的分配,以让不同带宽需求的用户通道,获得对应的、不同的时间片段,保证对高带宽需求的用户通道的及时响应。
如图1所示,每个用户通道100,可以具体包括缓冲单元110和读/写控制逻辑单元120,缓冲单元110用于缓冲数据,读/写控制逻辑单元120用于根据缓冲单元110缓冲的数据情况,产生访问DDR存储器的读写请求。通过设置缓冲单元110,可以协调DDR存储器高速的数据传输速度与外部端口相对较低的数据传输速度的差异,避免因为少量数据而频繁读取DDR存储器而降低DDR存储器的读写效率。
在一些实施例中,如图2所示,缓冲单元110可以包括写入FIFO 111和读出FIFO112,读/写控制逻辑单元120包括写控制逻辑单元121和读控制逻辑单元122;
写控制逻辑单元121与写入FIFO 111连接,当写入FIFO 111中缓冲的数据量增加预设写入水位线时,写控制逻辑单元121产生写数据请求,请求向DDR存储器中写入数据;当写数据请求被响应执行之后,写入FIFO 111中相应数据就读出而删除,写入FIFO 111中的数据量相应减少;
读控制逻辑单元122与读出FIFO 112连接,当读出FIFO 111中缓冲的数据量降低预设读出水位线时,读控制逻辑单元122产生读数据请求,请求从DDR存储器中读出数据;当读数据请求被响应执行之后,读出FIFO 111写入缓冲的数据,数据量相应增加。
写入FIFO 111和读出FIFO 112,为FIFO存储器(First Input First Output,先进先出)。为了进一步保障数据缓冲效果,写入FIFO 111和读出FIFO 112还可以采用“乒乓型”存储方式,各自分别包括两片FIFO存储器。
在一些实施例中,DDR仲裁控制器10用于数据的缓存,读控制逻辑单元122需要读出的数据,实际上就是写控制逻辑单元121写入到DDR存储器中的数据,写控制逻辑单元121在每次写数据请求执行完成后,可以得到写入数据再DDR存储器中的地址。此时,如图2所示,读控制逻辑单元122与写控制逻辑单元121连接,用于获取写入数据在DDR存储器中的地址。此时,读控制逻辑单元122,就无需从外部获取需要读出的数据在DDR存储器中的地址。
可以理解的是,读控制逻辑单元122,也可以与外部连接,以获取需要读出的数据的地址。
本申请实施例提供的DDR仲裁控制器,利用模板仲裁节点210构建树状结构,部分叶节点到根节点的深度较低,在模板仲裁节点210采用轮询机制下,该部分具有较低深度的叶节点可以分配到更高的权重,在一个循环周期内,对应连接的用户通道100可以获得更多的时间片段,可以让高DDR存储器带宽需求的用户通道可以得到及时的响应,避免了现有轮询机制的仲裁器平均分配时间带来的响应不及时的问题。本实施例采用模板仲裁节点210建立树状结构的仲裁器,当应对不同场景时,直接利用模板仲裁节点210进行级联即可,可以复用模板仲裁节点的电路结构和代码,而无需重新设计电路结构和代码,降低了开发难度和时间,可以有效提升开发效率。
本申请另一实施例提供了一种视频缓存装置,用于多通道视频数据的缓存,如图6及图1所示,包括DDR仲裁控制器10和DDR存储器500,DDR仲裁控制器10具有多个用户通道,每个用户通道分别接收一个通道视频数据。DDR存储器500,可以包括DDR控制器510和DDR存储阵列520,DDR控制器510,用于接收DDR仲裁控制器确定的读写请求,根据读写请求,访问DDR存储阵列520,完成数据的写入或者读出。DDR仲裁控制器10,可以是前述任一实施例中的DDR仲裁控制器。
因此使用了前面的实施例中的DDR仲裁控制器,相应的,视频缓存装置也具有了前述DDR仲裁控制器所具有的有益效果。
本申请一实施例还提供了一种视频处理系统,用于多通道视频数据处理,如图6所示,包括视频缓存装置和处理器900,视频缓存装置为前述实施例的视频缓存装置。
示例的,处理器900,可以具有视频缩放模块、拼接模块、裁剪模块。相应的,视频处理系统可以具有视频缩放、拼接、裁剪等功能。可以理解的是,根据实际需要,处理器900还可以提供其他视频处理功能。
因此使用了前面的实施例中的DDR仲裁控制器,相应的,视频缓存装置也具有了前述DDR仲裁控制器所具有的有益效果。
所述系统/计算机装置集成的部件/模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施方式方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,所述计算机程序在被处理器执行时,可实现上述各个方法实施方式的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读存储介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
在本申请各个实施例中的各功能模块/部件,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。它们可以集成在相同处理模块/部件中,也可以是各个模块/部件单独物理存在,也可以两个或两个以上模块/部件集成在相同模块/部件中。上述集成的模块/部件既可以采用硬件的形式实现,也可以采用硬件加软件功能模块/部件的形式实现。
对于本领域技术人员而言,显然本申请实施例不限于上述示范性实施例的细节,而且在不背离本申请实施例的精神或基本特征的情况下,能够以其他的具体形式实现本申请实施例。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本申请实施例的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本发明实施例内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。系统、装置或终端权利要求中陈述的多个单元、模块或装置也可以由同一个单元、模块或装置通过软件或者硬件来实现。第一,第二等词语用来表示名称,而并不表示任何特定的顺序。
Claims (10)
1.一种DDR仲裁控制器,用于多通道用户读写DDR存储器的调度管理,其特征在于,包括仲裁器以及若干个用户通道;
每个所述用户通道均与所述仲裁器连接,所述用户通道用于提供读写DDR存储器的读写请求;
所述仲裁器接收所有所述用户通道提供的读写请求,仲裁确定每个读写请求访问DDR存储器的时间片段;
所述仲裁器,包括若干模板仲裁节点,多个所述模板仲裁节点组成树状结构;所述仲裁器具有若干端口和根节点,每个所述端口连接一个所述用户通道,所述根节点用于输出仲裁结果;所述模板仲裁节点采用轮询机制,具有多个输入端和一个输出端,父节点的模板仲裁节点的输入端连接子节点的模板仲裁节点的输出端;所述模板仲裁节点的未连接有其他模板仲裁节点的输入端为叶节点,每个所述叶节点构成所述仲裁器的一个端口;至少有一个所述叶节点到所述根节点的深度小于其他叶节点到所述根节点的深度;
根据每个端口对应的叶节点到所述根节点的路径上的模板仲裁节点的输入端数量,确定所述端口接收到的读写请求访问DDR存储器的时间片段。
2.根据权利要求1所述的DDR仲裁控制器,其特征在于,所述模板仲裁节点包括多种类型的子模板仲裁节点,不同类型的子模板仲裁节点具有不同数量的输入端。
3.根据权利要求2所述的DDR仲裁控制器,其特征在于,所述模板仲裁节点包括第一模板仲裁节点和第二模板仲裁节点,所述第一模板仲裁节点具有4个输入端,所述第二模板仲裁节点具有2个输入端。
4.根据权利要求1所述的DDR仲裁控制器,其特征在于,所述模板仲裁节点之间采用AXI总线连接。
5.根据权利要求4所述的DDR仲裁控制器,其特征在于,所述用户通道提供的读写请求为突发请求,所述突发请求的突发长度设置为预设固定值。
6.根据权利要求1所述的DDR仲裁控制器,其特征在于,所述用户通道包括缓冲单元和读/写控制逻辑单元,所述缓冲单元用于缓冲数据,所述读/写控制逻辑单元用于根据所述缓冲单元缓冲的数据情况,产生访问DDR存储器的读写请求。
7.根据权利要求6所述的DDR仲裁控制器,其特征在于,所述缓冲单元包括写入FIFO和读出FIFO,所述读/写控制逻辑单元包括写控制逻辑单元和读控制逻辑单元;
所述写控制逻辑单元与所述写入FIFO连接,当所述写入FIFO中的数据量增加预设写入水位线时,所述写控制逻辑单元产生写数据请求,请求向DDR存储器中写入数据;
所述读控制逻辑单元与所述读出FIFO连接,当所述读出FIFO中的数据量降低预设读出水位线时,所述读控制逻辑单元产生读数据请求,请求从DDR存储器中读出数据。
8.根据权利要求7所述的DDR仲裁控制器,其特征在于,所述读控制逻辑单元与所述写控制逻辑单元连接,用于获取写入数据在DDR存储器中的地址。
9.一种视频缓存装置,用于多通道视频数据的缓存,包括DDR仲裁控制器和DDR存储器,所述DDR仲裁控制器具有多个用户通道,每个用户通道分别接收一个通道视频数据,其特征在于,所述DDR仲裁控制器为权利要求1-8任一项所述的DDR仲裁控制器。
10.一种视频处理系统,用于多通道视频数据处理,包括视频缓存装置和处理器,其特征在于,所述视频缓存装置为权利要求9所述的视频缓存装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911211092.7A CN111143257A (zh) | 2019-12-02 | 2019-12-02 | Ddr仲裁控制器、视频缓存装置及视频处理系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911211092.7A CN111143257A (zh) | 2019-12-02 | 2019-12-02 | Ddr仲裁控制器、视频缓存装置及视频处理系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111143257A true CN111143257A (zh) | 2020-05-12 |
Family
ID=70517415
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911211092.7A Pending CN111143257A (zh) | 2019-12-02 | 2019-12-02 | Ddr仲裁控制器、视频缓存装置及视频处理系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111143257A (zh) |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111610934A (zh) * | 2020-05-22 | 2020-09-01 | 上海大骋医疗科技有限公司 | 一种ddr控制器及控制方法 |
CN111813717A (zh) * | 2020-06-10 | 2020-10-23 | 烽火通信科技股份有限公司 | 一种数据帧存储切换的装置及方法 |
CN112100097A (zh) * | 2020-11-17 | 2020-12-18 | 杭州长川科技股份有限公司 | 多测试通道优先级自适应仲裁方法和存储器访问控制器 |
CN112506821A (zh) * | 2020-09-27 | 2021-03-16 | 山东云海国创云计算装备产业创新中心有限公司 | 一种系统总线接口请求仲裁方法及相关组件 |
CN112559399A (zh) * | 2020-11-27 | 2021-03-26 | 山东云海国创云计算装备产业创新中心有限公司 | 一种多axi接口的ddr控制器及其控制方法 |
CN112948293A (zh) * | 2021-02-26 | 2021-06-11 | 浪潮电子信息产业股份有限公司 | 一种多用户接口的ddr仲裁器及ddr控制器芯片 |
CN113655956A (zh) * | 2021-07-26 | 2021-11-16 | 武汉极目智能技术有限公司 | 一种基于fpga和ddr4的高带宽多路数据存储读取单元的方法和系统 |
CN114039909A (zh) * | 2021-11-04 | 2022-02-11 | 西安数道航空技术有限公司 | 一种快速实时生成树协议的实现方法 |
CN115495399A (zh) * | 2022-11-21 | 2022-12-20 | 沐曦科技(成都)有限公司 | 一种分布式仲裁系统、方法、装置、存储介质及电子设备 |
CN116225346A (zh) * | 2023-05-09 | 2023-06-06 | 此芯科技(上海)有限公司 | 一种内存数据访问方法及电子设备 |
CN117891758A (zh) * | 2024-03-12 | 2024-04-16 | 成都登临科技有限公司 | 一种基于仲裁的存储访问系统、处理器及计算设备 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1479542A (zh) * | 2002-08-30 | 2004-03-03 | 深圳市中兴通讯股份有限公司上海第二 | 一种公平的总线仲裁方法及仲裁装置 |
US20090037635A1 (en) * | 2006-03-17 | 2009-02-05 | Shanghai Magima Digital Information Co., Ltd. | Bus arbitration device |
CN106294227A (zh) * | 2016-08-02 | 2017-01-04 | 芯启源(上海)半导体科技有限公司 | 仲裁设备、动态自适应仲裁方法及系统 |
CN106681947A (zh) * | 2016-12-27 | 2017-05-17 | 盛科网络(苏州)有限公司 | 动态分配带宽的总线仲裁器的实现方法 |
CN109271335A (zh) * | 2018-07-24 | 2019-01-25 | 上海威固信息技术股份有限公司 | 一种多通道数据源ddr缓存的fpga实现方法 |
CN109299024A (zh) * | 2017-07-25 | 2019-02-01 | 三星电子株式会社 | 协调存储器命令的方法和高带宽存储器系统 |
-
2019
- 2019-12-02 CN CN201911211092.7A patent/CN111143257A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1479542A (zh) * | 2002-08-30 | 2004-03-03 | 深圳市中兴通讯股份有限公司上海第二 | 一种公平的总线仲裁方法及仲裁装置 |
US20090037635A1 (en) * | 2006-03-17 | 2009-02-05 | Shanghai Magima Digital Information Co., Ltd. | Bus arbitration device |
CN106294227A (zh) * | 2016-08-02 | 2017-01-04 | 芯启源(上海)半导体科技有限公司 | 仲裁设备、动态自适应仲裁方法及系统 |
CN106681947A (zh) * | 2016-12-27 | 2017-05-17 | 盛科网络(苏州)有限公司 | 动态分配带宽的总线仲裁器的实现方法 |
CN109299024A (zh) * | 2017-07-25 | 2019-02-01 | 三星电子株式会社 | 协调存储器命令的方法和高带宽存储器系统 |
CN109271335A (zh) * | 2018-07-24 | 2019-01-25 | 上海威固信息技术股份有限公司 | 一种多通道数据源ddr缓存的fpga实现方法 |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111610934A (zh) * | 2020-05-22 | 2020-09-01 | 上海大骋医疗科技有限公司 | 一种ddr控制器及控制方法 |
CN111813717B (zh) * | 2020-06-10 | 2022-03-01 | 烽火通信科技股份有限公司 | 一种数据帧存储切换的装置及方法 |
CN111813717A (zh) * | 2020-06-10 | 2020-10-23 | 烽火通信科技股份有限公司 | 一种数据帧存储切换的装置及方法 |
CN112506821A (zh) * | 2020-09-27 | 2021-03-16 | 山东云海国创云计算装备产业创新中心有限公司 | 一种系统总线接口请求仲裁方法及相关组件 |
CN112100097A (zh) * | 2020-11-17 | 2020-12-18 | 杭州长川科技股份有限公司 | 多测试通道优先级自适应仲裁方法和存储器访问控制器 |
CN112559399A (zh) * | 2020-11-27 | 2021-03-26 | 山东云海国创云计算装备产业创新中心有限公司 | 一种多axi接口的ddr控制器及其控制方法 |
CN112948293A (zh) * | 2021-02-26 | 2021-06-11 | 浪潮电子信息产业股份有限公司 | 一种多用户接口的ddr仲裁器及ddr控制器芯片 |
CN113655956A (zh) * | 2021-07-26 | 2021-11-16 | 武汉极目智能技术有限公司 | 一种基于fpga和ddr4的高带宽多路数据存储读取单元的方法和系统 |
CN113655956B (zh) * | 2021-07-26 | 2024-02-02 | 武汉极目智能技术有限公司 | 一种基于fpga和ddr4的高带宽多路数据存储读取单元的方法和系统 |
CN114039909A (zh) * | 2021-11-04 | 2022-02-11 | 西安数道航空技术有限公司 | 一种快速实时生成树协议的实现方法 |
CN115495399A (zh) * | 2022-11-21 | 2022-12-20 | 沐曦科技(成都)有限公司 | 一种分布式仲裁系统、方法、装置、存储介质及电子设备 |
CN116225346A (zh) * | 2023-05-09 | 2023-06-06 | 此芯科技(上海)有限公司 | 一种内存数据访问方法及电子设备 |
CN117891758A (zh) * | 2024-03-12 | 2024-04-16 | 成都登临科技有限公司 | 一种基于仲裁的存储访问系统、处理器及计算设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111143257A (zh) | Ddr仲裁控制器、视频缓存装置及视频处理系统 | |
US9477617B2 (en) | Memory buffering system that improves read/write performance and provides low latency for mobile systems | |
JP5005350B2 (ja) | メモリコントローラ | |
EP1403773B1 (en) | Resource management device | |
JP4805351B2 (ja) | Dramの並列処理を向上するシステム及び方法 | |
US7490185B2 (en) | Data processing system, access control method, and access control device | |
JP5270077B2 (ja) | 調停回路、クロスバ、リクエスト選択方法、及び情報処理装置 | |
WO2021207919A1 (zh) | 控制器、存储器件访问系统、电子设备和数据传输方法 | |
KR20080069272A (ko) | 단일 및 통합 커맨드를 모두 구비한 메모리 시스템 | |
EP3470971B1 (en) | Method, apparatus, and system for accessing memory device | |
CN114450672A (zh) | 存储器的访问控制方法、装置和存储介质 | |
US8549181B2 (en) | Semiconductor memory device and method of operating the semiconductor memory device | |
CN102347902B (zh) | 发送间隔调整方法、装置和网络设备 | |
US20070294448A1 (en) | Information Processing Apparatus and Access Control Method Capable of High-Speed Data Access | |
CN112948293A (zh) | 一种多用户接口的ddr仲裁器及ddr控制器芯片 | |
CN116225990A (zh) | 基于fpga的多通道ddr读写仲裁装置 | |
US20120042110A1 (en) | Bus bandwidth monitoring device and bus bandwidth monitoring method | |
CN114442908B (zh) | 一种用于数据处理的硬件加速系统及芯片 | |
US6374244B1 (en) | Data transfer device | |
US20140379846A1 (en) | Technique for coordinating memory access requests from clients in a mobile device | |
US20110314197A1 (en) | Data processing system | |
US8301816B2 (en) | Memory access controller, system, and method | |
CN113076070A (zh) | 数据处理方法和装置 | |
CN114296918B (zh) | 资源分配系统及方法 | |
CN117155928B (zh) | 通信任务处理方法、系统、设备、集群及可读存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
CB02 | Change of applicant information | ||
CB02 | Change of applicant information |
Address after: 518000 1805, tower 2, Shenye Jinyuan Building, No.112, Qingshuihe 1st Road, Qingshuihe community, Luohu District, Shenzhen City, Guangdong Province Applicant after: SHENZHEN AOTO ELECTRONICS Co.,Ltd. Address before: 518000 9th Floor, United Headquarters Building, No. 63 Xuefu Road, Nanshan District, Shenzhen City, Guangdong Province Applicant before: SHENZHEN AOTO ELECTRONICS Co.,Ltd. |
|
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20200512 |