CN112540953A - 基于fpga和mcu实现的片上系统 - Google Patents
基于fpga和mcu实现的片上系统 Download PDFInfo
- Publication number
- CN112540953A CN112540953A CN202011506028.4A CN202011506028A CN112540953A CN 112540953 A CN112540953 A CN 112540953A CN 202011506028 A CN202011506028 A CN 202011506028A CN 112540953 A CN112540953 A CN 112540953A
- Authority
- CN
- China
- Prior art keywords
- psram
- logic
- chip
- information
- register
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/78—Architectures of general purpose stored program computers comprising a single central processing unit
- G06F15/7807—System on chip, i.e. computer system on a single chip; System in package, i.e. computer system on one or more chips in a single package
-
- 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
-
- 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/4282—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
- G06F15/163—Interprocessor communication
- G06F15/17—Interprocessor communication using an input/output type connection, e.g. channel, I/O port
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Memory System (AREA)
Abstract
本发明涉及一种基于FPGA和MCU实现的片上系统,包括FPGA芯片、嵌设在所述FPGA芯片中的MCU内核、以及集成于所述FPGA芯片上的PSRAM存储器,所述MCU内核通过系统总线与所述PSRAM存储器连接,所述PSRAM存储器的访问地址映射于所述MCU内核的地址存储空间,通过动态调整所述PSRAM存储器的访问地址范围来控制所述PSRAM存储器的存储容量。利用所述片上系统,可以根据需要选择PSRAM存储器的部分存储区域进行存储,总的耗电量低,有助于降低功耗,而且利用PSRAM容量大、成本低的优点,所述片上系统通过PSRAM存储器可进行大量数据存取,数据存储能力高且成本较低。
Description
技术领域
本发明涉及FPGA开发领域,尤其涉及一种基于FPGA和MCU实现的片上系统。
背景技术
传统SRAM(StaticRandomAccessMemory,静态随机存储器)需要六个晶体管构成一个存储单元,导致大容量的SRAM价格高昂。PSRAM(PseudoSRAM,伪静态随机存储器)具有类似SRAM的接口协议,给出地址以及读写命令,就可以实现数据的存储和读取,同时,PSRAM的内核是DRAM(动态随机存储器)架构,使用一个晶体管和一个电容组成存储单元,而PSRAM接口较DRAM更简单,不像DRAM需要定期进行数据刷新,且读取速度较DRAM更快。基于上述优点,PSRAM能够依照类SRAM的稳定接口且实现较大的存储容量,PSRAM相比SRAM又具有很大的价格优势,所以在业界已得到大规模的应用,应用的产品有手机、平板电脑、GPS接口器等。
常规的PSRAM由芯片厂商采用专用集成芯片工艺制造,制造好的PSRAM芯片的容量(如16M,32M,64M等)是固定的,特定容量的PSRAM芯片使用时不能对容量进行调整,如果存储容量远超出实际需求容量,在使用时会增加系统的耗电量。
另外,在基于FPGA(现场可编程门阵列)和MCU(微控制器)实现的片上系统(SystemonChip,SoC)设计中,常常存在片内存储资源较少而无法满足大量数据存储的问题,而且目前采用的一些存储器(如同步动态随机存储器SDRAM、闪存Flash)还存在成本过高的问题。
发明内容
本发明提供一种基于FPGA和MCU实现的片上系统,采用了PSRAM作为MCU内核的数据存储器,可以实现对PSRAM存储容量的动态控制和管理,有助于降低功耗,而且利用PSRAM容量大、成本低的优点,所述片上系统的数据存储能力高且成本较低。
本发明提供的基于FPGA和MCU实现的片上系统,包括FPGA芯片、嵌设在所述FPGA芯片中的MCU内核、以及在所述FPGA芯片内实现的PSRAM存储器,所述MCU内核通过系统总线与所述PSRAM存储器连接,所述PSRAM存储器的访问地址映射于所述MCU内核的地址存储空间;其中,通过动态调整所述PSRAM存储器的访问地址范围,控制所述PSRAM存储器的存储容量。
可选的,所述PSRAM存储器包括控制器模块和功能接口模块,所述控制器模块包括利用所述FPGA芯片的逻辑资源实现的容量配置寄存器,所述容量配置寄存器用于存储有关所述PSRAM存储器的访问地址范围的信息;所述功能接口模块分别与所述控制器模块和所述PSRAM存储器的物理层连接,所述功能接口模块通过对所述容量配置寄存器存储的信息进行逻辑转换,并传输给物理层,来动态配置所述PSRAM存储器的物理层的访问地址范围。
可选的,所述控制器模块包括利用所述FPGA芯片的逻辑资源实现且与所述PSRAM存储器的不同访问地址对应的多个寄存器组,每个所述寄存器组均包括控制寄存器、写数据寄存器、读数据寄存器及状态寄存器。
可选的,所述控制器模块包括利用所述FPGA芯片的逻辑资源实现的寄存器地址选择单元,所述寄存器地址选择单元用于在所述MCU内核的控制下选择相应的寄存器组或者所述容量配置寄存器进行操作。
可选的,所述功能接口模块包括利用所述FPGA芯片的逻辑资源实现的物理层接口转换逻辑,所述物理层接口转换逻辑通过物理层接口总线连接所述物理层。
可选的,所述功能接口模块包括利用所述FPGA芯片的逻辑资源实现的上电初始化逻辑,所述上电初始化逻辑用于在上电之后对所述物理层进行状态校准。
可选的,所述功能接口模块包括利用所述FPGA芯片的逻辑资源实现的PSRAM状态检测逻辑、PSRAM读写数据逻辑和PSRAM控制功能逻辑,所述PSRAM状态检测逻辑用于检测所述物理层的状态并向所述控制器模块反馈,所述PSRAM读写数据逻辑用于在所述MCU内核的控制下在所述控制器模块和所述物理层接口转换逻辑之间实现读数据操作或者写数据操作,所述PSRAM控制功能逻辑用于在读写数据时进行相应的读写控制。
可选的,所述PSRAM存储器还包括:
总线接口模块,分别与所述MCU内核的系统总线和所述控制器模块连接,所述总线接口模块用于获取所述系统总线上的操作信息并发送给所述控制器模块。
可选的,所述总线接口模块包括:
总线数据逻辑分析单元,直接与所述MCU内核的系统总线连接,用于根据总线协议分析总线上的数据并提取操作信息;以及,
逻辑缓冲单元,包括多个缓冲逻辑,所述逻辑缓冲单元用于保存来自所述总线数据逻辑分析单元的信息并通过相应的缓冲逻辑进行缓冲后发送给所述控制器模块、以及在所述MCU内核的控制下将来自所述控制器模块的信息保存并通过相应的缓冲逻辑进行缓冲后发送给所述总线数据逻辑分析单元。
可选的,所述逻辑缓冲单元包括用于对地址信息进行缓冲的地址逻辑缓冲、用于对数据信息进行缓冲的数据逻辑缓冲和用于对控制信息进行缓冲的控制逻辑缓冲。
本发明提供的基于FPGA和MCU实现的片上系统,包括FPGA芯片、嵌设在所述FPGA芯片中的MCU内核、以及集成于所述FPGA芯片上的PSRAM存储器,所述MCU内核通过系统总线与所述PSRAM存储器连接,所述PSRAM存储器的访问地址映射于所述MCU内核的地址存储空间,通过动态调整所述PSRAM存储器的访问地址范围来控制所述PSRAM存储器的存储容量,因而可以根据需要选择所述PSRAM存储器的部分存储区域进行存储(未选择的存储区域处于休眠状态),总的耗电量低,有助于降低功耗,而且利用PSRAM容量大、成本低的优点,所述片上系统通过PSRAM存储器可进行大量数据存取,数据存储能力高且成本较低。
附图说明
图1是本发明一实施例的基于FPGA和MCU实现的片上系统的结构示意图。
图2是本发明一实施例的片上系统中总线接口模块的结构示意图。
图3是本发明一实施例的片上系统中的控制器模块的结构示意图。
图4是本发明一实施例的片上系统中的功能接口模块的结构示意图。
图5是利用本发明一实施例的片上系统对PSRAM存储器进行操作的示意图。
具体实施方式
以下结合附图和具体实施例对本发明的基于FPGA和MCU实现的片上系统作进一步详细说明。根据下面的说明,本发明的优点和特征将更清楚。需说明的是,附图均采用非常简化的形式且均使用非精准的比例,仅用以方便、明晰地辅助说明本发明实施例的目的。
本发明实施例涉及一种基于MCU与FPGA实现的片上系统,所述片上系统包括FPGA芯片、嵌设在所述FPGA芯片中的MCU内核、以及在所述FPGA芯片片内实现的PSRAM存储器,所述MCU内核通过系统总线与所述PSRAM存储器连接,所述PSRAM存储器的访问地址映射于所述MCU内核的地址存储空间;其中,通过动态调整所述PSRAM存储器的访问地址范围,控制所述PSRAM存储器的存储容量。
本发明实施例的上述片上系统中,采用了片内PSRAM存储器设计,所述MCU内核通过系统总线与所述PSRAM存储器连接,即所述PSRAM存储器可作为MCU内核的数据存储器。所述PSRAM存储器的访问地址映射于所述MCU内核的地址存储空间,在具体操作中,用户可以从软件层面动态配置PSRAM存储器的访问地址范围(改变要访问的所述PSRAM存储器在MCU地址存储空间的地址宽度即可),来选择控制PSRAM存储器的存储容量,使得在片上系统进行存储资源应用更为灵活,而且可以根据需要设置存储容量,有助于降低功耗。利用PSRAM存储器的容量大、成本低的优点,所述片上系统可实现大量数据存储,从而数据存储能力高且成本较低。基于FPGA可编程的特点,该片上系统具有良好的扩展性和易用性,降低了MCU内核的数据存储器的设计与应用的复杂度。
图1是本发明一实施例的基于FPGA和MCU实现的片上系统的结构示意图。参见图1,本发明一实施例包括一种基于FPGA和MCU实现的片上系统100,所述片上系统包括FPGA芯片、嵌设在所述FPGA芯片中的MCU内核110、以及在所述FPGA芯片内实现的PSRAM存储器120,所述MCU内核110通过系统总线111与所述PSRAM存储器120连接。
所述FPGA芯片可采用本领域公开的方法制造,其中,MCU内核110可以以软核或者硬核的方式嵌设在FPGA芯片中。为了实现PSRAM存储器120,所述FPGA芯片上还形成了PSRAM存储器的物理层以及可编程的逻辑资源,所述逻辑资源主要包括可编程的LCB(LogicalControlBlock,逻辑控制区块,如查找表、加法器、寄存器、多路选择器等)、时钟网络资源、时钟处理单元、块随机存储器(BlockRAM)、DSP(数字信号处理)核和接口资源等。所述PSRAM存储器120的物理层可具有本领域公知的结构。所述MCU内核110的系统总线111可以采用先进高性能总线(AdvancedHighPerformanceBus,AHB)、wishbone总线(简称WB总线)以及Avalon总线等本领域公开的总线类型。
参见图1,本实施例的片上系统100中,所述PSRAM存储器120进一步包括设置于FPGA芯片片内的总线接口模块121、控制器模块122以及功能接口模块123。所述总线接口模块121连接系统总线111,所述控制器模块122连接总线接口模块121,所述功能接口模块123连接所述控制器模块122和所述PSRAM存储器120的物理层。以下参照图2至图4对所述总线接口模块121、控制器模块122以及功能接口模块123作进一步说明。
图2是本发明一实施例的片上系统中总线接口模块的结构示意图。参见图2,本实施例中,所述总线接口模块121用于获取所述系统总线111上的操作信息并发送给所述控制器模块122。具体的,所述总线接口模块121通过译码MCU内核110的系统总线111上的地址数据,能够确定对PSRAM存储器120物理层的访问地址,该访问地址位于已设置的PSRAM存储器120的访问地址范围内,并且与物理层的访问地址匹配。
一实施例中,所述总线接口模块121可以在所述系统总线111和所述控制器模块122之间进行数据传输,例如在接收到MCU内核110的操作命令后,可以根据总线协议分析系统总线111上发来的数据,提取出当次操作的相关信息,并通过相应的缓冲逻辑保存并输出,在读数据操作中,所述总线接口模块121也可以将存储于控制器模块122的读数据寄存器的数据映射到系统总线111上,在写数据操作中,所述总线接口模块121将系统总线111上的数据映射到控制器模块122的写数据寄存器。所述系统总线111上发来的数据的形式可以分为地址、数据、控制等信息,每种类型的数据可通过相应的数据缓冲并输出至下一层模块(本实施例为控制器模块)。
具体的,参见图2,所述总线接口模块121包括总线数据逻辑分析单元和逻辑缓冲单元,所述总线数据逻辑分析单元直接与所述MCU内核110的系统总线111连接,用于根据总线协议分析系统总线111上的数据并提取操作信息,所述逻辑缓冲单元包括多个缓冲逻辑,所述逻辑缓冲单元用于保存来自所述总线数据逻辑分析单元的信息并通过相应的缓冲逻辑进行缓冲后发送给所述控制器模块122、以及在所述MCU内核110的控制下将来自所述控制器模块122的信息保存并通过相应的缓冲逻辑进行缓冲后发送给所述总线数据逻辑分析单元。
进一步的,所述逻辑缓冲单元中设置的缓冲逻辑可包括地址逻辑缓冲、数据逻辑缓冲和控制逻辑缓冲。
所述地址逻辑缓冲用于对地址信息进行缓冲处理,具体可包括要存储在控制器模块122中的寄存器的地址信息,所述寄存器的地址信息与PSRAM存储器的访问地址对应,因而对所述PSRAM存储器的访问地址可以具体体现在选择相应的寄存器进行操作,寄存器的地址被映射到MCU内核可访问到的存储地址空间,以便于MCU内核对PSRAM存储器进行读、写、容量配置与控制操作。通过地址逻辑缓冲,所述寄存器的地址信息被保存,并可在MCU内核110的控制下向控制器模块122发出。
所述数据逻辑缓冲用于对数据信息进行缓冲处理,例如在写数据操作时,所述总线数据逻辑分析单元将来自系统总线111上的要写入PSRAM存储器120物理层的数据发送给数据逻辑缓冲保存,在MCU内核110的控制下可将要写入PSRAM存储器120的数据发送给控制器模块122,后续通过功能接口模块123传输给物理层。在读数据操作时,所述数据逻辑缓冲可以保存来自控制器模块122的要发送给MCU内核110的数据,在MCU内核110的控制下通过总线数据逻辑分析单元上传至系统总线111。
所述控制逻辑缓冲用于对控制信息进行缓冲处理,可以保存总线数据逻辑分析单元发送的控制信息并经过缓冲后,发送至控制器模块122。所述控制信息用来控制PSRAM存储器120的读操作或写操作(文中亦简称读写操作)。
图3是本发明一实施例的片上系统中的控制器模块的结构示意图。参见图3,本实施例的片上系统100中,所述控制器模块122包括利用所述FPGA芯片的逻辑资源实现的寄存器地址选择单元,所述寄存器地址选择单元可以接收到上述缓冲逻辑单元发来的地址信息、数据信息以及控制信息,并且通过对接收到的信息进行处理,在所述MCU内核110的控制下选择相应的寄存器进行操作。在所述寄存器地址选择单元选择寄存器时,其它接收到的数据信息和控制信息等待选择的结果,根据选择的结果和控制信息的状态,再对相应的寄存器进行操作,如读操作、写操作、设置寄存器的初始状态的操作、配置PSRAM存储器120存储容量的操作或者读取相应地址的PSRAM存储器120的状态信息的操作等。
本实施例中,所述控制器模块122包括利用所述FPGA芯片的逻辑资源实现且与所述PSRAM存储器120的不同访问地址对应的多个寄存器组,每个所述寄存器组均包括控制寄存器、写数据寄存器、读数据寄存器及状态寄存器,在进行读操作或写操作时,所述寄存器地址选择单元用于在所述MCU内核110的控制下选择与要访问的PSRAM存储器120的地址对应的寄存器组进行操作。所述控制寄存器被所述寄存器地址选择单元选择后,将对PSRAM存储器120进行读写控制的信息进行存储,并在MCU内核110的控制下向功能接口模块123发送读写控制信息;所述写数据寄存器被所述寄存器地址选择单元选择后,获取要写入PSRAM存储器120物理层的数据进行存储,并在MCU内核110的控制下向功能接口模块123输出要写入的数据;所述读数据寄存器被所述寄存器地址选择单元选择后,经功能接口模块123获取存储于相应访问地址的所述PSRAM存储器120的数据,并在MCU内核110的控制下经寄存器地址选择单元、总线接口模块121、系统总线111发送给MCU内核110;所述状态寄存器被所述寄存器地址选择单元选择后,经功能接口模块123获取相应访问地址的所述PSRAM存储器120的状态,并向MCU内核110反馈。
此外,为了实现对PSRAM存储器120的访问地址范围进行动态调整,本发明的所述控制器模块122还包括利用所述FPGA芯片的逻辑资源实现的容量配置寄存器,所述容量配置寄存器用于存储有关所述PSRAM存储器120的访问地址范围的信息,所述寄存器地址选择单元在所述MCU内核110的控制下,在接收到调整所述PSRAM存储器120的访问地址范围的信息(或对所述PSRAM存储器120进行初始化)时,选择所述容量配置寄存器进行容量配置的操作。对于同一个所述PSRAM存储器120来说,可以设置一个所述容量配置寄存器与其对应。但不限于此,在另外的实施例中,所述FPGA芯片片内也可以设置两个以上的PSRAM存储器,则每个所述PSRAM存储器均可以对应于一个容量配置寄存器来存储访问地址范围的信息,并通过动态调整访问地址范围来控制存储容量。
本实施例的总线接口模块121和控制器模块122根据系统总线111上发送的指令进行操作,具体来说,如果系统总线111上发送的指令是配置PSRAM存储器120的存储容量的操作指令,则总线接口模块121根据对应的地址选择控制器模块122的容量配置寄存器,执行容量配置初始化操作。如果系统总线111上发送的指令是读数据操作指令,则控制器模块122根据对应的地址选择读数据寄存器,执行读数据操作。如果系统总线111上发送的指令是写数据操作指令,则控制器模块122根据对应的地址选择写数据寄存器,执行写数据操作。
本发明实施例中,上述PSRAM存储器120的各个功能模块(总线接口模块121、控制器模块122以及功能接口模块123)及内部的单元,属于PSRAM存储器120在功能层面的架构,该架构能通过FPGA芯片的可编程逻辑资源实现,称为功能层。此外,为了完成PSRAM存储器120的存储功能,在FPGA芯片上还设置有通过相应的接口与功能层连接并在功能层信号的驱动下直接操作存储单元来执行存储功能的硬件资源,称为物理层,所述存储单元可以在FPGA芯片上按照阵列排布,每个存储单元由一个晶体管和一个电容组成,每个存储单元均具有相应的地址,所述物理层根据功能层给出的地址及读写命令,控制所述存储单元进行数据存储及读出。
图4是本发明一实施例的片上系统中的功能接口模块的结构示意图。参见图1和图4,本实施例的片上系统100中,所述功能接口模块123分别与所述控制器模块122和所述PSRAM存储器120的物理层连接,所述功能接口模块123通过对所述控制器模块122中容量配置寄存器存储的信息进行逻辑转换,并传输给物理层,来动态配置所述物理层的访问地址范围。所述功能接口模块123可以实现PSRAM存储器120的时序操作功能,所述时序操作功能在控制器模块122中被映射为相应的寄存器。
具体的,如图4所示,所述功能接口模块123可包括利用所述FPGA芯片的逻辑资源实现的物理层接口转换逻辑、上电初始化逻辑以及PSRAM状态检测逻辑、PSRAM读写数据逻辑和PSRAM控制功能逻辑。
所述物理层接口转换逻辑作为PSRAM存储器120的物理层和功能层的转换接口,具体通过物理层接口总线连接所述物理层,从而可以将接收到针对PSRAM存储器120的操作信息发送给物理层,以及将物理层的数据反馈至上一级模块(本实施例为控制器模块122)。物理层接口转换逻辑获取功能接口模块123内的输出信息,将这些输出信息转换成物理层接口总线可以识别的信息,实现对PSRAM存储器120的物理层进行控制、状态的检测反馈等功能,同时所述物理层接口转换逻辑还可根据对PSRAM存储器120的容量配置的信息动态配置对物理层的地址访问位宽,以兼容不同容量的存储需求。
所述上电初始化逻辑用于在上电之后对所述物理层进行状态校准。具体可以根据PSRAM存储器120自身的特性设计上电初始化逻辑,所述状态校准包括上电之后的读校准、写校准等。
所述PSRAM状态检测逻辑用于检测所述物理层的状态并向所述控制器模块122反馈。例如,所述PSRAM状态检测逻辑可以根据上电初始化操作之后PSRAM存储器120物理层的状态进行检测,反馈PSRAM存储器120当前的状态,如初始化失败、读写校准失败等。
所述PSRAM读写数据逻辑用于在所述MCU内核110的控制下在所述控制器模块122和所述物理层接口转换逻辑之间实现读数据操作或者写数据操作。所述PSRAM控制功能逻辑用于在读写数据时进行相应的读写控制,以在进行读写操作时,确保PSRAM存储器120处于正确的读写控制状态。
图5是利用本发明一实施例的片上系统对PSRAM存储器进行操作的示意图。参见图1至图5,作为示例,利用本实施例的基于FPGA和MCU实现的片上系统100进行存储器操作可包括如下过程:
步骤一,扫描MCU内核110的系统总线111,判断系统总线111是否使能,如果系统总线111没有使能,则继续等待直到系统总线111使能,如果系统总线111使能,则执行步骤二;
步骤二,判断对片内的PSRAM存储器120的容量设置的初始化是否完成,如果未完成,则先设置PSRAM存储器120的初始存储容量,并执行容量初始化的操作(操作类型:设置存储容量),如果已完成初始化,则分析系统总线111上发送的操作命令并执行相应的操作类型(如读操作、写操作或者调整存储容量的操作),步骤一和步骤二可以由总线接口模块121在MCU内核110的控制下完成;
步骤三,根据要执行的操作类型(如存储容量设置、读数据设置及写数据设置等)进行寄存器操作(可在MCU内核110的控制下由控制器模块122执行),进而从功能层层面转换到物理层(可在MCU内核110的控制下由功能接口模块123执行),实现各类针对PSRAM存储器120的操作。
上述步骤二中,在对PSRAM存储器120的存储容量进行初始化时,可以根据所述PSRAM存储器120映射于所述MCU内核110的地址存储空间的总的地址宽度,设置一个初始的访问地址范围,发送到系统总线111,通过分析所述系统总线111上的关于所述PSRAM存储器120的访问地址范围的信息,设置容量配置寄存器的初始值,进而启动(wakeup)与所述容量配置寄存器的初始值对应的所述PSRAM存储器120物理层的存储范围。在步骤三中,在系统运行过程中,如果需要对PSRAM存储器120的存储容量进行调整,则可以根据所述PSRAM存储器120映射于所述MCU内核110的地址存储空间的总的地址宽度,设置一个新的访问地址范围,发送到系统总线111,通过分析所述系统总线111上的关于所述PSRAM存储器120的更新后的访问地址范围的信息,更新容量配置寄存器的值,进而启动相应的所述PSRAM存储器120物理层,未启动的部分处于休眠状态,这样可以节约系统功耗。在对所述PSRAM存储器120的访问地址范围进行下一次调整之前,仅在设置的访问地址范围内进行读写数据的操作,可以提高片上系统存储资源使用的灵活性。
本发明实施例的基于FPGA和MCU实现的片上系统,可以实现对MCU内核的数据存储器(PSRAM架构)的访问地址范围的动态控制与管理,由于PSRAM存储器本身具有接口简单、存储容量相对较大的优点,有助于解决传统基于MCU和FPGA实现的片上系统存在的片内存储资源较少而无法满足大数据存储要求的问题,加强了所述片上系统在大数据应用领域的应用前景。相对于其它类型的数据存储器(如SDRAM、Flash以及传统的SRAM),PSRAM存储器成本较低,有助于降低片上系统的制造成本。并且,本发明实施例的基于FPGA和MCU实现的片上系统,将PSRAM存储器设置于FPGA芯片片内,具有良好的可扩展性和易用性,降低了PSRAM存储器设计和应用的复杂度。
上述描述仅是对本发明较佳实施例的描述,并非对本发明权利范围的任何限定,任何本领域技术人员在不脱离本发明的精神和范围内,都可以利用上述揭示的方法和技术内容对本发明技术方案做出可能的变动和修改,因此,凡是未脱离本发明技术方案的内容,依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化及修饰,均属于本发明技术方案的保护范围。
Claims (10)
1.一种基于FPGA和MCU实现的片上系统,其特征在于,包括FPGA芯片、嵌设在所述FPGA芯片中的MCU内核、以及在所述FPGA芯片片内实现的PSRAM存储器,所述MCU内核通过系统总线与所述PSRAM存储器连接,所述PSRAM存储器的访问地址映射于所述MCU内核的地址存储空间;其中,通过动态调整所述PSRAM存储器的访问地址范围,控制所述PSRAM存储器的存储容量。
2.如权利要求1所述的片上系统,其特征在于,所述PSRAM存储器包括:
控制器模块,所述控制器模块包括利用所述FPGA芯片的逻辑资源实现的容量配置寄存器,所述容量配置寄存器用于存储有关所述PSRAM存储器的访问地址范围的信息;以及,
功能接口模块,分别与所述控制器模块和所述PSRAM存储器的物理层连接,所述功能接口模块通过对所述容量配置寄存器存储的信息进行逻辑转换,并传输给物理层,来动态配置所述PSRAM存储器的物理层的访问地址范围。
3.如权利要求2所述的片上系统,其特征在于,所述控制器模块包括利用所述FPGA芯片的逻辑资源实现且与所述PSRAM存储器的不同访问地址对应的多个寄存器组,每个所述寄存器组均包括控制寄存器、写数据寄存器、读数据寄存器及状态寄存器。
4.如权利要求3所述的片上系统,其特征在于,所述控制器模块包括利用所述FPGA芯片的逻辑资源实现的寄存器地址选择单元,所述寄存器地址选择单元用于在所述MCU内核的控制下选择相应的寄存器组或者所述容量配置寄存器进行操作。
5.如权利要求2所述的片上系统,其特征在于,所述功能接口模块包括利用所述FPGA芯片的逻辑资源实现的物理层接口转换逻辑,所述物理层接口转换逻辑通过物理层接口总线连接所述物理层。
6.如权利要求2所述的片上系统,其特征在于,所述功能接口模块包括利用所述FPGA芯片的逻辑资源实现的上电初始化逻辑,所述上电初始化逻辑用于在上电之后对所述物理层进行状态校准。
7.如权利要求2所述的片上系统,其特征在于,所述功能接口模块包括利用所述FPGA芯片的逻辑资源实现的PSRAM状态检测逻辑、PSRAM读写数据逻辑和PSRAM控制功能逻辑,所述PSRAM状态检测逻辑用于检测所述物理层的状态并向所述控制器模块反馈,所述PSRAM读写数据逻辑用于在所述MCU内核的控制下在所述控制器模块和所述物理层接口转换逻辑之间实现读数据操作或者写数据操作,所述PSRAM控制功能逻辑用于在读写数据时进行相应的读写控制。
8.如权利要求2所述的片上系统,其特征在于,所述PSRAM存储器还包括:
总线接口模块,分别与所述MCU内核的系统总线和所述控制器模块连接,所述总线接口模块用于获取所述系统总线上的操作信息并发送给所述控制器模块。
9.如权利要求8所述的片上系统,其特征在于,所述总线接口模块包括:
总线数据逻辑分析单元,直接与所述MCU内核的系统总线连接,用于根据总线协议分析所述系统总线上的数据并提取操作信息;以及,
逻辑缓冲单元,包括多个缓冲逻辑,所述逻辑缓冲单元用于保存来自所述总线数据逻辑分析单元的信息并通过相应的缓冲逻辑进行缓冲后发送给所述控制器模块、以及在所述MCU内核的控制下将来自所述控制器模块的信息保存并通过相应的缓冲逻辑进行缓冲后发送给所述总线数据逻辑分析单元。
10.如权利要求9所述的片上系统,其特征在于,所述逻辑缓冲单元包括用于对地址信息进行缓冲的地址逻辑缓冲、用于对数据信息进行缓冲的数据逻辑缓冲和用于对控制信息进行缓冲的控制逻辑缓冲。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011506028.4A CN112540953A (zh) | 2020-12-18 | 2020-12-18 | 基于fpga和mcu实现的片上系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011506028.4A CN112540953A (zh) | 2020-12-18 | 2020-12-18 | 基于fpga和mcu实现的片上系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112540953A true CN112540953A (zh) | 2021-03-23 |
Family
ID=75019161
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011506028.4A Pending CN112540953A (zh) | 2020-12-18 | 2020-12-18 | 基于fpga和mcu实现的片上系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112540953A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112802518A (zh) * | 2021-03-25 | 2021-05-14 | 深圳市汇顶科技股份有限公司 | 数据写入方法、片上系统芯片及计算机可读存储介质 |
WO2023066391A1 (zh) * | 2021-10-22 | 2023-04-27 | 展讯半导体(成都)有限公司 | 一种内存控制器、物联网芯片及电子设备 |
CN116521468A (zh) * | 2023-07-05 | 2023-08-01 | 西安智多晶微电子有限公司 | 一种fpga在线调试方法及支持在线调试的fpga |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6898678B1 (en) * | 1999-06-09 | 2005-05-24 | Texas Instrument Incorporated | Shared memory with programmable size |
CN1716180A (zh) * | 2004-06-30 | 2006-01-04 | 富士通株式会社 | 半导体器件 |
CN209514613U (zh) * | 2019-01-22 | 2019-10-18 | 山东高云半导体科技有限公司 | 现场可编程门阵列fpga开发板 |
CN110806997A (zh) * | 2019-10-16 | 2020-02-18 | 广东高云半导体科技股份有限公司 | 一种片上系统以及存储器 |
-
2020
- 2020-12-18 CN CN202011506028.4A patent/CN112540953A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6898678B1 (en) * | 1999-06-09 | 2005-05-24 | Texas Instrument Incorporated | Shared memory with programmable size |
CN1716180A (zh) * | 2004-06-30 | 2006-01-04 | 富士通株式会社 | 半导体器件 |
CN209514613U (zh) * | 2019-01-22 | 2019-10-18 | 山东高云半导体科技有限公司 | 现场可编程门阵列fpga开发板 |
CN110806997A (zh) * | 2019-10-16 | 2020-02-18 | 广东高云半导体科技股份有限公司 | 一种片上系统以及存储器 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112802518A (zh) * | 2021-03-25 | 2021-05-14 | 深圳市汇顶科技股份有限公司 | 数据写入方法、片上系统芯片及计算机可读存储介质 |
WO2023066391A1 (zh) * | 2021-10-22 | 2023-04-27 | 展讯半导体(成都)有限公司 | 一种内存控制器、物联网芯片及电子设备 |
CN116521468A (zh) * | 2023-07-05 | 2023-08-01 | 西安智多晶微电子有限公司 | 一种fpga在线调试方法及支持在线调试的fpga |
CN116521468B (zh) * | 2023-07-05 | 2023-09-15 | 西安智多晶微电子有限公司 | 一种fpga在线调试方法及支持在线调试的fpga |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112540953A (zh) | 基于fpga和mcu实现的片上系统 | |
US10991446B2 (en) | Electronic device performing training on memory device by rank unit and training method thereof | |
US8423700B2 (en) | Hybrid memory device with single interface | |
EP2248023B1 (en) | Extended utilization area for a memory device | |
EP3033749B1 (en) | Apparatuses and methods for configuring i/o of memory for hybrid memory modules | |
US7571276B2 (en) | Read operation for semiconductor memory devices | |
JP6408712B2 (ja) | メモリアクセス方法、ストレージクラスメモリ、およびコンピュータシステム | |
US8122199B2 (en) | Multi port memory device with shared memory area using latch type memory cells and driving method | |
CN103559146B (zh) | 一种提高NAND flash控制器读写速度的方法 | |
US20110035537A1 (en) | Multiprocessor system having multi-command set operation and priority command operation | |
US9727269B2 (en) | System and method for retaining DRAM data when reprogramming reconfigurable devices with DRAM memory controllers incorporating a data maintenance block colocated with a memory module or subsystem | |
KR20180012565A (ko) | 휘발성 메모리를 캐쉬로 사용하는 비휘발성 메모리 시스템 | |
CN107329929B (zh) | 一种基于SoC FPGA的数据传输系统及数据传输方法 | |
US8015329B2 (en) | Data transfer coherency device and methods thereof | |
US10754768B2 (en) | Memory system using descriptor lookup tables to access setting information for a non-volatile memory, and an operating method thereof | |
US8305835B2 (en) | Memory elements having configurable access duty cycles and related operating methods | |
CN101136246A (zh) | 一种基于双口ram实现数据速率转换的装置和方法 | |
US20230273668A1 (en) | Semiconductor memory device, electronic device and method for setting the same | |
US20020136079A1 (en) | Semiconductor memory device and information processing system | |
CN110765060B (zh) | Mdio总线到并行总线转换方法及装置、设备、介质 | |
US8745363B2 (en) | Bootable volatile memory device, memory module and processing system comprising bootable volatile memory device, and method of booting processing system using bootable volatile memory device | |
KR102384344B1 (ko) | 모바일 장치 및 모바일 장치의 동작 방법 | |
CN112100098B (zh) | Ddr控制系统及ddr存储系统 | |
CN109726149B (zh) | 一种axi总线访问nand flash的方法及装置 | |
CN114385426A (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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20210323 |
|
RJ01 | Rejection of invention patent application after publication |