首页> 中国专利> 利用查找表移位寄存器进行SRAM型FPGA刷新效果验证的方法

利用查找表移位寄存器进行SRAM型FPGA刷新效果验证的方法

摘要

本发明涉及利用查找表移位寄存器进行SRAM型FPGA刷新效果验证的方法,包括步骤(1)、在FPGA中构建由查找表构成的移位寄存器组,并为移位寄存器组设置初始值;(2)、完成FPGA的上电配置,向移位寄存器组输入串行数据驱动移位寄存器组进行移位;(3)、当前移位寄存器内的保存值与移位寄存器的初始值不同时,可停止向移位寄存器组输入串行数据;(4)、刷新SRAM型FPGA,直至移位寄存器组的所有存储值均被刷新;(5)、再次向移位寄存器组输入串行数据驱动移位寄存器组进行移位,将移位寄存器组中的保存值全部移出;(6)、判断是否刷新成功,本发明方法不需要进行辐照试验,也不需要回读,具有成本低、操作简单、判断准确的特点。

著录项

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2018-07-31

    授权

    授权

  • 2016-08-03

    实质审查的生效 IPC(主分类):G06F11/07 申请日:20160202

    实质审查的生效

  • 2016-07-06

    公开

    公开

说明书

技术领域

本发明涉及一种利用查找表移位寄存器进行SRAM型FPGA刷新效果 验证的方法,特别是利用查找表移位寄存器的特性来判断刷新是否成功, 属于集成电路技术领域。

背景技术

SRAM型FPGA的基本结构如图1,其中主要的功能模块包括:四周 一圈的输入输出模块(IOB)、边沿两列块存储器(BlockRAM)、内部的可 编程逻辑块阵列(CLB),除此以外,还有遍布整个电路连接各个模块的互 联资源。上述逻辑资源和互联资源都由下层SRAM配置位控制。大量的遍 布FPGA电路的SRAM配置位决定了FPGA电路的具体功能,这些配置位 的码流集合即被称为码流(bitstream)。

当SRAM型FPGA在空间环境应用时,空间高能粒子会穿透FPGA器 件内部并在路径上产生电离,从而引起电路节点上瞬时电流干扰而导致电 路错误。典型的6管SRAM单元由两个交叉连接的反相器以及两个用于读 写控制的门控管组成,如图2所示为SRAM型FPGA的配置存储器单粒子 翻转的原理。当高能粒子打在SRAM单元的灵敏区域时(以反偏n管的漏 区为例),电荷在结区的收集产生了一个瞬态电流脉冲,导致该单元存储的 信息由“1”变成了“0”,状态出现了翻转。这种效应就是空间单粒子翻转效应, 配置位状态的翻转可能导致严重的功能故障,导致内部功能错乱、连线短 路、断路等。这种配置位翻转导致的故障是永久性的故障,只能通过重新 加载码流来消除。

刷新技术利用SRAM型FPGA回读和部分重配的功能,修复发生单粒 子翻转的配置SRAM单元。可以纠正配置SRAM中发生的单粒子翻转,从 而彻底消除单粒子翻转积累,与全部重新加载码流相比不会中断用户逻辑, 从而增加刷新率。刷新技术已在空间FPGA应用中作为配套措施广泛获得 应用。刷新是否有效果是应用过程中比较关注的问题,由于刷新是对FPGA 内部配置位进行读写,类似于后台操作,刷新是否成功缺乏直观的信号指 示,难以判断。为了判断刷新是否成功,通常需要通过辐照试验使得SRAM 位发生翻转后再进行回读,对回读后的码流与初始码流对比后才能确定是 否刷新成功。由于需要辐照试验,该判别方法具有较高的门槛条件,且回 读和码流分析的操作也十分复杂。

发明内容

本发明的目的在于克服现有技术的上述缺陷,提供一种利用查找表移 位寄存器进行SRAM型FPGA刷新效果验证的方法,该方法利用FPGA内 部查找表移位寄存器的特点,形成一种可以方便判断刷新是否成功的方法, 该方法不需要进行辐照试验,也不需要回读,具有成本低、操作简单、判 断准确的特点。

本发明的上述目的主要是通过如下技术方案予以实现的:

