一种通过芯片内部的mcu配置芯片内置fpga的方法

文档序号:6488618阅读:1447来源:国知局
一种通过芯片内部的mcu配置芯片内置fpga的方法
【专利摘要】一种内置有FPGA的集成电路芯片,所述集成电路芯片包括:FPGA模块;用于存储FPGA的逻辑映射信息的第一存储模块;MCU,通过与外部通讯,为第一存储模块写入FPGA模块的逻辑映射信息。其中所述FPGA模块在MCU写入所述逻辑映射信息后,通过读取第一存储模块中的所述逻辑映射信息完成FPGA模块的逻辑映射的配置。此外,本发明还提供了一种用于配置集成电路芯片内置的FPGA的方法。
【专利说明】—种通过芯片内部的MCU配置芯片内置FPGA的方法
【技术领域】
[0001 ] 本发明提出一种通过芯片内部的MCU配置芯片内置FPGA的方法,完成对芯片内置FPGA硬件逻辑的映射配置。
【背景技术】
[0002]在芯片内置FPGA这种特殊的芯片结构中,需要配置芯片内置的FPGA硬件的逻辑映射。
[0003]现有的配置FPGA的方法是;通过接口(比如I2C/SD10/SPI/UART/JTAG),而不是MCU,把配置信息下载到配置存储单元中。
[0004]针对的问题:如果芯片内置FPGA,那么要使得系统工作,需要进行2种配置:1.配置FPGA,2.配置MCU使得芯片工作。
[0005]改进:1.本发明通过内置的MCU去配置内置FPGA,使得原本需要配置FPGA的步骤,由MCU来完成。要使得系统工作,只需要对MCU进行相应的配置,通过MCU去配置FPGA。
[0006]2.原本的配置,需要有2个接口,一个是通过MCU去配置芯片,另一个接口去配置芯片内置的FPGA。通过本方法,可以达到只需要一个接口就可以完成配置信息的目的。

【发明内容】

[0007]本发明提出一种内置FPGA模块的集成电路芯片以及配置芯片内置FPGA的方法,通过芯片内部的MCU,完成对芯片内置FPGA硬件逻辑的映射配置。
[0008]具体的,本发明提供一种内置有FPGA的集成电路芯片,所述集成电路芯片包括:FPGA模块;用于存储FPGA的逻辑映射信息的第一存储模块;MCU,通过与外部通讯,为第一存储模块写入FPGA模块的逻辑映射信息。其中所述FPGA模块在MCU写入所述逻辑映射信息后,通过读取第一存储模块中的所述逻辑映射信息完成FPGA模块的逻辑映射的配置。
[0009]所述的集成电路芯片中还可以包括一个第二存储模块,存储有MCU启动程序。
[0010]所述的集成电路芯片中还可以包括一个DMA模块,受MCU控制,通过总线对所述第一和第二存储模块进行访问
[0011]以及,本发明提供一种对集成电路芯片中的内置FPGA模块的配置方法,包括以下步骤:1)MCU读取第二存储模块中的启动程序,对集成电路芯片进行硬件初始话工作;2)MCU将存在于芯片外部的配置代码下载到第二存储模块中;3)MCU运行第二存储模块中的配置代码,把FPGA映射配置信息写入到第一存储模块中;4) FPGA模块读取第一存储模块中的所述映射配置信息并完成逻辑映射的配置。
[0012]此外,本发明提供一种对集成电路芯片中的内置FPGA模块的配置方法,包括以下步骤:1)MCU读取第二存储模块中的启动程序,对集成电路芯片进行硬件初始化工作;2)MCU通知DMA,让DMA将存在于芯片外部的配置代码下载到第二存储模块中;3)MCU运行第二存储模块中的配置代码,并通知DMA ;4)DMA把FPGA映射配置信息写入到第一存储模块中;5)FPGA模块读取第一存储模块中的所述映射配置信息并完成逻辑映射的配置。【专利附图】

【附图说明】
[0013]图1芯片内置FPGA的芯片架构
[0014]图2不含有DMA的MCU配置内置FPGA流程图
[0015]图3含有DMA的MCU配置内置FPGA流程图
【具体实施方式】
[0016]本发明主要是通过芯片内部的MCU配置芯片内置FPGA的逻辑映射。如附图1所示,芯片中有MCU,MCU通过JTAG/SPI/I2C/SD10接口与外面接口进行通讯。MCU通过AMBA/PCIE总线与其他模块进行通讯。MCU可以与内置的FPGA模块,cfg_f lash_ctrl模块,sram_ctrl模块,mcu_flash_ctrl模块进行通讯。图中的FPGA指代的是芯片内置的FPGA模块。cfg_flash_ctrl模块指的是控制cfg_flash读写动作的模块。Cfg_flash指的是存储着FPGA的映射配置信息的存储模块。Mcu_flash_ctrl模块指的是控制mcu_flash读写动作的模块。mcu_flash指的是存储着MCU启动指令的模块。sram_ctrl模块指的是控制sram读写动作的模块。sram指的是静态随机存储器。DMA是指直接内存访问模块。(分开写了)DMA通过AMBA/PCIE总线,可以访问总线上的从设备。DMA通过AMBA/PCIE总线,通过访问cfg_flash_ctrl,实现对cfg_flash这个存储单元进行访问。DMA通过AMBA/PCIE总线,通过访问mcu_flash_ctrl,实现对mcu_flash这个存储单元进行访问。DMA通过AMBA/PCIE总线,通过访问sram_ctrl,实现对sram这个存储单元进行访问。芯片内置的FPGA模块通过cfg_flash_ctrl读取cfg_flash中的FPGA的逻辑映射信息。
[0017]该芯片架构的配置流程有2种方式:区别在于是否含有DMA模块进行配置。
[0018]不含有DMA模块的配置流程:
[0019]如图2所示,开始时,MCU从mcu_flash_ctrl读mcu_flash里面存储的启动加载程序,对芯片进行硬件初始化工作。接着,MCU通过JTAG/SPI/I2C/SD10接口将存在于芯片外部的配置代码下载到MCU的sram/flash中(这里flash指的是架构图上的mcu_flash)。然后,MCU运行在sram/flash中的配置代码,把FPGA映射配置信息通过AMBA/PCIE总线写入到cfg_flash里面。FPGA模块通过cfg_f lash_ctrl模块去读取cfg_flash的配置FPGA逻辑映射的信息。这样,通过MCU完成对芯片内置FPGA的逻辑映射信息的配置。
[0020]如图3所示,开始时,MCU从mcu_flash_ctrl读mcu_flash里面存储的启动加载程序,对芯片进行硬件初始化工作。接着,MCU通知DMA,让DMA通过JTAG/SPI/I2C/SD10接口将存在于芯片外部的配置代码下载到MCU的sram/flash中(这里flash指的是架构图上的mcu_flash)。然后,MCU运行在sram/flash中的配置代码,通知DMA。DMA把FPGA映射配置信息通过AMBA/PCIE总线写入到cfg_flash里面。FPGA模块通过cfg_flash_ctrl模块去读取cfg_f Iash的配置FPGA逻辑映射的信息。这样,通过MCU (含有DMA)完成对芯片内置FPGA的逻辑映射信息的配置。
[0021]下面对本发明所记载的加载程序模块的部分进行说明。加载程序模块为系统启动后第一个要加载的部分,该部分主要完成系统启动时硬件初始化的工作,MCU的基本配置(例如,时钟相关配置),并且提供对外部存储器的原子操作接口等),该部分程序在MCU芯片生产的时候固化到内部的,用户只可以读取。[0022]此外根据本发明的一个实施例,所述的mcu_f lash、cfg_flash和sram也可以是同一个存储模块的不同存储区间,其可以分别通过mcu_flash_ctrl模块、cfg_f lash_ctrl模块和sram_ctrl模块进行控制和访问。或者所述的mcu_flash和cfg_f Iash可以是一个存储模块的不同存储区间,通过mcu_flash_ctrl模块、cfg_f lash_ctrl模块进行控制和访问。或者,所述的存储模块可以以其他形式进行整合。
[0023]虽然本发明只是陈述了实现本申请的一个【具体实施方式】,但是本领域技术人员可以在此基础上作出更多的改型。例如所述的系统架构可以是硬件系统,也可以是软件系统;所述切换更高可靠性的保护模式的操作,可以采用本领域技术人员能够想到的其他的操作方式;以及本领域技术人员还可以采用其他数据模块来替代所述存储器接收以及存储所述插入冗余数据的数据信息。
【权利要求】
1.一种内置有FPGA的集成电路芯片,所述集成电路芯片包括: FPGA模块; 用于存储FPGA的逻辑映射信息的第一存储模块; MCU,通过与外部通讯,为第一存储模块写入FPGA模块的逻辑映射信息, 其中所述FPGA模块在MCU写入所述逻辑映射信息后,通过读取第一存储模块中的所述逻辑映射信息完成FPGA模块的逻辑映射的配置。
2.如权利要求1所述的集成电路芯片,其中还包括: 第二存储模块,存储有MCU启动程序。
3.如权利要求2所述的集成电路芯片,其中还包括: 第一存储模块控制模块,用于接收MCU指令控制第一存储模块的读写,并且所述FPGA模块通过该第一存储模块控制模块从第一存储模块中读取逻辑映射信息; 第二存储模块控制模块,用于控制第二存储模块的读写。
4.如权利要求2所述的集成电路芯片,其中所述的第一存储模块和第二存储模块为同一个存储模块的不同存储区间。
5.如权利要求3所述的集成电路芯片,其中所述的第一存储模块和第二存储模块为同一个存储模块的不同存储区间,所述第一存储模块控制模块和第二存储模块控制模块分别控制该存储模块。
6.如权利要求1所述的集成电路芯片,其中还包括: DMA,受MCU控制,通过总线对所述第一存储模块进行访问。
7.如权利要求2所述的集成电路芯片,其中还包括: DMA,受MCU控制,通过总线对所述第一和第二存储模块进行访问。
8.如权利要求3所述的集成电路芯片,其中还包括: DMA,受MCU控制,通过总线借助第一和第二存储模块控制模块,对所述第一和第二存储模块进行访问。
9.权利要求2所述的集成电路芯片中的内置FPGA模块的配置方法,包括以下步骤: DMCU读取第二存储模块中的启动程序,对集成电路芯片进行硬件初始话工作; 2)MCU将存在于芯片外部的配置代码下载到第二存储模块中; 3)MCU运行第二存储模块中的配置代码,把FPGA映射配置信息写入到第一存储模块中; 4)FPGA模块读取第一存储模块中的所述映射配置信息并完成逻辑映射的配置。
10.权利要求7所述的集成电路芯片中的内置FPGA模块的配置方法,包括以下步骤: DMCU读取第二存储模块中的启动程序,对集成电路芯片进行硬件初始话工作; 2)MCU通知DMA,让DMA将存在于芯片外部的配置代码下载到第二存储模块中; 3)MCU运行第二存储模块中的配置代码,并通知DMA; 4)DMA把FPGA映射配置信息写入到第一存储模块中; 5)FPGA模块读取第一存储模块中的所述映射配置信息并完成逻辑映射的配置。
【文档编号】G06F9/445GK103677868SQ201210326394
【公开日】2014年3月26日 申请日期:2012年9月6日 优先权日:2012年9月6日
【发明者】欧耿洲, 金传恩, 高占东 申请人:合肥科盛微电子科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1