CN114489541B - 一种基于fpga的vga显存带宽调控方法及相关组件 - Google Patents
一种基于fpga的vga显存带宽调控方法及相关组件 Download PDFInfo
- Publication number
- CN114489541B CN114489541B CN202210042503.XA CN202210042503A CN114489541B CN 114489541 B CN114489541 B CN 114489541B CN 202210042503 A CN202210042503 A CN 202210042503A CN 114489541 B CN114489541 B CN 114489541B
- Authority
- CN
- China
- Prior art keywords
- bandwidth
- bus
- bus bandwidth
- video memory
- occupied
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 47
- 230000033228 biological regulation Effects 0.000 title claims abstract description 30
- 230000004044 response Effects 0.000 claims abstract description 61
- 238000005070 sampling Methods 0.000 claims description 16
- 238000004590 computer program Methods 0.000 claims description 11
- 230000001960 triggered effect Effects 0.000 claims description 3
- 230000005540 biological transmission Effects 0.000 description 10
- 230000007246 mechanism Effects 0.000 description 7
- 230000008569 process Effects 0.000 description 7
- 206010033799 Paralysis Diseases 0.000 description 6
- 238000004364 calculation method Methods 0.000 description 5
- 230000001105 regulatory effect Effects 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 2
- 230000009191 jumping Effects 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000001276 controlling 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
- 238000012545 processing Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
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 (8)
1.一种基于FPGA的VGA显存带宽调控方法,其特征在于,包括:
若存在N个当前正在请求占用总线带宽的设备之外的非预期设备请求占用总线带宽,则判断所述非预期设备请求占用的总线带宽是否超出显存带宽阈值,所述显存带宽阈值大于总线带宽阈值;
若超出,则拒绝所述非预期设备占用总线带宽;
否则,拆分所述非预期设备请求占用的总线带宽并调整总线的响应时间,同时停止N个所述设备占用显存带宽,N为正整数;
其中,所述拆分所述非预期设备请求占用的总线带宽,包括:将所述非预期设备的图像信号的数据存储至DDR的显存保留空间;将所述非预期设备的图像信号的数据超出总线带宽阈值的数据存储至DDR的显存保留空间的显存邻近空间;其中,所述DDR中的显存空间的带宽为总线带宽加上DDR中的显存保留空间的带宽;
所述将所述非预期设备的图像信号的数据存储至DDR的显存保留空间,包括:基于所述总线带宽阈值对所述非预期设备请求占用的总线带宽进行拆分,得到与所述总线带宽阈值相同的第一带宽和超过所述总线带宽阈值的第二带宽;将所述非预期设备的图像信号的数据中与所述第一带宽对应的数据存储至DDR的显存保留空间中;
相应的,所述将所述非预期设备的图像信号的数据超出总线带宽阈值的数据存储至DDR的显存保留空间的显存邻近空间,包括:将所述非预期设备的图像信号的数据中与所述第二带宽对应的数据作为非当前帧数据存储至显存邻近空间中;
所述调整总线的响应时间,包括:通过调整总线的ready/busy信号的有效时间以调整总线的响应时间;通过调整设备端burst/size大小以调整总线的响应时间;通过调整response通道长度以调整总线的响应时间。
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的显存保留空间的显存邻近空间;
其中,所述将所述突发设备的图像信号的数据存储至DDR的显存保留空间,包括:基于所述总线带宽阈值对所述突发设备请求占用的总线带宽进行拆分,得到与所述总线带宽阈值相同的第三带宽和超过所述总线带宽阈值的第四带宽;将所述突发设备的图像信号的数据中与所述第三带宽对应的数据存储至所述DDR的显存保留空间中;
相应的,所述将所述突发设备的图像信号的数据超出总线带宽阈值的数据存储至DDR的显存保留空间的显存邻近空间,包括:将所述突发设备的图像信号的数据中与所述第四带宽对应的数据作为非当前帧数据存储至所述显存邻近空间中。
6.一种基于FPGA的VGA显存带宽调控***,其特征在于,包括:
访存保护模块,用于若存在N个当前正在请求占用总线带宽的设备之外的非预期设备请求占用总线带宽,则判断所述非预期设备请求占用的总线带宽是否超出显存带宽阈值,所述显存带宽阈值大于总线带宽阈值,若超出,拒绝所述非预期设备占用总线带宽,否则,拆分所述非预期设备请求占用的总线带宽,同时停止N个所述设备占用显存带宽,并触发总线带宽限流模块,N为正整数;
所述总线带宽限流模块,用于在接收到所述访存保护模块的触发后,调整总线的响应时间;
其中,所述访存保护模块,具体用于将所述非预期设备的图像信号的数据存储至DDR的显存保留空间;将所述非预期设备的图像信号的数据超出总线带宽阈值的数据存储至DDR的显存保留空间的显存邻近空间;其中,所述DDR中的显存空间的带宽为总线带宽加上DDR中的显存保留空间的带宽;
所述***,还用于基于所述总线带宽阈值对所述非预期设备请求占用的总线带宽进行拆分,得到与所述总线带宽阈值相同的第一带宽和超过所述总线带宽阈值的第二带宽;将所述非预期设备的图像信号的数据中与所述第一带宽对应的数据存储至DDR的显存保留空间中;
所述***,还用于将所述非预期设备的图像信号的数据中与所述第二带宽对应的数据作为非当前帧数据存储至显存邻近空间中;
所述总线带宽限流模块,具体用于通过调整总线的ready/busy信号的有效时间以调整总线的响应时间;通过调整设备端burst/size大小以调整总线的响应时间;通过调整response通道长度以调整总线的响应时间。
7.一种基于FPGA的VGA显存带宽调控装置,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行计算机程序时实现如权利要求1至5任一项所述的基于FPGA的VGA显存带宽调控方法的步骤。
8.一种存储介质,其特征在于,所述存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至5任一项所述的基于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 CN114489541A (zh) | 2022-05-13 |
CN114489541B true 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 (13)
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 | 北京北大众志微***科技有限责任公司 | 一种动态调整带宽分配的总线仲裁方法及仲裁器 |
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实现方法、装置及设备 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101794263B (zh) * | 2010-02-03 | 2012-11-21 | 深圳市海思半导体有限公司 | 存储器的访问方法和访问控制器 |
-
2022
- 2022-01-14 CN CN202210042503.XA patent/CN114489541B/zh active Active
Patent Citations (13)
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 | 北京北大众志微***科技有限责任公司 | 一种动态调整带宽分配的总线仲裁方法及仲裁器 |
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 |
---|---|
CN114489541A (zh) | 2022-05-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11567885B2 (en) | System and method for optimizing DRAM bus switching using LLC | |
CN107220200B (zh) | 基于动态优先级的时间触发以太网数据管理***及方法 | |
US7149828B2 (en) | Bus arbitration apparatus and bus arbitration method | |
US7093256B2 (en) | Method and apparatus for scheduling real-time and non-real-time access to a shared resource | |
JP4356765B2 (ja) | 情報処理装置および方法、並びにプログラム | |
US7725633B2 (en) | Arbitration device for arbitrating among a plurality of master devices, arbitration method, and video processing device including the arbitration device | |
EP1820107A2 (en) | Streaming memory controller | |
US20180063016A1 (en) | Communication queue management system | |
JP5707911B2 (ja) | データ転送制御装置 | |
CN113141321B (zh) | 一种基于边缘计算的数据传输方法及电子设备 | |
KR20160112305A (ko) | 공유 리소스 액세스 중재 방법 및 이를 수행하기 위한 공유 리소스 액세스 중재 장치 및 공유 리소스 액세스 중재 시스템 | |
KR100480605B1 (ko) | 네트워크 제어기의 송신부 버퍼 및 수신부 버퍼를제어하는 방법 및 네트워크 제어기 | |
US6240475B1 (en) | Timer based arbitrations scheme for a PCI multi-function device | |
US7613856B2 (en) | Arbitrating access for a plurality of data channel inputs with different characteristics | |
CN114489541B (zh) | 一种基于fpga的vga显存带宽调控方法及相关组件 | |
CN113515473B (zh) | 一种QoS控制方法、总线***、计算装置和存储介质 | |
US9891840B2 (en) | Method and arrangement for controlling requests to a shared electronic resource | |
JP3766377B2 (ja) | バス制御装置及び情報処理システム | |
US20070286221A1 (en) | Memory management method and memory architecture for transmitting UWB PCA frames | |
CN114337916A (zh) | 一种网络传输速率调整方法、装置、设备及存储介质 | |
JP5623150B2 (ja) | 電子機器及びその制御方法 | |
JP4151362B2 (ja) | バス調停方式、データ転送装置、及びバス調停方法 | |
JP4633290B2 (ja) | データ処理装置及びその装置におけるアクセス調停方法 | |
JP3261715B2 (ja) | 入出力データ転送処理装置 | |
JP4635485B2 (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 |