CN116092552A - 用于伪静态随机存储器的控制器及控制方法 - Google Patents

用于伪静态随机存储器的控制器及控制方法 Download PDF

Info

Publication number
CN116092552A
CN116092552A CN202310154805.0A CN202310154805A CN116092552A CN 116092552 A CN116092552 A CN 116092552A CN 202310154805 A CN202310154805 A CN 202310154805A CN 116092552 A CN116092552 A CN 116092552A
Authority
CN
China
Prior art keywords
psram
clock
signal
data
controller
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
Application number
CN202310154805.0A
Other languages
English (en)
Inventor
王祥祥
和王峰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Eswin Computing Technology Co Ltd
Guangzhou Quanshengwei Information Technology Co Ltd
Original Assignee
Beijing Eswin Computing Technology Co Ltd
Guangzhou Quanshengwei Information Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Eswin Computing Technology Co Ltd, Guangzhou Quanshengwei Information Technology Co Ltd filed Critical Beijing Eswin Computing Technology Co Ltd
Priority to CN202310154805.0A priority Critical patent/CN116092552A/zh
Publication of CN116092552A publication Critical patent/CN116092552A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/41Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming static cells with positive feedback, i.e. cells not needing refreshing or charge regeneration, e.g. bistable multivibrator or Schmitt trigger
    • G11C11/413Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing, timing or power reduction
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Computer Hardware Design (AREA)
  • Dram (AREA)

Abstract

本公开提供了一种用于伪静态随机存储器的控制器及控制方法。该控制器包括:数字控制器和物理层接口,物理层接口的输入端与数字控制器连接,输出端与伪静态随机存储器PSRAM接口连接,数字控制器用于接收操作请求,并基于操作请求生成与八路串行输入输出接口的类型适配的PSRAM传输信号;物理层接口的输入端与数字控制器连接,输出端与PSRAM接口连接,用于基于PSRAM传输信号生成与PSRAM接口的类型适配的PSRAM接口信号。根据本公开的实施例提供的控制器,可以支持不同PSRAM芯片,提高PSRAM芯片选择的灵活性。

Description

