CN102117244B - Soc中支持多个音视频ip核寻址的ddr2的控制方法 - Google Patents
Soc中支持多个音视频ip核寻址的ddr2的控制方法 Download PDFInfo
- Publication number
- CN102117244B CN102117244B CN201010022427A CN201010022427A CN102117244B CN 102117244 B CN102117244 B CN 102117244B CN 201010022427 A CN201010022427 A CN 201010022427A CN 201010022427 A CN201010022427 A CN 201010022427A CN 102117244 B CN102117244 B CN 102117244B
- Authority
- CN
- China
- Prior art keywords
- ddr2
- video
- control method
- audio frequency
- port
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Signal Processing For Digital Recording And Reproducing (AREA)
- Communication Control (AREA)
Abstract
本发明提供一种SOC中支持多个音视频IP核寻址的DDR2的控制方法,该控制方法包括物理层和控制层,该物理层包括端口选择状态机、控制状态机、时钟生成器、地址生成器、命令生成器、自动刷新器和数据通路;端口选择状态机包括多个连接音视频IP核信号的输入端口。该控制方法支持多个音视频IP核寻址DDR2,提高了DDR2的使用效率。
Description
技术领域
本发明涉及集成电路设计领域,具体涉及SOC中支持多个音视频IP核寻址的DDR2的控制方法。
背景技术
在消费电子产品的解决方案中,许多音视频模块,如MPEG编解码,图像增强,音频的高保真回放等,都需要高速存取大量的中间数据,并且要求连续的读写数据,不能时断时续,这就需要支持的硬件系统中有大容量的高速缓存,目前DDR2因其高存储容量、低成本、合理的通道带宽和可靠的供货能力而被大量使用,但却存在接口使用不便以及控制方法复杂的问题。
DDR2是采用时钟双边沿触发的同步动态储存单元,包含有若干块(Bank),每个Bank由很多的行(Row)和列(Column)组成。为了存取大量数据到DDR2,相应的电路中需要有DDR2控制方法来控制DDR2的操作。在当前的ASIC设计,往往把DDR2控制方法分为控制层(CON:Control Layer)和物理层(PHY:Physical Layer)层两层,控制层与应用层交换信息,负责接受应用层发来的读写指令,而物理层则把这些指令翻译成具体的信号时序,从而控制DDR2的操作。
随着集成度的提高,在SOC设计中集成的不同类型不同标准的音视频IP越来越多,不同的音视频IP都会有存取数据到DDR2的要求,这就要求这些音视频IP共享DDR2,因此要设计多接口DDR2的控制方法。同时,由于DDR2的特殊架构,读写数据时需要初始化,激活(Active),刷新(Refresh),预充电(Precharge)等特定操作,不同厂家的DDR2对这些特殊的操作的要求并不完全一致,不同总线宽度的DDR2对这行为也有不同的操作。
因此,为满足多个音视频IP对同一个DDR2存储器的访问要求,需要设计一个面向多个音视频IP的DDR2控制方法。
发明内容
本发明要解决的技术问题是,设计一个面向多个音视频IP的DDR2控制方法。
为解决以上技术问题,本发明提供一种SOC中支持多个音视频IP核寻址的DDR2的控制方法,所述控制方法包括物理层和控制层,所述物理层包括端口选择状态机、控制状态机、时钟生成器、地址生成器、命令生成器、自动刷新器和数据通路;
所述端口选择状态机包括多个连接音视频IP核信号的输入端口;
所述控制状态机的输入端口分别和端口选择状态机、时钟生成器的输出连接,时钟生成器的输出端口还和端口选择状态机的输入端口连接;
所述控制状态机的输出端口分别和地址生成器、命令生成器的输入端口连接;所述控制状态机的输入端口和自动刷新器的输出端口连接;
所述控制状态机的输入输出端口和数据通路的输入输出端口连接;
所述地址生成器、命令生成器和自动刷新器的输入端口连接DDR2。
优选地,所述端口选择状态机指定各音视频IP核访问其接口的优先级,各音视频IP核按优先级顺序访问物理层;或者,所述端口选择状态机指定各音视频IP核的访问物理层的优先级相同,以轮询的模式访问物理层。
优选地,所述SOC中支持多个音视频IP核寻址的DDR2的控制方法支持不同的总线宽度,总线宽度根据选定的DDR2的个数以及组合来确定。
优选地,所述SOC中支持多个音视频IP核寻址的DDR2的控制方法支持不同厂商的DDR2。
优选地,所述SOC中支持多个音视频IP核寻址的DDR2的控制方法支持DDR2的突发(Burst)工作模式。
优选地,所述SOC中支持多个音视频IP核寻址的DDR2的控制方法支持交错Burst的工作模式。
优选地,所述SOC中支持多个音视频IP核寻址的DDR2的控制方法的物理层在FPGA上实现时,通过输入/输出串化器或解串器(ISEDRES/OSEDRES)来实现数据的双沿触发。
优选地,所述SOC中支持多个音视频IP核寻址的DDR2的控制方法的物理层通过FPGA中的输入引脚延迟单元(Idelay)延迟元件,自动实现读写时选通信号的边沿与数据眼的不同地方对齐。
本发明的技术效果是,通过提供一种SOC中支持多个音视频IP核寻址的DDR2的控制方法,支持多个音视频IP核寻址DDR2。同时支持不同厂家的产品,通用性强。该控制方法还支持不同的总线宽度,根据选定的DDR2的个数以及组合来确定总线宽度。该控制方法支持DDR2的Burst工作模式,实现了对DDR2的高速数据存取,提高了DDR2的带宽利用率。在FPGA上实现时,通过ISEDRES和OSEDRES来实现数据的双沿触发,充分发挥了DDR2的性能。通过FPGA中的Idelay延迟元件,自动实现读写时选通信号的边沿与数据眼的不同地方对齐,保证了数据采集的精确性。
附图说明
图1为本发明提供的SOC中支持多个音视频IP核寻址的DDR2的控制方法物理层的结构图。
图2为本发明提供的SOC中支持多个音视频IP核寻址的DDR2的控制方法物理层的接口查询图。
图3为本发明提供的SOC中支持多个音视频IP核寻址的DDR2的控制方法状态转移图。
图4为DDR2在读写时采用交错Bank方式的信号时序图。
图5为利用IDELAY实现DQS读数据相位对齐的原理框图。
图6为ISERDES和OSERDES实现双沿触发模式的电路图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面结合附图对本发明作进一步的详细描述。
如图1是所示是SOC中支持多个音视频IP核寻址的DDR2的控制方法物理层的结构图,控制方法的物理层包括端口选择状态机、控制状态机、时钟生成器、地址生成器、命令生成器、自动刷新器和数据通路。端口选择状态机包括多个连接音视频IP核信号的输入端口;控制状态机的输入端口分别和端口选择状态机、时钟生成器的输出连接,时钟生成器的输出端口还和端口选择状态机的输入端口连接;控制状态机的输出端口分别和地址生成器、命令生成器的输入端口连接;控制状态机的输入端口和自动刷新器的输出端口连接;控制状态机的输入输出端口和数据通路的输入输出端口连接,地址生成器、命令生成器的输出端口连接DDR2。
如图1所示,SOC设计中的多个音视频IP核都有访问储存器DDR2的要求,分别用图1中的IP1接口、IP2接口、……IP n接口等表示。
下面的程序一定义音视频IP核接口数和总线宽度。
下面的程序二为通用DDR2、FPGA板和FPGA参数的定义。
SOC设计中需要的具体接口数,可以在上述程序中的generic中定义。在本实施例程序一的generic中,同时定义了3个RECODER,每一个RECODER定义将要使用的某厂家的DDR2元件的参数,该DDR2在板子上的集成参数,以及控制方法的物理层在某型号的FPGA上的实现的参数。程序二定义具体的参数,如在定义DDR2的RECORD中,DATA_BW参数定义DDR2的总线宽度,ROW_BW参数定义DDR2的行宽度,COLUMN_BW定义DDR2的列宽度,BANK_BW定义DDR2的BANK宽度,CLOCK_BW定义DDR2的时钟宽度,SELECT_BW定义DDR2的片选宽度。在定义了这些参数之后,组成一个封装(package),在实现控制方法的物理层的源代码中,根据实际使用的FPGA,PCB板以及DDR2的具体型号,例化该封装。这样就生成了一个通用DDR2的控制方法的物理层。
这些音视频IP核在访问DDR2时,可以有优先级,这种情况下,在上一个音视频IP核的接口访问结束后,高优先级的接口进行下一个访问。这些音视频IP核也可以是优先级相同,所有音视频IP核以轮询的方式工作,各接口都是访问环中的一个节点,按顺序对DDR2进行访问,访问时,占据DDR2的整个带宽。
图2是多接口控制方法中的接口查询图,这是一个状态转移图,主要由s_port_search和s_port_next_port两个状态组成,在s_port_search状态中,根据有无优先级的工作模式,核实各接口的请求状态(req),或优先插入,或按顺序确认(ACK)下一个访问的接口,并进入s_port_transfer_start状态,由于读音视频IP核读写DDR2都工作在Burst模式下,每一次的读和写均占据多个时钟,所以某个接口在被赋予读或写的权利后,进入s_port_transfer进行数据的有效传输。考虑到读数据操作时数据有延迟,在接口查询的状态转移图中,特意多插入一个状态s_port_wait_for_end,这个状态在最后一个读数据获取后,进入s_port_next_port状态,准备获取下一个有效接口。
在获取了有效的访问接口后,这个接口将对DDR2的控制方法进行访问,其中时钟生成器通过使用DCM资源为FPGA内部的时序元件和DDR2提供稳定可靠的时钟;DDR2需要不断的刷新操作,同一行的存储单元每隔64ms刷新一次,自动刷新器完成这一功能,在自动刷新器中有刷新计数器,每当刷新计数器值减为0,便会发出刷新命令,保证DDR2内的数据不丢失,自动刷新之后直接进行预充电来关闭工作行。地址生成器用来自动生成对DDR2进行存取操作的Bank地址,即起始地址;命令生成器根据控制状态机的状态,生成访问DDR2的各种控制命令,如激活(Active),读(Read),写(Write),预充电(Precharge),发空指令(NOP)等。数据通路处理器完成读写过程中的数据处理。物理层的控制状态机是该物理层的主控模块,其具体状态转移图如图3所示。该状态转移图分成两部分,准备阶段和读取阶段。在准备阶段完成DDR2工作所必须的初始化工作,包括设置Burst长度为4或8,在读取阶段完成读或写Burst的整个序列,包括Active,Read(Write),Precharge等。
在音视频IP访问DDR2时,希望数据是连续的,在每一个时钟都有数据的吞吐,而DDR2的架构决定了其存取的数据是不连续的,通常的访问方法中,两个Burst之间至少3个时钟的空隙,这3个时钟将没有数据的存取。为加快访问速度,提高DDR2的带宽利用率,DDR2在读写时采用交错Bank的方式,其命令序列见图4。在这种方式下,无论读或写操作时(Burst长度为8),前后两次读(或写)操作多是针对不同的Bank进行,也就是说,在作地址分配时,同一接口的数据被分配到不同的Bank中,例如32个word的数据(总线宽度是16位,即1word),存入4Bank的DDR2时,其中8个word存入Bank0,8个word存入Bank1,8个word存入Bank2,8个word存入Bank3,更多word的数据会按这个顺序存入DDR2,在读取时,这个接口的数据也是从不同的Bank顺序读出。这样做的好处是在读或写时,DDR2吞吐的数据是连续的,在8个word和8个word数据之间没有空的时钟周期,这就克服了由于DDR2的结构决定的两次不同行Burst操作之间必须重新发激活(Active)和预充电(Precharge)命令,带来两组数据之间有空闲的时钟周期,从而降低了总线的利用率。在带宽紧张的多音视频IP的SOC设计中,这中工作模式可以减少系统对DDR2元件的苛刻的带宽要求。在状态转移图中在每一次带预充电读(Read with Auto Precharge)或待遇充电写(Write with Auto Precharge)命令后两个周期,马上进入Active状态,激活另一Bank的行。
在DDR2中,为了发挥DDR2的最佳性能,要求在写操作时,DSQ信号落在输出数据眼的中心,而在读操作时,DQS信号要与数据眼的边沿对齐。在验证多接口DDR2控制方法PHY中,本实施例中利用FPGA中的OSERDES/ISERDES以及IDELAY等底层元件来实现,其原理框图如图5所示。在写数据时,本实施例中指定OSERDES工作于双沿模式,送往与DQS相关的OSERDES的分频时钟(低速时钟)相对于送往与DQ相关的OSERDES的分频时钟移相90度,从而保证写操作时DQS落在DQ的中心。这个移相时钟可以通过FPGA中的DCM产生。在读操作中,为克服由于板级的路径延时,和FPGA的PAD到ISERDES元件的路径延时而产生的DQS和DQ之间的边沿对不齐,从而影响读数据的正确性,对来自DDR2的DQS经过IOBUF后插入IDELAY元件,这样输入的DQS信号经延迟后送入ISERDES,采样双沿对齐的来自DDR2的数据信号,从而保证采样的准确性。IDELAY是一个64-tap的可编程延迟线,能够提供对信号的高精度的延迟,并且这个延迟不受制程、温度、压力环境的影响。在IDELAY中,本实施例中设置IDELAY工作与固定延迟的模式,其延时值来自于板级DQ和DQS走线的差异,FPGA内IOB到ISERDES的布线延时,BUFIO的固定延时等,一旦确定了FPGA的型号和DDR2的板子,这些值就固定了。经过IDELAY延时的DQS信号送入BUFIO驱动相邻管脚的I SERDES的时钟管脚。由于DDR2中的DQ和DQS信号都是双向信号,在IOB中,调用IOBUF来实现读写时信号的不同方向,如图6所示。
在不偏离本发明的精神和范围的情况下还可以构成许多有很大差别的实施例。应当理解,除了如所附的权利要求所限定的,本发明不限于在说明书中所述的具体实施例。
Claims (9)
1.一种SOC中支持多个音视频IP核寻址的DDR2的控制方法,所述控制方法包括物理层和控制层,其特征在于,所述物理层包括端口选择状态机、控制状态机、时钟生成器、地址生成器、命令生成器、自动刷新器和数据通路;
所述端口选择状态机包括多个连接音视频IP核信号的输入端口;
所述控制状态机的输入端口分别和端口选择状态机、时钟生成器的输出连接,时钟生成器的输出端口还和端口选择状态机的输入端口连接;
所述控制状态机的输出端口分别和地址生成器、命令生成器的输入端口连接;所述控制状态机的输入端口和自动刷新器的输出端口连接;
所述数据通路的输入输出端口分别和控制状态机的输入输出端口、DDR2的输入输出端口连接;
所述地址生成器和命令生成器输出端口连接DDR2。
2.根据权利要求1所述的SOC中支持多个音视频IP核寻址的DDR2的控制方法,其特征在于,所述端口选择状态机指定各音视频IP核访问其接口的优先级,各音视频IP核按优先级顺序访问物理层。
3.根据权利要求1所述的SOC中支持多个音视频IP核寻址的DDR2的控制方法,其特征在于,所述端口选择状态机指定各音视频IP核的访问物理层的优先级相同,以轮询的模式访问物理层。
4.根据权利要求1或2或3所述的SOC中支持多个音视频IP核寻址的DDR2的控制方法,其特征在于,所述控制方法支持不同的总线宽度,总线宽度根据选定的DDR2的个数以及组合来确定。
5.根据权利要求1所述的SOC中支持多个音视频IP核寻址的DDR2的控制方法,其特征在于,所述控制方法支持不同厂商的DDR2。
6.根据权利要求1所述的SOC中支持多个音视频IP核寻址的DDR2的控制方法,其特征在于,所述控制方法支持DDR2的突发工作模式。
7.根据权利要求1所述的SOC中支持多个音视频IP核寻址的DDR2的控制方法,其特征在于,所述控制方法支持交错块的工作模式。
8.根据权利要求1所述的SOC中支持多个音视频IP核寻址的DDR2的控制方法,其特征在于,所述控制方法的物理层在FPGA上实现时,通过输入/输出串化器或解串器来实现数据的双沿触发。
9.根据权利要求1所述的SOC中支持多个音视频IP核寻址的DDR2的控制方法,其特征在于,所述控制方法的物理层通过FPGA中的输入引脚延迟单元,自动实现读写时选通信号的边沿与数据眼的不同地方对齐。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201010022427A CN102117244B (zh) | 2010-01-05 | 2010-01-05 | Soc中支持多个音视频ip核寻址的ddr2的控制方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201010022427A CN102117244B (zh) | 2010-01-05 | 2010-01-05 | Soc中支持多个音视频ip核寻址的ddr2的控制方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102117244A CN102117244A (zh) | 2011-07-06 |
CN102117244B true CN102117244B (zh) | 2012-10-17 |
Family
ID=44216022
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201010022427A Expired - Fee Related CN102117244B (zh) | 2010-01-05 | 2010-01-05 | Soc中支持多个音视频ip核寻址的ddr2的控制方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102117244B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI588841B (zh) | 2013-06-25 | 2017-06-21 | 晨星半導體股份有限公司 | 記憶體控制器及其信號產生方法 |
CN104281544B (zh) * | 2013-07-05 | 2017-06-16 | 晨星半导体股份有限公司 | 存储器控制器及其信号产生方法 |
CN106325759A (zh) * | 2015-06-18 | 2017-01-11 | 中兴通讯股份有限公司 | 一种可动态配置端口带宽的ddr控制方法及装置 |
CN107729136B (zh) * | 2016-08-12 | 2021-03-26 | 腾讯科技(深圳)有限公司 | 一种基于fpga的处理优先级配置方法及装置 |
CN107133407B (zh) * | 2017-05-11 | 2020-07-10 | 成都欧飞凌通讯技术有限公司 | 一种高带宽下提高ddr ram接口带宽的fpga实现方法 |
CN114020667B (zh) * | 2021-10-20 | 2024-08-06 | 瑞芯微电子股份有限公司 | 一种支持ddr自动调节最优信号参数的方法和存储设备 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1815625A (zh) * | 2005-11-18 | 2006-08-09 | 宁波中科集成电路设计中心有限公司 | 一种同步动态存储器控制器的设计方法 |
CN101196856A (zh) * | 2008-01-04 | 2008-06-11 | 太原理工大学 | 双端口访问单一动态存储器的接口 |
JP2009181667A (ja) * | 2008-01-31 | 2009-08-13 | Sony Corp | 半導体メモリ装置およびその動作方法 |
-
2010
- 2010-01-05 CN CN201010022427A patent/CN102117244B/zh not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1815625A (zh) * | 2005-11-18 | 2006-08-09 | 宁波中科集成电路设计中心有限公司 | 一种同步动态存储器控制器的设计方法 |
CN101196856A (zh) * | 2008-01-04 | 2008-06-11 | 太原理工大学 | 双端口访问单一动态存储器的接口 |
JP2009181667A (ja) * | 2008-01-31 | 2009-08-13 | Sony Corp | 半導体メモリ装置およびその動作方法 |
Also Published As
Publication number | Publication date |
---|---|
CN102117244A (zh) | 2011-07-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8751754B2 (en) | Memory systems and methods for controlling the timing of receiving read data | |
US7778099B2 (en) | Semiconductor memory, memory system, and memory access control method | |
CN102981776B (zh) | 双倍数据率虚拟静态随机存取存储器及其控制器、存取与操作方法、写入与读取方法 | |
CN102117244B (zh) | Soc中支持多个音视频ip核寻址的ddr2的控制方法 | |
JP5164358B2 (ja) | マルチポートメモリ装置 | |
CN101692346B (zh) | 一种存储器数据采样装置及一种采样控制器 | |
US7694099B2 (en) | Memory controller having an interface for providing a connection to a plurality of memory devices | |
JP2009526323A5 (zh) | ||
US11922061B2 (en) | Adaptive memory refresh control | |
US20120014202A1 (en) | Memory device and method | |
KR20150145465A (ko) | 메모리 시스템 및 이의 동작 방법 | |
CN113971143A (zh) | 一种内存控制器、物联网芯片及电子设备 | |
WO2022047265A1 (en) | Burst mode for self-refresh | |
CN101151603A (zh) | 使用多组地址/数据线的存储器访问 | |
US7042777B2 (en) | Memory device with non-variable write latency | |
CN102751966A (zh) | 延迟电路和存储器的潜伏时间控制电路及其信号延迟方法 | |
CN101609439A (zh) | 具有分时总线的电子系统与共用电子系统的总线的方法 | |
US7583548B2 (en) | Semiconductor memory apparatus for allocating different read/write operating time to every bank | |
JP2004171678A (ja) | 情報記憶装置、情報記憶方法、及び情報記憶プログラム | |
CN102522113B (zh) | 一种sdram桥接电路 | |
KR102071527B1 (ko) | 복수의 뱅크 그룹에 멀티 코어 억세스를 하는 메모리 장치 | |
CN204331714U (zh) | 一种新型sdram控制器 | |
US20150380070A1 (en) | Latch circuit and input/output device including the same | |
US20240053898A1 (en) | Hign-bandwidth ddr dimm, memory system, and operation method thereof | |
US8495327B2 (en) | Memory device synchronization |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20121017 Termination date: 20190105 |
|
CF01 | Termination of patent right due to non-payment of annual fee |