基于SELECTMAP的宇航FPGA通用刷新电路的实现方法技术

技术编号:15401094 阅读:102 留言:0更新日期:2017-05-24 12:13
本发明专利技术涉及基于SELECTMAP的宇航FPGA通用刷新电路的实现方法,其中通用刷新电路设计有6个输入管脚、6个输出管脚,8个双向管脚,分别与PROM与FPGA的管脚连接,通过SELECTMAP对SRAM型FPGA进行回读操作,确定FPGA型号并校验回读数据,若发生错误则从正确的数据源读取码流,从码流中截取有效部分,并通过SELECTMAP将有效码流重新写入FPGA的内部配置位,从而完成配置存储器的刷新,通过本发明专利技术中的刷新电路,能够及时检测并纠正宇航用FPGA的单粒子翻转,消除宇航用FPGA发生空间单粒子翻转导致的功能故障,提高宇航FPGA空间应用可靠性。

Realization method of general refresh circuit of aerospace FPGA based on SELECTMAP

The invention relates to a general space FPGA SELECTMAP refresh circuit realization method based on the general design refresh circuit has 6 input pins and 6 output pins, 8 bi-directional pins, pins PROM and FPGA respectively and connected by SELECTMAP of SRAM FPGA to determine the FPGA model and read operations. Check back to read data, if the error is to read the stream from the correct data source from the bitstream truncated part, and through the SELECTMAP stream will effectively re write FPGA internal configuration, thus completing the configuration memory refresh, refresh the circuit of the invention, can timely detect and correct the space by SEU FPGA the function of eliminating fault for aerospace FPGA SEU in space, improve the space FPGA space application reliability.

【技术实现步骤摘要】
基于SELECTMAP的宇航FPGA通用刷新电路的实现方法
本专利技术涉及基于SELECTMAP的宇航FPGA通用刷新电路及其实现方法,特别是用于检测并恢复宇航用SRAM型FPGA发生的空间单粒子翻转故障,属于集成电路