用于伪静态随机存储器的控制器及控制方法
技术领域
本公开涉及集成电路技术领域,特别涉及一种用于伪静态随机存储器的控制器及控制方法。
背景技术
伪静态随机存储器(Pseudo Static Random Access Memory,简称PSRAM)是一种采用动态随机存取存储器(Dynamic Random Access Memory,简称DRAM)的工艺和技术,实现类似于静态随机存取存储器(Static Random-Access Memory,简称SRAM)一样的随机存取存储器(Random Access Memory,简称RAM)。
PSRAM接口是通过修改DRAM接口,同时将刷新电路改为自刷新(self-refresh)电路,得到兼容SRAM且在存取时序等特性上与SRAM类似的SRAM接口,PSRAM接口同时具有DRAM接口的低成本、低耗电、记忆密度高和SRAM接口简洁等优点。
发明内容
本公开提供一种PSRAM控制器及控制方法。
第一方面,本公开提供了一种用于伪静态随机存储器的控制器,包括:数字控制器和物理层接口,所述物理层接口的输入端与所述数字控制器连接,输出端与所述伪静态随机存储器PSRAM接口连接,其中:
所述数字控制器,用于接收操作请求,并基于所述操作请求生成与八路串行输入输出接口的类型适配的PSRAM传输信号;
所述物理层接口,用于基于所述PSRAM传输信号生成与所述PSRAM接口的类型适配的PSRAM接口信号。
第二方面,本公开提供了一种基于本公开提供的任意一项所述的用于伪静态随机存储器的控制器的控制方法,包括:
接收操作请求;
基于所述操作请求生成与所述八路串行输入输出接口的类型适配的伪静态随机存储器PSRAM传输信号;
用于基于所述PSRAM传输信号生成与所述PSRAM接口的类型适配的PSRAM接口信号。
本公开实施例所提供的用于伪静态随机存储器的控制器,包括数字控制器和物理层接口,其中,数字控制器基于操作请求,生成与所述八路串行输入输出接口的类型适配的伪静态随机存储器PSRAM传输信号,以使PSRAM传输信号适用不同的PSRAM接口;物理层接口基于所述PSRAM传输信号生成与PSRAM接口的类型适配的PSRAM接口信号,由于PSRAM接口信号是根据PSRAM接口的类型生成的,因此生成的PSRAM接口信号可以兼容不同类型的PSRAM接口和传输协议,使得控制器可以支持不同PSRAM芯片,提高PSRAM芯片选择的灵活性。
应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
附图用来提供对本公开的进一步理解,并且构成说明书的一部分,与本公开的实施例一起用于解释本公开,并不构成对本公开的限制。通过参考附图对详细示例实施例进行描述,以上和其他特征和优点对本领域技术人员将变得更加显而易见,在附图中:
图1为本公开实施例提供的PSRAM控制器的结构示意图;
图2为本公开实施例提供的一种数字控制器的结构示意图;
图3为本公开实施例提供的一种发送传输模块的结构示意图;
图4为本公开实施例提供的一种数据移位器中状态机的示意图;
图5为本公开实施例中寄存器模块在执行写操作时状态机的工作流程图;
图6为本公开实施例中寄存器模块在执行读操作时状态机的工作流程图;
图7为本公开实施例中存储写操作时状态机的工作流程图;
图8为本公开实施例中存储读操作时状态机的工作流程图;
图9为本公开实施例中半睡眠操作时状态机的工作流程图;
图10为本公开实施例中退出半睡眠时状态机的工作流程图;
图11为本公开实施例提供的一种物理层接口的结构示意图;
图12为本公开实施例提供的一种用于伪静态随机存储器的控制方法的流程图。
具体实施方式
为使本领域的技术人员更好地理解本公开的技术方案,以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
在不冲突的情况下,本公开各实施例及实施例中的各特征可相互组合。
如本文所使用的,术语“和/或”包括一个或多个相关列举条目的任何和所有组合。
本文所使用的术语仅用于描述特定实施例,且不意欲限制本公开。如本文所使用的,单数形式“一个”和“该”也意欲包括复数形式,除非上下文另外清楚指出。还将理解的是,当本说明书中使用术语“包括”和/或“由……制成”时,指定存在所述特征、整体、步骤、操作、元件和/或组件,但不排除存在或添加一个或多个其它特征、整体、步骤、操作、元件、组件和/或其群组。“连接”或者“相连”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电性的连接,不管是直接的还是间接的。
除非另外限定,否则本文所用的所有术语(包括技术和科学术语)的含义与本领域普通技术人员通常理解的含义相同。还将理解,诸如那些在常用字典中限定的那些术语应当被解释为具有与其在相关技术以及本公开的背景下的含义一致的含义,且将不解释为具有理想化或过度形式上的含义,除非本文明确如此限定。
每个厂商有各自的PSRAM接口规范,如HyperBus Interface接口规范,APM OPI接口规范和Xccela OPI接口规范,这几个接口协议均采用OPI(Octal SPI,八路数据串行输入输出)和DDR(Double Data Rate,双倍数据速率),但在控制信号的数量和功能、读写传输协议、芯片内部寄存器模块访问以及半睡眠(HalfSleep)/深度断电(deep power down)模式的进入、退出等方面都有很大不同。但相关的PSRAM接口无法根据PSRAM芯片灵活配置,导致PSRAM接口只能支持某一种类型的接口,无法满足兼容多种PSRAM接口的实际需求。
图1为本公开实施例提供的PSRAM控制器的结构示意图。参阅图1,PSRAM控制器包括数字控制器1和物理层接口2,其中,数字控制器1被配置为接收访问请求(包括但不限于读写请求),并对不同的PSRAM芯片进行兼容和控制。物理层接口2的输入端与所述数字控制器1连接,输出端与所述PSRAM接口连接,用于基于所述PSRAM传输信号生成与所述PSRAM接口的类型适配的PSRAM接口信号,从而与不同的PSRAM芯片进行信息交流。
需要说明的是,本公开实施例中,数字控制器1可以有多个输入端和多个输出端,输入端和输出端的数量可以根据需要设置,本公开实施例对此不作限定。物理层接口2可以有多个输入端和多个输出端,输入端和输出端的数量可以根据需要设置,本公开实施例对此不作限定。
在一些实施例中,数字控制器1用于接收操作请求,并基于操作请求生成与八路串行输入输出接口的类型适配的伪静态随机存储器PSRAM传输信号。其中,在本公开实施例中,数字控制器1包括两个输入端,分别与APB总线和AHB总线连接。操作请求可以通过APB总线和AHB总线传输至控制器,操作请求包括但不限于读写请求和寄存器模块访问请求。PSRAM传输信号是PSRAM能够识别的信号。PSRAM传输信号包括读写命令、进入/退出半睡眠(混合睡眠)、进入/退出深度断电操作中各传输状态对应的传输信号。
在一些实施例中,物理层接口2的输入端与数字控制器1连接,输出端与PSRAM接口连接,用于基于PSRAM传输信号生成与PSRAM接口的类型适配的PSRAM接口信号。其中,PSRAM接口包括但不限于AP 8M《APS6408L-OBMx DDR OPI Xccela PSRAM》对应的接口、AP 4M《APS3208K-OTx OPI DDR PSRAM》对应的接口、WB 8M《W956D8MBYA》对应的接口和WB 4M《W955D8MBYA》对应的接口(为便于描述,下文分别简称为AP 8M接口、AP 4M接口、WB 8M接口和WB 4M接口)。
本公开实施例中,物理层接口2的输入端与数字控制器1连接,输出端与所述PSRAM接口连接,用于基于所述PSRAM传输信号生成与所述PSRAM接口的类型适配的PSRAM接口信号,并与数字控制器1一起传输时序。本公开实施例中物理层接口2可以兼容多种PSRAM接口,如可以兼容AP 8M接口、AP 4M接口、WB 8M接口和WB 4M接口。
在一些实施例中,在数字控制器1的输入端(系统侧)有两个接口,即高级外设总线(Advanced Peripheral Bus,APB)接口和高级高性能总线(Advanced High PerformanceBus,AHB-Lie)接口。APB接口用于访问数字控制器1内的控制和状态寄存器模块(Controland Status Register,CSR)。AHB-Lite接口用于基于CSR设置的PSRAM存储器设备中存储器阵列写入/读取和模式寄存器模块写入/读取。数字控制器1的输出端与物理层接口2的输入端连接。
在一些实施例中,存储控制器时钟mem_clk_0和相移存储控制器时钟mem_clk_90被输入数字控制器1和物理层接口2,存储控制器时钟mem_clk_90与相移存储控制器时钟mem_clk_0的频率相同,但相位滞后90度。
图2为本公开实施例提供的一种数字控制器的结构框图。如图2所示,数字控制器1包括寄存器模块11、AHB从机控制模块12、读写事务传输模块13、第一同步器14和第二同步器15,其中,寄存器模块11与AHB从机控制模块12和读写事务传输模块13信号连接,AHB从机控制模块12与寄存器模块11和读写事务传输模块13信号连接。
其中,寄存器模块11作为APB的从机,与APB接口信号连接。寄存器模块11包括控制和状态寄存器模块,接收APB写事务并将控制信号和时序参数输出到AHB从机控制模块12和读写事务传输模块13。寄存器模块11还用于接收状态信号并存储。
在一些实施例中,寄存器模块11用于基于接收到的APB操作请求生成APB控制信号和时序参数,以及接收传输状态信号并存储。
其中,APB操作请求包括APB读取请求、APB写入请求中的一种或多种。传输状态信号包括但不限于PSRAM访问传输状态,如数据选通时钟(Data Strobe clock,DQS)超时信号、DPD/HALF SLEEP进入退出、GLOBAL RESET指令的完成信号。
AHB从机控制模块12用于响应接收到的AHB操作请求,基于APB控制信号和时序参数获得AHB指令信息;以及,将接收到的PSRAM的传输状态信息传输到AHB主机。其中,AHB操作请求包括AHB读取请求、AHB写入请求中的一种或多种。
示例地,AHB从机控制模块12解析AHB读写事务,并输出传输参数(传输类型、读写长度、传输大小)、读写地址以及写数据。AHB从机控制模块12包含异步先进先出(FIFO)模块(图中未示出),用于AHB从机控制器时钟ahb_clk和存储控制器时钟mem_clk_0之间命令地址和数据的跨时钟域同步和缓存。AHB从机控制模块12还用于接收数据选通时钟的超时信号,用于反馈传输状态给AHB主机。
读写事务传输模块13,用于基于APB控制信号和AHB指令信息,生成PSRAM传输信号,以及,接收来自物理层接口2的PSRAM读数据和时钟信号,并基于时钟信号对操作请求进行采样,并将采样结果传输至AHB从机控制模块;以及接收传输状态信号。
其中,AHB指令信息包括但不限于传输参数(传输类型、读写长度、传输大小)、读写地址以及读写数据。
读写事务传输模块13用于实现PSRAM存储和寄存器模块的读写事务传输,读写事务传输模块13接收来自寄存器模块11的控制信号和AHB从机控制模块12的命令地址和写数据,生成PSRAM传输信号到物理层接口2;并且接收来自物理层接口2的读数据和时钟信号,采样后输出到AHB从机控制模块12。读写事务传输模块13还输出多个状态指示信号,多个状态包括数据选通时钟(DQS)的超时信号和传输完成信号等,DQS超时信号用于指示DQS返回是否超时,传输完成信号用于指示每个指令的完成情况。
在一些实施例中,读写事务传输模块13包括命令处理(INSTRN_HANDLER)模块131、发送传输(TX_PATH)模块132和接收传输(RX_PATH)模块133,其中,命令处理模块131用于处理来自寄存器模块11的各种指令,如用于对接收到的APB控制信号进行边沿检测,并输出APB控制有效信号和APB传输信号。在一些实施例中,寄存器模块11输出的指令包括但不限于读写传输、半睡眠进入/退出、深度断电进入/退出以及PSRAM复位,对指令信号进行边沿检测后输出指令有效信号到发送传输模块132。
发送传输模块132,用于对APB控制信号和AHB指令信息进行传输时,基于各个传输状态生成PSRAM传输信号。
接收传输模块133用于基于物理层接口返回的数据进行跨时钟域传输,并在满足预设条件时,将物理层接口的数据输出,以及根据时序参数确定数据选通信号超时时,输出超时指示信号。
在一些实施例中,接收传输模块133还包括一个异步FIFO模块(图中未示出),用于接收数据从数据选通时钟DQS到存储控制器时钟mem_clk_0的跨时钟域传输。用接收的数据选通时钟DQS双边沿采样读数据后写入异步FIFO模块,在异步FIFO模块非空时读出数据并输出。接收传输模块133还用于根据时序参数检测DQS是否超时并输出指示信号。
在一些实施例中,参阅图3,发送传输模块132包括数据移位器321,用于根据各种命令、地址和数据在访问寄存器模块、读写存储、半睡眠/深度断电进出操作的各状态产生PSRAM传输信号。数据移位器321为各类串行输入输出(OPI)接口设计了独立的状态机(FSM),以支持多种接口和传输协议。
在一些实施例中,数据移位器321包括多个状态机,每个状态机与一个八路串行输入输出接口的类型对应,每个状态机针对与之对应的八路串行输入输出接口的类型,基于各个传输状态产生PSRAM传输信号。
示例地,参阅图4,数据移位器设置三个状态机(FSM)41a、41b、41c,每个状态机41a、41b、41c与伪静态存储器类型多路选择器42连接,伪静态存储器类型多路选择器42接收PSRAM类型(PSRAM_type)传输信号,并根据PSRAM类型选择对应的状态机41a、41b、41c,状态机41a、41b、41c产生PSRAM传输信号,并将PSRAM传输信号传输至物理层接口。
本公开实施例提供的数据移位器,设置多个状态机,每个状态机可以对应一个或多个相似的八路串行输入输出接口,避免了一个状态机为兼容多个八路串行输入输出接口而导致繁琐,当某个八路串行输入输出接口出现故障时,可以通过状态机快速定位八路串行输入输出接口。而且,当增加其它八路串行输入输出接口时,只需要对应地增加状态机即可,不影响原有状态机。
参考图3,发送传输模块132还包括时序检查模块322和写边界检查模块323,其中,时序检查模块(timing_checker)322用于基于时序参数生成第一指示信号,并将第一指示信号传送给数据移位器321。示例地,时序检查模块322根据时序参数(如cs拉低时间、半睡眠/深度断电的退出时间等)计时,在时间到达后输出指示信号到数据移位器321。
写边界检查(wr_pg_bndry_checker)模块323用于基于存储页的参数和存储地址确定到达存储页的边界时,输出第二指示信号。示例地,写边界检查模块323根据存储页大小参数和存储写地址判断写地址是否到达边界并输出指示信号到数据移位器321。数据移位寄存器模块321响应第一指示信号和第二指示信号对APB控制信号和AHB指令信息进行传输。
在一些实施例中,参阅图2,数字控制器1还包括第一同步器14和第二同步器15,第一同步器14和第二同步器15均可以采用两级同步器。
其中,第一同步器14用于将超时信号从数字控制器的时钟信号到AHB的时钟信号的跨时钟域传输;示例地,第一同步器14将读写事务传输模块13输出的数据选通时钟的超时信号从存储控制器时钟mem_clk_0到AHB从机控制器时钟ahb_clk的跨时钟域传输。
第二同步器15用于将传输完成信号从数字控制器的时钟信号到APB的时钟信号的跨时钟域传输。示例地,第二同步器15将读写事务传输模块13输出的传输完成信号从存储控制器时钟mem_clk_0到APB时钟apb_clk(用于CSR的APB时钟)的跨时钟域传输。
图5为本公开实施例中寄存器模块在执行写操作时状态机的工作流程图。参阅图5,以状态机41a接收AP 8M接口的PSRAM类型传输信号为例。
步骤S501,状态机处于空闲状态(IDLE)。
步骤S502,当寄存器模块访问请求有效(reg_xfer_valid=1)后,状态机从空闲状态跳转到发送命令状态(SEND_CMD)。
步骤S503,在一个时钟周期(cmd_cycle_cnt=1)内,状态机由发送命令状态后跳转到发送地址状态(ADDR)。
步骤S504,在持续两个时钟周期(wr_rd=1,addr_cycle_cnt=2)后跳转到发送延迟状态(TX_LATENCY)。
步骤S505,在计时器满足等待时钟周期(wait_expired)后跳转到发送数据状态(TX_DATA)。
步骤S506,寄存器模块数据发送固定为一个时钟周期,在一个时钟周期(wdata_avalid=0)后,状态机跳转到等待传输完成状态(WAIT_TR_EXPIRY),发送时钟周期完成(twc_expired=1)后返回空闲状态。
需要说明的是,当八路串行输入输出接口为WB 8M和WB 4M接口时,不需要延迟,因此,可以从步骤S503直接跳转至步骤S505。
通过以上步骤S501至步骤S506,可以实现寄存器模块写操作。
图6为本公开实施例中寄存器模块在执行读操作时状态机的工作流程图。参阅图6,以状态机41a接收AP 8M接口的传输信号为例。
步骤S601,状态机处于空闲状态(IDLE)。
步骤S602,当寄存器模块的访问请求有效(reg_xfer_valid=1)后,状态机从空闲状态跳转到发送命令状态(SEND_CMD)。
步骤S603,在一个时钟周期(cmd_cycle_cnt=1)内,状态机由发送命令状态后跳转到发送地址状态(ADDR)。
步骤S604,在持续两个时钟周期(wr_rd=0,addr_cycle_cnt=2)后跳转到读取数据状态(RD_DATA)。
步骤S605,读取所需地址长度(rd_done=1)后跳转到FIFO刷新状态(FIFO_FLUSH),刷新FIFO,以避免影响下次读取。
步骤S606,FIFO刷新完成(fifo_flush_done=1)后跳转到等待传输完成状态(WAIT_TR_EXPIRY),读取时钟周期(trc_expired=1)完成后返回空闲状态。
通过以上步骤S601至步骤S606,可以实现寄存器模块的读操作。
图7为本公开实施例中存储写操作时状态机的工作流程图。参阅图7,以状态机41a接收AP 8M接口的传输信号为例。
步骤S701,状态机处于空闲状态(IDLE)。
步骤S702,当存储访问请求有效(mem_xfer_valid=1)后,状态机从空闲状态跳转到发送命令状态(SEND_CMD)。
步骤S703,在一个时钟周期(cmd_cycle_cnt=1)内,状态机由发送命令状态后跳转到发送地址状态(ADDR)。
步骤S704,在持续两个时钟周期(wr_rd=1,addr_cycle_cnt=2)后跳转到发送延迟状态(TX_LATENCY)。
步骤S705,在计时器满足等待时钟周期(wait_expired)后跳转到发送数据状态(TX_DATA)。
在步骤S705中,如果地址到达页边界则发送到边界处的数据为止,否则发送全部数据。
步骤S706,在数据发送完成后,跳转到等待传输完成状态(WAIT_TR_EXPIRY)。
步骤S707,判断地址是否到达边界(wr_pg_bndy=1),若是,则跳转至步骤S702,从边界后地址再启动一次写操作(步骤S702至步骤S706);若否,则表明传输完成后地址未到达边界(twc_expired=1),跳转至步骤S701,返回空闲状态。
通过以上步骤S701至步骤S707,可以实现存储写操作。
通过以上步骤S601至步骤S606,可以实现寄存器模块的读操作。
图8为本公开实施例中存储读操作时状态机的工作流程图。参阅图8,以状态机41a接收AP 8M接口的传输信号为例。
步骤S801,状态机处于空闲状态(IDLE)。
步骤S802,在存储访问请求有效(reg_xfer_valid=1)后,从空闲状态跳转到发送命令状态(SEND_CMD)。
步骤S803,在一个时钟周期(cmd_cycle_cnt=1)内,状态机由发送命令状态后跳转到发送地址状态(ADDR)。
步骤S804,在持续两个时钟周期(wr_rd=1,addr_cycle_cnt=2)后跳转到读取数据状态(RD_DATA)。
步骤S805,判断数据选通时钟(DQS_time_out=1)是否超时,若是,则跳转至步骤S806;若否,则跳转至步骤S808。
步骤S806,状态机跳转至读错误状态(RD_ERROR)。在等待预设时间长度后,跳转至步骤S809。
步骤S807,状态机读取所需地址长度(rd_done=1)后跳转到FIFO刷新状态(FIFO_FLUSH),以避免影响下次读取。
步骤S808,FIFO刷新完成(fifo_flush_done=1)后跳转到等待传输完成状态(WAIT_TR_EXPIRY),并在读取周期完成(trc_expired=1)后返回空闲状态。
通过以上步骤S801至步骤S808,可以实现存储读操作。
图9为本公开实施例中半睡眠操作时状态机的工作流程图。参阅图9,以状态机41a接收AP 8M接口的传输信号为例。
步骤S901,状态机处于空闲状态(IDLE)。
步骤S902,当半睡眠访问请求有效(hs_xfer_valid=1)后,状态机从空闲状态跳转到发送命令状态(SEND_CMD)。
步骤S903,在一个时钟周期(cmd_cycle_cnt=1)内,状态机由发送命令状态后跳转到发送地址状态(ADDR)。
步骤S904,在持续两个时钟周期(wr_rd=1,addr_cycle_cnt=2)后跳转到发送延迟状态(TX_LATENCY)。
步骤S905,在计时器满足等待时钟周期(wait_expired)后跳转到发送数据状态(TX_DATA)。
步骤S906,半睡眠数据发送固定为一个时钟周期,在一个时钟周期(wdata_avalid=0)后,状态机跳转到等待传输完成状态(WAIT_TR_EXPIRY),发送时钟周期完成(twc_expired=1)后返回空闲状态。
通过以上步骤S901至步骤S906,可以实现半睡眠操作。
图10为本公开实施例中退出半睡眠时状态机的工作流程图。参阅图10,退出半睡眠状态的步骤包括:
步骤S1001,状态机处于空闲状态(IDLE)。
步骤S1002,在退出半睡眠命令有效(hs_exit_valid=1)时,从空闲状态跳转到半睡眠退出状态(HS EXIT)。
在步骤S1002中,通过拉低片选(CE)信号的方式退出半睡眠状态,在拉低时间足够且满足PSRAM退出半睡眠状态到可以接收下次命令的时间(ce_low_expired=1,txhs_expired=1)后返回空闲状态。
需要说明的是,深度断电的进入和退出操作与半睡眠的进入和退出操作,状态机的流程类似,在此不再赘述。还需说明的是,在本公开实施例中,半睡眠和混合睡眠只是表述方式的不同,在执行进入/退出操作时,两者的命令和状态机的工作流程均相同。
图11为本公开实施例提供的一种物理层接口的结构示意图。参阅图11,物理层接口用于生成存储器接口信号,同时兼容不同PSRAM接口,其中,PSRAM接口包括但不限于AP8M/4M接口和WB 8M/4M接口。其中,AP 8M接口为单端时钟,AP 4M接口和WB 8M/4M接口为差分时钟。AP 8M的DQS_DM具有两种功能,包括读期间的数据选通时钟(DQ strobe clockduring reads,DQS)功能和写期间的数据掩码(Data mask during writes,DM)功能,而AP4M包括DQS和DM两个信号,并且写操作时也需要DQS信号。WB8M/4M接口的读写数据选通信号(RWDS)与AP 8M接口的DQS_DM信号类似,在串行输入输出总线的命令地址阶段WB 8M/4M接口判断是否需要额外延迟。本公开实施例提供的物理层接口可以输出多种相关信号,之后对于每种PSRAM按需连接即可。
时钟门控处理(SCLK_GATE_INST)模块21用于根据相移存储控制器时钟和时钟使能生成用于PSRAM的时钟信号SCLK和SCLKN。
示例地,时钟门控处理模块21根据相移存储控制器时钟mem_clk_90和时钟使能sclk_en生成用于PSRAM的时钟信号SCLK和SCLKN。其中,SCLKN与SCLK是一组差分时钟,即完全互补,N代表与时钟信号SCLK相反。
数据输入输出选择处理(DQ_OUT_MUX_INST)模块22用于根据存储控制器时钟的高低电平将数据输入输出拆分为两部分的存储控制器时钟,如数据输入输出的低字节和高字节两部分。
示例地,数据输入输出选择处理模块22根据存储控制器时钟mem_clk_0的高低电平将数据输入输出dq_out_ip[15:0]拆分为两部分的数据输入输出dq_out[7:0]。
在一些实施例中,在将数据输入输出dq_out_ip[15:0]拆分后,使数据输入输出dq_out[7:0]和数据输入输出使能dq_oe_ip经过三态门进行三态处理,获得除高电平、低电平外的高阻态。
数据掩码输出选择处理(DM_OUT_MUX_INST)模块23用于根据数据掩码输出使能在存储控制器时钟的高低电平时将数据掩码拆分为两部分的数据掩码,如数据掩码的低字节和高字节。
示例地,数据掩码输出选择处理模块23用于根据数据掩码输出使能dm_oe_ip在存储控制器时钟mem_clk_0的高低电平时将数据掩码dm_ip[1:0]拆分为两个时钟周期的数据掩码DM。
在一些实施例中,DQS不仅需要作为DQ选通,在OPI总线的某些阶段还需要保持为0,因此,设计数据选通时钟输出使能dqs_oe_ip为2bit位宽。
数据选通时钟输出选择处理(DQS_OUT_MUX_INST)模块24用于基于时钟信号、数据掩码、PSRAM类型、数据选通时钟输出使能产生兼容不同PSRAM接口的数据选通时钟输出dqs_out。
在一些实施例中,数据选通时钟输出选择处理模块24用于基于时钟信号SCLK、数据掩码DM、PSRAM类型、数据选通时钟输出使能dqs_oe_ip产生兼容不同PSRAM接口的数据选通时钟输出dqs_out,其中,数据选通时钟输出dqs_out包括DQS_DM/RWDS信号。
示例地,当dqs_oe_ip为2时,数据选通时钟输出选择处理模块24输出的dqs_out为0;当dqs_oe_ip为1、且psram_type为AP 4M时,数据选通时钟输出选择处理模块24输出的dqs_out为SCLK;当dqs_oe_ip为1、且psram_type非AP 4M时,数据选通时钟输出选择处理模块24输出的dqs_out为DM;当dqs_oe_ip为0时,数据选通时钟输出选择处理模块24输出的dqs_out为高阻,这样保证了AP 4M接口下数据选通时钟数据掩码DQS_DM并没有DM的功能。
数据选通时钟门控处理(DQS_GATE_INST)模块25用于基于数据选通时钟输出使能dqs_oe_ip[1:0]对输入的数据选通时钟数据掩码DQS_DM进行门控,获得数据选通时钟输入信号dqs_in。在一些实施例中,在非数据阶段时,dqs_in保持为0,避免对读数据的采样造成干扰。
在一些实施例中,因为WB 8M/4M接口的DQS_DM在OPI总线命令地址阶段指示是否需要额外延迟,因此,物理层接口额外输出未经过数据选通时钟门控处理模块25处理的数据选通时钟初始值dqs_initial,并将dqs_initial输出到数字控制器。
数据选通时钟选择操作完成延迟(DQS_MUXED_DELAY)模块26用于对数据选通时钟输入信号(dqs_in)进行物理延迟,以使得PSRAM返回的数据落后于数据选通时钟,以满足采样所需的触发器建立时间。
在本公开实施例中,数据选通时钟选择操作完成延迟模块26对数据选通时钟输入信号(dqs_in)进行物理延迟,使得PSRAM返回的数据落后于数据选通时钟,以满足采样所需的触发器建立时间,从而确保成功采样。
在一些实施例中,因为PSRAM返回的数据输入输出会落后数据选通时钟(如落后零点几纳秒),考虑到在不同SCLK频率下,PSRAM返回的数据输入输出落后数据选通时钟的时间不同,数据选通时钟选择操作完成延迟模块26采用多级延迟。
在一些实施例中,数据选通时钟选择操作完成延迟模块26包括物理控制寄存器模块,物理控制寄存器模块用于选择延迟级数,每个延迟级数对应不同的延迟时间。
示例地,每级延迟可以通过物理控制寄存器模块phy_ctrl_reg0选择延迟级数,每一级延迟采用输入输出缓存(IOBUF)。片选低有效ce_n_ip可以直接作为CE_N输出即可。
本公开实施例所提供的用于伪静态随机存储器的控制器,包括数字控制器和物理层接口,其中,数字控制器基于操作请求,生成与八路串行输入输出接口的类型适配的伪静态随机存储器PSRAM传输信号,以使PSRAM传输信号适用不同的PSRAM接口;物理层接口基于PSRAM传输信号生成与PSRAM接口的类型适配的PSRAM接口信号,由于PSRAM接口信号是根据PSRAM接口的类型生成的,因此生成的PSRAM接口信号可以兼容不同类型的PSRAM接口和传输协议,使得控制器可以支持不同PSRAM芯片,提高PSRAM芯片选择的灵活性。
本公开实施例还提供一种用于伪静态随机存储器的控制方法,该控制方法基于本公开实施例提供的用于伪静态随机存储器的控制器,为节约篇幅,在此全文引用本公开实施例提供的用于伪静态随机存储器的控制器。
图12为本公开实施例提供的一种用于伪静态随机存储器的控制方法的流程图。参阅图12,控制方法包括:
步骤S1201,接收操作请求。
其中,操作请求可以通过APB总线和AHB总线传输至控制器,操作请求包括但不限于存储读写请求和寄存器模块访问请求。示例地,操作请求可以是来自APB或AHB的读写请求或者读写请求。
步骤S1202,基于操作请求生成与八路串行输入输出接口的类型适配的伪静态随机存储器PSRAM传输信号。
在一些实施例中,PSRAM传输信号包括读写命令、进入/退出半睡眠(混合睡眠)、进入/退出深度断电操作中各状态对应的传输信号。
步骤S1203,用于基于PSRAM传输信号生成与PSRAM接口的类型适配的PSRAM接口信号。
本公开实施例所提供的用于伪静态随机存储器的控制方法,基于操作请求,生成与八路串行输入输出接口的类型适配的伪静态随机存储器PSRAM传输信号,以使PSRAM传输信号适用不同的PSRAM接口;基于PSRAM传输信号生成与PSRAM接口的类型适配的PSRAM接口信号,由于PSRAM接口信号是根据PSRAM接口的类型生成的,因此生成的PSRAM接口信号可以兼容不同类型的PSRAM接口和传输协议,使得控制器可以支持不同PSRAM芯片,提高PSRAM芯片选择的灵活性。
附图中的流程图和框图显示了根据本公开的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
本文已经公开了示例实施例,并且虽然采用了具体术语,但它们仅用于并仅应当被解释为一般说明性含义,并且不用于限制的目的。在一些实例中,对本领域技术人员显而易见的是,除非另外明确指出,否则可单独使用与特定实施例相结合描述的特征、特性和/或元素,或可与其他实施例相结合描述的特征、特性和/或元件组合使用。因此,本领域技术人员将理解,在不脱离由所附的权利要求阐明的本公开的范围的情况下,可进行各种形式和细节上的改变。