利用查找表移位寄存器进行SRAM型FPGA刷新效果验证的方法,其 特征在于:

(1)、在SRAM型FPGA中构建由查找表构成的移位寄存器组,并为 移位寄存器组设置初始值;

(2)、完成SRAM型FPGA的上电配置,向移位寄存器组输入串行数 据驱动移位寄存器组进行移位;

(3)、当移位寄存器组新移入值后,当前移位寄存器内的保存值与移位 寄存器的初始值不同时,可停止向移位寄存器组输入串行数据;

(4)、刷新SRAM型FPGA,直至移位寄存器组的所有存储值均被刷 新;

(5)、再次向移位寄存器组输入串行数据驱动移位寄存器组进行移位, 将移位寄存器组中的保存值全部移出;

(6)、对比步骤(5)中的移出值与步骤(1)中设置的初始值是否相同, 若相同则判断刷新成功,若不同则判断刷新未成功。

利用查找表移位寄存器进行SRAM型FPGA刷新效果验证的方法, 通过FPGA刷新验证系统实现,所述FPGA刷新验证系统包括待刷新的 SRAM型FPGA、刷新模块、PROM和外围信号模块,其中PROM用于存 储SRAM型FPGA码流,具体实现方法如下:

(1)、在SRAM型FPGA中构建由查找表构成的移位寄存器组,并为 移位寄存器组设置初始值;

(2)、完成SRAM型FPGA的上电,通过PROM为SRAM型FPGA 进行码流配置,外围信号模块向移位寄存器组输入串行数据驱动移位寄存 器组进行移位;

(3)、当移位寄存器组新移入值后,当前移位寄存器内的保存值与移位 寄存器的初始值不同时,外围信号模块可停止向移位寄存器组输入串行数 据;

(4)、刷新模块对SRAM型FPGA进行刷新,直至当移位寄存器组的 所有存储值均被刷新;

(5)、外围信号模块再次向移位寄存器组输入串行数据驱动移位寄存器 组进行移位,将移位寄存器组中的保存值全部移出;

(6)、对比步骤(5)中的移出值与步骤(1)中设置的初始值是否相同, 若相同则判断刷新成功,若不同则判断刷新未成功。

在上述利用查找表移位寄存器进行SRAM型FPGA刷新效果验证的方 法中,由查找表构成的移位寄存器组包括多个移位寄存器单元,每个移位 寄存器单元包括存储单元、2进1出的第一多路器和1进2出的第二多路 器,两个多路器通过控制端控制选通路径,选择通过配置路径读写存储单 元,或者选择通过用户路径读写存储单元。

在上述利用查找表移位寄存器进行SRAM型FPGA刷新效果验证的方 法中,步骤(4)中刷新步骤选择通过配置路径读写存储单元(202)实现; 所述步骤(2)、(5)中的移位步骤选择通过用户路径读写存储单元(202)。

在上述利用查找表移位寄存器进行SRAM型FPGA刷新效果验证的 方法中,步骤(3)中,当前移位寄存器内的保存值与移位寄存器的初始值 不同时,且变化值占初始保存值的50%以上时,停止向移位寄存器组输入 串行数据。

在上述利用查找表移位寄存器进行SRAM型FPGA刷新效果验证的方 法中,步骤(4)中通过PROM中存储的码流进行刷新。

在上述利用查找表移位寄存器进行SRAM型FPGA刷新效果验证的方 法中,步骤(6)中通过示波器、逻辑分析仪或者数字信号采集装置对比步 骤(5)中的移出值与步骤(1)中设置的初始值是否相同。

本发明与现有技术相比具有如下有益效果:

(1)、现有技术需要通过辐照试验,若不具备辐照试验条件,则无法进 行,本发明使得刷新是否成功的判断可以在正常的试验室环境下开展,仅 需要一块普通的验证板,成本显著降低。

(2)、现有技术需要通过回读,将当前码流读出并与原始码流进行对比。 FPGA回读操作十分复杂,包括同步、去同步、设置帧长、设置起始地址 等一系列命令字,回读码流与原始码流对比时还需要考虑无关位的干扰, 现有回读对比的技术操作十分复杂;本发明只需要通过用户逻辑设计一条 寄存器链路,并在操作中通过少量信号控制刷新和寄存器移位即可,操作 方法相对现有技术大为简化。

