一种对SRAM型FPGA进行配置、回读和刷新的电路和操作方法技术

技术编号:32831164 阅读:6 留言:0更新日期:2022-03-26 20:43
本发明专利技术公开了一种对SRAM型FPGA进行配置、回读和刷新的电路,包括:存储控制器、串口模块、数据通路、FPGA接口模块、状态机、配置寄存器;存储控制器读取存储器中的数据并通过数据通路发送给串口模块或FPGA接口模块;串口模块与上位机之间双向通讯连接;FPGA接口模块通过数据通路接收存储器中的数据或串口模块的数据,对FPGA进行配置、回读和刷新;本发明专利技术电路可以对SRAM型FPGA片内的配码错误进行检测和更新,增强了FPGA对恶劣环境的适应性。并且电路采用了串口模块以接收上位机信息,既可以上电后按照默认的预定流程工作,也可以通过串口模块对电路的工作状态进行监测、对工作模式进行设置调整。设置调整。设置调整。

【技术实现步骤摘要】
一种对SRAM型FPGA进行配置、回读和刷新的电路和操作方法


[0001]本专利技术涉及集成电路
,尤其是一种对SRAM型FPGA进行配置、回读和刷新的电路和操作方法。

技术介绍

[0002]FPGA即现场可编程门阵列,它是和CPU、DSP并列的一种通用集成电路。FPGA片内包括时序逻辑、组合逻辑、布线资源、存储器阵列、运算逻辑阵列、时钟网络、IO逻辑等资源,用户通过图形化设计方式、或者硬件描述语言(HDL)的设计输入方式,可以对FPGA片内的资源进行调用、进而搭建出各种数字电路。
[0003]用户完成FPGA功能开发设计之后,需要将电路设计转换为二进制码流,码流中只包含0、1数字组合,其不同的数字组合方式,决定了FPGA片内的电路结构。由于FPGA的功能是由码流所决定的,所以,如果希望FPGA行使预期的功能,就要先将码流传输进FPGA,这一过程称作“配置”(Configuration)。
[0004]在FPGA片内,有专门的存储器阵列,用于保存配置码流。多数FPGA都采用SRAM阵列来保存配置,称为“配置SRAM”即Configuration SRAM。也有一些FPGA采用Flash等非易失存储技术来保存码流,但这些FPGA一般容量较小、用途受限。
[0005]在片内采用SRAM来保存配置的FPGA,称为SRAM型FPGA,其容量大、速度高,主流的高性能电路应用场景,均采用这一类型的FPGA。但是,SRAM型FPGA有个缺点:当FPGA被应用于诸如辐照环境、人造卫星等严酷环境时,其Configuration SRAM阵列中的SRAM存储单元易受带电粒子的影响、发生误翻转,0、1数据发生错误,进而导致FPGA的用户电路功能出错。
[0006]对FPGA进行配置的电路,是领域内的公知技术:其一种典型方法是JTAG下载回读:从上位机,经过USB和JTAG接口的下载线,通过JTAG接口,将码流传输至FPGA,并可进行回读比对。此方法能够实现对FPGA的配置、回读,但缺点是,配置信息掉电即丢,只适用于调试,无法用于产品和设备的现场部署。另一种方法是:使用PROM对FPGA进行上电配置时的配置加载,其优点是PROM可以对配置数据作非易失存储,并且由于工作状态下不需要上位机,所以可以部署于实际的产品中,但是其缺点是,只能对FPGA进行上电配置的配置加载,无法对FPGA配置进行回读、比对、刷新。
[0007]经检索,中国专利公开号CN202011191407.9公开了SRAM型FPGA的配置数据动态刷新方法及装置,该专利存在以下缺陷:仅支持SPI NOR Flash,功能固定单一、无法实时对芯片的工作模式进行调整设置。中国专利公开号CN202011420884.8公开了一种星载SRAM型FPGA配置与刷新控制的IP核》,该专利存在以下缺陷:仅支持并口NOR Flash,功能固定单一、无法实时对芯片的工作模式进行调整设置。
[0008]综上所述,现有技术中,存在以下技术问题:
[0009](1)SRAM型FPGA的配置SRAM阵列易受空间粒子、宇宙射线、带电粒子的影响,进而发生误翻转。
[0010](2)JTAG配置方式无法进行产品的现场实际部署。
[0011](2)PROM方式无法进行回读刷新。

技术实现思路