技术介绍
SRAM型FPGA的基本结构如图5,其中主要的功能模块包括:四周一圈的输入输出模块(IOB)、边沿两列块存储器(BlockRAM)、内部的可编程逻辑块阵列(CLB),除此以外,还有遍布整个电路连接各个模块的互联资源。上述逻辑资源和互联资源都由下层SRAM配置位控制。大量的遍布FPGA电路的SRAM配置位决定了FPGA电路的具体功能,这些配置位的码流集合即被称为码流(bitstream)。当SRAM型FPGA在空间环境应用时,空间高能粒子会穿透FPGA器件内部并在路径上产生电离,从而引起电路节点上瞬时电流干扰而导致电路错误。典型的6管SRAM单元由两个交叉连接的反相器以及两个用于读写控制的门控管组成,如图6所示为SRAM型FPGA的配置存储器单粒子翻转的原理。当高能粒子打在SRAM单元的灵敏区域时(以反偏n管的漏区为例),电荷在结区的收集产生了一个瞬态电流脉冲,导致该单元存储的信息由“1”变成了“0”,状态出现了翻转。这种效应就是空间单粒子翻转效应,配置位状态的翻转可能导致严重的功能故障,导致内部功能错乱、连线短路、断路等。这种配置位翻转导致的故障是永久性的故障,只能通过重新加载码流来消除。
技术实现思路
本专利技术的目的在于克服现有技术的上述缺陷,提供基于SELECTMAP的宇航FPGA通用刷新电路,该电路能够消除单粒子翻转效应对SRAM型FPGA造成的不利影响,提高宇航FPGA空间应用可靠性。本专利技术的另外一个目的在于提供基于SELECTMAP的宇航FPGA通用刷新电路的实现方法。本专利技术的上述目的主要是通过如下技术方案予以实现的:基于SELECTMAP的宇航FPGA通用刷新电路,所述刷新电路连接PROM和FPGA,所述刷新电路包括20个功能管脚,其中输入管脚6个,分别为:时钟管脚clk、暂停管脚pause、配置完成管脚done_fpga、初始化完成管脚init_fpga、配置时钟管脚cclk_fpga、PROM数据管脚data_prom,输出管脚6个,分别为:复位管脚prog_fpga、PROM时钟管脚clk_prom、PROM输出使能管脚oe_prom、PROM片选管脚ce_prom、FPGA片选管脚cs_fpga、FPGA写使能管脚write_fpga,双向管脚8个,分别为:FPGA第0配置数据位管脚din_fpga、FPGA第1配置数据位管脚D1_fpga、FPGA第2配置数据位管脚D2_fpga、FPGA第3配置数据位管脚D3_fpga、FPGA第4配置数据位管脚D4_fpga、FPGA第5配置数据位管脚D5_fpga、FPGA第6配置数据位管脚D6_fpga、FPGA第7配置数据位管脚D7_fpga,其中:刷新电路的clk_prom管脚连接PROM的时钟管脚CLK,刷新电路的ce_prom管脚连接PROM的片选管脚CE,刷新电路的oe_prom管脚连接PROM的输出使能管脚OE,刷新电路的data_prom管脚连接PROM的数据管脚DATA,刷新电路的cclk_fpga管脚连接FPGA的配置时钟管脚CCLK,刷新电路的done_fpga管脚连接FPGA的配置完成管脚DONE,刷新电路的initial_fpga管脚连接FPGA的初始化完成管脚initial,刷新电路的din_fpga管脚连接FPGA的第0配置数据位管脚Din,刷新电路的D1_fpga管脚连接FPGA的第1配置数据位管脚D1,刷新电路的D2_fpga管脚连接FPGA的第2配置数据位管脚D2,刷新电路的D3_fpga管脚连接FPGA的第3配置数据位管脚D3,刷新电路的D4_fpga管脚连接FPGA的第4配置数据位管脚D4,刷新电路的D5_fpga管脚连接FPGA的第5配置数据位管脚D5,刷新电路的D6_fpga管脚连接FPGA的第6配置数据位管脚D6,刷新电路的D7_fpga管脚连接FPGA的第7配置数据位管脚D7,刷新电路的cs_fpga管脚连接FPGA的片选管脚CS,刷新电路的write_fpga管脚连接FPGA的写使能管脚Write,刷新电路的prog_fpga管脚连接FPGA的复位管脚program,刷新电路通过clk管脚接收外部时钟信号,刷新电路通过pause管脚接收外部的暂停或启动信号。基于SELECTMAP的宇航FPGA通用刷新电路的实现方法中,包括如下步骤:(1)、上电后刷新电路初始态为空闲状态,空闲状态下若通过pause管脚从外部输入的pause信号为“1”电平,则判断done_fpga管脚从FPGA接收的done_fpga信号,若所述done_fpga信号为“1”电平则进入回读校验状态,进入步骤(3),若所述done_fpga信号为“0”电平则进入配置状态,进入步骤(2);(2)、刷新电路从PROM中读取码流,并通过cclk_fpga管脚和din_fpga管脚将码流配置到FPGA中,同时判断done_fpga管脚从FPGA接收的done_fpga信号,若所述done_fpga信号为“1”电平则配置完成,进入回读校验状态,进入步骤(3),若所述done_fpga信号为“0”电平则继续保持配置状态,重复步骤(2);(3)、刷新电路对FPGA进行码流回读,通过CRC校验判断回读的FPGA码流是否正确,若不正确,则进入码流处理状态,进入步骤(4),若正确,则仍保持回读校验状态,重复步骤(3);(4)、刷新电路读取PROM中的码流文件进行码流处理,形成可刷新数据,并自动跳转到刷新状态,进入步骤(5);(5)、刷新电路对FPGA的码流进行刷新,刷新过程中检测FPGA的done信号,若检测到done_fpga管脚为“0”电平,则回到步骤(2),进入配置状态,若检测到done_fpga管脚为“1”电平,则完成刷新后回到步骤(3),进入回读校验状态;上述步骤(1)~(5)中任何时刻刷新电路检测到外部输入的pause信号为“0”电平,则进入空闲状态。在上述基于SELECTMAP的宇航FPGA通用刷新电路的实现方法中,步骤(3)中刷新电路对FPGA进行码流回读,通过CRC校验判断回读的FPGA码流是否正确的具体步骤如下:(1)、刷新电路通过din_fpga管脚、D1_fpga管脚、D2_fpga管脚、D3_fpga管脚、D4_fpga管脚、D5_fpga管脚、D6_fpga管脚、D7_fpga管脚、cs_fpga管脚、write_fpga管脚对FPGA的CRC寄存器的值进行回读,设所述CRC寄存器的值为CRC_reg;(2)、刷新电路通过din_fpga管脚、D1_fpga管脚、D2_fpga管脚、D3_fpga管脚、D4_fpga管脚、D5_fpga管脚、D6_fpga管脚、D7_fpga管脚、cs_fpga管脚、write_fpga管脚对FPGA的码流进行回读,采用CRC16算法计算码流CRC值,设所述码流CRC值为CRC_stream;(3)、刷新电路将CRC_re本文档来自技高网...
基于SELECTMAP的宇航FPGA通用刷新电路的实现方法