(3)、本发明方法仅需在试验室环境中进行即可,不需要通过辐照试验, 相比现有技术门槛低,并且本发明方法具有清晰明确的判断依据,判断方 法准确。

(4)、本发明的方法适用于任何FPGA型号以及任何刷新的方法,适用 范围广、通用性强,具有较强的实用性。

附图说明

图1为SRAM型FPGA的体系结构图;

图2为SRAM型FPGA的配置存储器单粒子翻转的原理图;

图3为本发明FPGA刷新验证系统结构示意图;

图4为本发明每个移位寄存器单元的内部结构图;

图5为本发明刷新验证方法的流程图;

图6为本发明刷新验证方法的波形示意图;

图7为本发明实施例中移位寄存器结构图;

图8为本发明实施例中验证系统内部连接关系图。

具体实施方式

下面结合附图和具体实施例对本发明作进一步详细的描述:

如图3所示为本发明FPGA刷新验证系统结构示意图,由图可知FPGA 刷新验证系统包括刷新模块101、被刷新SRAM型FPGA102、PROM104、 外围信号模块103,其具体连接关系如下:刷新模块101分别连接到FPGA 的配置数据端口和配置时钟端口,刷新模块101分别连接PROM104的时 钟端和数据端,外围信号模块103分别连接FPGA的用户数据输入端、用 户控制端和用户时钟端,此外,FPGA通过用户管脚直接输出待检验的内 部信号。

其中,刷新模块101从PROM104读取配置码流对SRAM型FPGA102 进行刷新,外围信号模块103给SRAM型FPGA102的移位寄存器组提供 时钟信号、使能信号和输入信号,其中时钟信号驱动移位寄存器组移位, 输入信号每次更新移位寄存器组的第一位,使能信号控制移位寄存器的移 位停止。SRAM型FPGA102可通过软件编程实现设定的逻辑功能, PROM104的功能是存储FPGA的配置码流。验证系统中的刷新模块101 要具备暂停刷新的能力。验证系统中的外围信号模块103需要将输出时钟 和信号连接到SRAM型FPGA102的用户IO。验证系统中的SRAM型 FPGA102是被刷新器件,内部配置为查找表移位寄存器组,移位寄存器具 有时钟端、数据输入端、数据输出端等,移位寄存器的初始值具有显著的 特征。

如图4所示为本发明每个移位寄存器单元的内部结构图,由查找表构 成的移位寄存器组包括多个移位寄存器单元,如图4所示,每个移位寄存 器单元包括存储单元202、2进1出的第一多路器201和1进2出的第二 多路器203,两个多路器201、203通过控制端控制选通路径,选择通过配 置路径读写存储单元202,或者选择通过用户路径读写存储单元202。通过 这样的结构,查找表移位寄存器能够在配置读写和用户读写两种模式下任 意切换。

如图5所示为本发明刷新验证方法的流程图,本发明利用查找表移位 寄存器进行SRAM型FPGA刷新效果验证的方法包括如下步骤:

(1)、设计FPGA逻辑,在SRAM型FPGA中构建由查找表构成的移 位寄存器组,并为移位寄存器组设置初始值;

(2)、完成SRAM型FPGA的上电,通过PROM为SRAM型FPGA 进行码流配置,外围信号模块向移位寄存器组输入串行数据驱动移位寄存 器组进行移位,输入的串行数据与步骤(1)中所述设置的初始值不同。

(3)、当移位寄存器组新移入值后,当前移位寄存器内的保存值与移位 寄存器的初始值不同时,最好存在显著差异,外围信号模块可以停止向移 位寄存器组输入串行数据。本发明中优选当前移位寄存器内的保存值与移 位寄存器的初始值不同,且变化值个数占初始保存值个数的50%以上时, 停止向移位寄存器组输入串行数据。

(4)、刷新模块通过PROM中存储的码流对SRAM型FPGA进行刷新, 当移位寄存器组的所有存储值均被刷新后,停止刷新;

(5)、外围信号模块再次向移位寄存器组输入串行数据驱动移位寄存器 组进行移位,将移位寄存器组中的保存值全部移出;

