CN114489541A - 一种基于fpga的vga显存带宽调控方法及相关组件 - Google Patents
一种基于fpga的vga显存带宽调控方法及相关组件 Download PDFInfo
- Publication number
- CN114489541A CN114489541A CN202210042503.XA CN202210042503A CN114489541A CN 114489541 A CN114489541 A CN 114489541A CN 202210042503 A CN202210042503 A CN 202210042503A CN 114489541 A CN114489541 A CN 114489541A
- Authority
- CN
- China
- Prior art keywords
- bandwidth
- bus
- bus bandwidth
- occupied
- video memory
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 54
- 230000033228 biological regulation Effects 0.000 title claims abstract description 28
- 230000004044 response Effects 0.000 claims abstract description 58
- 238000005070 sampling Methods 0.000 claims description 15
- 238000004590 computer program Methods 0.000 claims description 12
- 230000001105 regulatory effect Effects 0.000 claims description 9
- 230000001276 controlling effect Effects 0.000 claims description 8
- 230000001960 triggered effect Effects 0.000 claims description 5
- 230000005540 biological transmission Effects 0.000 description 8
- 230000008569 process Effects 0.000 description 8
- 230000007246 mechanism Effects 0.000 description 7
- 238000004364 calculation method Methods 0.000 description 6
- 230000000875 corresponding effect Effects 0.000 description 4
- 206010033799 Paralysis Diseases 0.000 description 3
- 230000009471 action Effects 0.000 description 3
- 230000008901 benefit Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 2
- 230000009191 jumping Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 241000533950 Leucojum Species 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000002596 correlated effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/14—Digital output to display device ; Cooperation and interconnection of the display device with other functional units
- G06F3/1407—General aspects irrespective of display type, e.g. determination of decimal point position, display with fixed or driving decimal point, suppression of non-significant zeros
-
- 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
-
- 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/1668—Details of memory controller
- G06F13/1678—Details of memory controller using bus width
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Bus Control (AREA)
Abstract
本发明公开了一种基于FPGA的VGA显存带宽调控方法及相关组件,若存在非预期的设备请求占用总线带宽,则会判断非预期设备请求占用的总线带宽是否超出显存带宽阈值,若超出,则会拒绝非预期的设备占用总线带宽,否则会拆分所述非预期设备请求占用的总线带宽并调整总线的响应时间,同时停止N个设备占用显存带宽,N为正整数,由此可见,本发明通过设置总线占用带宽的保护机制,防止了非预期的设备抢占总线带宽可能引起的FPGA系统的瘫痪。
Description
技术领域
本发明涉及数据传输技术领域,特别是涉及一种基于FPGA的VGA显存带宽调控方法及相关组件。
背景技术
随着FPGA(Field Programmable Gate Array,现场可编程门阵列)的发展,FPGA的应用优势逐渐显现,对于基于FPGA的VGA(Video Graphics Array,显示绘图阵列)图像显示设备,设备的图像信号的数据在总线的传输的过程中,如果DDR(Double Data Rate,双倍速率同步动态随机存储器)中的VGA显存空间的带宽被当前正在请求占用总线带宽的设备之外的非预期的设备占用,易造成对FPGA系统的压力过大而引起FPGA系统瘫痪,其中DDR中的显存空间的带宽为总线带宽加上DDR中的保留空间的带宽。
发明内容
本发明的目的是提供一种基于FPGA的VGA显存带宽调控方法及相关组件,通过设置总线占用带宽的保护机制,防止了非预期的设备抢占总线带宽可能引起的FPGA系统的瘫痪。
为解决上述技术问题,本发明提供了一种基于FPGA的VGA显存带宽调控方法,包括:
若存在N个当前正在请求占用总线带宽的设备之外的非预期设备请求占用总线带宽,则判断所述非预期设备请求占用的总线带宽是否超出显存带宽阈值,所述显存带宽阈值大于总线带宽阈值;
若超出,则拒绝所述非预期设备占用总线带宽;
否则,拆分所述非预期设备请求占用的总线带宽并调整总线的响应时间,同时停止N个所述设备占用显存带宽,N为正整数。
优选的,还包括:
确定采样时间段内的N个所述设备占用的总线带宽,并根据各个所述设备的占用优先级和所述总线带宽得到总线带宽占用表;
当N个所述设备请求占用的总线带宽的占用优先级与所述总线带宽占用表中的占用优先级相同且请求占用的总线带宽与所述带宽占用表中的占用的总线带宽相同时,根据所述总线带宽占用表确定N个所述设备的占用优先级和占用的总线带宽,并基于N个所述设备的占用优先级和占用的总线带宽调整总线的响应时间。
优选的,所述确定采样时间段内的N个所述设备占用的总线带宽,并根据各个所述设备的占用优先级和所述总线带宽得到总线带宽占用表之后,还包括:
若N个所述设备中存在突发设备,判断所述突发设备请求占用的总线带宽是否超出所述总线带宽阈值,若超出,则拆分所述突发设备请求占用的总线带宽并调整总线的响应时间;
若未超出,允许所述突发设备占用总线带宽并调整总线的响应时间;
所述突发设备为总线带宽的占用优先级与所述总线带宽占用表中的占用优先级相同且请求占用的总线带宽与所述带宽占用表中的占用的总线带宽不同的设备。
优选的,所述确定采样时间段内的N个所述设备占用的总线带宽,并根据各个所述设备的占用优先级和所述总线带宽得到总线带宽占用表之后,还包括:
若N个所述设备中存在任一设备请求占用的总线带宽的占用优先级与所述总线带宽占用表中的占用优先级不同但是请求占用的总线带宽与所述带宽占用表中的占用的总线带宽相同,根据各个所述设备当前的占用优先级顺序从仲裁表中获取各个所述设备的总线带宽,并基于各个所述设备的总线带宽及其占用优先级顺序调整总线的响应时间。
优选的,所述拆分所述突发设备请求占用的总线带宽,包括:
将所述突发设备的图像信号的数据存储至DDR的显存保留空间;
将所述突发设备的图像信号的数据超出总线带宽阈值的数据存储至DDR的显存保留空间的显存邻近空间。
优选的,所述调整总线的响应时间,包括:
通过调整总线的ready/busy信号的有效时间以调整总线的响应时间;
通过调整设备端burst/size大小以调整总线的响应时间;
通过调整response通道长度以调整总线的响应时间。
优选的,所述拆分所述非预期设备请求占用的总线带宽,包括:
将所述非预期设备的图像信号的数据存储至DDR的显存保留空间;
将所述非预期设备的图像信号的数据超出总线带宽阈值的数据存储至DDR的显存保留空间的显存邻近空间。
为解决上述技术问题,本发明还提供了一种基于FPGA的VGA显存带宽调控系统,包括:
访存保护模块,用于若存在N个当前正在请求占用总线带宽的设备之外的非预期设备请求占用总线带宽,则判断所述非预期设备请求占用的总线带宽是否超出显存带宽阈值,所述显存带宽阈值大于总线带宽阈值,若超出,拒绝所述非预期设备占用总线带宽,否则,拆分所述非预期设备请求占用的总线带宽,同时停止N个所述设备占用显存带宽,并触发总线带宽限流模块,N为正整数;
所述总线带宽限流模块,用于在接收到所述访存保护模块的触发后,调整总线的响应时间。
为解决上述技术问题,本发明还提供了一种基于FPGA的VGA显存带宽调控装置,包括:
存储器,用于存储计算机程序;
处理器,用于执行计算机程序时实现上述的基于FPGA的VGA显存带宽调控方法的步骤。
为解决上述技术问题,本发明还提供了一种存储介质,所述存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述的基于FPGA的VGA显存带宽调控方法的步骤。
本发明公开了一种基于FPGA的VGA显存带宽调控方法及相关组件,若存在非预期的设备请求占用总线带宽,则会判断非预期设备请求占用的总线带宽是否超出显存带宽阈值,若超出,则会拒绝非预期的设备占用总线带宽,否则会拆分所述非预期设备的总线占用带宽并调整总线的响应时间,同时停止N个设备占用显存带宽,N为正整数,由此可见,本发明通过设置总线占用带宽的保护机制,防止了非预期的设备抢占总线带宽可能引起的FPGA系统的瘫痪。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对现有技术和实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明提供的一种基于FPGA的VGA显存带宽调控方法的流程示意图;
图2为本发明提供的另一种基于FPGA的VGA显存带宽调控方法的流程示意图;
图3为本发明提供的一种基于FPGA的VGA显存带宽调控系统的结构示意图。
具体实施方式
本发明的核心是提供一种基于FPGA的VGA显存带宽调控方法及相关组件,通过设置总线占用带宽的保护机制,防止了非预期的设备抢占总线带宽可能引起的FPGA系统的瘫痪。
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参照图1,图1为本申请提供的一种基于FPGA的VGA显存带宽调控方法的流程示意图。
本发明提供了一种基于FPGA的VGA显存带宽调控方法,包括:
S11:若存在N个当前正在请求占用总线带宽的设备之外的非预期设备请求占用总线带宽,则判断非预期设备请求占用的总线带宽是否超出显存带宽阈值,显存带宽阈值大于总线带宽阈值,若超出,进入S12,否则,进入S13;
S12:拒绝非预期设备占用总线带宽;
S13:拆分非预期设备请求占用的总线带宽并调整总线的响应时间,同时停止N个设备占用显存带宽,N为正整数。
由于FPGA具有速度快、效率高、灵活稳定、集成度高等优点,所以在硬件逻辑验证与设计中是十分必要的。对于VGA图像显示设备,设备的图像信号的数据在总线的传输的过程中,如果存在当前正在请求占用总线带宽的设备之外的非预期的设备抢占显存空间的带宽,可能会因为带宽突然暴增,存在设备被攻击及软件出错误的情况,易造成死锁,导致FPGA系统的压力过大而引起FPGA系统瘫痪。
为解决上述技术问题,在本申请中,当存在N个当前正在请求占用总线带宽的设备之外的非预期设备请求占用总线带宽,由于DDR的显存空间的带宽包括总线带宽和预留的保留带宽,所以当非预期设备请求占用总线带宽时,会判断非预期设备请求占用的带宽是否超出了显存带宽阈值,若非预期设备请求占用总线带宽超出显存带宽阈值,则会拒绝该非预期设备对总线带宽的占用;若非预期设备请求占用总线带宽未超出显存带宽阈值,则会启动引流机制,将非预期请求占用的总线带宽进行拆分并调整总线的响应时间,同时停止N个设备占用显存带宽,也即锁定N个设备对显存空间的访问权。由于可见,本申请通过采用访存保护机制,以防止非预期设备的请求对FPGA系统的压力过大而引起的显示系统瘫痪,当请求占用的带宽过大时,可以采取拒绝或者引流等机制,优先保护。
此外,调整总线的响应时间的方式可以为调整ready/busy信号的有效时间,本申请在此不做特别的限定。
总线可以但不仅限为AXI/AHB总线。
该基于FPGA的VGA显存带宽调控方法可以应用于AIchip-AI智能流媒体芯片项目中。
例如,非预期设备请求占用总线带宽为12Mbps,DDR的显存空间的显存带宽阈值为13Mbp,总线带宽阈值为10Mbp,这时非预期设备请求占用总线带宽未超出显存带宽阈值,则会将非预期设备请求占用总线带宽进行拆分,例如拆分为10Mbp和2Mbps,还会调整总线的响应时间,使得10Mbp和2Mbps对应的图像信号的数据能够同时输出。而当非预期设备请求占用总线带宽为14Mbps,可知,非预期设备请求占用总线带宽已经超出了显存带宽阈值,这时就会拒绝非预期设备对总线带宽的占用。
综上,本申请的一种基于FPGA的VGA显存带宽调控方法,通过设置总线占用带宽的保护机制,防止了非预期的设备抢占总线带宽可能引起的FPGA系统的瘫痪。
在上述实施例的基础上:
作为一种优选的实施例,还包括:
确定采样时间段内的N个设备占用的总线带宽,并根据各个设备的占用优先级和总线带宽得到总线带宽占用表;
当N个设备请求占用的总线带宽的占用优先级与总线带宽占用表中的占用优先级相同且请求占用的总线带宽与带宽占用表中的占用的总线带宽相同时,根据总线带宽占用表确定N个设备的占用优先级和占用的总线带宽,并基于N个设备的占用优先级和占用的总线带宽调整总线的响应时间。
为了能够对VGA显存带宽进行更加精准的调控,在本实施例中,首先会确定在预设的采样时间段内的N个设备占用的总线带宽,并根据各个设备占用总线带宽的优先级和所占用总线带宽得到总线带宽占用表,对于采样时间段的确定可以通过设置时钟来确定采样时间。对于当N个设备请求占用的总线带宽的占用优先级与总线带宽占用表中的占用优先级相同且请求占用的总线带宽与带宽占用表中的占用的总线带宽相同的情况,可以根据总线带宽占用表来确定N个设备的占用优先级和占用的总线带宽,并基于N个设备的占用优先级和占用的总线带宽调整总线的响应时间,从而使得N个设备在占用总线带宽时不会拥挤,对总线带宽的利用率更高,传输图像信号更加通畅。
例如,在采样时间段内设备A、设备B和设备C占用的总线带宽依次为1Mbps、2Mbps和3Mbps,则总线带宽占用表会将设备A、设备B和设备C占用的总线带宽和优先级记录下来,当设备A、设备B和设备C请求占用总线带宽,且请求占用的总线带宽的占用优先级与总线带宽占用表中的占用优先级相同且请求占用的总线带宽与带宽占用表中的占用的总线带宽相同时,则可以根据总线带宽占用表来确定设备A、设备B和设备C的占用优先级和占用的总线带宽为设备A占用1Mbps、设备B占用2Mbps、设备C占用3Mbps。
作为一种优选的实施例,确定采样时间段内的N个设备占用的总线带宽,并根据各个设备的占用优先级和总线带宽得到总线带宽占用表之后,还包括:
若N个设备中存在突发设备,判断突发设备请求占用的总线带宽是否超出总线带宽阈值,若超出,则拆分突发设备请求占用的总线带宽并调整总线的响应时间;
若未超出,允许突发设备占用总线带宽并调整总线的响应时间;
突发设备为总线带宽的占用优先级与总线带宽占用表中的占用优先级相同且请求占用的总线带宽与带宽占用表中的占用的总线带宽不同的设备。
考虑到VGA设备的图像信号在总线传输过程中,DDR中VGA显存带宽可能会被突发设备占用,造成图像信号的传输延时,从而视频卡顿,在本实施例中,若N个设备中存在突发设备,其中突发设备为总线带宽的占用优先级与总线带宽占用表中的占用优先级相同且请求占用的总线带宽与带宽占用表中的占用的总线带宽不同的设备,这时会判断突发设备请求占用的总线带宽是否超出总线带宽阈值,若突发设备请求占用的总线带宽超出总线带宽阈值,则会拆分突发设备请求占用的总线带宽并调整总线的响应时间,若突发设备请求占用的总线带宽未超出总线带宽阈值,则会允许突发设备占用总线带宽并调整总线的响应时间,采用FPGA逻辑实现对突发设备的限流功能,能够实时控制设备占用总线带宽,可应对使用显存过程出现的带宽不足的情况,防止视频图像出现雪花,可以被广泛应用于图像传输系统,可快速响应,高效处理。对于突发设备的突发请求可以采用内置异步时钟缓存,可完成高速并行数据的跨时钟域转换,并将带宽计算结果与时钟域做关联,可以对总线的busy/ready信号做延迟控制,限制相关可能会导致带宽溢出的访问。
例如,设备A、设备B和设备C请求占用的总线带宽依次为12Mbps、2Mbps和3Mbps,而总线带宽占用表中记录的设备A、设备B和设备C请求占用的总线带宽依次为1Mbps、2Mbps和3Mbps,当总线带宽阈值为10Mbps,可知,设备A为突发设备,且其请求占用的总线带宽已经超出总线带宽阈值,则会拆分设备A请求占用的总线带宽,例如拆分为10Mbp和2Mbps。而当设备A、设备B和设备C请求占用的总线带宽依次为3Mbps、2Mbps和3Mbps,这时由于突发设备A设备请求占用的总线带宽未超出总线带宽阈值,则会允许突发设备占用总线带宽。
作为一种优选的实施例,确定采样时间段内的N个设备占用的总线带宽,并根据各个设备的占用优先级和总线带宽得到总线带宽占用表之后,还包括:
若N个设备中存在任一设备请求占用的总线带宽的占用优先级与总线带宽占用表中的占用优先级不同但是请求占用的总线带宽与带宽占用表中的占用的总线带宽相同,根据各个设备当前的占用优先级顺序从仲裁表中获取各个设备的总线带宽,并基于各个设备的总线带宽及其占用优先级顺序调整总线的响应时间。
考虑到当前多个设备传输数据量较大时,采用的优化处理机制多为固定优先级仲裁,但是无法合理限制设备的带宽使用,易造成设备传输数据的堵塞,在时效性较强的图像传输中,存在响应时间过长的问题,在本实施例中,若N个设备中存在任一设备请求占用的总线带宽的占用优先级与总线带宽占用表中的占用优先级不同但是请求占用的总线带宽与带宽占用表中的占用的总线带宽相同,则可以根据各个设备当前的占用优先级顺序从仲裁表中获取各个设备的总线带宽,并基于各个设备的总线带宽及其占用优先级顺序调整总线的响应时间,其中仲裁表中保存有不同设备的优先级顺序和每个优先级顺序所对应的设备的占用总线带宽。由此可见,在本申请中DDR中总线带宽占用通过利用仲裁表的仲裁方式,可以处理FPGA系统无法解决的突发访问问题。
例如,设备B、设备A和设备C请求占用的总线带宽依次为2Mbps、1Mbps和3Mbps,而总线带宽占用表中记录的设备A、设备B和设备C请求占用的总线带宽依次为1Mbps、2Mbps和3Mbps,仲裁表中记录有优先级顺序为设备B、设备A和设备C,所对应的占用的总线带宽依次为2Mbps、1Mbps和3Mbps,还会记录优先级顺序为设备C、设备A和设备B,所对应的占用的总线带宽依次为3Mbps、1Mbps和2Mbps,还会记录其他可能的优先级顺序,本申请在此不再进行赘述,因此根据设备B、设备A和设备C的占用优先级顺序从仲裁表中获取各个设备对应的总线带宽为2Mbps、1Mbps和3Mbps。
作为一种优选的实施例,拆分突发设备请求占用的总线带宽,包括:
将突发设备的图像信号的数据存储至DDR的显存保留空间;
将突发设备的图像信号的数据超出总线带宽阈值的数据存储至DDR的显存保留空间的显存邻近空间。
在本实施例中,拆分突发设备请求占用的总线带宽的方式可以为将突发设备的图像信号的数据存储至DDR的显存保留空间,并将突发设备的图像信号的数据超出总线带宽阈值的数据存储至DDR的显存保留空间的显存邻近空间,超出总线带宽阈值的数据可作为非当前帧数据,从而可以限制相关可能会导致带宽溢出的访问。
例如,设备A请求占用的总线带宽为12Mbps,总线带宽阈值为10Mbps,显存空间的显存带宽为13Mbps,DDR的显存保留空间3Mbps,为这是会将设备A请求占用的总线带宽中超出总线带宽阈值的的数据存储至DDR的显存保留空间,并将设备A请求占用的总线带宽拆分为10Mbps和2Mbps,将非当前帧数据2Mbps存储至保留空间的显存邻近空间。
作为一种优选的实施例,调整总线的响应时间,包括:
通过调整总线的ready/busy信号的有效时间以调整总线的响应时间;
通过调整设备端burst/size大小以调整总线的响应时间;
通过调整response通道长度以调整总线的响应时间。
为了能够将总线带宽调整到合理的带宽数值,使得总线带宽数据不拥挤,从而提高总线的利用率,在本实施例中,调整总线的响应时间的方式可以为通过调整总线的ready/busy信号的有效时间、设备端burst/size大小及response通道长度的方式实现对总线的响应时间的调整。例如,可以增加ready信号的有效时间可以降低设备访问频率,增加size大小可以降低设备的访问频率,增长response通道可以降低bvalid反馈效率。
作为一种优选的实施例,拆分非预期设备请求占用的总线带宽,包括:
将非预期设备的图像信号的数据存储至DDR的显存保留空间;
将非预期设备的图像信号的数据超出总线带宽阈值的数据存储至DDR的显存保留空间的显存邻近空间。
在本实施例中,拆分非预期设备请求占用的总线带宽的方式可以为将非预期设备的图像信号的数据存储至DDR的显存保留空间,并将非预期设备的图像信号的数据超出总线带宽阈值的数据存储至DDR的显存保留空间的显存邻近空间,超出总线带宽阈值的数据可作为非当前帧数据。
例如,非预期设备A请求占用的总线带宽为12Mbps,总线带宽阈值为10Mbps,显存空间的显存带宽为13Mbps,DDR的显存保留空间3Mbps,为这是会将设备A请求占用的总线带宽中超出总线带宽阈值的的数据存储至DDR的显存保留空间,并将设备A请求占用的总线带宽拆分为10Mbps和2Mbps,将非当前帧数据2Mbps存储至保留空间的显存邻近空间。
请参照图2,图2为本申请提供的另一种基于FPGA的VGA显存带宽调控方法的流程示意图。
该基于FPGA的VGA显存带宽调控方法运行流程如下:
1.开始,总线带宽计算;
2.判断是否有非预期触发,若有执行3;若没有触发,执行4;
3.执行保护显存操作,暂停已在执行的任何AXI总线传输,执行置换空间,跳转至9;
4.判断是否有突发请求触发;若有,执行5;若没有触发执行6;
5.判断是否限流;若有,执行7;若没有执行9;
6.判断优先级顺序与带宽表顺序是否相同;若相同,执行9;若不相同执行8;
7.执行限流计算,跳转至9;
8.仲裁;
9.调整AXI总线响应时间;
10.处理结束。
请参照图3,图3为本申请提供的一种基于FPGA的VGA显存带宽调控系统的结构示意图。
本发明还提供了一种基于FPGA的VGA显存带宽调控系统,包括:
访存保护模块,用于若存在N个当前正在请求占用总线带宽的设备之外的非预期设备请求占用总线带宽,则判断非预期设备请求占用的总线带宽是否超出显存带宽阈值,显存带宽阈值大于总线带宽阈值,若超出,拒绝非预期设备占用总线带宽,否则,拆分非预期设备请求占用的总线带宽,同时停止N个设备占用显存带宽,并触发总线带宽限流模块,N为正整数;
总线带宽限流模块,用于在接收到访存保护模块的触发后,调整总线的响应时间。
对于本发明提供的一种基于FPGA的VGA显存带宽调控系统的介绍请参照上述方法实施例,本发明在此不再赘述。
作为一种优选的实施例,还包括:
总线带宽计算模块,用于确定采样时间段内的N个设备占用的总线带宽,并根据各个设备的占用优先级和总线带宽得到总线带宽占用表;
当N个设备请求占用的总线带宽的占用优先级与总线带宽占用表中的占用优先级相同且请求占用的总线带宽与带宽占用表中的占用的总线带宽相同时,根据总线带宽占用表确定N个设备的占用优先级和占用的总线带宽,并触发总线带宽限流模块基于N个设备的占用优先级和占用的总线带宽调整总线的响应时间。
作为一种优选的实施例,还包括:
限流计算模块,用于总线带宽计算模块在确定采样时间段内的N个设备占用的总线带宽,并根据各个设备的占用优先级和总线带宽得到总线带宽占用表之后,若N个设备中存在突发设备,判断突发设备请求占用的总线带宽是否超出总线带宽阈值,若超出,则拆分突发设备请求占用的总线带宽并调整总线的响应时间;
若未超出,允许突发设备占用总线带宽并触发总线带宽限流模块调整总线的响应时间;
突发设备为总线带宽的占用优先级与总线带宽占用表中的占用优先级相同且请求占用的总线带宽与带宽占用表中的占用的总线带宽不同的设备。
作为一种优选的实施例,还包括:
仲裁模块,用于总线带宽计算模块在确定采样时间段内的N个设备占用的总线带宽,并根据各个设备的占用优先级和总线带宽得到总线带宽占用表之后,若N个设备中存在任一设备请求占用的总线带宽的占用优先级与总线带宽占用表中的占用优先级不同但是请求占用的总线带宽与带宽占用表中的占用的总线带宽相同,根据各个设备当前的占用优先级顺序从仲裁表中获取各个设备的总线带宽,并并触发总线带宽限流模块基于各个设备的总线带宽及其占用优先级顺序调整总线的响应时间。
作为一种优选的实施例,拆分突发设备请求占用的总线带宽,包括:
将突发设备的图像信号的数据存储至DDR的显存保留空间;
将突发设备的图像信号的数据超出总线带宽阈值的数据存储至DDR的显存保留空间的显存邻近空间。
作为一种优选的实施例,调整总线的响应时间,包括:
通过调整总线的ready/busy信号的有效时间以调整总线的响应时间;
通过调整设备端burst/size大小以调整总线的响应时间;
通过调整response通道长度以调整总线的响应时间。
作为一种优选的实施例,拆分非预期设备请求占用的总线带宽,包括:
将非预期设备的图像信号的数据存储至DDR的显存保留空间;
将非预期设备的图像信号的数据超出总线带宽阈值的数据存储至DDR的显存保留空间的显存邻近空间。
本发明还提供了一种基于FPGA的VGA显存带宽调控装置,包括:
存储器,用于存储计算机程序;
处理器,用于执行计算机程序时实现上述的基于FPGA的VGA显存带宽调控方法的步骤。
对于本发明提供的一种基于FPGA的VGA显存带宽调控装置的介绍请参照上述方法实施例,本发明在此不再赘述。
本发明还提供了一种存储介质,存储介质上存储有计算机程序,计算机程序被处理器执行时实现上述的基于FPGA的VGA显存带宽调控方法的步骤。
对于本发明提供的一种存储介质的介绍请参照上述方法实施例,本发明在此不再赘述。
需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其他实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (10)
1.一种基于FPGA的VGA显存带宽调控方法,其特征在于,包括:
若存在N个当前正在请求占用总线带宽的设备之外的非预期设备请求占用总线带宽,则判断所述非预期设备请求占用的总线带宽是否超出显存带宽阈值,所述显存带宽阈值大于总线带宽阈值;
若超出,则拒绝所述非预期设备占用总线带宽;
否则,拆分所述非预期设备请求占用的总线带宽并调整总线的响应时间,同时停止N个所述设备占用显存带宽,N为正整数。
2.如权利要求1所述的基于FPGA的VGA显存带宽调控方法,其特征在于,还包括:
确定采样时间段内的N个所述设备占用的总线带宽,并根据各个所述设备的占用优先级和所述总线带宽得到总线带宽占用表;
当N个所述设备请求占用的总线带宽的占用优先级与所述总线带宽占用表中的占用优先级相同且请求占用的总线带宽与所述带宽占用表中的占用的总线带宽相同时,根据所述总线带宽占用表确定N个所述设备的占用优先级和占用的总线带宽,并基于N个所述设备的占用优先级和占用的总线带宽调整总线的响应时间。
3.如权利要求2所述的基于FPGA的VGA显存带宽调控方法,其特征在于,所述确定采样时间段内的N个所述设备占用的总线带宽,并根据各个所述设备的占用优先级和所述总线带宽得到总线带宽占用表之后,还包括:
若N个所述设备中存在突发设备,判断所述突发设备请求占用的总线带宽是否超出所述总线带宽阈值,若超出,则拆分所述突发设备请求占用的总线带宽并调整总线的响应时间;
若未超出,允许所述突发设备占用总线带宽并调整总线的响应时间;
所述突发设备为总线带宽的占用优先级与所述总线带宽占用表中的占用优先级相同且请求占用的总线带宽与所述带宽占用表中的占用的总线带宽不同的设备。
4.如权利要求2所述的基于FPGA的VGA显存带宽调控方法,其特征在于,所述确定采样时间段内的N个所述设备占用的总线带宽,并根据各个所述设备的占用优先级和所述总线带宽得到总线带宽占用表之后,还包括:
若N个所述设备中存在任一设备请求占用的总线带宽的占用优先级与所述总线带宽占用表中的占用优先级不同但是请求占用的总线带宽与所述带宽占用表中的占用的总线带宽相同,根据各个所述设备当前的占用优先级顺序从仲裁表中获取各个所述设备的总线带宽,并基于各个所述设备的总线带宽及其占用优先级顺序调整总线的响应时间。
5.如权利要求3所述的基于FPGA的VGA显存带宽调控方法,其特征在于,所述拆分所述突发设备请求占用的总线带宽,包括:
将所述突发设备的图像信号的数据存储至DDR的显存保留空间;
将所述突发设备的图像信号的数据超出总线带宽阈值的数据存储至DDR的显存保留空间的显存邻近空间。
6.如权利要求3所述的基于FPGA的VGA显存带宽调控方法,其特征在于,所述调整总线的响应时间,包括:
通过调整总线的ready/busy信号的有效时间以调整总线的响应时间;
通过调整设备端burst/size大小以调整总线的响应时间;
通过调整response通道长度以调整总线的响应时间。
7.如权利要求1至6任一项所述的基于FPGA的VGA显存带宽调控方法,其特征在于,所述拆分所述非预期设备请求占用的总线带宽,包括:
将所述非预期设备的图像信号的数据存储至DDR的显存保留空间;
将所述非预期设备的图像信号的数据超出总线带宽阈值的数据存储至DDR的显存保留空间的显存邻近空间。
8.一种基于FPGA的VGA显存带宽调控系统,其特征在于,包括:
访存保护模块,用于若存在N个当前正在请求占用总线带宽的设备之外的非预期设备请求占用总线带宽,则判断所述非预期设备请求占用的总线带宽是否超出显存带宽阈值,所述显存带宽阈值大于总线带宽阈值,若超出,拒绝所述非预期设备占用总线带宽,否则,拆分所述非预期设备请求占用的总线带宽,同时停止N个所述设备占用显存带宽,并触发总线带宽限流模块,N为正整数;
所述总线带宽限流模块,用于在接收到所述访存保护模块的触发后,调整总线的响应时间。
9.一种基于FPGA的VGA显存带宽调控装置,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行计算机程序时实现如权利要求1至7任一项所述的基于FPGA的VGA显存带宽调控方法的步骤。
10.一种存储介质,其特征在于,所述存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述的基于FPGA的VGA显存带宽调控方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210042503.XA CN114489541B (zh) | 2022-01-14 | 2022-01-14 | 一种基于fpga的vga显存带宽调控方法及相关组件 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210042503.XA CN114489541B (zh) | 2022-01-14 | 2022-01-14 | 一种基于fpga的vga显存带宽调控方法及相关组件 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114489541A true CN114489541A (zh) | 2022-05-13 |
CN114489541B CN114489541B (zh) | 2024-05-10 |
Family
ID=81511755
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210042503.XA Active CN114489541B (zh) | 2022-01-14 | 2022-01-14 | 一种基于fpga的vga显存带宽调控方法及相关组件 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114489541B (zh) |
Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS57159190A (en) * | 1981-03-10 | 1982-10-01 | Bosch Gmbh Robert | Wide band signal recording and/or reproducing method and circuit device for performing same method |
JP2004348745A (ja) * | 2003-05-23 | 2004-12-09 | Samsung Electronics Co Ltd | 高速の帯域幅のシステムバスを仲裁するためのバスシステム及びその方法 |
CN101676890A (zh) * | 2008-08-15 | 2010-03-24 | 北京北大众志微系统科技有限责任公司 | 一种动态调整带宽分配的总线仲裁方法及仲裁器 |
US20110187729A1 (en) * | 2010-02-03 | 2011-08-04 | Jun Huang | Memory access method and access controller for a memory |
WO2017045540A1 (zh) * | 2015-09-14 | 2017-03-23 | 阿里巴巴集团控股有限公司 | 用于智能终端的图片处理方法、装置、终端设备及系统 |
CN106681947A (zh) * | 2016-12-27 | 2017-05-17 | 盛科网络(苏州)有限公司 | 动态分配带宽的总线仲裁器的实现方法 |
WO2017088393A1 (zh) * | 2015-11-26 | 2017-06-01 | 乐视控股(北京)有限公司 | 带宽分配方法及系统 |
CN107229051A (zh) * | 2017-05-26 | 2017-10-03 | 西安电子科技大学 | 基于gpu的视频sar回波仿真并行实现方法 |
WO2017198112A1 (zh) * | 2016-05-16 | 2017-11-23 | 深圳市中兴微电子技术有限公司 | 一种切频方法、装置和计算机可读存储介质 |
CN112306939A (zh) * | 2020-10-29 | 2021-02-02 | 山东云海国创云计算装备产业创新中心有限公司 | 一种总线调用方法、装置、设备及存储介质 |
CN112465689A (zh) * | 2020-10-21 | 2021-03-09 | 中国船舶重工集团公司第七0九研究所 | 基于可见显存交换区的gpu不可见显存管理方法及系统 |
CN112463665A (zh) * | 2020-10-30 | 2021-03-09 | 中国船舶重工集团公司第七0九研究所 | 一种用于多通道显存交织模式的切换方法及装置 |
CN112565778A (zh) * | 2020-12-28 | 2021-03-26 | 山东神戎电子股份有限公司 | 一种基于时间片管理的数据存取方法 |
CN113852490A (zh) * | 2021-08-18 | 2021-12-28 | 济南浪潮数据技术有限公司 | 一种分布式存储系统中samba用户QoS实现方法、装置及设备 |
-
2022
- 2022-01-14 CN CN202210042503.XA patent/CN114489541B/zh active Active
Patent Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS57159190A (en) * | 1981-03-10 | 1982-10-01 | Bosch Gmbh Robert | Wide band signal recording and/or reproducing method and circuit device for performing same method |
JP2004348745A (ja) * | 2003-05-23 | 2004-12-09 | Samsung Electronics Co Ltd | 高速の帯域幅のシステムバスを仲裁するためのバスシステム及びその方法 |
CN101676890A (zh) * | 2008-08-15 | 2010-03-24 | 北京北大众志微系统科技有限责任公司 | 一种动态调整带宽分配的总线仲裁方法及仲裁器 |
US20110187729A1 (en) * | 2010-02-03 | 2011-08-04 | Jun Huang | Memory access method and access controller for a memory |
WO2017045540A1 (zh) * | 2015-09-14 | 2017-03-23 | 阿里巴巴集团控股有限公司 | 用于智能终端的图片处理方法、装置、终端设备及系统 |
WO2017088393A1 (zh) * | 2015-11-26 | 2017-06-01 | 乐视控股(北京)有限公司 | 带宽分配方法及系统 |
WO2017198112A1 (zh) * | 2016-05-16 | 2017-11-23 | 深圳市中兴微电子技术有限公司 | 一种切频方法、装置和计算机可读存储介质 |
CN106681947A (zh) * | 2016-12-27 | 2017-05-17 | 盛科网络(苏州)有限公司 | 动态分配带宽的总线仲裁器的实现方法 |
CN107229051A (zh) * | 2017-05-26 | 2017-10-03 | 西安电子科技大学 | 基于gpu的视频sar回波仿真并行实现方法 |
CN112465689A (zh) * | 2020-10-21 | 2021-03-09 | 中国船舶重工集团公司第七0九研究所 | 基于可见显存交换区的gpu不可见显存管理方法及系统 |
CN112306939A (zh) * | 2020-10-29 | 2021-02-02 | 山东云海国创云计算装备产业创新中心有限公司 | 一种总线调用方法、装置、设备及存储介质 |
CN112463665A (zh) * | 2020-10-30 | 2021-03-09 | 中国船舶重工集团公司第七0九研究所 | 一种用于多通道显存交织模式的切换方法及装置 |
CN112565778A (zh) * | 2020-12-28 | 2021-03-26 | 山东神戎电子股份有限公司 | 一种基于时间片管理的数据存取方法 |
CN113852490A (zh) * | 2021-08-18 | 2021-12-28 | 济南浪潮数据技术有限公司 | 一种分布式存储系统中samba用户QoS实现方法、装置及设备 |
Also Published As
Publication number | Publication date |
---|---|
CN114489541B (zh) | 2024-05-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9894001B2 (en) | I/O circuit and data transmission control method | |
US7149828B2 (en) | Bus arbitration apparatus and bus arbitration method | |
US6157978A (en) | Multimedia round-robin arbitration with phantom slots for super-priority real-time agent | |
US7093256B2 (en) | Method and apparatus for scheduling real-time and non-real-time access to a shared resource | |
JP4356765B2 (ja) | 情報処理装置および方法、並びにプログラム | |
EP3544247B1 (en) | Transfer control device, transfer control method and computer-readable medium | |
CN112003795B (zh) | 一种动态预防流量攻击的方法、系统、设备及存储介质 | |
US5944792A (en) | Data transfer device with computed start times for data blocks | |
US10298511B2 (en) | Communication queue management system | |
US20230164078A1 (en) | Congestion Control Method and Apparatus | |
EP1820107A2 (en) | Streaming memory controller | |
CN113141321B (zh) | 一种基于边缘计算的数据传输方法及电子设备 | |
TWI753063B (zh) | 資料傳送裝置及資料傳送方法 | |
CN113810309A (zh) | 拥塞处理方法、网络设备及存储介质 | |
US20060088049A1 (en) | Configurable buffer arbiter | |
CN114489541A (zh) | 一种基于fpga的vga显存带宽调控方法及相关组件 | |
CN113515473B (zh) | 一种QoS控制方法、总线系统、计算装置和存储介质 | |
KR20150050085A (ko) | 무선 환경에서 usb 통신을 위한 버퍼 관리 방법 및 장치 | |
US9891840B2 (en) | Method and arrangement for controlling requests to a shared electronic resource | |
CN109582460B (zh) | 一种Redis内存数据的淘汰方法和装置 | |
US20070286221A1 (en) | Memory management method and memory architecture for transmitting UWB PCA frames | |
KR102334473B1 (ko) | 적응형 딥러닝 가속 장치 및 방법 | |
JP2000209218A (ja) | 情報記録装置 | |
JP4635485B2 (ja) | データ処理装置 | |
JP5623150B2 (ja) | 電子機器及びその制御方法 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |