CN101859289A - 一种片外存储器访问控制器 - Google Patents
一种片外存储器访问控制器 Download PDFInfo
- Publication number
- CN101859289A CN101859289A CN201010196754A CN201010196754A CN101859289A CN 101859289 A CN101859289 A CN 101859289A CN 201010196754 A CN201010196754 A CN 201010196754A CN 201010196754 A CN201010196754 A CN 201010196754A CN 101859289 A CN101859289 A CN 101859289A
- Authority
- CN
- China
- Prior art keywords
- chip
- controller
- external memory
- memory
- condition code
- 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.)
- Granted
Links
Images
Landscapes
- Dram (AREA)
Abstract
一种片外存储器访问控制器,用于实现嵌入式SoC芯片对外部存储器的访问,该控制器包括统一时序逻辑生成和控制单元(201),时序特征码存储器(202),可配置寄存器文件单元(203),辅助定时刷新及计数模块(204),地址生成单元(205),数据传输通道(206),片上总线接口(208)和外部存储器接口(209)。本发明通过特征码的形式将所有可能时序纳入到统一的设计结构中去,减少了繁琐的设计工作,并能够进一步的获得更紧凑的版图。这种统一的架构也为以后功能的进一步扩展和可重用性的提高打下了基础。
Description
技术领域
本发明属于超大规模集成电路(VLSI)结构设计领域,具体涉及到一种片外存储器访问控制器。
背景技术
众所周知,片外存储器访问控制器用来在芯片与外部存储器之间传输数据。在普通的计算机系统中,片外存储器访问控制器一直是由特定的南北桥芯片实现的。而在嵌入式系统中,普通计算机系统的许多部件被集成到了一块芯片内(被称为片上系统,英文简写SoC),这其中可能包括微处理器、协处理器、片上存储器、各种外部设备接口、外部存储器访问控制器、片内时钟生成部件、电源管理部件等等。
因为嵌入式设备的应用范围和场景非常广泛,所设计的嵌入式SoC芯片面对的应用环境复杂且多样,这就导致片外可能挂接的外部存储器的种类和数量多种多样。比如,在嵌入式的图像处理设备,有可能需要多种类型的片外FIFO存储器,同时还需要挂接同步动态存储器(SDRAM);应用于通讯的数据路由设备需要多种类型的高速的同步静态存储器用以作数据缓存;应用于汽车或工业控制领域的嵌入式设备有可能需要挂接某些特殊设备,其接口形式模仿某种外部存储器接口时序协议甚至自定义协议;不同嵌入式设备有可能需要连接不同位宽的只读存储器等等。
另一方面,嵌入式SoC芯片的管脚数量因设计要求、封装和成本等原因越来越难以满足这种多样化的需求。以TI的DSP TMS320C6474(TICorporation Document No.SPRS552D)为例,其采用昂贵的PBGA封装,片外引脚数目达到561个,其中连接至电源和地的引脚多达338个,所有的有效功能引脚仅203个,这其中还要包括模拟锁相环、复位信号、调试接口等不可复用的基本功能引脚。真正留给外部存储器的连接控制引脚就更少。因此有必要发明一种具有高度兼容性,灵活性,同时又不损失性能的复用的片外存储器访问控制器。
Carter,J.,Hsieh,W.,Stoller,L.等人在″Impulse:Building a SmarterMemory Controller″(Fifth International Symposium on High-PerformanceComputer architecture,1999,pp.70-79.)一文中,提出了一种采用动态地址重影射的方法来提高对动态存储器(DRAM)的访问效率的外部存储器控制器,该方案在某些面向数据性的应用时能带来很高的效率,但还不足以适应各种应用的需要,而且面向的存储器类型很单一,不能完全满足当前的需要。
Dong Wang,J.Ma,S.Chen,Y.Guo等人在″The Design and Analysis ofa High Performance Embedded External Memory Interface″(Proceedings ofthe Second international Conference on Embedded Software and Systems,2005.)一文中,提出了一种具有很高兼容性和灵活性的外部存储器控制器,能支持几十种存储器类型,但是其所提出的结构不适合物理实现,因为该设计主要是将多种单一类型的存储器控制器多路复用到芯片引脚中。这样做要么会引入额外冗余时序,要么就会在控制引脚上产生较大的路径延迟。
除此之外,还有一些关于外部存储器控制器的研究进展,但几乎全部都关注于如何提高存储器控制器针对某一特定应用的效率,故不再一一列举。
综上所述,现有技术中没有考虑针对多种可能时序的高灵活性外部存储器访问控制器,也忽略了满足用户针对存储器控制器的可编程要求。
发明内容
本发明针对当前嵌入式领域中,不同应用可能采用的外存储器类型多种多样,而嵌入式SoC芯片片外引脚资源有限,不能满足各种应用场合的需要之间的矛盾而提出的。它提供了一种通用可配置的外部存储器访问的方法和体系结构,该结构可以被用户配置为任意的各种接口类型时序,极大的提高了SoC芯片的应用灵活性,同时又不增加设计成本和生产成本。
采用的具体技术方案为:
一种片外存储器访问控制器,用于实现嵌入式SoC芯片对外部存储器的访问,该控制器包括统一时序逻辑生成和控制单元,时序特征码存储器,可配置寄存器文件单元,辅助定时刷新及计数模块,地址生成单元,数据传输通道,片上总线接口和外部存储器接口,
由嵌入式SoC芯片的片上总线主端设备发起访问请求,访问请求经过片上总线接口传递给所述控制器,所述统一时序逻辑生成和控制单元根据访问请求获得要访问的地址,从时序特征码存储器中装载该地址所属的地址区域对应的时序特征码指令,接着,根据可配置寄存器文件单元中的配置信息和时序特征码本身的内容进行译码,将时序特征码中的特征向量发送至外部存储器接口用以生成控制时序信号,将时序特征码中的时间信息发送至辅助定时刷新及计数模块用以接受所述统一时序逻辑生成和控制单元的定时和计数请求,同时在地址生成单元和数据传输通道中生成相应的数据和地址信号,送至片外存储器以完成数据的传输。
作为本发明的进一步改进,所述统一时序逻辑生成和控制单元完成时序特征码的取指、译码和控制时序的生成,具体为:从时序特征码存储器中取出相应的特征码,并根据可配置寄存器文件单元中的配置信息和特征码本身的内容进行译码,产生各种控制信号,这些控制信号将控制整个访问所涉及到的各个部件,最终产生需要的控制时序并完成数据的传输工作。
作为本发明的进一步改进,所述时序特征码存储器用于存储该控制器工作所需的各种时序特征码,所述可配置寄存器文件单元用以保存该控制器访问外部存储器所需的配置信息。
作为本发明的进一步改进,所述辅助定时刷新及计数模块(204)用以接受所述统一时序逻辑生成和控制单元的定时和计数请求,并完成相应的定时和计数工作,产生相应反馈信号给统一时序逻辑生成和控制单元。
作为本发明的进一步改进,所述地址生成单元将片上总线接口传来的访问请求中的访问地址部分,在统一时序逻辑生成和控制单元给出的控制信号的控制下,生成相应的片外存储器地址信号送至片外存储器。
作为本发明的进一步改进,所述数据传输通道是数据传输的通道,用于实现片外存储器与片内数据的传输。
作为本发明的进一步改进,所述片上总线接口是该控制器与SoC芯片中其他部件的连接接口,用于所述其他部件与所述控制器之间的数据交互,所述外部存储器接口是该控制器与外部存储器连接的接口,其中包括数据总线、地址总线和控制总线,用于所述控制器与片外存储器之间的数据交互。
作为本发明的进一步改进,所述的时序特征码包括特征码Ⅰ型和特征码Ⅱ型两种类型,所述特征码Ⅰ型的域(field)包括:特征向量、操作符、跳转地址、建立时间和保持时,所述特征码Ⅱ型的域(field)包括:特征向量、操作符、跳转地址和跳转条件特征向量,其中特征向量用于标示控制信号的当前状态的值;操作符用于表示当前指令执行的属性;跳转地址是指当前特征码指令的下一条指令所在的地址,用于下一条指令的预取;建立时间和保持时间分别是指当前指令执行前须等待的时间和执行后须保持状态的时间;跳转条件特征向量用于在控制总线存在输入信号的情况下,如果控制器对控制总线的采样值与跳转条件特征向量相等,则控制器将跳转至下一条指令处,否则不跳转。
作为本发明的进一步改进,所述特征码在统一时序逻辑生成和控制单元中进行译码的具体过程如下:
从时序特征码存储器来的时序特征码进入统一时序逻辑生成和控制单元后,
首先,判断当前特征码是特征码Ⅰ型还是特征码Ⅱ型,并同时根据当前特征码的跳转地址对当前指令的下一条指令进行预取;
其次,如果是特征码Ⅰ型,判断是否满足了上一条指令所规定的建立时间:如果否,则进行等待直到满足为止;如果是,则进一步判断是否满足当前指令所规定的保持时间;在判断的同时还进行如下工作:装载当前指令的特征向量至外部存储器接口,再根据时序特征码的操作符中的信息进行数据的传输工作,并装载特征向量的保持时间至辅助定时刷新及计数模块,如果满足了当前指令的保持时间,则装载建立时间,并跳转至下一条指令;如果没有满足则继续等待直到满足为止;
如果是特征码Ⅱ型,判断是否满足了上一条指令所规定的建立时间,如果否,则进行等待直到满足为止;如果是,则装载当前特征向量至外部存储器接口,并采样外部存储器接口中的输入引脚的特征向量值,进而判断所述输入引脚的值是否与当前特征向量相一致,如果与当前特征向量域中的对应值一致,则根据操作符中的信息进行数据的传输工作;如果不符合,则进入下一判断:是否与跳转特征向量的值相一致,如果该判断为是,则跳转至下一条指令处;如果为否,则一直保持在当前状态,直到辅助定时刷新及计数模块中的时钟超时后复位。
作为本发明的进一步改进,所述控制器还包括同步动态存储器管理模块,用于记录目前打开的同步动态存储器的行地址,以提高同步动态存储器的访问效率。
本发明的创新点体现在以下四个方面:
(1)通过用户自定义的方式决定芯片引脚的实际功能,在引脚不适用的时候可复用为其他功能,减小了芯片引脚数目的压力,同时为电路板设计带来了灵活性,增加了用户可选择性,降低了电路板设计的成本和出错的风险。
在以往的设计中,芯片的设计者总是简单的将多种可能需要的存储器类型的控制器分离式的封装在芯片中。这样做很大的占用了芯片引脚的资源,而且使得很多功能固化且单一。如果某个应用场景需要特殊配置,可调整的空间非常小;如果在进行电路板设计的时候出现差错或信号冲突,可挽救的概率几乎为0。本发明极大的改进了这一点,所有的控制信号不仅复用而且可以被配置为需要的任意控制信号。所谓复用是指该引脚可以具有其他功能部件引脚的功能。比如在某应用设计中,某控制引脚空闲,则可以被复用为GPIO引脚、串口信号引脚等其他指示引脚。所谓可被配置为需要的任意控制信号是指该引脚可被配置为片外存储器控制总线中不同的控制信号。比如在某应用设计中需要控制片外SDRAM,则某个本发明中所属的片外引脚可被配置为SDRAM控制信号中的任意一个,即使出现在板级设计中的偏差或因为当前设计的固有限制,也不需担心,系统编程人员都可以做出调整,达到设计目标。
(2)通过将常用的各种存储器时序以时序特征码的方式固化至特征码存储器的方式,实现了多达12大类30余种片外存储器的访问操作。
以往的外部存储器控制器设计,只是以状态机的形式将需要实现的时序构建出来,单一且效率不高。如果需要实现的存储器时序类型很多,则需要一一进行设计实现,十分繁琐而且对于以后设计的可重用性不高。
本发明将常用的存储器类型,如SDRAM、SRAM、ZBTSRAM、SBSRAM、FIFO、FLASH等类型的时序通过特征码的形式固化进ROM形式的特征码存储器,保证了对多达30余种片外存储器的时序兼容。
(3)通过对特殊时序采用用户自定义编程的方式,极大的增强了该控制器的灵活性,使之能适应各种特殊的存储器接口设备。
在以往的芯片使用中,对于特殊时序要求的外部设备的访问主要通过两种方式进行:1、通过域编程门阵列(FPGA)设计出符合该设备的时序,再将其FPGA内部转换为常用存储器接口的形式,再与SoC芯片相连接。数据才能被SoC芯片所使用;2、通过编程人员对SoC芯片的GPIO引脚赋值来模拟特殊设备接口时序,实现访问。第一种情况需要额外的FPGA芯片进行中转,会大大增加电路板设计的复杂度和产品生产的成本。第二种情况不但需要有足够的GPIO引脚,而且对于GPIO引脚的变化频率有很高的要求,普通SoC芯片的GPIO引脚变化频率范围约为0.5Mhz~20Mhz之间,很难满足高速设备的带宽要求。
本发明所提出的特征码解码方法给予编程人员很大的自由度。编程人员可根据特殊设备的时序需要通过与本发明相配套开发的时序特征码生成工具图形化的生成任意需要的访问时序。不仅如此,该时序的生成频率最高可以达到SoC的工作主频,很好的解决了访问带宽问题。
(4)以时序特征码解码的方式取代了以往复杂的时序状态机,降低了设计复杂度,减小了设计规模,提高了产品的灵活性。
本发明所采用的是统一特征码解码架构,通过特征码的形式将所有可能时序纳入到统一的设计结构中去,减少了繁琐的设计工作,并能够进一步的获得更紧凑的版图。这种统一的架构也为以后功能的进一步扩展和可重用性的提高打下了基础。
附图说明
图1为本发明的片外存储器访问控制器与外部存储器器件连接的系统示意图。
图2为本发明的片外存储器访问控制器总体结构示意图。
图3为与本发明相关的时序特征码结构示意图。
图4为本发明的工作总体流程示意图。
图5为与本发明相关的时序特征码译码流程图。
图6为与本发明相关的一个系统级连接实例示意图。
图7为本发明访问同步动态存储器(SDRAM)时序示意图。
图8为本发明访问外部特殊接口的时序示意图。
具体实施方式
下面结合附图和实例对本发明作进一步详细的说明。
本发明提出的面向嵌入式SoC的通用可编程多合一片外存储器访问控制器,是基于时序特征码解码和有限状态机的控制方式。本发明的应用环境的系统示意图如图1所示。本发明在应用环境中的位置为外部存储器控制器101,其芯片外部连线可概括为地址总线103、数据总线102、控制总线104三大总线。SoC芯片通过外部存储器控制器101连接至片外存储芯片5。片外存储器5的类型可以相同也可以不同,它们共享地址总线103、数据总线102和控制总线104。哪种存储器在当前时刻占据总线完全取决于控制总线104上的信号。
本发明的总体结构示意图如图2所示,其具体包括:统一时序逻辑生成和控制单元201,时序特征码存储器202,可配置寄存器文件单元203,辅助定时刷新及计数模块204,地址生成单元205,数据传输通道206,同步动态存储器(SDRAM)管理模块207,片上总线接口208,外部存储器接口209。各个模块的具体功能现表述如下:
统一时序逻辑生成和控制单元201是本发明的核心,它的主要功能是完成时序特征码的取指、译码和控制时序的生成。其工作流程为:从时序特征码存储器202中取出相应的特征码,并根据可配置寄存器文件单元203中的配置信息和特征码本身的内容进行译码,产生各种控制信号,这些控制信号将控制整个访问所涉及到的各个部件,如地址生成单元205、数据传输通道206、辅助定时刷新及计数模块204等等,最终产生需要的时序并完成数据的传输工作。
时序特征码存储器202装载了该控制器工作所需的各种时序特征码。时序特征码包含了本文所述的外存储器访问控制器生成特定时序所需的必要信息。时序特征码存储器202在芯片上电复位后就由系统将特征码由片外只读存储器(ROM)传输至特征码存储器以完成初始化工作。
可配置寄存器文件单元203用以保存本控制器访问外部存储器所需的一些信息,如:当前挂接的存储器的类型和时序要求,控制引脚的配置信息等等。
辅助定时刷新及计数模块204用以接受统一时序逻辑生成和控制单元201的定时和计数请求,并完成相应定时和计数工作,最后产生相应反馈信号给统一时序逻辑生成和控制单元201。
地址生成单元205将片上总线接口208传来的访问请求中的访问地址部分,在统一时序逻辑生成和控制单元201给出的控制信号的控制下,生成相应的片外存储器地址信号送至片外存储器。
数据传输通道206是数据传输的通道。它将片外存储器发送的数据送至片内,以满足片内主端设备的读请求;将片内主端设备传来的写请求中的数据送至片外存储器。同时为了适应不同的总线位宽,也会完成相应的数据的打包和解包工作。
同步动态存储器管理模块207是专门为同步动态存储器(SDRAM)这种存储器类型而专门添加的。它的主要功能是记录目前打开的SDRAM的行地址,用以提高SDRAM的访问效率。
片上总线接口208是本控制器与SoC芯片中其他部件(如CPU、协处理器等主端设备)的连接接口。根据片上总线的不同协议,会有不一样的具体片上总线接口。比如针对AXI总线协议会有AXI的总线接口,针对CoreConnect协议会有PLB的总线接口等等。
外部存储器接口209是该控制器与外部存储器连接的接口,包括数据总线、地址总线、控制总线。其中数据总线和控制总线具有对外部信号采样的功能。
本发明的特征码基本结构示意图如图3所示。时序特征码分为2种类型:Ⅰ型和Ⅱ型。特征码Ⅰ型的域包括:特征向量301、操作符302、跳转地址303、建立时间304、保持时间305。特征码Ⅱ型的域包括:特征向量301、操作符302、跳转地址303、跳转条件特征向量306。其中特征向量301适用于标示控制信号的当前状态的值。操作符302用于表示当前指令执行的属性,如当前特征码是否开启数据的传输通道,是否有延迟等执行属性。跳转地址303是指当前特征码指令的下一条指令所在的地址,用于下一条指令的预取。建立时间304和保持时间305分别是指当前指令执行前须等待的时间和执行后须保持状态的时间。跳转条件特征向量306用于控制总线存在输入信号的情况,如果控制器对控制总线的采样值与跳转条件特征向量306相等,则控制器将跳转至下一条指令处。
本发明的工作流程图如图4所示。首先,由片上总线主端设备发起访问请求,访问请求经过片上总线接口208传递给本控制器,本控制器根据访问请求获得要访问的地址。然后本控制器装载该地址所属的地址区域对应的特征码指令,该特征码指令来自于时序特征码存储器202。接着,根据可配置寄存器文件单元203和特征码中所设定的条件,适时的执行该指令,将特征向量发送至控制总线104,同时在地址生成单元205和数据传输通道206中生成相应的数据和地址信号,送至片外以完成数据的传输。最后,根据可配置寄存器文件单元203和特征码中设定的条件,适时的跳转至指定的下一条特征码指令。在遇到要访问SDRAM存储器时,针对同步动态存储器(SDRAM)的管理模块207将会大大提升该情况下的访问性能。
本发明的特征码在统一时序逻辑生成和控制单元201中进行译码。译码流程图如图5所示。其具体流程现表述如下:
从时序特征码存储器202来的时序特征码进入统一时序逻辑生成和控制单元201后,
首先,判断当前特征码是特征码Ⅰ型还是特征码Ⅱ型,并同时根据当前特征码的跳转地址对当前指令的下一条指令进行预取;
其次,如果是特征码Ⅰ型,判断是否满足了上一条指令所规定的建立时间304:如果否,则进行等待直到满足为止;如果是,则进一步判断是否满足当前指令所规定的保持时间305;在判断的同时还进行如下工作:装载当前指令的特征向量至外部存储器接口209,再根据时序特征码的操作符302中的信息进行数据的传输工作,并装载特征向量的保持时间305至辅助定时刷新及计数模块204,如果满足了当前指令的保持时间305,则装载建立时间304,并跳转至下一条指令;如果没有满足则继续等待直到满足为止;
如果是特征码Ⅱ型,判断是否满足了上一条指令所规定的建立时间304,如果否,则进行等待直到满足为止;如果是,则装载当前特征向量至外部存储器接口209,并采样外部存储器接口209中的输入引脚的特征向量值,进而判断所述输入引脚的值是否与当前特征向量相一致,如果与当前特征向量域中的对应值一致,则根据操作符302中的信息进行数据的传输工作;如果不符合,则进入下一判断:是否与跳转特征向量306的值相一致,如果该判断为是,则跳转至下一条指令处;如果为否,则一直保持在当前状态,直到辅助定时刷新及计数模块204中的时钟超时后复位。
为了进一步说明本发明的工作过程,现列举一个应用实例如下:
如图6所示,为一个本发明的应用设计的电路板级原理图连接示意。外部存储器控制器为本发明的一个实体,其数据总线以DATA表示,地址总线以ADDR表示,控制总线以8根控制引脚GCP1~8表示,另外两根分别为时钟输入和输出信号线。在片外与SDRAM存储器和一个特殊的挂接设备相连(在本图中为一个特殊型号的红外成像器)。其连接关系如图所示,其中红外成像器为输入设备,SDRAM存储器为输入输出设备。由图中可见,2个片外设备复用了数据总线和GCP1和GCP2两根控制信号线。红外成像器是采用主动式的时钟采样,即片外设备提供控制时钟;SDRAM则是典型的被动式时钟采样,即控制器提供控制时钟。
以图6所示的板级连接结构为例,下面详细分析一下本发明的工作情况。以SDRAM的写时序(如图7所示)和红外成像器的读时序(如图8所示)进行介绍。
SDRAM的写时序可以大体被切分为三个阶段:阶段一的激活命令(Activated)时序,阶段二的写数据命令(Write)时序,阶段三的返回控制器默认状态阶段。SDRAM是纯控制输出设备的特点,决定了SDRAM的时序特征码为特征码Ⅰ型。根据片外控制线的连接情况,以及特征码的结构,假设特征码为32位长度,GCP引脚数目为8个计算,阶段一对应的32位特征码的特征向量为8b00001100。因为阶段一与阶段二的时间间隔为3个时钟周期,假设建立时间域的宽度为4位,则阶段二的建立时间为4b011;阶段一之前没有任何操作,其建立时间可设为0,即4b000。由图7中可见,激活命令只维持了一个时钟周期,所以阶段一的保持时间为一个时钟,假设保持时间域的宽度为8位,则阶段一的保持时间为8b00000001。依次类推,阶段二的特征向量为8b11110010,保持时间为8b00000100。阶段二结束之后将跳回控制器默认状态,即阶段三,其特征向量为8b00001111,保持时间为8b00000000,建立时间为4b0000。
红外成像器是纯粹的输入设备,所以它只有读时序。其时钟信号CLK,帧同步信号Frame_sync和数据有效信号Data_valid都为控制器的输入信号,分别连接至CLK_out,GCP1,GCP2。具体时序如图8所示,可大体分为两个阶段。因为红外成像器为输入设备,所以相应的时序特征码为特征码Ⅱ型。阶段一对应的时序特征码中的特征向量域为8b00000001。因为阶段一下一步将跳转至阶段二,所以所对应的跳转方向特征向量为8b00000010,即如果在GCP2引脚上检测到高电位,而其它引脚都为低电位,则跳转至阶段二的特征码。阶段二对应得时序特征码中的特征向量域为8b00000010。因为阶段二下一步的跳转方向为阶段二,所以对应的跳转方向特征向量域为8b00000001。
Claims (10)
1.一种片外存储器访问控制器,用于实现嵌入式SoC芯片对外部存储器的访问,该控制器包括统一时序逻辑生成和控制单元(201),时序特征码存储器(202),可配置寄存器文件单元(203),辅助定时刷新及计数模块(204),地址生成单元(205),数据传输通道(206),片上总线接口(208)和外部存储器接口(209),
由嵌入式SoC芯片的片上总线主端设备发起访问请求,访问请求经过片上总线接口(208)传递给所述控制器,所述统一时序逻辑生成和控制单元(201)根据访问请求获得要访问的地址,从时序特征码存储器(202)中装载该地址所属的地址区域对应的时序特征码指令,接着,根据可配置寄存器文件单元(203)中的配置信息和时序特征码本身的内容进行译码,将时序特征码中的特征向量发送至外部存储器接口(209)用以生成控制时序信号,将时序特征码中的时间信息发送至辅助定时刷新及计数模块(204)用以接受所述统一时序逻辑生成和控制单元(201)的定时和计数请求,同时在地址生成单元(205)和数据传输通道(206)中生成相应的数据和地址信号,送至片外存储器以完成数据的传输。
2.根据权利要求1所述的一种片外存储器访问控制器,其特征在于,所述统一时序逻辑生成和控制单元(201)完成时序特征码的取指、译码和控制时序的生成,具体为:从时序特征码存储器(202)中取出相应的特征码,并根据可配置寄存器文件单元(203)中的配置信息和特征码本身的内容进行译码,产生各种控制信号,这些控制信号将控制整个访问所涉及到的各个部件,最终产生需要的控制时序并完成数据的传输工作。
3.根据权利要求1或2所述的一种片外存储器访问控制器,其特征在于,所述时序特征码存储器(202)用于存储该控制器工作所需的各种时序特征码,所述可配置寄存器文件单元(203)用以保存该控制器访问外部存储器所需的配置信息。
4.根据权利要求1-3之一所述的一种片外存储器访问控制器,其特征在于,所述辅助定时刷新及计数模块(204)用以接受所述统一时序逻辑生成和控制单元(201)的定时和计数请求,并完成相应的定时和计数工作,产生相应反馈信号给统一时序逻辑生成和控制单元(201)。
5.根据权利要求1-4之一所述的一种片外存储器访问控制器,其特征在于,所述地址生成单元(205)将片上总线接口(208)传来的访问请求中的访问地址部分,在统一时序逻辑生成和控制单元(201)给出的控制信号的控制下,生成相应的片外存储器地址信号送至片外存储器。
6.根据权利要求1-5之一所述的一种片外存储器访问控制器,其特征在于,所述数据传输通道(206)是数据传输的通道,用于实现片外存储器与片内数据的传输。
7.根据权利要求1-6之一所述的一种片外存储器访问控制器,其特征在于,所述片上总线接口(208)是该控制器与SoC芯片中其他部件的连接接口,用于所述其他部件与所述控制器之间的数据交互,所述外部存储器接口(209)是该控制器与外部存储器连接的接口,其中包括数据总线(102)、地址总线(103)和控制总线(104),用于所述控制器与片外存储器之间的数据交互。
8.根据权利要求1-7之一所述的一种片外存储器访问控制器,其特征在于,所述的时序特征码包括特征码I型和特征码II型两种类型,所述特征码I型的域(field)包括:特征向量(301)、操作符(302)、跳转地址(303)、建立时间(304)和保持时间(305),所述特征码II型的域(field)包括:特征向量(301)、操作符(302)、跳转地址(303)和跳转条件特征向量(306),其中特征向量(301)用于标示控制信号的当前状态的值;操作符(302)用于表示当前指令执行的属性;跳转地址(303)是指当前特征码指令的下一条指令所在的地址,用于下一条指令的预取;建立时间(304)和保持时间(305)分别是指当前指令执行前须等待的时间和执行后须保持状态的时间;跳转条件特征向量(306)用于在控制总线存在输入信号的情况下,如果控制器对控制总线的采样值与跳转条件特征向量(306)相等,则控制器将跳转至下一条指令处,否则不跳转。
9.根据权利要求1-8之一所述的一种片外存储器访问控制器,其特征在于,所述特征码在统一时序逻辑生成和控制单元(201)中进行译码的具体过程如下:
从时序特征码存储器(202)来的时序特征码进入统一时序逻辑生成和控制单元(201)后,
首先,判断当前特征码是特征码I型还是特征码II型,并同时根据当前特征码的跳转地址对当前指令的下一条指令进行预取;
其次,如果是特征码I型,判断是否满足了上一条指令所规定的建立时间(304):如果否,则进行等待直到满足为止;如果是,则进一步判断是否满足当前指令所规定的保持时间(305);在判断的同时还进行如下工作:装载当前指令的特征向量至外部存储器接口(209),再根据时序特征码的操作符(302)中的信息进行数据的传输工作,并装载特征向量的保持时间(305)至辅助定时刷新及计数模块(204),如果满足了当前指令的保持时间(305),则装载建立时间(304),并跳转至下一条指令;如果没有满足则继续等待直到满足为止;
如果是特征码II型,判断是否满足了上一条指令所规定的建立时间(304),如果否,则进行等待直到满足为止;如果是,则装载当前特征向量至外部存储器接口(209),并采样外部存储器接口(209)中的输入引脚的特征向量值,进而判断所述输入引脚的值是否与当前特征向量相一致,如果与当前特征向量域中的对应值一致,则根据操作符(302)中的信息进行数据的传输工作;如果不符合,则进入下一判断:是否与跳转特征向量(306)的值相一致,如果该判断为是,则跳转至下一条指令处;如果为否,则一直保持在当前状态,直到辅助定时刷新及计数模块(204)中的时钟超时后复位。
10.根据权利要求1-9之一所述的一种片外存储器访问控制器,其特征在于,所述控制器还包括同步动态存储器管理模块(207),用于记录目前打开的同步动态存储器的行地址,以提高同步动态存储器的访问效率。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2010101967540A CN101859289B (zh) | 2010-06-11 | 2010-06-11 | 一种利用片外存储器访问控制器访问外部存储器的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2010101967540A CN101859289B (zh) | 2010-06-11 | 2010-06-11 | 一种利用片外存储器访问控制器访问外部存储器的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101859289A true CN101859289A (zh) | 2010-10-13 |
CN101859289B CN101859289B (zh) | 2012-06-13 |
Family
ID=42945207
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2010101967540A Expired - Fee Related CN101859289B (zh) | 2010-06-11 | 2010-06-11 | 一种利用片外存储器访问控制器访问外部存储器的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101859289B (zh) |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102184365A (zh) * | 2011-06-07 | 2011-09-14 | 郑州信大捷安信息技术有限公司 | 基于SoC芯片外部数据安全存储架构及存取控制方法 |
CN102572207A (zh) * | 2010-12-30 | 2012-07-11 | 无锡华润矽科微电子有限公司 | 一种适于jpeg图像的颜色空间转换方法 |
CN102750256A (zh) * | 2012-06-12 | 2012-10-24 | 福建睿矽微电子科技有限公司 | 一种多处理器共享存储实现技术 |
CN103092743A (zh) * | 2011-11-02 | 2013-05-08 | 联芯科技有限公司 | 片外存储器带宽检测方法及装置 |
CN104201169A (zh) * | 2014-09-01 | 2014-12-10 | 曙光信息产业(北京)有限公司 | 一种存储器模块和处理模块 |
CN106227695A (zh) * | 2016-07-18 | 2016-12-14 | 广东高云半导体科技股份有限公司 | Fpga的编程i/o和用户i/o的优化方法及器件 |
CN107358978A (zh) * | 2017-06-15 | 2017-11-17 | 西安微电子技术研究所 | 一种兼容定时和性能计数的可配置装置 |
CN110609805A (zh) * | 2018-06-14 | 2019-12-24 | 格科微电子(上海)有限公司 | 系统级芯片的实现方法 |
CN112506848A (zh) * | 2020-12-03 | 2021-03-16 | 中国电子科技集团公司第三十研究所 | 基于配置的信息交互控制模型及方法 |
CN112804128A (zh) * | 2021-03-25 | 2021-05-14 | 广州智慧城市发展研究院 | 一种支持多协议的总线控制系统及方法 |
CN116594922A (zh) * | 2023-07-14 | 2023-08-15 | 深圳砺驰半导体科技有限公司 | 一种数据访问电路、方法及系统级芯片 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9396070B2 (en) | 2014-09-11 | 2016-07-19 | Qualcomm Incorporated | System and method for system-on-a-chip subsystem external access detection and recovery |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1553496A (zh) * | 2003-06-05 | 2004-12-08 | 中兴通讯股份有限公司 | 一种用于访问系统芯片外sdram的控制器及其实现方法 |
CN101025720A (zh) * | 2007-03-28 | 2007-08-29 | 华为技术有限公司 | 一种外部存储器控制器时序配置的装置及方法 |
WO2009111971A1 (zh) * | 2008-03-10 | 2009-09-17 | 华为技术有限公司 | 缓存数据写入系统及方法和缓存数据读取系统及方法 |
-
2010
- 2010-06-11 CN CN2010101967540A patent/CN101859289B/zh not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1553496A (zh) * | 2003-06-05 | 2004-12-08 | 中兴通讯股份有限公司 | 一种用于访问系统芯片外sdram的控制器及其实现方法 |
CN101025720A (zh) * | 2007-03-28 | 2007-08-29 | 华为技术有限公司 | 一种外部存储器控制器时序配置的装置及方法 |
WO2009111971A1 (zh) * | 2008-03-10 | 2009-09-17 | 华为技术有限公司 | 缓存数据写入系统及方法和缓存数据读取系统及方法 |
Cited By (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102572207A (zh) * | 2010-12-30 | 2012-07-11 | 无锡华润矽科微电子有限公司 | 一种适于jpeg图像的颜色空间转换方法 |
CN102572207B (zh) * | 2010-12-30 | 2014-05-14 | 无锡华润矽科微电子有限公司 | 一种适于jpeg图像的颜色空间转换方法 |
CN102184365A (zh) * | 2011-06-07 | 2011-09-14 | 郑州信大捷安信息技术有限公司 | 基于SoC芯片外部数据安全存储架构及存取控制方法 |
CN102184365B (zh) * | 2011-06-07 | 2013-05-29 | 郑州信大捷安信息技术股份有限公司 | 基于SoC芯片外部数据安全存储系统及存取控制方法 |
CN103092743A (zh) * | 2011-11-02 | 2013-05-08 | 联芯科技有限公司 | 片外存储器带宽检测方法及装置 |
CN102750256A (zh) * | 2012-06-12 | 2012-10-24 | 福建睿矽微电子科技有限公司 | 一种多处理器共享存储实现技术 |
CN102750256B (zh) * | 2012-06-12 | 2016-09-14 | 福建睿矽微电子科技有限公司 | 一种多处理器共享存储实现技术 |
CN104201169A (zh) * | 2014-09-01 | 2014-12-10 | 曙光信息产业(北京)有限公司 | 一种存储器模块和处理模块 |
CN106227695A (zh) * | 2016-07-18 | 2016-12-14 | 广东高云半导体科技股份有限公司 | Fpga的编程i/o和用户i/o的优化方法及器件 |
CN107358978A (zh) * | 2017-06-15 | 2017-11-17 | 西安微电子技术研究所 | 一种兼容定时和性能计数的可配置装置 |
CN107358978B (zh) * | 2017-06-15 | 2020-06-23 | 西安微电子技术研究所 | 一种兼容定时和性能计数的可配置装置 |
CN110609805A (zh) * | 2018-06-14 | 2019-12-24 | 格科微电子(上海)有限公司 | 系统级芯片的实现方法 |
CN110609805B (zh) * | 2018-06-14 | 2024-04-12 | 格科微电子(上海)有限公司 | 系统级芯片的实现方法 |
CN112506848A (zh) * | 2020-12-03 | 2021-03-16 | 中国电子科技集团公司第三十研究所 | 基于配置的信息交互控制模型及方法 |
CN112804128A (zh) * | 2021-03-25 | 2021-05-14 | 广州智慧城市发展研究院 | 一种支持多协议的总线控制系统及方法 |
CN116594922A (zh) * | 2023-07-14 | 2023-08-15 | 深圳砺驰半导体科技有限公司 | 一种数据访问电路、方法及系统级芯片 |
CN116594922B (zh) * | 2023-07-14 | 2023-10-31 | 深圳砺驰半导体科技有限公司 | 一种数据访问电路、方法及系统级芯片 |
Also Published As
Publication number | Publication date |
---|---|
CN101859289B (zh) | 2012-06-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101859289B (zh) | 一种利用片外存储器访问控制器访问外部存储器的方法 | |
CN112860612B (zh) | 互联裸芯与mpu的接口系统及其通信方法 | |
CN102981776B (zh) | 双倍数据率虚拟静态随机存取存储器及其控制器、存取与操作方法、写入与读取方法 | |
CN114490460B (zh) | 一种用于asic的flash控制器及其控制方法 | |
CN101694512A (zh) | 测试电路和片上系统 | |
CN104714907B (zh) | 一种pci总线转换为isa和apb总线设计方法 | |
CN112817902B (zh) | 互联裸芯接口管理系统及其初始化方法 | |
CN108052750A (zh) | 基于fpga的spi flash控制器及其设计方法 | |
US7590146B2 (en) | Information processing unit | |
CN104050111A (zh) | 通过具有不同时序要求的相应命令访问不同类型的存储器 | |
CN110827891B (zh) | 信号转换单元、存储器以及应用于存储器的驱动方法 | |
CN204515761U (zh) | 片上系统 | |
CN108228517B (zh) | I3c电路设备、系统及通信方法 | |
US20220147097A1 (en) | Synchronization signal generating circuit, chip and synchronization method and device, based on multi-core architecture | |
CN110008162A (zh) | 一种缓冲接口电路及基于该电路传输数据的方法和应用 | |
CN104598407A (zh) | 片上系统及控制方法 | |
CN115238642A (zh) | 一种基于FPGA的外设总线的crossbar设计系统和方法 | |
US9442788B2 (en) | Bus protocol checker, system on chip including the same, bus protocol checking method | |
CN115202257B (zh) | 一种lpc总线协议转换及设备并行控制装置及方法 | |
CN114840458B (zh) | 读写模块、片上系统和电子设备 | |
EP2799979B1 (en) | Hardware abstract data structure, data processing method and system | |
US6493775B2 (en) | Control for timed access of devices to a system bus | |
KR100361511B1 (ko) | 다기능 직렬 통신 인터페이스 장치 | |
US6721897B1 (en) | Bus control circuit effecting timing control using cycle registers for respective cycles holding signal levels corresponding to bus control signals that are output by arrangement of signal level | |
CN109408431B (zh) | 半导体装置和用于剖析半导体装置中的事件的方法 |
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: 20120613 Termination date: 20150611 |
|
EXPY | Termination of patent right or utility model |