CN116561054A - 一种基于fpga的多路数据低延迟ddr片外访存方法 - Google Patents
一种基于fpga的多路数据低延迟ddr片外访存方法 Download PDFInfo
- Publication number
- CN116561054A CN116561054A CN202310506445.6A CN202310506445A CN116561054A CN 116561054 A CN116561054 A CN 116561054A CN 202310506445 A CN202310506445 A CN 202310506445A CN 116561054 A CN116561054 A CN 116561054A
- Authority
- CN
- China
- Prior art keywords
- data
- address
- read
- write
- 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
- 238000000034 method Methods 0.000 title claims abstract description 35
- 241001522296 Erithacus rubecula Species 0.000 claims abstract description 10
- 238000012545 processing Methods 0.000 claims abstract description 9
- 230000005540 biological transmission Effects 0.000 claims description 12
- 230000004044 response Effects 0.000 claims description 6
- 238000013500 data storage Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000005856 abnormality Effects 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/78—Architectures of general purpose stored program computers comprising a single central processing unit
- G06F15/7807—System on chip, i.e. computer system on a single chip; System in package, i.e. computer system on one or more chips in a single package
- G06F15/781—On-chip cache; Off-chip memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- 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/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
- G06F13/4004—Coupling between buses
- G06F13/4027—Coupling between buses using bus bridges
- G06F13/4031—Coupling between buses using bus bridges with arbitration
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
本发明公开了一种基于FPGA的多路数据低延迟DDR片外访存方法,包括以下步骤:S1、写信号有效时根据地址片轮转调度方法选择写入地址和读出地址;S2、通过握手型异步FIFO对数据进行跨时钟域处理,拼接数据使得位宽符合DDR最大缓存标准;S3、通过写仲裁将各个通道数据写入地址调度选择的DDR地址空间;S4、读信号有效时更新读出地址为地址调度选择的读出地址;S5、通过读仲裁从地址调度选择的读出地址读出数据;S6、通过握手型异步FIFO对数据进行跨时钟域处理,并将缓存数据分解为符合数据接收端位宽的数据。该方法通过仲裁实现多路数据协同访存DDR,避免读写冲突导致的竞争,从而提高访存效率。
Description
技术领域
本发明属于FPGA数据存储领域,具体涉及一种基于FPGA的多路数据低延迟DDR片外访存方法。
背景技术
随着大数据时代的到来,对数据存储的需要也越来越高。DDR(Double Data Rate)存储技术是目前应用最广泛的技术之一。DDR存储器的特点是具有高速,高带宽,低功耗等优点。而FPGA(Field Programmable Gate Array)是一种可编程逻辑器件,可以根据不同的应用需求进行编程,实现不同的功能,具有高速,低功耗,低延迟等优点。
在实际应用中,通常在FPGA中使用DDR进行片外数据缓存;然而当需要缓存多路数据时,DDR存储器的速度和效率将成为一个问题;因为涉及到多个通道时,每个通道的时钟频率可能都互不相同,这使得保证数据正确和快速缓存变得十分困难。
另外在使用DDR对同一地址进行读写操作时,会出现读写冲突导致冲突地址处的数据发生不可预见的变化,虽然可以通过读写优先控制来避免此类问题,但不能完全解决读写冲突导致的数据异常问题;在考虑到数据源的时钟频率,数据读出端的时钟频率以及DDR缓存时钟频率时,需要减少数据传输延时,避免读写冲突导致的竞争。
发明内容
本发明针对现有技术的不足,提出一种基于FPGA的多路数据低延迟DDR片外访存方法,通过地址片轮转调度方法选择各路数据的缓存区防止读写冲突,通过握手型异步FIFO实现数据跨时钟域传输并匹配不同数据位宽,进一步提高数据传输效率;通过仲裁实现多路数据协同访存DDR,避免读写冲突导致的竞争,从而提高访存效率。
为了解决上述技术问题,本发明的技术方案为:
一种基于FPGA的多路数据低延迟DDR片外访存方法,包括以下步骤:
S1、写信号有效时根据地址片轮转调度方法选择写入地址和读出地址;
S2、通过握手型异步FIFO对数据进行跨时钟域处理,拼接数据使得位宽符合DDR最大缓存标准;
S3、通过写仲裁将各个通道数据写入地址调度选择的DDR地址空间;
S4、读信号有效时更新读出地址为地址调度选择的读出地址;
S5、通过读仲裁从地址调度选择的读出地址读出数据;
S6、通过握手型异步FIFO对数据进行跨时钟域处理,并将缓存数据分解为符合数据接收端位宽的数据。
作为优选,所述步骤S1包括以下子步骤:
S1-1、通过两级寄存器结构保存数据源的写信号的状态,第一级寄存器保存当前状态,第二级寄存器保存前一状态,当两级寄存器保存的状态不同时,并且第一级寄存器保存的当前状态有效时,输出单周期写请求信号;
S1-2、将写使能信号传输给握手型异步FIFO;
S1-3、每路数据设置多个地址片,通过地址片轮转调度方法选择写入数据的起始地址,读出地址选择上一轮写入数据的起始地址;
作为优选,所述地址片轮转调度方法具体过程为:
将DDR的地址空间分为多个通道的缓存空间,每个通道的缓存空间分为多个缓冲区,编号1,2,3…地址片,每个通道数据传输时分配不同的地址片,并按照预设规则轮流选择缓存区进行读写操作;
具体预设规则为:当分配的地址片写满或者完成一个写周期时,如果未完成数据写入,自动分配下一个地址片,此时读出地址为上一轮写入数据的地址片首地址,当分配到最后一个地址片后,下一个地址片从第一个地址片开始选择,保证地址片的缓存区只有一个线程可以进行读写操作。
作为优选,所述步骤S2包括以下子步骤:
S2-1、握手型异步FIFO接收到写请求信号后,写FIFO状态机的状态发生改变,并产生握手信号,等待DDR应答;
S2-2、FIFO内部检查是否有空闲的存储单元可以存储数据;如果有,当写使能有效时,FIFO先将不符合DDR数据位宽的通道数据拼接成DDR最大数据位宽的缓存数据,再将拼接好的数据从写时钟域转移到存储时钟域,存储到写指针所指位置;
S2-3、FIFO中缓存的数据量达到设置的阈值时,产生写请求信号到写仲裁模块,获取总线的访问权;
S2-4、当接收到DDR的写数据请求信号时,从FIFO的缓存区读出数据;
S2-5、当接收到写仲裁模块的写完成信号时,停止产生写请求,输出加上本次写入数据长度的写入地址,写入数据计数值变更为加上本次写入数据数量后的计数值;
S2-6、当写入数据计数值大于写入数据长度时,停止本轮数据传输,等待下一轮数据传输。
作为优选,所述步骤S3包括以下子步骤:
S3-1、写仲裁模块接收到各个数据源的写请求后,通过轮询方式开始各个通道的写入准备;
具体地,写仲裁模块依次检查每个通道,并向其中一个处于可用状态的通道发送特定的写入请求。如果该请求被成功处理,则说明该通道已经完成了一次写入操作;否则,会尝试向下一个处于可用状态的通道发送请求,直到所有通道都被检查完毕;
S3-2、当接收到DDR的写完成信号后,根据各个通道的优先权,将写入数据、写入地址和数据长度传输给AXI4转接桥;
S3-3、AXI4转接桥将写入协议转为AXI4协议,调用DDR控制模块将写入数据缓存到DDR对应的缓存区中。
作为优选,所述步骤S5包括以下子步骤:
S5-1、读仲裁模块接收到数据接收端的读请求信号,通过轮询方式开始数据的读出准备;
具体地,读仲裁模块依次检查每个通道,并向其中一个处于可用状态的通道发送特定的读出请求。如果该请求被成功处理,则说明该通道已经完成了一次读出操作;否则,会尝试向下一个处于可用状态的通道发送请求,直到所有通道都被检查完毕;
S5-2、当接收到AXI4转接桥转换的DDR控制模块的读完成信号后,根据数据接收端的优先级不同,输出地址片轮转调度方法选择的读出地址、读出数据长度和读使能信号给AXI4转接桥;
S5-3、AXI4转接桥将读出协议转为AXI4协议,控制DDR控制模块从相应的地址空间中读出数据。
作为优选,所述步骤S6包括以下子步骤:
S6-1、握手型异步FIFO接收到读请求信号后,读FIFO状态机的状态发生改变,并产生握手信号,等待DDR应答;
S6-2、FIFO内部检查是否有空闲的存储单元可以存储数据;如果有,当接收到读有效信号时,FIFO先将DDR最大数据位宽的缓存数据分解成符合数据接收端数据位宽的接收数据,再将分解好的数据从写时钟域转移到存储时钟域,存储到写指针所指位置;
S6-3、FIFO中缓存的数据量小于设置的阈值时,产生读请求信号到读仲裁模块,获取总线的访问权;
S6-4、当接收到数据接收端的读使能信号时,从FIFO的缓存区读出数据;
S6-5、当接收到读仲裁模块的读完成信号时,停止产生读请求,输出加上本次读出数据长度的读出地址,读出数据计数值变更为加上本次读出数据数量后的计数值;
S6-6、当读出数据计数值大于读出数据长度时,停止本轮数据读出,等待下一轮数据读出。
本发明具有以下的特点和有益效果:
本发明基于FPGA的多路数据低延迟DDR片外访存方法,使得多路数据能够缓存到DDR中并实时读出,同时降低了数据传输延时,提高了通道速率,避免了读写冲突。
本发明应用了地址片轮转调度方法,适用于高速访存,具有实时性、高带宽的特征,合理分配了DDR的容量,降低了多路数据缓存的成本;同时应用了握手型异步FIFO,实现对数据的跨时钟域处理,避免数据传输错误,同时匹配数据位宽,极大降低了数据传输过程中的延时,适用于各类时钟域数据传输。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例的一种基于FPGA的多路数据低延迟DDR片外访存方法的流程图。
图2为本发明实施例的一种基于FPGA的多路数据低延迟DDR片外访存方法法的结构框图。
图3为本发明实施例的一种基于FPGA的多路数据低延迟DDR片外访存方法法的DDR数据读写地址变换图。
具体实施方式
需要说明的是,在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。
在本发明的描述中,需要理解的是,术语“中心”、“纵向”、“横向”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”等的特征可以明示或者隐含地包括一个或者更多个该特征。在本发明的描述中,除非另有说明,“多个”的含义是两个或两个以上。
在本发明的描述中,需要说明的是,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以通过具体情况理解上述术语在本发明中的具体含义。
本发明提供了一种基于FPGA的多路数据低延迟DDR片外访存方法,如图1-图3所示,包括以下步骤:
S1、写信号有效时根据地址片轮转调度方法选择写入地址和读出地址;
所述步骤S1包括以下子步骤:
S1-1、通过两级寄存器结构保存数据源的写信号的状态,第一级寄存器保存当前状态,第二级寄存器保存前一状态,当两级寄存器保存的状态不同时,并且第一级寄存器保存的当前状态有效时,输出单周期写请求信号;
S1-2、将写使能信号传输给握手型异步FIFO;
S1-3、每路数据设置多个地址片,通过地址片轮转调度方法选择写入数据的起始地址,读出地址选择上一轮写入数据的起始地址;
具体的,所述地址片轮转调度方法具体过程为:
将DDR的地址空间分为多个通道的缓存空间,每个通道的缓存空间分为多个缓冲区,编号1,2,3…地址片,每个通道数据传输时分配不同的地址片,并按照预设规则轮流选择缓存区进行读写操作;
其中,具体预设规则为:当分配的地址片写满或者完成一个写周期时,如果未完成数据写入,自动分配下一个地址片,此时读出地址为上一轮写入数据的地址片首地址,当分配到最后一个地址片后,下一个地址片从第一个地址片开始选择,保证地址片的缓存区只有一个线程可以进行读写操作。
S2、通过握手型异步FIFO对数据进行跨时钟域处理,拼接数据使得位宽符合DDR最大缓存标准;
所述步骤S2包括以下子步骤:
S2-1、握手型异步FIFO接收到写请求信号后,写FIFO状态机的状态发生改变,并产生握手信号,等待DDR应答;
S2-2、FIFO内部检查是否有空闲的存储单元可以存储数据;如果有,当写使能有效时,FIFO先将不符合DDR数据位宽的通道数据拼接成DDR最大数据位宽的缓存数据,再将拼接好的数据从写时钟域转移到存储时钟域,存储到写指针所指位置;
S2-3、FIFO中缓存的数据量达到设置的阈值时,产生写请求信号到写仲裁模块,获取总线的访问权;
S2-4、当接收到DDR的写数据请求信号时,从FIFO的缓存区读出数据;
S2-5、当接收到写仲裁模块的写完成信号时,停止产生写请求,输出加上本次写入数据长度的写入地址,写入数据计数值变更为加上本次写入数据数量后的计数值;
S2-6、当写入数据计数值大于写入数据长度时,停止本轮数据传输,等待下一轮数据传输。
S3、通过写仲裁将各个通道数据写入地址调度选择的DDR地址空间;
所述步骤S3包括以下子步骤:
S3-1、写仲裁模块接收到各个数据源的写请求后,通过轮询方式开始各个通道的写入准备;
具体地,写仲裁模块依次检查每个通道,并向其中一个处于可用状态的通道发送特定的写入请求。如果该请求被成功处理,则说明该通道已经完成了一次写入操作;否则,会尝试向下一个处于可用状态的通道发送请求,直到所有通道都被检查完毕;
S3-2、当接收到DDR的写完成信号后,根据各个通道的优先权,将写入数据、写入地址和数据长度传输给AXI4转接桥;
S3-3、AXI4转接桥将写入协议转为AXI4协议,调用DDR控制模块将写入数据缓存到DDR对应的缓存区中。
S4、读信号有效时更新读出地址为地址调度选择的读出地址;
S5、通过读仲裁从地址调度选择的读出地址读出数据;
所述步骤S5包括以下子步骤:
S5-1、读仲裁模块接收到数据接收端的读请求信号,通过轮询方式开始数据的读出准备;
具体地,读仲裁模块依次检查每个通道,并向其中一个处于可用状态的通道发送特定的读出请求。如果该请求被成功处理,则说明该通道已经完成了一次读出操作;否则,会尝试向下一个处于可用状态的通道发送请求,直到所有通道都被检查完毕;
S5-2、当接收到AXI4转接桥转换的DDR控制模块的读完成信号后,根据数据接收端的优先级不同,输出地址片轮转调度方法选择的读出地址、读出数据长度和读使能信号给AXI4转接桥;
S5-3、AXI4转接桥将读出协议转为AXI4协议,控制DDR控制模块从相应的地址空间中读出数据。
S6、通过握手型异步FIFO对数据进行跨时钟域处理,并将缓存数据分解为符合数据接收端位宽的数据;
所述步骤S6包括以下子步骤:
S6-1、握手型异步FIFO接收到读请求信号后,读FIFO状态机的状态发生改变,并产生握手信号,等待DDR应答;
S6-2、FIFO内部检查是否有空闲的存储单元可以存储数据;如果有,当接收到读有效信号时,FIFO先将DDR最大数据位宽的缓存数据分解成符合数据接收端数据位宽的接收数据,再将分解好的数据从写时钟域转移到存储时钟域,存储到写指针所指位置;
S6-3、FIFO中缓存的数据量小于设置的阈值时,产生读请求信号到读仲裁模块,获取总线的访问权;
S6-4、当接收到数据接收端的读使能信号时,从FIFO的缓存区读出数据;
S6-5、当接收到读仲裁模块的读完成信号时,停止产生读请求,输出加上本次读出数据长度的读出地址,读出数据计数值变更为加上本次读出数据数量后的计数值;
S6-6、当读出数据计数值大于读出数据长度时,停止本轮数据读出,等待下一轮数据读出。
以上结合附图对本发明的实施方式作了详细说明,但本发明不限于所描述的实施方式。对于本领域的技术人员而言,在不脱离本发明原理和精神的情况下,对这些实施方式包括部件进行多种变化、修改、替换和变型,仍落入本发明的保护范围内。
Claims (6)
1.一种基于FPGA的多路数据低延迟DDR片外访存方法,其特征在于,包括如下步骤:
S1、写信号有效时根据地址片轮转调度方法选择写入地址和读出地址;
S2、通过FIFO对数据进行跨时钟域处理,拼接数据使得位宽符合DDR最大缓存标准,
S2-1、FIFO接收到写请求信号后,写FIFO状态机的状态发生改变,并产生握手信号,等待DDR应答;
S2-2、FIFO内部检查是否有空闲的存储单元可以存储数据;如果有,当写使能有效时,FIFO先将不符合DDR数据位宽的通道数据拼接成DDR最大数据位宽的缓存数据,再将拼接好的数据从写时钟域转移到存储时钟域,存储到写指针所指位置;
S2-3、FIFO中缓存的数据量达到设置的阈值时,产生写请求信号到写仲裁模块,获取总线的访问权;
S2-4、当接收到DDR的写数据请求信号时,从FIFO的缓存区读出数据;
S2-5、当接收到写仲裁模块的写完成信号时,停止产生写请求,输出加上本次写入数据长度的写入地址,写入数据计数值变更为加上本次写入数据数量后的计数值;
S2-6、当写入数据计数值大于写入数据长度时,停止本轮数据传输,等待下一轮数据传输;
S3、通过写仲裁将各个通道数据写入地址调度选择的DDR地址空间;
S4、读信号有效时更新读出地址为地址调度选择的读出地址;
S5、通过读仲裁从地址调度选择的读出地址读出数据;
S6、通过FIFO对数据进行跨时钟域处理,并将缓存数据分解为符合数据接收端位宽的数据,
S6-1、FIFO接收到读请求信号后,读FIFO状态机的状态发生改变,并产生握手信号,等待DDR应答;
S6-2、FIFO内部检查是否有空闲的存储单元可以存储数据;如果有,当接收到读有效信号时,FIFO先将DDR最大数据位宽的缓存数据分解成符合数据接收端数据位宽的接收数据,再将分解好的数据从写时钟域转移到存储时钟域,存储到写指针所指位置;
S6-3、FIFO中缓存的数据量小于设置的阈值时,产生读请求信号到读仲裁模块,获取总线的访问权;
S6-4、当接收到数据接收端的读使能信号时,从FIFO的缓存区读出数据;
S6-5、当接收到读仲裁模块的读完成信号时,停止产生读请求,输出加上本次读出数据长度的读出地址,读出数据计数值变更为加上本次读出数据数量后的计数值;
S6-6、当读出数据计数值大于读出数据长度时,停止本轮数据读出,等待下一轮数据读出。
2.根据权利要求1所述的基于FPGA的多路数据低延迟DDR片外访存方法,其特征在于,所述步骤S1包括如下子步骤:
S1-1、通过两级寄存器结构保存数据源的写信号的状态,第一级寄存器保存当前状态,第二级寄存器保存前一状态,当两级寄存器保存的状态不同时,并且第一级寄存器保存的当前状态有效时,输出单周期写请求信号;
S1-2、将写使能信号传输给FIFO;
S1-3、每路数据设置多个地址片,通过地址片轮转调度方法选择写入数据的起始地址,读出地址选择上一轮写入数据的起始地址。
3.根据权利要求2所述的基于FPGA的多路数据低延迟DDR片外访存方法,其特征在于,所述步骤S1-3中,地址片轮转调度方法为:将DDR的地址空间分为多个通道的缓存空间,每个通道的缓存空间分为多个缓冲区,编号1,2,3…地址片,每个通道数据传输时分配不同的地址片,并按照预设规则轮流选择缓存区进行读写操作。
4.根据权利要求3所述的基于FPGA的多路数据低延迟DDR片外访存方法,其特征在于,所述步骤1-3中,轮流选择缓存区进行读写操作的预设规则为:当分配的地址片写满或者完成一个写周期时,如果未完成数据写入,自动分配下一个地址片,此时读出地址为上一轮写入数据的地址片首地址,当分配到最后一个地址片后,下一个地址片从第一个地址片开始选择,保证地址片的缓存区只有一个线程可以进行读写操作。
5.根据权利要求1所述的基于FPGA的多路数据低延迟DDR片外访存方法,其特征在于,所述步骤S3包括如下子步骤:
S3-1、写仲裁模块接收到各个数据源的写请求后,通过轮询方式开始各个通道的写入准备;
S3-2、当接收到DDR的写完成信号后,根据各个通道的优先权,将写入数据、写入地址和数据长度传输给AXI4转接桥;
S3-3、AXI4转接桥将写入协议转为AXI4协议,调用DDR控制模块将写入数据缓存到DDR对应的缓存区中。
6.根据权利要求1所述的基于FPGA的多路数据低延迟DDR片外访存方法,其特征在于,所述步骤S5包括如下子步骤:
S5-1、读仲裁模块接收到数据接收端的读请求信号,通过轮询方式开始数据的读出准备;
S5-2、当接收到AXI4转接桥转换的DDR控制模块的读完成信号后,根据数据接收端的优先级不同,输出地址片轮转调度方法选择的读出地址、读出数据长度和读使能信号给AXI4转接桥;
S5-3、AXI4转接桥将读出协议转为AXI4协议,控制DDR控制模块从相应的地址空间中读出数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310506445.6A CN116561054A (zh) | 2023-05-06 | 2023-05-06 | 一种基于fpga的多路数据低延迟ddr片外访存方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310506445.6A CN116561054A (zh) | 2023-05-06 | 2023-05-06 | 一种基于fpga的多路数据低延迟ddr片外访存方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116561054A true CN116561054A (zh) | 2023-08-08 |
Family
ID=87495883
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310506445.6A Pending CN116561054A (zh) | 2023-05-06 | 2023-05-06 | 一种基于fpga的多路数据低延迟ddr片外访存方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116561054A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116991330A (zh) * | 2023-09-25 | 2023-11-03 | 苏州元脑智能科技有限公司 | 数据存储装置、数据读写方法及电子设备 |
CN117130957A (zh) * | 2023-08-31 | 2023-11-28 | 成都奥瑞科电子科技有限公司 | 一种基于信号处理的多通道高速缓存系统及装置 |
CN117472288A (zh) * | 2023-12-27 | 2024-01-30 | 成都领目科技有限公司 | 一种基于raid0硬盘组的io写入方法及模型 |
CN117742652A (zh) * | 2023-12-27 | 2024-03-22 | 国创芯科技(江苏)有限公司 | 一种基于动态窗口统计的memory带宽优化装置及方法 |
CN117785032A (zh) * | 2023-11-30 | 2024-03-29 | 中科驭数(北京)科技有限公司 | 基于切片的存储管理方法、装置、设备及介质 |
-
2023
- 2023-05-06 CN CN202310506445.6A patent/CN116561054A/zh active Pending
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117130957A (zh) * | 2023-08-31 | 2023-11-28 | 成都奥瑞科电子科技有限公司 | 一种基于信号处理的多通道高速缓存系统及装置 |
CN117130957B (zh) * | 2023-08-31 | 2024-08-02 | 成都奥瑞科电子科技有限公司 | 一种基于信号处理的多通道高速缓存系统及装置 |
CN116991330A (zh) * | 2023-09-25 | 2023-11-03 | 苏州元脑智能科技有限公司 | 数据存储装置、数据读写方法及电子设备 |
CN117785032A (zh) * | 2023-11-30 | 2024-03-29 | 中科驭数(北京)科技有限公司 | 基于切片的存储管理方法、装置、设备及介质 |
CN117472288A (zh) * | 2023-12-27 | 2024-01-30 | 成都领目科技有限公司 | 一种基于raid0硬盘组的io写入方法及模型 |
CN117742652A (zh) * | 2023-12-27 | 2024-03-22 | 国创芯科技(江苏)有限公司 | 一种基于动态窗口统计的memory带宽优化装置及方法 |
CN117472288B (zh) * | 2023-12-27 | 2024-04-16 | 成都领目科技有限公司 | 一种基于raid0硬盘组的io写入方法及模型 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN116561054A (zh) | 一种基于fpga的多路数据低延迟ddr片外访存方法 | |
CN103198856B (zh) | 一种ddr控制器及请求调度方法 | |
US20020041520A1 (en) | Scratchpad memory | |
US6850998B2 (en) | Disk array system and a method for controlling the disk array system | |
US11561862B2 (en) | Refresh management for DRAM | |
US7970959B2 (en) | DMA transfer system using virtual channels | |
CN110058816B (zh) | 一种基于ddr的高速多用户队列管理器及方法 | |
CN110737618B (zh) | 内嵌处理器进行快速数据通信的方法、装置及存储介质 | |
US20240021239A1 (en) | Hardware Acceleration System for Data Processing, and Chip | |
JP3444154B2 (ja) | メモリアクセス制御回路 | |
US7774513B2 (en) | DMA circuit and computer system | |
WO2024103720A1 (zh) | 一种数据传输方法、装置、电子设备及非易失性可读存储介质 | |
CN109285580B (zh) | 数据预处理装置、方法及异步双端随机存取存储器系统 | |
CN113126911A (zh) | 基于ddr3 sdram的队列管理方法、介质、设备 | |
JP2007172112A (ja) | メモリコントローラ | |
CN108897696B (zh) | 一种基于DDRx存储器的大容量FIFO控制器 | |
US8244929B2 (en) | Data processing apparatus | |
CN113821457B (zh) | 一种高性能读写链表缓存的装置及方法 | |
CN106502923B (zh) | 阵列处理器中簇内存储访问行列两级交换电路 | |
CN113886287A (zh) | 一种基于SoC的自适应实时缓存系统及方法 | |
KR100335371B1 (ko) | 로컬 메모리 중재 및 인터페이스 장치 | |
US20240331746A1 (en) | Direct memory access (dma) circuit and operation method thereof | |
CN118069570B (zh) | 一种门铃式芯片访问系统、装置和方法 | |
WO2024001414A1 (zh) | 报文的缓存方法、装置、电子设备及存储介质 | |
US12086418B1 (en) | Memory sprinting |
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 |