CN111694775A - 一种在ddr3中基于时分复用进行读写控制的装置 - Google Patents
一种在ddr3中基于时分复用进行读写控制的装置 Download PDFInfo
- Publication number
- CN111694775A CN111694775A CN202010517116.8A CN202010517116A CN111694775A CN 111694775 A CN111694775 A CN 111694775A CN 202010517116 A CN202010517116 A CN 202010517116A CN 111694775 A CN111694775 A CN 111694775A
- Authority
- CN
- China
- Prior art keywords
- read
- write
- ddr3
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 claims abstract description 41
- 230000008569 process Effects 0.000 claims abstract description 36
- 230000007274 generation of a signal involved in cell-cell signaling Effects 0.000 claims abstract description 9
- 230000003993 interaction Effects 0.000 claims abstract description 4
- 238000006243 chemical reaction Methods 0.000 abstract description 11
- 238000013500 data storage Methods 0.000 abstract description 3
- 238000004088 simulation Methods 0.000 description 12
- 239000011159 matrix material Substances 0.000 description 9
- 238000010586 diagram Methods 0.000 description 8
- 238000005516 engineering process Methods 0.000 description 7
- 238000012545 processing Methods 0.000 description 5
- 238000013461 design Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 238000004891 communication Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 241000282414 Homo sapiens Species 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000020169 heat generation Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 230000009191 jumping Effects 0.000 description 1
- 230000011664 signaling Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000003786 synthesis reaction Methods 0.000 description 1
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/1668—Details of memory controller
- G06F13/1689—Synchronisation and timing concerns
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Time-Division Multiplex Systems (AREA)
Abstract
本发明针对要在一片DDR3上完成多路独立信号的数据存储及转换的问题首先需要合理实现DDR3针对不同信号的读写控制的问题,提供一种在DDR3中基于时分复用进行读写控制的装置,包括时分复用模块、DDR3写控制状态机模块、DDR3读控制状态机模块和DDR3读写数据模块、DDR3读写地址模块及读写命令信号产生模块;时分复用模块用于产生各独立信号的专属读时隙和写时隙,各路径信号读、写过程完全独立;DDR3读、写控制状态机模块分别用于控制DDR3的数据读、写过程;DDR3的读写数据、地址及读写命令信号产生模块用于完成和DDR3最直接的数据交互过程。本发明硬件实现结构简单,灵活可配置,可降低实现成本,在一定条件下可提高***运行频率。
Description
技术领域
本发明涉及DDR3内存的读写控制技术,特别涉及在DDR3中进行时分复用读写控制的技术。
背景技术
人类对各方面需求的提高促进了科学技术的日益发展,作为目前内存使用非常广泛的双倍速率同步动态存储器DDR SDRAM(Double Data Rate Synchronous DynamicRandom Access Memory),也得到了快速的发展。由于DDR3的高速率,功耗、发热量较小和成本相对较低的原因,使得DDR3目前在FPGA开发板上得到了广泛的使用。在FPGA实现上使用DDR3,一方面是为了存储大容量的数据,以降低FPGA芯片内的存储资源消耗;二是利用DDR3的高速率性,可以提高***的数据吞吐率和降低处理延迟时间。此外通过DDR3还可以方便的将大量的数据通过DMA的方式传给CPU。
由于对技术需求的提高,往往在一些硬件实现上会需要在一块芯片上处理多路信号数据,比如对于一个需要支持多用户接入且支持多信息速率的无线通信***,其基带处理需要在FPGA中来实现,为了改善多路信号带来的资源消耗问题,此时会考虑使用DDR3来存储中间处理的数据,但是又基于成本及DDR3存储特点的考虑,在需要处理多路独立信号时,DDR同一时间只能支持一路信号进行读或写。在不能对每一路独立信号都配备一片DDR3时,一种比较容易想到的解决方法就是在一片DDR3上对多路独立信号进行数据处理,这样就出现了需要在一片DDR3上完成多路独立信号的数据存储及转换的问题,要解决这个问题首先需要合理实现DDR3针对不同信号的读写控制。
发明内容
本发明为解决上述技术问题是,提供一种在DDR3针对不同信号实现读写控制的装置。
本发明为解决上述技术问题所采用的技术方案是,一种在DDR3中基于时分复用进行读写控制的装置,包括时分复用模块、DDR3写控制状态机模块、DDR3读控制状态机模块和DDR3读写数据模块、DDR3读写地址模块及读写命令信号产生模块;
时分复用模块用于产生各独立信号的专属读时隙和写时隙,各路径信号的读、写时刻不相关,读、写过程完全独立;
DDR3读、写控制状态机模块分别用于控制DDR3的数据读、写过程;采用状态机的形式;读控制状态机在各读时隙内在中生成读操作使能信号发送至DDR3的读写数据、地址及读写命令信号产生模块;写控制状态机在各写时隙内在生成写操作使能信号发送至DDR3的读写数据、地址及读写命令信号产生模块;
DDR3的读写数据、地址及读写命令信号产生模块用于完成和DDR3最直接的数据交互过程;
DDR3读写地址模块用于,在收到读或写操作使能信号之后,在对应的读或写时隙内,产生读或写地址信号发送至DDR3的IP核;
DDR3读写数据模块用于,在收到读或写操作使能信号之后,在对应的读或写时隙内,根据读或写命令控制信号和读或写地址信号,通过DDR3的IP核实现DDR3对应的读或写地址上的数据读出或写入;
读写命令信号产生模块用于,在收到读或写操作使能信号之后,对应的读或写时隙内,产生DDR3的读或写命令信号并发送至DDR3的IP核。
由于DDR3的数据速率一般都远高于待处理的数据传输速率,使用一片DDR3存储多路独立信号的数据在牺牲一点DDR3读写控制复杂度的条件下,可以提高存储带宽利用率,并且提高***吞吐率。
本发明的有益效果是,硬件实现结构简单,灵活可配置,可降低实现成本,在一定条件下可提高***运行频率。
附图说明
图1为基于一片DDR3完成多路独立信号的数据转换实现框图;
图2为DDR3读写控制模块硬件实现框图;
图3为两路独立信号下的DDR3时分复用控制原理图;
图4为实例一硬件实现框图;
图5为实例一中Modelsim仿真结果图;
图6为实例一中资源消耗图。
具体实施方式
下面结合具体实现架构对本发明作进一步的详细描述。但不应将此理解为本发明上述主题的范围仅限于以下的实例,凡基于本发明内容所实现的技术均属于本发明的范围。
一种基于FPGA在DDR3中完成多路独立数据转换的时分复用读写控制技术,包括:
A.提出了一种利用时分复用技术在DDR3上完成多路独立信号数据存储及转换的FPGA实现方法。
B.该方法对应的硬件实现架构主要包含时分复用模块,控制写DDR3的状态机模块,控制读DDR3的状态机模块和DDR3的读写数据、地址及控制信号的产生模块。
C.时分复用模块用于产生各独立信号的专用读写时隙。根据独立信号的数量,各独立信号的数据量及所需的最小吞吐率,在时分复用模块产生适合各路径信号,具有特定时钟的读写时隙。
D.DDR3读写控制状态机模块控制DDR3的数据读写过程。该模块采用状态机的形式,由特定的时隙控制,在写状态机中生成写操作使能信号,在读状态机中生成读操作使能信号。
E.DDR3的读写数据、地址及读写命令信号产生模块完成和DDR3最直接的数据交互过程。通过产生的读写命令控制信号和正确的地址信号,实现DDR3的数据写入和读出的过程。
采用时分复用技术在DDR3上完成多路独立信号数据存储及转换的FPGA实现方法的具体实现结构如图1所示。图1说明了在一片DDR3上对多路独立信号完成数据转换的硬件结构框图。其中数据输入模块提供多路信号的数据源,根据要求在本发明装置ControlCenter中划分出各路信号的专属读、写时隙(Read_Time_Slot_1…n,Write_Time_Slot_1…n),在各路信号的对应写时隙产生写数据信号和正确的写地址,将待处理的源数据写入DDR3中,在各路信号的对应读时隙产生读数据信号和正确的读地址,从DDR3中将数据读出,完成所需的数据转换操作。
硬件实现架构主要包含时分复用模块Time-Division Multiplexing、DDR3写控制状态机模块Write_FSM、DDR3读控制状态机模块Read_FSM和DDR3的读写数据、地址及读写命令信号产生模块Data_Generate、Addr_Generate、Command_Generate。一种完成两路信号的数据转换实现框图如图2所示。
图2中源数据写入DDR3的过程为:首先在时分复用模块划分出两路独立信号的读写时隙(Read_Time_Slot_1、2,Write_Time_Slot_1、2),即总共四个工作时隙用于不同路径信号的读写操作,如果当前时隙属于某一路信号的写时隙,并结合写控制状态机模块产生的写操作使能信号,当该写数据使能信号有效时,将对应路径的输入数据输入DDR3读写数据模块,同时读写命令信号产生模块将DDR3的读写命令信号切换为写命令信号,此外DDR3读写地址模块生成对应需要操作的地址,由此即可通过DDR3的IP核将数据写入DDR3 SDRAM对应地址空间中,完成该路信号的写数据过程。
从DDR3中读出数据的过程和上述写DDR3过程类似:当满足读数据条件后,检测到当前时隙是对应路径的读时隙,且其他读操作的条件均满足后,启动读控制状态机模块,产生一个读操作使能信号,同样根据该使能信号产生正确的DDR3读命令信号和对应的读地址,开始通过DDR3的IP核从DDR3 SDRAM对应地址空间中读取数据,将数据全部读出后即完成一路信号的数据处理过程。
数据的转换方式通过控制DDR3的读写地址设计来完成。上述方法中所述的信号独立性在于不同路径信号的读写时刻完全不相关,读写过程完全独立,只需对不同路径分配好读写时隙即可实现要求。上述读写数据的过程可以完成一路信号的数据交织,其他独立路径信号只需更换对应时隙再进行同样的处理即可。
时分复用模块用于产生各独立信号的专用读写时隙。结合独立信号的数量,各独立信号的数据量及***所需的最小吞吐率,在该模块中产生适合各路径信号,具有特定时钟个数的读写时隙。图3所示是针对两路独立信号的DDR3时分复用控制模块。每一路信号按照上述说明进行DDR3的读写时隙划分,各路信号具有特定的读写时隙,此外每路信号在DDR3上都有一个输入数据缓存器Data Input和一个输出数据缓存器Data Output。初始数据首先送入输入数据缓存器中,在写时隙有效时间内将输入缓存器数据写入DDR3接收队列,在读时隙有效时间内将接收队列中的数据读出存入输出缓存数据器中。
DDR3读写控制状态机模块主要功能是控制DDR3的数据读写过程。在指定的读写时隙内,数据在DDR3中进行准确的转换主要是靠该模块来控制完成,在满足写数据的条件并处与正确的写时隙内时,启动写控制状态机,产生一个写数据使能信号,获取正确的待处理数据,并控制DDR3写地址及写命令信号的生成,完成写操作过程。在满足读数据的条件并处与正确的读时隙内时,启动读控制状态机,产生一个读数据使能信号,控制DDR3读地址及读命令信号的产生,完成读操作过程。
DDR3的读写数据、地址及读写命令信号产生模块主要功能是产生和DDR3的交互数据,对应读写地址和直接控制DDR3读写操作的命令信号。本文的发明是基于FPGA实现的,在FPGA中例化相应的DDR3控制IP核,控制该IP核和DDR3相连的数据,地址及命令控制信号即可实现DDR3的数据存储过程。
在写控制状态机产生的写使能信号有效时,按设计要求产生写地址及写命令信号,从而将数据写入DDR3,在读控制状态机产生的读使能信号有效时,产生读地址及读命令信号,将数据从DDR3中读出。
下面结合具体实例对本发明的应用作更进一步的说明。
实例一:使用DDR3完成多路独立信号的矩阵交织的FPGA仿真与实现
实例一所使用仿真平台为Matlab、Vivado 2018.2和Modelsim 10.6e,所实现的架构如图4所示,所实现的功能是基于本文提出的时分复用技术,在一片DDR3完成两路独立信号的矩阵列置换交织过程。首先在Matlab中基于图4的数据转换过程建立矩阵交织与解交织的仿真平台:生成数据源,并在仿真平台上仿真得到各个模块的输出数据及最终正确的仿真结果,用于与FPGA仿真与实现结果的对比。
在图4中的输入数据是和Matlab仿真平台使用的相同的源数据,在数据拼接模块根据矩阵交织原理对数据进行一定规律的拼接,由时分复用控制模块和读写状态机的共同控制,将拼接后的数据写入DDR3的对应地址空间中,等写完一帧数据后再从DDR3中读出。和数据拼接对应,从DDR3中读出的数据需要通过数据拆分模块再输出,至此完成整个矩阵交织的过程。
实例一模拟了两路独立信号的矩阵交织过程,其仿真结果图如图5所示。实现两路独立信号的矩阵列置换过程,需要划分出4个时隙,两个读时隙两个写时隙,分别对应两路信号的读写时隙,在写时隙将数据写入DDR3,在读时隙将数据从DDR3中读出。从图中可以看出,输入仿真数据源,经过数据组合模块,完成数据的组合过程后在正确的写时隙写入DDR3,当写完一帧数据后在对应读时隙将数据读出,输入到数据拆分模块,得到最终的矩阵交织结果。该结果和Matlab的仿真结果一致,说明该模型设计功能正确。
实例一中两路独立信号的矩阵交织过程使用16bit位宽DDR3型号为MT41K256M16XX-107,并在型号为xc7vx690tfffg1927-2的FPGA上约束时钟频率为200MHZ,综合后WNS及WHS均为正值,其资源消耗图如图6所示。由图6可以看出,实现两路信号的资源消耗较少,主要在完成功能设计所消耗的LUT和Register,BRAM的资源消耗大大降低。
实例二:实例一实现模型中吞吐率和DDR3速度分析
实例二所使用的仿真平台为Vivado 2018.2和Modelsim 10.6e。实例中DDR3的工作频率为400MHZ,数据位宽16bit,采用突发长度为8的工作模式。数据组合模块输入的数据吞吐率为0.85Gb/s,DDR3写数据能达到的速度为1.02Gb/s,DDR3写数据速率大于输入数据吞吐率,能正确完成写数据过程。同样,解数据模块读出数据吞吐率为1.19Gb/s,DDR3读数据速率为1.13Gb/s,DDR3读出数据速率低于解数据模块输出数据的吞吐率,能正确完成读数据过程。
由于交织原理涉及数据的顺序转换,本实例中DDR3写数据过程的写地址顺序为跳变的,读数据过程的读地址顺序为顺序的,因此本实例中DDR3的读数据速率大于写数据速率。
Claims (2)
1.一种在DDR3中基于时分复用进行读写控制的装置,其特征在于,包括时分复用模块、DDR3写控制状态机模块、DDR3读控制状态机模块和DDR3读写数据模块、DDR3读写地址模块及读写命令信号产生模块;
时分复用模块用于产生各独立信号的专属读时隙和写时隙,各路径信号的读、写时刻不相关,读、写过程完全独立;
DDR3读、写控制状态机模块分别用于控制DDR3的数据读、写过程;采用状态机的形式;读控制状态机在各读时隙内在中生成读操作使能信号发送至DDR3的读写数据、地址及读写命令信号产生模块;写控制状态机在各写时隙内在生成写操作使能信号发送至DDR3的读写数据、地址及读写命令信号产生模块;
DDR3的读写数据、地址及读写命令信号产生模块用于完成和DDR3最直接的数据交互过程;
DDR3读写地址模块用于,在收到读或写操作使能信号之后,在对应的读或写时隙内,产生读或写地址信号发送至DDR3的IP核;
DDR3读写数据模块用于,在收到读或写操作使能信号之后,在对应的读或写时隙内,根据读或写命令控制信号和读或写地址信号,通过DDR3的IP核实现DDR3对应的读或写地址上的数据读出或写入;
读写命令信号产生模块用于,在收到读或写操作使能信号之后,对应的读或写时隙内,产生DD3的读或写命令信号并发送至DDR3的IP核。
2.如权利要求1所述装置,其特征在于,时分复用模块根据独立信号数量,信号的存储方式,信号的数据帧长度,综合考虑***所需最小吞吐量和延迟时间产生各独立信号的专属读时隙和写时隙;专属读时隙和写时隙不低于***所需要的最小吞吐量。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010517116.8A CN111694775A (zh) | 2020-06-09 | 2020-06-09 | 一种在ddr3中基于时分复用进行读写控制的装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010517116.8A CN111694775A (zh) | 2020-06-09 | 2020-06-09 | 一种在ddr3中基于时分复用进行读写控制的装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111694775A true CN111694775A (zh) | 2020-09-22 |
Family
ID=72479872
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010517116.8A Pending CN111694775A (zh) | 2020-06-09 | 2020-06-09 | 一种在ddr3中基于时分复用进行读写控制的装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111694775A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111641417A (zh) * | 2020-06-09 | 2020-09-08 | 电子科技大学 | 一种基于fpga的完成矩阵列置换交织的装置 |
CN113740851A (zh) * | 2021-09-07 | 2021-12-03 | 电子科技大学 | 一种分时复用单ddr的sar成像数据处理*** |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN201690461U (zh) * | 2010-04-01 | 2010-12-29 | 和记奥普泰通信技术有限公司 | 多通道dcc通信处理*** |
CN103279309A (zh) * | 2013-05-15 | 2013-09-04 | 清华大学 | 基于fpga的ddr控制装置及方法 |
CN209842608U (zh) * | 2019-06-13 | 2019-12-24 | 成都汇蓉国科微***技术有限公司 | 一种基于fpga fifo模块的ddr3存储器控制 |
CN111158633A (zh) * | 2019-12-26 | 2020-05-15 | 电子科技大学 | 一种基于fpga的ddr3多通道读写控制器及控制方法 |
-
2020
- 2020-06-09 CN CN202010517116.8A patent/CN111694775A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN201690461U (zh) * | 2010-04-01 | 2010-12-29 | 和记奥普泰通信技术有限公司 | 多通道dcc通信处理*** |
CN103279309A (zh) * | 2013-05-15 | 2013-09-04 | 清华大学 | 基于fpga的ddr控制装置及方法 |
CN209842608U (zh) * | 2019-06-13 | 2019-12-24 | 成都汇蓉国科微***技术有限公司 | 一种基于fpga fifo模块的ddr3存储器控制 |
CN111158633A (zh) * | 2019-12-26 | 2020-05-15 | 电子科技大学 | 一种基于fpga的ddr3多通道读写控制器及控制方法 |
Non-Patent Citations (1)
Title |
---|
唐瑞等: "DDR3上的双读写通道设计与实现" * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111641417A (zh) * | 2020-06-09 | 2020-09-08 | 电子科技大学 | 一种基于fpga的完成矩阵列置换交织的装置 |
CN111641417B (zh) * | 2020-06-09 | 2023-03-31 | 电子科技大学 | 一种基于fpga的完成矩阵列置换交织的装置 |
CN113740851A (zh) * | 2021-09-07 | 2021-12-03 | 电子科技大学 | 一种分时复用单ddr的sar成像数据处理*** |
CN113740851B (zh) * | 2021-09-07 | 2023-06-13 | 电子科技大学 | 一种分时复用单ddr的sar成像数据处理*** |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5927263B2 (ja) | ホストコンピュータシステムとメモリとの間の通信方法およびメモリ | |
KR101467623B1 (ko) | 메모리 모듈 및 메모리 모듈 제어 방법 | |
CN101176159B (zh) | 在dram存储器中处理写屏蔽的方法 | |
CN111694775A (zh) | 一种在ddr3中基于时分复用进行读写控制的装置 | |
CN101331464A (zh) | 存储区域分配***及方法和控制装置 | |
JP4618758B2 (ja) | クワッドデータレートシンクロナス半導体メモリ装置の駆動方法 | |
CN110727637B (zh) | Fpga芯片及电子设备 | |
CN102508803A (zh) | 一种矩阵转置存储控制器 | |
US20240184467A1 (en) | Memory devices with multiple sets of latencies and methods for operating the same | |
CN114817114B (zh) | 一种mipi接口、及其控制方法、装置及介质 | |
CN103714044A (zh) | 一种基于片上网络的高效率矩阵转置簇以及转置方法 | |
CN116244074A (zh) | 内存模块、数据读写方法、装置、服务器和电子设备 | |
JP2001035158A (ja) | メモリアクセス方法及びメモリアクセス方式 | |
CN110827891B (zh) | 信号转换单元、存储器以及应用于存储器的驱动方法 | |
CN102201817B (zh) | 基于存储器折叠架构优化的低功耗ldpc译码器 | |
CN116401186A (zh) | 基于axi总线的opi psram控制***、方法 | |
CN101488119B (zh) | 地址译码方法、装置及单板 | |
CN104156907A (zh) | 一种基于fpga的红外预处理存储***及存储方法 | |
CN111831209A (zh) | 数据存取装置及*** | |
CN114840458B (zh) | 读写模块、片上***和电子设备 | |
JPH11134863A (ja) | 半導体メモリ装置とデータの書き込み方法 | |
CN117764014A (zh) | 一种基于fpga和ddr的多路信号发生方法及装置 | |
JP2000259491A (ja) | メモリ初期化外部回路 | |
CN117290121A (zh) | 通道分路器、存储控制装置、片上***及终端 | |
CN111736130A (zh) | 基于fpga的可配置分块式矩阵转置***及方法 |
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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20200922 |