Claims (11)

1.一种用于伪静态随机存储器的控制器,其特征在于,包括数字控制器和物理层接口,所述物理层接口的输入端与所述数字控制器连接,输出端与伪静态随机存储器PSRAM接口连接,其中:
所述数字控制器,用于接收操作请求,并基于所述操作请求生成与八路串行输入输出接口的类型适配的PSRAM传输信号;
所述物理层接口,用于基于所述PSRAM传输信号生成与所述PSRAM接口的类型适配的PSRAM接口信号。
2.根据权利要求1所述的控制器,其特征在于,所述操作请求包括高级外设总线APB操作请求和高性能总线AHB操作请求;
所述数字控制器包括:
寄存器模块,用于基于接收到的APB操作请求生成APB控制信号和时序参数,以及接收传输状态信号并存储;
AHB从机控制模块,用于响应接收到的AHB操作请求,基于所述APB控制信号和时序参数获得AHB指令信息;以及,将接收到的所述PSRAM的传输状态信息传输到AHB主机;
读写事务传输模块,用于基于所述APB控制信号和所述AHB指令信息,生成所述PSRAM传输信号,以及,接收来自所述物理层接口的操作请求和时钟信号,并基于所述时钟信号对所述操作请求进行采样,并将采样结果传输至所述AHB从机控制模块。
3.根据权利要求2所述的控制器,其特征在于,所述读写事务传输模块包括:
命令处理模块,用于对接收到的所述APB控制信号进行边沿检测,并输出APB控制有效信号和APB传输信号;
接收传输模块,用于基于所述物理层接口返回的数据进行跨时钟域传输,并在满足预设条件时,将所述物理层接口的数据输出,以及根据时序参数确定数据选通信号超时时,输出超时指示信号;
发送传输模块,用于对所述APB控制信号和所述AHB指令信息进行传输时,基于各个传输状态生成所述PSRAM传输信号。
4.根据权利要求3所述的控制器,其特征在于,所述发送传输模块包括数据移位寄存器模块,所述数据移位寄存器模块包括多个状态机,每个所述状态机与一个所述八路串行输入输出接口的类型对应,每个所述状态机针对与之对应的所述八路串行输入输出接口的类型,基于各个传输状态产生所述PSRAM传输信号。
5.根据权利要求3所述的控制器,其特征在于,所述发送传输模块还包括:
时序检查模块,用于基于所述时序参数生成第一指示信号;
写边界检查模块,用于基于存储页的参数和存储地址确定到达所述存储页的边界时,输出第二指示信号;
所述数据移位寄存器模块响应所述第一指示信号和所述第二指示信号对所述APB控制信号和所述AHB指令信息进行传输。
6.根据权利要求2所述的控制器,其特征在于,所述数字控制器还包括:
第一同步器,用于将超时信号从所述数字控制器的时钟信号到所述AHB的时钟信号的跨时钟域传输;
第二同步器,用于将传输完成信号从所述数字控制器的时钟信号到所述APB的时钟信号的跨时钟域传输。
7.根据权利要求1所述的控制器,其特征在于,所述APB操作请求包括APB读取请求、APB写入请求中的一种或多种;
所述AHB操作请求包括AHB读取请求、AHB写入请求中的一种或多种。
8.根据权利要求1所述的控制器,其特征在于,所述物理层接口包括:
时钟门控处理模块,用于根据相移存储控制器时钟和时钟使能生成用于PSRAM的时钟信号SCLK和SCLKN;
数据输入输出选择处理模块,用于根据存储控制器时钟的高低电平将数据输入输出拆分为两部分的存储控制器时钟;
数据掩码输出选择处理模块,用于根据数据掩码输出使能在存储控制器时钟的高低电平时将数据掩码拆分为两部分的数据掩码;
数据选通时钟输出选择处理模块,用于基于时钟信号、数据掩码、PSRAM类型、数据选通时钟输出使能产生兼容不同的PSRAM接口的数据选通时钟输出;
数据选通时钟门控处理模块,用于基于数据选通时钟输出使能对输入的数据选通时钟数据掩码进行门控,获得数据选通时钟输入信号;
数据选通时钟选择操作完成延迟模块,用于对数据选通时钟输入信号进行物理延迟,以使得PSRAM返回的数据落后于所述数据选通时钟。
9.根据权利要求8所述的控制器,其特征在于,所述数据选通时钟选择操作完成延迟模块包括物理控制寄存器模块,所述物理控制寄存器模块用于选择延迟级数,每个所述延迟级数对应不同的延迟时间。
10.一种基于权利要求1-9任意一项所述的用于伪静态随机存储器的控制器的控制方法,其特征在于,包括:
接收操作请求;
基于所述操作请求生成与所述八路串行输入输出接口的类型适配的伪静态随机存储器PSRAM传输信号;
用于基于所述PSRAM传输信号生成与所述PSRAM接口的类型适配的PSRAM接口信号。
11.根据权利要求10所述的控制方法,其特征在于,所述PSRAM传输信号包括读写命令、进入/退出半睡眠、进入/退出深度断电操作中各传输状态对应的传输信号。
CN202310154805.0A 2023-02-13 2023-02-13 用于伪静态随机存储器的控制器及控制方法 Pending CN116092552A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310154805.0A CN116092552A (zh) 2023-02-13 2023-02-13 用于伪静态随机存储器的控制器及控制方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310154805.0A CN116092552A (zh) 2023-02-13 2023-02-13 用于伪静态随机存储器的控制器及控制方法