[0012]为了克服上述现有技术中的缺陷,本专利技术提供一种对SRAM型FPGA进行配置、回读和刷新的电路,可以对SRAM型FPGA片内的配码错误进行检测和更新,还采用串口模块可对芯片工作状态进行监测、对工作模式进行设置调整。
[0013]为实现上述目的,本专利技术采用以下技术方案,包括:
[0014]一种对SRAM型FPGA进行配置、回读和刷新的电路,电路包括如下组件:存储控制器、串口模块、数据通路、FPGA接口模块、状态机;
[0015]所述数据通路为存储控制器与FPGA接口模块之间,存储控制器与串口模块之间,以及FPGA接口模块与串口模块之间进行数据交互的双向数据传输通路;
[0016]所述存储控制器用于读取存储器中的数据并通过数据通路发送给串口模块或FPGA接口模块;
[0017]所述串口模块与上位机之间双向通讯连接,用于向上位机发送数据,以及接收上位机所发送的信息,所接收的信息内容包括指令、地址、数据、控制信息、状态信息;所述串口模块通过数据通路将数据发送至对应的地址中;所述串口模块还与状态机相连接,将上位机所发送的指令、控制信息、状态信息发送至状态机;
[0018]所述FPGA接口模块用于通过数据通路接收存储控制器所发送的数据即存储器中的数据,对FPGA进行配置;所述FPGA接口模块还用于通过数据通路接收串口模块所发送的数据,对FPGA进行配置;
[0019]所述FPGA接口模块用于对FPGA进行回读,获取FPGA的回读数据;所述FPGA接口模块还用于通过数据通路向串口模块发送FPGA的回读数据;
[0020]所述FPGA接口模块用于对FPGA的回读数据进行比对,即将FPGA的回读数据与存储器中的数据或串口模块所发送的数据进行比对,若一致,则表示FPGA功能正常,FPGA的配置数据正确;若不一致,则FPGA的配置数据错误;所述FPGA接口模块还用于利用存储器中的数据或串口模块所发送的数据对FPGA的配置数据进行刷新;
[0021]所述状态机分别与存储控制器以及电路中的其他各个组件相连接,所述状态机用于接收串口模块所发送的指令、控制信息、状态信息;所述状态机用于对电路中的各个组件进行控制;所述状态机用于获取电路中的各个组件的工作状态/参数。
[0022]进一步地,所述存储控制器还用于通过数据通路接收串口模块所发送的数据并写入对应的存储器中。
[0023]进一步地,所述存储控制器包括:SPI Flash控制器、并口NOR Flash控制器、PROM控制器;
[0024]所述SPI Flash控制器用于通过数据通路接收串口模块所发送的数据并写入SPI Flash中;所述SPI Flash控制器还用于读取SPI Flash中的数据并通过数据通路发送给串口模块或FPGA接口模块;所述SPI Flash控制器用于对SPI Flash进行读/写/擦操作;
[0025]所述并口NOR Flash控制器用于通过数据通路接收串口模块所发送的数据并写入NOR Flash中;所述NOR Flash控制器还用于读取NOR Flash中的数据并通过数据通路发送给串口模块或FPGA接口模块;所述NOR Flash控制器用于对NOR Flash进行读/写/擦操作;
[0026]所述PROM控制器用于读取PROM中的数据并通过数据通路发送给串口模块或FPGA接口模块;所述PROM控制器用于对PROM进行读操作;
[0027]所述FPGA接口模块用于通过数据通路接收SPI Flash控制器/并口NOR Flash控制器/PROM控制器所发送的数据,即SPI Flash/NOR Fl本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种对SRAM型FPGA进行配置、回读和刷新的电路,其特征在于,电路包括如下组件:存储控制器、串口模块(4)、数据通路(5)、FPGA接口模块(6)、状态机(8);所述数据通路(5)为存储控制器与FPGA接口模块(6)之间,存储控制器与串口模块(4)之间,以及FPGA接口模块(6)与串口模块(4)之间进行数据交互的双向数据传输通路;所述存储控制器用于读取存储器中的数据并通过数据通路(5)发送给串口模块(4)或FPGA接口模块(6);所述串口模块(4)与上位机之间双向通讯连接,用于向上位机发送数据,以及接收上位机所发送的信息,所接收的信息内容包括指令、地址、数据、控制信息、状态信息;所述串口模块(4)通过数据通路(5)将数据发送至对应的地址中;所述串口模块(4)还与状态机(8)相连接,将上位机所发送的指令、控制信息、状态信息发送至状态机(8);所述FPGA接口模块(6)用于通过数据通路(5)接收存储控制器所发送的数据即存储器中的数据,对FPGA进行配置;所述FPGA接口模块(6)还用于通过数据通路(5)接收串口模块(4)所发送的数据,对FPGA进行配置;所述FPGA接口模块(6)用于对FPGA进行回读,获取FPGA的回读数据;所述FPGA接口模块(6)还用于通过数据通路(5)向串口模块(4)发送FPGA的回读数据;所述FPGA接口模块(6)用于对FPGA的回读数据进行比对,即将FPGA的回读数据与存储器中的数据或串口模块(4)所发送的数据进行比对,若一致,则表示FPGA功能正常,FPGA的配置数据正确;若不一致,则FPGA的配置数据错误;所述FPGA接口模块(6)还用于利用存储器中的数据或串口模块(4)所发送的数据对FPGA的配置数据进行刷新;所述状态机(8)分别与存储控制器以及电路中的其他各个组件相连接,所述状态机(8)用于接收串口模块(4)所发送的指令、控制信息、状态信息;所述状态机(8)用于对电路中的各个组件进行控制;所述状态机(8)用于获取电路中的各个组件的工作状态/参数。2.根据权利要求1所述的一种对SRAM型FPGA进行配置、回读和刷新的电路,其特征在于,所述存储控制器还用于通过数据通路(5)接收串口模块(4)所发送的数据并写入对应的存储器中。3.根据权利要求1所述的一种对SRAM型FPGA进行配置、回读和刷新的电路,其特征在于,所述存储控制器包括:SPIFlash控制器(1)、并口NOR Flash控制器(2)、PROM控制器(3);所述SPI Flash控制器(1)用于通过数据通路(5)接收串口模块(4)所发送的数据并写入SPIFlash中;所述SPIFlash控制器(1)还用于读取SPIFlash中的数据并通过数据通路(5)发送给串口模块(4)或FPGA接口模块(6);所述SPI Flash控制器(1)用于对SPI Flash进行读/写/擦操作;所述并口NOR Flash控制器(2)用于通过数据通路(5)接收串口模块(4)所发送的数据并写入NOR Flash中;所述NOR Flash控制器(2)还用于读取NOR Flash中的数据并通过数据通路(5)发送给串口模块(4)或FPGA接口模块(6);所述NOR Flash控制器(2)用于对NOR Flash进行读/写/擦操作;所述PROM控制器(3)用于读取PROM中的数据并通过数据通路(5)发送给串口模块(4)或FPGA接口模块(6);所述PROM控制器(3)用于对PROM进行读操作;所述FPGA接口模块(6)用于通过数据通路(5)接收SPIFlash控制器(1)/并口NOR Flash控制器(2)/PROM控制器(3)所发送的数据,即SPI Flash/NOR Flash/PROM中的数据,对FPGA
进行配置;所述FPGA接口模块(6)对FPGA的回读数据进行比对,即将FPGA的回读数据与SPI Flash/NOR Flash/PROM中的数据进行比对,若一致,则表示FPGA功能正常,FPGA的配置数据正确;若不一致,则FPGA的配置数据错误;若FPGA的配置数据错误,则所述FPGA接口模块(6)利用SPI Flash/NOR Flash/PROM中的数据对FPGA的配置数据进行刷新;所述状态机(8)分别与SPI Flash控制器(1)、并口NOR Flash控制器(2)、PROM控制器(3)相连接,所述状态机(8)控制SPIFlash控制器(1)对SPI Flash的读/写/擦操作;所述状态机(8)控制NOR Flash控制器(2)对NOR Flash的读/写/擦操作;所述状态机(8)控制PROM控制器(3)对PROM的读操作;所述状态机(8)还分别获取SPIFlash控制器(1)、并口NOR Flash控制器(2)、PROM控制器(3)的工作状态/参数。4.根据权利要求1或2或3所述的一种对SRAM型FPGA进行配置、回读和刷新的电路,其特征在于,电路还包括:配置寄存器(9);所述串口模块(4)还与配置寄存器(9)双向通讯连接;所述串口模块(4)将上位机所发送的数据、控制信息、状态信息发送至配置寄存器(9);所述配置寄存器(9)用于对电路中的各个组件的工作状态/参数进行控制;所述配置寄存器(9)还用于获取电路中的各个组件的工作状...

【专利技术属性】
技术研发人员:ꢀ七四专利代理机构
申请(专利权)人:合肥腾芯微电子有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1