(6)、对比步骤(5)中的移出值与步骤(1)中设置的初始值是否相 同,若完全相同则判断刷新成功,若不同则判断刷新未成功。本发明中通 过示波器、逻辑分析仪或者其他数字信号采集装置对比步骤(5)中的移出 值与步骤(1)中设置的初始值是否相同。

上述步骤(4)中刷新步骤选择通过配置路径读写存储单元202实现; 步骤(2)、(5)中的移位步骤选择通过用户路径读写存储单元202。

如图6是本发明刷新验证的波形示意图,刷新控制信号在不刷新时, 若移位寄存器组的移位使能控制位有效(图中401),则移位寄存器输出端 的信号是延迟一定周期后的用户输入信号(图中404),延迟周期数是移位 寄存器的深度,当刷新有效、移位寄存器的移位使能控制位无效(图中402), 若刷新成功,则当暂停刷新且移位使能恢复有效时(图中403),移位寄存 器输出端的信号首先输出初始值(图中405),然后输出延迟一定周期后的 用户输入信号(图中406),若刷新不成功,则输出信号不是初始值。刷新 的使能控制与用户移位寄存器的移位使能不可同时有效,否则输出端信号 为不确定状态。

实施例

如图7通过FPGA开发软件设计一条由查找表构成的位宽为1位、数 据深度为16位的移位寄存器,该移位寄存器包括1位时钟输入端clk、1 位信号输入端in、1位高有效使能控制端enable、1位信号输出端out,所 有输入输出均连接到FPGA的用户管脚,其中shift_out直接输出到验证板 的探测孔。该16位深度的移位寄存器设置初始值为16’b 1010101010011001。刷新模块与FPGA配置端口的连接如图8所述,刷 新模块输出端TDI_F连接FPGA的TDI,刷新模块输出端TCK_F连接 FPGA的TCK,刷新模块输出端TMS_F连接FPGA的TMS,刷新模块输 入端TDO_F连接FPGA的TDO。刷新模块与PROM的连接如图8,刷新 模块输入端Data_P连接PROM的Data端,刷新模块输出端Clk_P连接 PROM的Clk端,刷新模块输出端CE_P连接PROM的CE端,刷新模块 输出端OE_P连接PROM的OE端。刷新模块的输入端Pause可以选择 上拉到高电平或者下拉到低电平。外围信号模块与FPGA的连接如图8, 外围信号模块的输出端shift_clk连接到FPGA的移位寄存器的时钟输入端 clk,外围信号模块的输出端shift_in连接到FPGA的移位寄存器的数据输 入端in,外围信号模块的输出端shift_enable连接到FPGA的移位寄存器 的高有效使能端enable。

第一步,将产生的查找表移位寄存器码流文件烧写入PROM中,重新 上电,加载码流。第二步,外围信号模块输出的shift_clk(移位寄存器组的 时钟信号)输出1MHz方波时钟,外围信号模块输出的shift_in(移位寄 存器组的输入信号)输出高电平,外围信号模块输出的shift_enable(移位 寄存器组的使能信号)输出高电平。刷新模块的Pause信号接地,停止刷新。 在移位寄存器的out端检测到波形先输出16’b1010101010011001,然后 输出信号全为1。第三步,外围信号模块输出的shift_enable(移位寄存 器组的使能信号)输出低电平,移位寄存器组暂停移位。刷新模块的输入 端Pause上拉到高电平,启动刷新。第四步,刷新模块的输入端Pause下 拉到低电平,待移位寄存器的保存值均被刷新后,暂停刷新。第五步,外 围信号模块输出的shift_clk(移位寄存器组的时钟信号)输出1MHz方波 时钟,外围信号模块输出的shift_in(移位寄存器组的输入信号)输出高电 平,外围信号模块输出的shift_enable(移位寄存器组的使能信号)输出高 电平,恢复移位。第六步,检测移位寄存器的out端,若检测到波形先输出 16’b1010101010011001,然后输出信号全为1,则说明刷新模块功能正确, 若检测到波形始终全为1,则说明刷新模块功能不正确。

以上所述,仅为本发明最佳的具体实施方式,但本发明的保护范围并 不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内, 可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。

本发明说明书中未作详细描述的内容属于本领域专业技术人员的公知 技术。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号