Publications (1)

Publication Number Publication Date
CN116092552A true CN116092552A (zh) 2023-05-09

Family

ID=86188012

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310154805.0A Pending CN116092552A (zh) 2023-02-13 2023-02-13 用于伪静态随机存储器的控制器及控制方法

Country Status (1)

Country Link
CN (1) CN116092552A (zh)

Similar Documents

Publication Publication Date Title
US9860088B1 (en) Inferring sampled data in decision feedback equalizer at restart of forwarded clock in memory system
CN113553277B (zh) 一种ddr5 sdram的高吞吐率、低延迟phy接口电路装置
CN102981776B (zh) 双倍数据率虚拟静态随机存取存储器及其控制器、存取与操作方法、写入与读取方法
JP3856696B2 (ja) 2倍データ速度同期式動的ランダムアクセスメモリのための構成可能同期装置
KR101375466B1 (ko) 다중 전력 모드를 갖는 메조크로노스 시그널링 시스템
CN101692346B (zh) 一种存储器数据采样装置及一种采样控制器
US10572406B2 (en) Memory controller for receiving differential data strobe signals and application processor having the memory controller
US6782459B1 (en) Method and apparatus for controlling a read valid window of a synchronous memory device
US11994930B2 (en) Optimizing power in a memory device
US7385861B1 (en) Synchronization circuit for DDR IO interface
US7239576B2 (en) Memory device and method of controlling the same
EP2808801B1 (en) Multiple data rate memory with read timing information
US8593902B2 (en) Controller and access method for DDR PSRAM and operating method thereof
CN101510182B (zh) 低速dma接口的片上系统和内存访问方法
CN116092552A (zh) 用于伪静态随机存储器的控制器及控制方法
US20090180335A1 (en) Integrated circuit with reduced pointer uncertainly
CN115910147A (zh) 一种延迟可调的psram接口控制模块及控制器
WO2020236347A1 (en) Clock domain crossing for an interface between logic circuits
KR20070113351A (ko) 애디티브 래이턴시 구조를 공유 하는 어드레스 핀 리덕션회로를 구비하는 동기식 메모리 장치

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