【技术保护点】
基于SELECTMAP的宇航FPGA通用刷新电路的实现方法,其特征在于:包括如下步骤:(1)、上电后刷新电路(102)初始态为空闲状态,空闲状态下若通过pause管脚从外部输入的pause信号为“1”电平,则判断done_fpga管脚从FPGA(103)接收的done_fpga信号,若所述done_fpga信号为“1”电平则进入回读校验状态,进入步骤(3),若所述done_fpga信号为“0”电平则进入配置状态,进入步骤(2);(2)、刷新电路(102)从PROM(101)中读取码流,并通过cclk_fpga管脚和din_fpga管脚将码流配置到FPGA(103)中,同时判断done_fpga管脚从FPGA(103)接收的done_fpga信号,若所述done_fpga信号为“1”电平则配置完成,进入回读校验状态,进入步骤(3),若所述done_fpga信号为“0”电平则继续保持配置状态,重复步骤(2);(3)、刷新电路(102)对FPGA(103)进行码流回读,通过CRC校验判断回读的FPGA码流是否正确,若不正确,则进入码流处理状态,进入步骤(4),若正确,则仍保持回读校验状态,重复步骤(3);(4)、刷新电路(102)读取PROM(101)中的码流文件进行码流处理,形成可刷新数据,并自动跳转到刷新状态,进入步骤(5);(5)、刷新电路(102)对FPGA(103)的码流进行刷新,刷新过程中检测FPGA(103)的done信号,若检测到done_fpga管脚为“0”电平,则回到步骤(2),进入配置状态,若检测到done_fpga管脚为“1”电平,则完成刷新后回到步骤(3),进入回读校验状态;上述步骤(1)~(5)中任何时刻刷新电路(102)检测到外部输入的pause信号为“0”电平,则进入空闲状态;所述步骤(3)中刷新电路(102)对FPGA(103)进行码流回读,通过CRC校验判断回读的FPGA码流是否正确的具体步骤如下:(3.1)、刷新电路(102)通过din_fpga管脚、D1_fpga管脚、D2_fpga管脚、D3_fpga管脚、D4_fpga管脚、D5_fpga管脚、D6_fpga管脚、D7_fpga管脚、cs_fpga管脚、write_fpga管脚对FPGA(103)的CRC寄存器的值进行回读,设所述CRC寄存器的值为CRC_reg;(3.2)、刷新电路(102)通过din_fpga管脚、D1_fpga管脚、D2_fpga管脚、D3_fpga管脚、D4_fpga管脚、D5_fpga管脚、D6_fpga管脚、D7_fpga管脚、cs_fpga管脚、write_fpga管脚对FPGA(103)的码流进行回读,采用CRC16算法计算码流CRC值,设所述码流CRC值为CRC_stream;(3.3)、刷新电路(102)将CRC_reg和CRC_stream进行对比,若一致说明回读码流正确,若不一致说明回读码流不正确;所述刷新电路(102)连接PROM(101)和FPGA(103),所述刷新电路(102)包括20个功能管脚,其中输入管脚5个,分别为:时钟管脚clk、暂停管脚pause、配置完成管脚done_fpga、初始化完成管脚init_fpga、PROM数据管脚data_prom,输出管脚7个,分别为:配置时钟管脚cclk_fpga、复位管脚prog_fpga、PROM时钟管脚clk_prom、PROM输出使能管脚oe_prom、PROM片选管脚ce_prom、FPGA片选管脚cs_fpga、FPGA写使能管脚write_fpga,双向管脚8个,分别为:FPGA第0配置数据位管脚din_fpga、FPGA第1配置数据位管脚D1_fpga、FPGA第2配置数据位管脚D2_fpga、FPGA第3配置数据位管脚D3_fpga、FPGA第4配置数据位管脚D4_fpga、FPGA第5配置数据位管脚D5_fpga、FPGA第6配置数据位管脚D6_fpga、FPGA第7配置数据位管脚D7_fpga,其中:刷新电路(102)的clk_prom管脚连接PROM(101)的时钟管脚CLK,刷新电路(102)的ce_prom管脚连接PROM(101)的片选管脚CE,刷新电路(102)的oe_prom管脚连接PROM(101)的输出使能管脚OE,刷新电路(102)的data_prom管脚连接PROM(101)的数据管脚DATA,刷新电路(102)的cclk_fpga管脚连接FPGA(103)的配置时钟管脚CCLK,刷新电路(102)的done_fpga管脚连接FPGA(103)的配置完成管脚DONE,刷新电路(102)的initial_fpga管脚连接FPGA(103)的初始化完成管脚initial,刷新电路(102)的din_fpga管脚...

【技术特征摘要】
1.基于SELECTMAP的宇航FPGA通用刷新电路的实现方法,其特征在于:包括如下步骤:(1)、上电后刷新电路(102)初始态为空闲状态,空闲状态下若通过pause管脚从外部输入的pause信号为“1”电平,则判断done_fpga管脚从FPGA(103)接收的done_fpga信号,若所述done_fpga信号为“1”电平则进入回读校验状态,进入步骤(3),若所述done_fpga信号为“0”电平则进入配置状态,进入步骤(2);(2)、刷新电路(102)从PROM(101)中读取码流,并通过cclk_fpga管脚和din_fpga管脚将码流配置到FPGA(103)中,同时判断done_fpga管脚从FPGA(103)接收的done_fpga信号,若所述done_fpga信号为“1”电平则配置完成,进入回读校验状态,进入步骤(3),若所述done_fpga信号为“0”电平则继续保持配置状态,重复步骤(2);(3)、刷新电路(102)对FPGA(103)进行码流回读,通过CRC校验判断回读的FPGA码流是否正确,若不正确,则进入码流处理状态,进入步骤(4),若正确,则仍保持回读校验状态,重复步骤(3);(4)、刷新电路(102)读取PROM(101)中的码流文件进行码流处理,形成可刷新数据,并自动跳转到刷新状态,进入步骤(5);(5)、刷新电路(102)对FPGA(103)的码流进行刷新,刷新过程中检测FPGA(103)的done信号,若检测到done_fpga管脚为“0”电平,则回到步骤(2),进入配置状态,若检测到done_fpga管脚为“1”电平,则完成刷新后回到步骤(3),进入回读校验状态;上述步骤(1)~(5)中任何时刻刷新电路(102)检测到外部输入的pause信号为“0”电平,则进入空闲状态;所述步骤(3)中刷新电路(102)对FPGA(103)进行码流回读,通过CRC校验判断回读的FPGA码流是否正确的具体步骤如下:(3.1)、刷新电路(102)通过din_fpga管脚、D1_fpga管脚、D2_fpga管脚、D3_fpga管脚、D4_fpga管脚、D5_fpga管脚、D6_fpga管脚、D7_fpga管脚、cs_fpga管脚、write_fpga管脚对FPGA(103)的CRC寄存器的值进行回读,设所述CRC寄存器的值为CRC_reg;(3.2)、刷新电路(102)通过din_fpga管脚、D1_fpga管脚、D2_fpga管脚、D3_fpga管脚、D4_fpga管脚、D5_fpga管脚、D6_fpga管脚、D7_fpga管脚、cs_fpga管脚、write_fpga管脚对FPGA(103)的码流进行回读,采用CRC16算法计算码流CRC值,设所述码流CRC值为CRC_stream;(3.3)、刷新电路(102)将CRC_reg和CRC_stream进行对比,若一致说明回读码流正确,若不一致说明回读码流不正确;所述刷新电路(102)连接PROM(101)和FPGA(103),所述刷新电路(102)包括20个功能管脚,其中输入管脚5个,分别为:时钟管脚clk、暂停管脚pause、配置完成管脚done_fpga、初始化完成管脚init_fpga、PROM数据管脚data_prom,输出管脚7个,分别为:配置时钟管脚cclk_fpga、复位管脚prog_fpga、PROM时钟管脚clk_prom、PROM输出使能管脚oe_prom、PROM片选管脚ce_prom、FPGA片选管脚cs_fpga、FPGA写使能管脚write_fpga,双向管脚8个,分别为:FPGA第0配置数据位管脚din_fpga、FPGA第1配置数据位管脚D1_fpga、FPGA第2配置数据位管脚D2_fpga、FPGA第3配置数据位管脚D3_fpga、FPGA第4配置数据位管脚D4_fpga、FPGA第5配置数据位管脚D5_fpga、FPGA第6配置数据位管脚D6_fpga、FPGA第7配置数据位管脚D7_fpga,其中:刷新电路(102)的clk_prom管脚连接PROM(101)的时钟管脚CLK,刷新电路(102)的ce_prom管脚连接PROM(101)的片选管脚CE,刷新电路(102)的oe_prom管脚连接PROM(101)的输出使能管脚OE,刷新电路(102)的data_prom管脚连接PROM(101)的数据管脚DATA,刷新电路(102)的cclk_fpga管脚连接FPGA(103)的配置时钟管脚CCLK,...

【专利技术属性】
技术研发人员:张帆陈雷赵元富文治平李学武张彦龙孙华波王硕尚祖宾冯长磊王岚施林彦君郑咸建
申请(专利权)人:北京时代民芯科技有限公司北京微电子技术研究所
类型:发明
国别省市:北京,11

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

1