CN108776647B - 基于axi总线的多ddr控制器管理系统 - Google Patents
基于axi总线的多ddr控制器管理系统 Download PDFInfo
- Publication number
- CN108776647B CN108776647B CN201810563450.XA CN201810563450A CN108776647B CN 108776647 B CN108776647 B CN 108776647B CN 201810563450 A CN201810563450 A CN 201810563450A CN 108776647 B CN108776647 B CN 108776647B
- Authority
- CN
- China
- Prior art keywords
- read
- ddr
- write
- data
- module
- 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
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/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4204—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
- G06F13/4234—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a memory bus
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2213/00—Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F2213/0038—System on Chip
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Bus Control (AREA)
Abstract
本发明公开了一种基于AXI总线的多DDR控制器管理系统,包括N个(N>0)DDR控制器、N个(N>0)交换开关、M个(M>0)端口适配器,所述端口适配器用于将用户端的读写操作信号按照带宽平均分配的原则通过全通网络和交换开关转换为一个DDR控制器的读写操作信号;所述交换开关用于通过全通网络和端口适配器对L个(L>0)用户端的读写地址和数据进行交换和仲裁,输出仲裁后的读写地址和数据信号给DDR控制器;所述DDR控制器根据所述读写控制信号对所控制的DDR芯片进行读写访问操作。本发明具备高效的多DDR读写访问的仲裁和带宽均衡能力和标准的AXI接口,用户可以通过标准接口方便地进行多DDR访问,能够满足雷达信号处理领域的FPGA开发需求。
Description
技术领域
本发明涉及计算机应用技术领域,具体地说是一种基于AXI总线的多DDR控制器管理系统。
背景技术
随着数字相控阵雷达的发展,雷达产品的工作带宽越来越大、数字合成后的通道数越来越多、雷达信号处理的算法处理流程越来越复杂、处理精度越来越高,这些已经成为雷达发展必然趋势。
雷达工作带宽的增大、通道数的增多,直接导致了信号处理系统输入数据率的激增,以采样率为50M、16通道、输入IQ各16bit的数字雷达为例,输入数据率就高达3200MB/s。考虑到DDR读写效率,单片DDR的访问带宽(假定DDR3的峰值访问带宽为6400MB/s)无法满足原始输入的读写需求,需要多组DDR的并行存储才能满足系统需求。
雷达信号处理算法处理流程的复杂化,使得处理过程需要多次访问中间结果,甚至需要不连续访存(如数据转置操作),这就要求DDR控制器具备高效的多端口读写仲裁机制,能够满足多端口同时访问DDR的能力。
雷达信号处理算法处理的高精度要求,使得信号处理过程需要使用单精度浮点数据,甚至双精度的浮点数据类型。浮点数据类型导致了原始数据位宽的扩展,带来了运算过程中访问带宽的进一步增大。
信号处理的FPGA实现过程中,多组DDR的并行读写的仲裁,多组DDR访问带宽的均衡,以及多组DDR的空间管理等问题,都是信号处理访存相关设计的难点所在,这些都将耗费信号处理工程师大量的时间和精力。如何将这些与DDR控制相关的功能统一起来,设计一个通用的管理多组DDR读写的高效控制器管理模块,使得用户在信号处理开发过程中不必关心访存细节就可以方便的实现多组DDR的高效访问,从而可以集中精力进行信号处理算法的开发,正是本发明设计的初衷。
发明内容
本发明的目的是克服上述现有技术的不足,提供一种方便的实现多组DDR的高效访问的基于AXI总线的多DDR控制器管理系统。
本发明采用的技术方案为:基于AXI总线的多DDR控制器管理系统,包括N个(N为整数,N>0)DDR控制器、N个(N为整数,N>0)交换开关、M个(M为整数,M>0)端口适配器,M>N;所述交换开关的数量与DDR控制器的数量相同;所述每个交换开关一端与一个DDR控制器电连接,另一端通过全通网络与M个端口适配器电连接,所述端口适配器另一端用于与用户端电连接;所述端口适配器用于将用户端的读写操作信号按照带宽平均分配的原则通过全通网络和交换开关转换为一个DDR控制器的读写操作信号;所述交换开关用于通过全通网络和端口适配器对L个(L>0)用户端的读写地址和数据进行交换和仲裁,输出仲裁后的读写地址和数据信号给DDR控制器,所述DDR控制器根据所述读写控制信号对所控制的DDR芯片进行读写访问操作。
优选的,所述M个(M>0)端口适配器中的每个端口适配器都包含一个用户端输入接口和N个输出端接口,所述每个端口适配器主要有读地址读长度生成模块、读地址分配模块、读数据裁剪模块、读数据拼合模块、写地址写长度生成模块、写地址分配模块、写数据扩充模块和写数据分配模块八个子模块组成,所述每个模块的输入输出接口均采用标准的AXI4协议。
读地址读长度生成模块根据用户端读地址通道中的地址和读猝发长度信号,结合要读的DDR控制器个数,重新计算映射到多个DDR空间的物理地址和猝发长度信息,并将得到的结果传输至读地址分配模块;
读地址分配模块将得到的物理地址和猝发长度信息,结合DDR控制的器ID等信息并行输出四个(具备向下兼容和扩展功能)读DDR地址通道中;
读数据裁剪模块接收来自读数据拼合模块输入的数据,根据要读出的猝发长度,如果输入到输入数据裁剪模块的数据长度大于要读出的猝发长度,则对输入的数据进行裁剪,使得输出的数据长度与要求的猝发长度一致;
读数据拼合模块接收来自多个DDR的数据进行并串转换,形成串行的数据流输入到读数据裁剪模块;
写地址写长度生成模块根据用户端写地址通道中的地址和写猝发长度信号,结合要写的DDR控制器个数,重新计算映射到多个DDR空间的物理地址和猝发长度信息,并将得到的结果传输至写地址分配模块;
写地址分配模块将得到的物理地址和猝发长度信息,结合DDR控制的器ID等信息并行输出四个(具备向下兼容和扩展功能)写DDR地址通道中;
写数据扩充模块将输入的数据长度补充至多个DDR的整数倍,并将扩充后的数据输出到写数据分配模块;
写数据分配模块将接受的数据轮询写入多个DDR中,形成并行的多路写DDR通道数据。
本发明可以同时管理N个(N>0)DDR控制器(具备扩展能力),支持M个(M>0)读写端口(具备扩展能力)的并行读写访问能力,具备高效的多组的DDR读写访问的仲裁和带宽均衡能力和标准的AXI接口。用户可以通过标准接口方便地进行多组DDR访问,能够满足雷达信号处理领域的FPGA开发需求。
附图说明
图1为多DDR控制器管理模块(N=4,M=8)框架示意图。
图2为交换开关输入输出接口示意图。
图3为端口1适配器输入输出接口示意图。
图4为端口适配器框架示意图。
图5为读通道结构示意图。
图6为写通道结构示意图。
具体实施方式
下面结合附图对本发明做进一步阐述。
本发明提供了一种基于AXI总线的多DDR控制器管理系统,包括N个(N为整数,N>0)DDR控制器、N个(N为整数,N>0)交换开关、M个(M为整数,M>0)端口适配器,M>N;所述交换开关的数量与DDR控制器的数量相同;所述每个交换开关一端与一个DDR控制器电连接,另一端通过全通网络与M个端口适配器电连接,所述端口适配器另一端用于与用户端电连接;所述端口适配器用于将用户端的读写操作信号按照带宽平均分配的原则通过全通网络和交换开关转换为一个DDR控制器的读写操作信号;所述交换开关用于通过全通网络和端口适配器对L个(L>0)用户端的读写地址和数据进行交换和仲裁,输出仲裁后的读写地址和数据信号给DDR控制器,所述DDR控制器根据所述读写控制信号对所控制的DDR芯片进行读写访问操作。
如图1所示,基于AXI总线的多DDR控制器管理系统,可以同时管理N个(N>0)DDR控制器(具备扩展能力),支持M个(M>0)读写端口(具备扩展能力)的并行读写访问能力。为了方便描述,下面以八(M=8)端口四(N=4)DDR控制器管理模块(具备向下兼容和扩展功能)为例进行说明,包括:
四个DDR控制器,各个DDR控制器独立对所控制的DDR芯片进行读写访问操作。
四个交换开关,用于对八个用户端的读写地址和数据进行交换和仲裁,输出仲裁后的读写地址和数据信号;
八个端口适配器,用于将用户端口的读写操作按照带宽平均分配的原则转换为四个DDR控制器的读写操作。
八个用户端的读写端口分别连接到八个端口适配器上,每个端口适配器(参照图3)输出四个DDR读写信号与四个交换开关相连。八个端口适配器与四个交换开关通过一个全通网络互连;每个交换开关输入八个端口的读写信号,进行仲裁后输出一个通道的读写控制信号;四个交换开关分别与四个DDR控制器相连,每个DDR控制器控制一个片外DDR芯片。
为了简化框架描述,图1中的每一根带箭头实线都代表一个标准的AXI4接口。AXI4协议基于猝发式传输机制。在地址通道上,每个交易有地址和控制信息,这些信息描述了需要传输的数据性质。在主设备和从设备之间所传输的数据分别使用到从设备的写数据通道和到主设备的读数据通道。在从主设备到从设备的写数据交易中,AXI有一个额外的写响应通道,从设备通过该通道向主设备发出信号表示完成写交易。
所有的AXI4包含了5个不同的通道:读地址通道,写地址通道,读数据通道,写数据通道和写响应通道。每个通道由一个信号集构成,并且使用双向的VALID和READY握手信号机制。信息源使用VALID信号,表示在通道上存在可用的有效数据或者控制信息;而信息接收源使用READY信号,表示可以接收数据。读数据通道和写数据通道也包含LAST信号,该信号用来表示在一个交易发生时,最后一个传输的数据项。图5给出了AXI4使用读地址和读数据通道的读交易。图6给出了AXI4使用写地址和写数据通道的写交易。
下面结合图2、图3和图4对本发明做进一步详细描述:
图2以交换开关1为例,介绍了交换开关的输入输出接口示意图。交换开关包含八个输入端口(具备扩展和向下兼容功能)和一个输出端口。输入和输出端口包含一个读地址通道、读数据通道、写地址通道和写数据通道。交换开关对输入的八个输入端口进行仲裁,按照指定的仲裁方式输出一个端口的数据。交换开关的仲裁支持轮询方式和优先级方式。
图3以端口1适配器为例,介绍了端口适配器的输入输出接口示意图。端口适配器包含一个用户端输入接口和四个输出端接口(具备向下兼容和扩展功能)。
图4所示,每个端口适配器主要有读地址读长度生成模块、读地址分配模块、读数据裁剪模块、读数据拼合模块、写地址写长度生成模块、写地址分配模块、写数据扩充模块和写数据分配模块八个子模块组成,所述每个模块的输入输出接口均采用标准的AXI4协议。
读地址读长度生成模块根据用户端读地址通道中的地址和读猝发长度信号,结合要读的DDR控制器个数,重新计算映射到多个DDR空间的物理地址和猝发长度信息,并将得到的结果传输至读地址分配模块;
读地址分配模块将得到的物理地址和猝发长度信息,结合DDR控制的器ID等信息并行输出四个(具备向下兼容和扩展功能)读DDR地址通道中;
读数据裁剪模块接收来自读数据拼合模块输入的数据,根据要读出的猝发长度,如果输入到输入数据裁剪模块的数据长度大于要读出的猝发长度,则对输入的数据进行裁剪,使得输出的数据长度与要求的猝发长度一致;
读数据拼合模块接收来自多个DDR的数据进行并串转换,形成串行的数据流输入到读数据裁剪模块;
写地址写长度生成模块根据用户端写地址通道中的地址和写猝发长度信号,结合要写的DDR控制器个数,重新计算映射到多个DDR空间的物理地址和猝发长度信息,并将得到的结果传输至写地址分配模块;
写地址分配模块将得到的物理地址和猝发长度信息,结合DDR控制的器ID等信息并行输出四个(具备向下兼容和扩展功能)写DDR地址通道中;
写数据扩充模块将输入的数据长度补充至多个DDR的整数倍(如四个DDR,则补充至四的倍数),并将扩充后的数据输出到写数据分配模块;
写数据分配模块将接受的数据轮询写入多个DDR中,形成并行的多路写DDR通道数据(如有四个DDR,则形成四路写DDR数据通道)。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和变形,这些改进和变形也应视为本发明的保护范围。
Claims (2)
1.一种基于AXI总线的多DDR控制器管理系统,其特征在于:
包括N个DDR控制器、N个交换开关、M个端口适配器;其中,N为整数,N>0;M为整数,M>0;M>N;
所述交换开关的数量与DDR控制器的数量相同;
所述每个交换开关一端与一个DDR控制器电连接,另一端通过全通网络与M个端口适配器电连接,所述端口适配器另一端用于与用户端电连接;
所述端口适配器用于将用户端的读写操作信号按照带宽平均分配的原则通过全通网络和交换开关转换为一个DDR控制器的读写操作信号;
所述交换开关用于通过全通网络和端口适配器对L个用户端的读写地址和数据进行交换和仲裁,输出仲裁后的读写地址和数据信号给DDR控制器,所述DDR控制器根据读写控制信号对所控制的DDR芯片进行读写访问操作,其中,L>0。
2.根据权利要求1所述的基于AXI总线的多DDR控制器管理系统,其特征在于:所述M个端口适配器中的每个端口适配器都包含一个用户端输入接口和N个输出端接口,所述每个端口适配器包括读地址读长度生成模块、读地址分配模块、读数据裁剪模块、读数据拼合模块、写地址写长度生成模块、写地址分配模块、写数据扩充模块和写数据分配模块,所述每个模块的输入输出接口均采用标准的AXI4协议,其中M>0。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810563450.XA CN108776647B (zh) | 2018-06-04 | 2018-06-04 | 基于axi总线的多ddr控制器管理系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810563450.XA CN108776647B (zh) | 2018-06-04 | 2018-06-04 | 基于axi总线的多ddr控制器管理系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108776647A CN108776647A (zh) | 2018-11-09 |
CN108776647B true CN108776647B (zh) | 2021-04-13 |
Family
ID=64025750
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810563450.XA Active CN108776647B (zh) | 2018-06-04 | 2018-06-04 | 基于axi总线的多ddr控制器管理系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108776647B (zh) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109634900B (zh) * | 2018-11-13 | 2020-12-08 | 北京时代民芯科技有限公司 | 一种基于axi协议的多层次低延迟互连结构 |
US11544009B2 (en) * | 2019-04-11 | 2023-01-03 | Black Sesame Technologies Inc. | Heterogeneous computation and hierarchical memory image sensing pipeline |
CN111091854A (zh) * | 2019-11-21 | 2020-05-01 | 中国航空工业集团公司西安航空计算技术研究所 | 一种命令处理器与ddr读写访问电路 |
CN111510657B (zh) * | 2019-12-18 | 2022-04-19 | 中国船舶重工集团公司第七0九研究所 | 基于fpga的多路雷达和光电视频综合显示方法及系统 |
CN112052206B (zh) * | 2020-08-31 | 2023-03-28 | 浙江双成电气有限公司 | 基于仲裁的多端口数据存储系统 |
CN112559399A (zh) * | 2020-11-27 | 2021-03-26 | 山东云海国创云计算装备产业创新中心有限公司 | 一种多axi接口的ddr控制器及其控制方法 |
CN112948293A (zh) * | 2021-02-26 | 2021-06-11 | 浪潮电子信息产业股份有限公司 | 一种多用户接口的ddr仲裁器及ddr控制器芯片 |
CN113238974A (zh) * | 2021-05-19 | 2021-08-10 | 青岛信芯微电子科技股份有限公司 | 一种总线带宽效率统计方法、装置、和设备及介质 |
CN113360424B (zh) * | 2021-06-16 | 2024-01-30 | 上海创景信息科技有限公司 | 基于多通路独立axi总线的rldram3控制器 |
CN113434455B (zh) * | 2021-06-22 | 2023-10-24 | 中国电子科技集团公司第十四研究所 | 一种基于fpga的光纤接口数据缓存管理方法 |
CN115827521B (zh) * | 2023-02-08 | 2023-05-12 | 广州匠芯创科技有限公司 | 基于psram控制器的带宽管理方法、装置和介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105868134A (zh) * | 2016-04-14 | 2016-08-17 | 烽火通信科技股份有限公司 | 高性能多口ddr控制器及其实现方法 |
JP2016224787A (ja) * | 2015-06-02 | 2016-12-28 | 村田機械株式会社 | データ処理装置 |
CN106325759A (zh) * | 2015-06-18 | 2017-01-11 | 中兴通讯股份有限公司 | 一种可动态配置端口带宽的ddr控制方法及装置 |
CN106569727A (zh) * | 2015-10-08 | 2017-04-19 | 福州瑞芯微电子股份有限公司 | 一种多控制器间多存储器共享并行数据读写装置及其写入、读取方法 |
-
2018
- 2018-06-04 CN CN201810563450.XA patent/CN108776647B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2016224787A (ja) * | 2015-06-02 | 2016-12-28 | 村田機械株式会社 | データ処理装置 |
CN106325759A (zh) * | 2015-06-18 | 2017-01-11 | 中兴通讯股份有限公司 | 一种可动态配置端口带宽的ddr控制方法及装置 |
CN106569727A (zh) * | 2015-10-08 | 2017-04-19 | 福州瑞芯微电子股份有限公司 | 一种多控制器间多存储器共享并行数据读写装置及其写入、读取方法 |
CN105868134A (zh) * | 2016-04-14 | 2016-08-17 | 烽火通信科技股份有限公司 | 高性能多口ddr控制器及其实现方法 |
Also Published As
Publication number | Publication date |
---|---|
CN108776647A (zh) | 2018-11-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108776647B (zh) | 基于axi总线的多ddr控制器管理系统 | |
CN109271335B (zh) | 一种多通道数据源ddr缓存的fpga实现方法 | |
US9887008B2 (en) | DDR4-SSD dual-port DIMM device | |
US20150261446A1 (en) | Ddr4-onfi ssd 1-to-n bus adaptation and expansion controller | |
CN105335326A (zh) | 一种基于fpga的pcie转sata接口阵列的装置 | |
CN101650639B (zh) | 一种存储装置及计算机系统 | |
KR20160105294A (ko) | 모듈화된 불휘발성 플래시 메모리 블레이드 | |
CA2558360A1 (en) | Pvdm (packet voice data module) generic bus protocol | |
CN116841932B (zh) | 一种可灵活连接的便携式高速数据存取设备及其工作方法 | |
EP0204827A1 (en) | Communication controller using multiported random access memory | |
US8566416B2 (en) | Method and system for accessing storage device | |
KR100968636B1 (ko) | 메모리 칩 및 이를 포함하는 시스템 | |
CN112035381A (zh) | 一种存储系统及存储数据处理方法 | |
CN111338996A (zh) | 一种支持多协议的复合总线控制器 | |
US6925519B2 (en) | Automatic translation from SCSI command protocol to ATA command protocol | |
US9116881B2 (en) | Routing switch apparatus, network switch system, and routing switching method | |
CN109189347A (zh) | 一种共享存储模块、服务器及系统 | |
Kwon et al. | Gen-z memory pool system architecture | |
CN116737624B (zh) | 一种高性能数据存取装置 | |
CN204347812U (zh) | 一种基于fpga的服务器存储电路 | |
US20230132724A1 (en) | Broadcast adapters in a network-on-chip | |
JP2006092286A (ja) | データ転送装置及び画像形成システム | |
US9471538B2 (en) | Network on a chip socket protocol | |
US20110090924A1 (en) | System to connect a serial scsi array controller to a storage area network | |
CN105630400A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |