[发明专利]基于SELECTMAP的宇航FPGA通用刷新电路的实现方法有效
申请号: | 201410051615.7 | 申请日: | 2014-02-14 |
公开(公告)号: | CN103840822B | 公开(公告)日: | 2017-01-04 |
发明(设计)人: | 张帆;陈雷;赵元富;文治平;李学武;张彦龙;孙华波;王硕;尚祖宾;冯长磊;王岚施;林彦君;郑咸建 | 申请(专利权)人: | 北京时代民芯科技有限公司;北京微电子技术研究所 |
主分类号: | H03K19/177 | 分类号: | H03K19/177 |
代理公司: | 中国航天科技专利中心11009 | 代理人: | 范晓毅 |
地址: | 100076 北*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明涉及基于SELECTMAP的宇航FPGA通用刷新电路的实现方法,其中通用刷新电路设计有6个输入管脚、6个输出管脚,8个双向管脚,分别与PROM与FPGA的管脚连接,通过SELECTMAP对SRAM型FPGA进行回读操作,确定FPGA型号并校验回读数据,若发生错误则从正确的数据源读取码流,从码流中截取有效部分,并通过SELECTMAP将有效码流重新写入FPGA的内部配置位,从而完成配置存储器的刷新,通过本发明中的刷新电路,能够及时检测并纠正宇航用FPGA的单粒子翻转,消除宇航用FPGA发生空间单粒子翻转导致的功能故障,提高宇航FPGA空间应用可靠性。 | ||
搜索关键词: | 基于 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管脚连接FPGA(103)的第0配置数据位管脚Din,刷新电路(102)的D1_fpga管脚连接FPGA(103)的第1配置数据位管脚D1,刷新电路(102)的D2_fpga管脚连接FPGA(103)的第2配置数据位管脚D2,刷新电路(102)的D3_fpga管脚连接FPGA(103)的第3配置数据位管脚D3,刷新电路(102)的D4_fpga管脚连接FPGA(103)的第4配置数据位管脚D4,刷新电路(102)的D5_fpga管脚连接FPGA(103)的第5配置数据位管脚D5,刷新电路(102)的D6_fpga管脚连接FPGA(103)的第6配置数据位管脚D6,刷新电路(102)的D7_fpga管脚连接FPGA(103)的第7配置数据位管脚D7,刷新电路(102)的cs_fpga管脚连接FPGA(103)的片选管脚CS,刷新电路(102)的write_fpga管脚连接FPGA(103)的写使能管脚Write,刷新电路(102)的prog_fpga管脚连接FPGA(103)的复位管脚program,刷新电路(102)通过clk管脚接收外部时钟信号,刷新电路(102)通过pause管脚接收外部的暂停或启动信号。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京时代民芯科技有限公司;北京微电子技术研究所,未经北京时代民芯科技有限公司;北京微电子技术研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201410051615.7/,转载请声明来源钻瓜专利网。