CN105702296B - 一种单粒子加固fpga的用户寄存器状态捕获电路 - Google Patents

一种单粒子加固fpga的用户寄存器状态捕获电路 Download PDF

Info

Publication number
CN105702296B
CN105702296B CN201610127480.7A CN201610127480A CN105702296B CN 105702296 B CN105702296 B CN 105702296B CN 201610127480 A CN201610127480 A CN 201610127480A CN 105702296 B CN105702296 B CN 105702296B
Authority
CN
China
Prior art keywords
capture
signal
output
user register
high level
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201610127480.7A
Other languages
English (en)
Other versions
CN105702296A (zh
Inventor
林彦君
陈雷
张彦龙
张帆
刘增荣
赵元富
王硕
方新嘉
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Microelectronic Technology Institute
Mxtronics Corp
Original Assignee
Beijing Microelectronic Technology Institute
Mxtronics Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Microelectronic Technology Institute, Mxtronics Corp filed Critical Beijing Microelectronic Technology Institute
Priority to CN201610127480.7A priority Critical patent/CN105702296B/zh
Publication of CN105702296A publication Critical patent/CN105702296A/zh
Application granted granted Critical
Publication of CN105702296B publication Critical patent/CN105702296B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C19/00Digital stores in which the information is moved stepwise, e.g. shift registers
    • G11C19/28Digital stores in which the information is moved stepwise, e.g. shift registers using semiconductor elements
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C19/00Digital stores in which the information is moved stepwise, e.g. shift registers
    • G11C19/38Digital stores in which the information is moved stepwise, e.g. shift registers two-dimensional, e.g. horizontal and vertical shift registers

Landscapes

  • Logic Circuits (AREA)

Abstract

一种单粒子加固FPGA的用户寄存器状态捕获电路,包括用户寄存器、晶体管M3、晶体管M4、SRAM存储单元、捕获信号产生电路,晶体管M3、晶体管M4放置在用户寄存器、SRAM存储单元之间,捕获信号产生电路产生输出信号CAPTURE,控制导通晶体管M3、晶体管M4导通,实现数据捕获回读。本发明状态捕获电路与现有技术相比,通过进行捕获回读操作,如果发现配置存储器阵列中存储的配置码流发生单粒子翻转,可以进行动态部分重配,如果配置存储器阵列中存储捕获用户寄存器状态的SRAM存储单元状态出现错误,可以对相应的逻辑进行复位处理,显著降低了FPGA芯片的单粒子翻转累积效应。

Description

一种单粒子加固FPGA的用户寄存器状态捕获电路
技术领域
本发明涉及一种用户寄存器内数值捕获技术,特别是一种单粒子加固FPGA的用户寄存器状态捕获电路。
背景技术
如图1所示为现场可编程门阵列FPGA的结构,输入输出端口(IOB)位于芯片的四周,可配置逻辑模块(CLB)在内部按阵列排布,块存储器(BRAM)穿插在可配置逻辑模块(CLB)中,FPGA还包括配置逻辑、配置接口及其它组成部分,比如遍布整个FPGA芯片、连接各个模块的可编程互联结构和配置存储器阵列(CSRAM)。
SRAM型FPGA芯片在配置前不具备任何逻辑功能,是通过加载用户应用指定的配置数据进入内部的配置存储器阵列(CSRAM)来完成功能配置的,即配置存储器阵列(CSRAM)中的SRAM配置位来决定FPGA的具体功能。如图2(a)所示为FPGA芯片中配置存储器阵列CSRAM整体结构,芯片中心部分为一个“十字”的结构,作为配置存储器阵列的主体电路,横向部分是SRAM的阵列地址控制电路,纵向部分是数据控制电路,使得遍布整个FPGA芯片的每个SRAM单元都能收到配置电路的控制而正常工作。阵列中间横排位置的是地址移位寄存器(ASR),中间竖排位置的是数据移位寄存器(DSR),配置比特码流以“帧”为单位串行输入到数据移位寄存器(DSR)中,当一帧数据传满后,地址移位寄存器(ASR)就开启相应的帧地址,将配置比特码流写入配置SRAM中,之后再开始下一帧数据的传输,直至配置完成。如图2(b)所示为SRAM单元电路图,如图2(c)所示为SRAM单元符号图。
FPGA芯片在空间辐射环境应用时,空间高能粒子穿过FPGA内部会引起电路节点上的瞬间电流,使配置存储器阵列中的配置存储单元SRAM发生单粒子翻转,某些区域的电路会产生局部功能错误、互联线短路或断路,使该区域的电路无法正常工作。
当前可以通过回读配置存储器阵列技术,判断空间应用时FPGA芯片中的配置存储器阵列是否发生了单粒子翻转,再通过部分重配置技术修复系统功能,但是该技术的不足为无法获知用户逻辑的状态,当配置存储器阵列中SRAM单元的单粒子翻转已经导致CLB和IOB的逻辑出现运算错误时,除了部分重配置外还需要对错误的逻辑部分进行局部复位处理,因此为了准确获知用户逻辑的当前状态,需要一种能够获取用户寄存器状态的捕获电路。
发明内容
本发明解决的技术问题是:克服现有技术的不足,提供了一种通过在用户寄存器的输出端和配置存储器阵列中SRAM存储单元之间增加两个作为开关传输用的晶体管,然后在捕获信号控制下将用户寄存器的当前状态采样到SRAM存储单元中并输出的单粒子加固FPGA的用户寄存器状态捕获电路。
本发明的技术解决方案是:一种单粒子加固FPGA的用户寄存器状态捕获电路,包括用户寄存器、晶体管M3、晶体管M4、SRAM存储单元、捕获信号产生电路,其中
用户寄存器,包括第一数据输入端D、时钟使能端CE、时钟输入端CK、第一数据输出端Q、反相输出端QN;第一数据输入端D为用户寄存器的数据输入端,时钟使能端CE为用户寄存器的写使能端,当时钟使能端CE为高电平时,第一数据输入端D的数据能够加载到用户寄存器,时钟输入端CK接外部时钟信号,第一数据输出端Q接晶体管M3,反相输出端QN接晶体管M4,在外部时钟信号的上升沿,第一数据输出端Q跳变为第一数据输入端D的值,反相输出端QN跳变为第一数据输入端D的反相值;
晶体管M3,包括第一源端、第一漏端、第一栅极,第一源端与用户寄存器的第一数据输出端Q相连、第一漏端与存储单元输出端Z相连,第一栅极接捕获信号产生电路的捕获信号CAPTURE,当捕获信号CAPTURE为高电平时,晶体管M3导通,用户寄存器内数据通过存储单元输出端Z写入到SRAM存储单元,当捕获信号CAPTURE为低电平时,晶体管M3关闭;
晶体管M4,包括第二源端、第二漏端、第二栅极,第二源端与用户寄存器的输出端QN相连、第二漏端与存储单元反相输出端ZN相连,第二栅极接捕获信号产生电路的捕获信号CAPTURE,当捕获信号CAPTURE为高电平时,晶体管M4导通,用户寄存器内数据通过存储单元反相输出端ZN写入到SRAM存储单元,当捕获信号CAPTURE为低电平时,晶体管M4关闭;
SRAM存储单元,包括配置数据信号输入端R、配置数据反相信号输入端RN、地址译码信号控制端WL、存储单元输出端Z、存储单元反相输出端ZN;地址译码信号控制端WL接FPGA内部地址译码电路的输出端,地址译码电路的输入端接外部回读配置存储器阵列指令,然后对回读配置存储器阵列指令中的配置存储器阵列地址信息进行译码并回读配置存储器阵列,当回读的配置存储器阵列与配置存储器阵列地址信息一致时,输出高电平,地址译码信号控制端WL为高电平,存储单元输出端Z、存储单元反相输出端ZN分别将用户寄存器内数据输出至FPGA外部,配置数据信号输入端R接用户寄存器配置数据,配置数据反相信号输入端RN接反相的用户寄存器配置数据;
捕获信号产生电路,产生捕获信号CAPTURE送至晶体管M3、晶体管M4;所述的捕获信号CAPTURE为高电平或者低电平。
所述的用户寄存器为FPGA芯片CLB模块或者IOB模块中的任意用户寄存器。
所述的捕获信号产生电路从外部获取采样信号CAP_IN、捕获复位命令信号RCAP、采样时钟信号CAP_CLK、采样模式选择信号SINGLE、全局写使能信号GWE、捕获命令信号GCAPTURE;
当采样模式选择信号SINGLE为低电平时,如果捕获复位命令信号RCAP、全局写使能信号GWE均为高电平且捕获命令信号GCAPTURE为低电平,则在采样时钟信号CAP_CLK的上升沿,采样信号CAP_IN写入到输出捕获信号CAPTURE,否则,不进行操作;
当采样模式选择信号SINGLE为高电平时,如果捕获复位命令信号RCAP、全局写使能信号GWE均为高电平且捕获命令信号GCAPTURE为低电平,则在采样信号CAP_IN第一次为高电平时的第一个采样时钟信号CAP_CLK的上升沿,高电平的采样信号CAP_IN写入到输出捕获信号CAPTURE,输出捕获信号CAPTURE为高电平持续到采样信号CAP_IN变为低电平时的第一个采样时钟信号CAP_CLK的上升沿,否则,不进行操作,其中,采样信号CAP_IN为高电平或者低电平。
所述的捕获信号产生电路包括带使能端SN的正沿触发器DFF1、负沿触发器DFF2、反相器I3、二输入或门I4、与或非门I5、二输入或门I6;
正沿触发器DFF1包括第二数据输入端D、使能端SN、第一时钟输入端CLK、第一低电平复位端CDN和第二数据输出端Q,负沿触发器DFF2包括第三数据输入端D、第二时钟输入端CLK、第二低电平复位端CDN、第三数据输出端Q;
第二数据输入端D从外部获取采样信号CAP_IN,使能端SN接全局写使能信号GWE,第一时钟输入端CLK接采样时钟信号CAP_CLK,第一低电平复位端CDN接捕获复位命令信号RCAP,第二输出端Q接反相器I3的输入端,反相器I3输出端接与或非门I5的或门输入端,二输入或门I4的一个输入端接采样模式选择信号SINGLE,输出端接第三数据输入端D,第二时钟端CLK接第二数据输出端Q,第二低电平复位端CDN接捕获复位命令信号RCAP,第三数据输出端Q接二输入或门I4的另一个输入端、与或非门I5的与门输入端的一端,与或非门I5的与门输入端的另一端接采样模式选择信号SINGLE,与或非门I5的输出端接二输入或门I6的一个输入端,二输入或门I6的另一个输入端接捕获命令信号GCAPTURE,二输入或门I6的输出端产生捕获信号CAPTURE至晶体管M3、晶体管M4的栅极;
当采样模式选择信号SINGLE为低电平时,如果捕获复位命令信号RCAP、全局写使能信号GWE均为高电平、捕获命令信号GCAPTURE为低电平,则在采样时钟信号CAP_CLK的上升沿,采样信号CAP_IN写入到输出捕获信号CAPTURE,否则,不进行操作;
当采样模式选择信号SINGLE为高电平时,如果捕获复位命令信号RCAP、全局写使能信号GWE均为高电平、捕获命令信号GCAPTURE为低电平,则在采样信号CAP_IN第一次为高电平时的第一个采样时钟信号CAP_CLK的上升沿,高电平的采样信号CAP_IN写入到输出捕获信号CAPTURE,输出捕获信号CAPTURE为高电平持续到采样信号CAP_IN变为低电平时的第一个采样时钟信号CAP_CLK的上升沿,否则,不进行操作,其中,采样信号CAP_IN为高电平或者低电平。
所述的用户寄存器还包括置位复位端SR,置位复位端SR接外部复位信号,当复位信号为高电平时,第一数据输出端Q能够被优先置为高电平或者低电平;所述的复位信号为高电平或者低电平。
本发明与现有技术相比的优点在于:
(1)本发明状态捕获电路在FPGA芯片配置完成后,通过将CLB模块、IOB模块中用户寄存器的值捕获到SRAM存储单元中,再执行回读操作,不仅能够判断配置存储器阵列中存储的配置码流是否正确,也可以获知正在运行的系统状态是否符合预期;
(2)本发明状态捕获电路通过在用户寄存器的输出端和配置存储器阵列中SRAM存储单元之间增加两个作为开关传输用的晶体管,然后在捕获信号控制下将用户寄存器的当前状态采样到SRAM存储单元中,该过程能够在FPGA系统正常运行时同步进行,不会引起用户功能逻辑工作的中断;
(3)本发明状态捕获电路通过引入采样模式选择信号,使得本发明状态捕获电路具有单脉冲触发采样和连续采样两种工作模式,适用性广;
(4)本发明状态捕获电路通过进行捕获回读操作,如果发现配置存储器阵列中存储的配置码流发生单粒子翻转,可以进行动态部分重配,如果配置存储器阵列中存储捕获用户寄存器状态的SRAM存储单元状态出现错误,可以对相应的逻辑进行复位处理,从而降低FPGA芯片的单粒子翻转累积效应。
附图说明
图1为现场可编程门阵列FPGA的结构框图;
图2为FPGA芯片中配置存储器阵列CSRAM整体结构图、SRAM单元电路图、SRAM单元符号图;
图3为本发明一种单粒子加固FPGA的用户寄存器状态捕获电路原理结构图。
具体实施方式
SRAM型FPGA芯片通过加载指定的配置数据进入内部的配置存储器阵列(CSRAM)来完成配置,其内部含有海量的SRAM存储单元。如图2(b)所示为SRAM存储单元电路,包含两个反相器I1、I2和两个晶体管M1和M2,每个反相器的输出端分别连接到另一个反相器的输入端形成互锁结构,晶体管M1的源端与配置数据输入信号R相连,漏端与反相器I1的输入端相连,栅端受地址译码信号WL控制,晶体管M2的源端与配置数据输入信号R的反相信号RN相连,漏端与反相器I2的输入端相连,栅端受地址译码信号WL控制,反相器I2的输出端为Z,I1的输出端为ZN。图2(c)为SRAM存储单元的符号图。
SRAM型FPGA芯片包括大量的输入输出端口(IOB)、可配置逻辑模块(CLB)。IOB模块提供FPGA内部逻辑与外部封装引出端之间的接口,其中含有用户寄存器,其用户寄存器可配置为边沿触发器或电平锁存器,外部输入信号可以通过IOB模块的用户寄存器输入到FPGA内部,FPGA内部信号也可以通过IOB模块的用户寄存器输出到外部。CLB模块包含函数发生器、算术逻辑和用户寄存器,其用户寄存器也可配置为边沿触发器或电平锁存器,接收函数发生器的输出信号,与其它CLB中的函数发生器和用户寄存器组成时序逻辑,完成定义或需要的功能。
如图3所示,用户寄存器的输入端口有数据输入端D、时钟使能端CE、时钟输入端CK、置位复位端SR、输出端口Q、反相输出端口QN,同时还可根据用户需求配置为边沿触发器(FF)或电平锁存器(LATCH)。本发明捕获电路通过在用户寄存器的输出端口Q、反相输出端口QN增加两个晶体管M3、M4,与一个SRAM存储单元的Z和ZN端相连,晶体管M3和M4的栅极受CAPTURE信号控制。当CAPTURE信号为高时,晶体管M3和M4导通,用户寄存器的值输入到SRAM存储单元的Z和ZN端,并写入到相应的SRAM存储单元。当用户进行回读配置存储器阵列时,图2(b)中SRAM存储单元的栅极信号WL为高,晶体管M1和M2导通,该SRAM存储单元中存储的用户寄存器的值,读出到R和RN端,并通过图2(a)中的数据移位寄存器(DSR)一帧一帧的输出到FPGA外部,供用户分析配置存储器阵列中SRAM存储单元及用户寄存器的值,判断空间应用中的FPGA芯片是否发生了单粒子翻转,用户逻辑的当前状态是否符合预期。
图3中的捕获信号产生电路,包含带使能端的正沿触发器DFF1、负沿触发器DFF2、反相器I3、二输入或门I4、与或非门I5和二输入或门I6。带使能端的正沿触发器DFF1包含数据输入端D、使能端SN、时钟输入端CLK、低电平复位端CDN和输出端Q。当使能端SN为高电平时DFF1接收数据输入端D的输入信号,使能端SN为低电平时DFF1不能接收数据输入端D的输入信号,DFF1一直保持上一个状态;低电平复位端CDN为低时,DFF1的输出端Q输出0;使能端SN为高电平、复位端CDN为高时,在时钟输入端CLK的上升沿触发DFF1使其输出端Q跳变为数据输入端D上的值。负沿触发器DFF2包含数据输入端D、时钟输入端CLK、低电平复位端CDN和输出端Q。低电平复位端CDN为低时,DFF2的输出端Q输出0;复位端CDN为高时,在时钟输入端CLK的下降沿触发DFF2使其输出端Q跳变为数据输入端D上的值。
如图3所示,DFF1的数据输入端D接收用户输入的采样信号CAP_IN,使能端SN接收FPGA芯片的全局写使能信号GWE,时钟输入端CLK接收用户输入的采样时钟信号CAP_CLK,低电平复位端CDN接收FPGA芯片中的捕获复位命令信号RCAP,输出端Q与反相器I3的输入端相连,反相器I3的输出端和与或非门I5的或门输入端相连,二输入或门I4的一个输入端接收FPGA芯片内部的采样模式选择信号SINGLE,输出端与负沿触发器DFF2的数据输入端D相连,负沿触发器DFF2的时钟端CLK与正沿触发器DFF1的输出端Q相连,低电平复位端CDN也接收FPGA芯片中的捕获复位命令信号RCAP,输出端Q与二输入或门I4的另一个输入端及与或非门I5的与门输入端中的一端相连,与或非门I5的与门输入端中的另一端也接收FPGA芯片内部的采样模式选择信号SINGLE,与或非门I5的输出端与二输入或门I6的一个输入端相连,二输入或门I6的另一个输入端接收FPGA芯片内部的捕获命令信号GCAPTURE,二输入或门I6的输出端输出捕获信号CAPTURE,最终与图3中的晶体管M3、M4的栅极相连,用于控制其是否导通。
下面将详细介绍捕获电路的两种工作模式:
当采样模式选择信号SINGLE为0时,捕获电路工作在连续采样模式。由于图3中与或非门I5的与门输入端中的一端接收SINGLE信号,当SINGLE信号为0时,或非门I5的与门输入端中的另一端不论为何值,其中与门的输出均为0,可见在这种工作模式下可以不考虑二输入或门I4、负沿触发器DFF2的状态。全局写使能信号GWE在FPGA芯片配置完成后由低变高。当全局写使能信号GWE为高、捕获复位命令信号RCAP为高时,正沿触发器DFF1使能,在采样时钟信号CAP_CLK的上升沿,DFF1的输出端Q“跳变”跟随用户输入的采样信号CAP_IN,并通过反相器I3输入到与或非门I5的或门输入端中的一端,此时由于与或非门I5的或门输入端的另一端接收的信号为0,因此与或非门I5的输出与DFF1的输出一样。FPGA芯片内部不发出捕获命令信号GCAPTURE时,GCAPTURE信号为0,二输入或门I6的输出捕获信号CAPTURE等于采样时钟信号CAP_CLK的上升沿时用户输入的采样信号CAP_IN的状态。正如上面所述,图3中的晶体管M3、M4栅极在捕获信号CAPTURE控制下,如果CAPTURE信号为高,晶体管M3、M4导通,并将用户寄存器中的值读出并写入到相应的SRAM存储单元中。如果用户输入的采样信号CAP_IN在采样时钟信号CAP_CLK的某个上升沿时为高电平,捕获信号CAPTURE也将为高,将用户寄存器中的值捕获到相应的SRAM存储单元,随后在采样时钟信号CAP_CLK上升沿时如果用户输入的采样信号CAP_IN变为低,捕获信号CAPTURE也将变为低,用户寄存器中的值即使有变化也不会影响相应的SRAM存储单元,但是如果用户输入的采样信号CAP_IN在变采样时钟信号CAP_CLK之后的上升沿时又变为高,存储从用户寄存器中捕获值的SRAM存储单元又会更新为当前用户寄存器的值,即捕获电路工作在连续采样模式。
当采样模式选择信号SINGLE为1时,捕获电路工作在单脉冲触发采样模式,对用户寄存器状态的捕获只发生在外部输入的采样信号CAP_IN为高时的第一个采样时钟信号CAP_CLK的上升沿。假设外部输入的采样信号CAP_IN为在第一个采样时钟信号CAP_CLK的上升沿时为高,在第二个采样时钟信号CAP_CLK的上升沿时为低,在第三个采样时钟信号CAP_CLK的上升沿时又为高。那么在FPGA芯片配置完成全局写使能信号GWE由低变高、并且捕获复位命令信号RCAP为高时,第一个采样时钟信号CAP_CLK的上升沿时用户输入的采样信号CAP_IN为高,正沿触发器DFF1的输出为高电平,负沿触发器DFF2的输出仍保持复位时的输出为低,正沿触发器DFF1的输出高电平经反相器I3反相输入到与或门I5的或门输入端,与或门I5的两个与门输入端一端为高SINGLE信号、另一端为DFF2输出的低电平,因此与或门I5的输出端此时为高电平,FPGA芯片内部不发出捕获命令信号GCAPTURE时,GCAPTURE信号为0,二输入或门I6的输出捕获信号CAPTURE此时也为高电平。
第二个采样时钟信号CAP_CLK的上升沿时用户输入的采样信号CAP_IN为低,正沿触发器DFF1的输出为低电平,触发负沿触发器DFF2输出端变为与其数据输入端D上一样的电平值,因为二输入或门I4的一个输入端为采样模式选择信号SINGLE=1,因此二输入或门I4的输出为高电平,从而负沿触发器DFF2的输出端也为高电平,正沿触发器DFF1的输出低电平经反相器I3反相输入到与或门I5的或门输入端,与或门I5的两个与门输入端一端为高SINGLE信号、另一端为DFF2输出的高电平,因此与或门I5的输出端此时为低电平,FPGA芯片内部不发出捕获命令信号GCAPTURE时,GCAPTURE信号为0,二输入或门I6的输出捕获信号CAPTURE此时也为低电平。
第三个采样时钟信号CAP_CLK的上升沿时用户输入的采样信号CAP_IN为高,正沿触发器DFF1的输出为高电平,负沿触发器DFF2输出端仍为高电平,正沿触发器DFF1的输出低电平经反相器I3反相输入到与或门I5的或门输入端,与或门I5的两个与门输入端一端为高SINGLE信号、另一端为DFF2输出的高电平,因此与或门I5的输出端此时为低电平,FPGA芯片内部不发出捕获命令信号GCAPTURE时,GCAPTURE信号为0,二输入或门I6的输出捕获信号CAPTURE此时也为低电平。
据上描述可知,当采样模式选择信号SINGLE为1时,捕获信号CAPTURE只在用户输入的采样信号CAP_IN第一次为高电平时,产生一个高脉冲信号触发对用户寄存器状态的捕获,用户输入的采样信号CAP_IN一旦变为低电平,再由低电平第二次变为高电平时,捕获信号CAPTURE还会一直保持为低电平,不会像SINGLE=0时再次将当前用户寄存器的状态更新到相应的SRAM存储单元中。需要注意的是,该捕获电路一旦设为单脉冲触发采样模式,需要捕获复位命令信号RCAP对该电路进行复位后才能再进行采样。
从图3中可以看出本发明还有另外一个方法触发捕获信号CAPTURE采样用户寄存器的状态,即用户将捕获命令作为配置回读码流的一部分直接由配置数据端口输入,由配置电路进行码流解析后发出捕获命令信号GCAPTURE,此时GCAPTURE信号为1,二输入或门I6的输出捕获信号CAPTURE也为高电平,从而晶体管M3和晶体管M4导通,将用户寄存器的当前状态采样到SRAM存储单元中。
通过本发明中的捕获电路,FPGA芯片中所有的CLB和IOB中的用户寄存器的状态都可被采样到SRAM存储单元中,空间应用时用户通过回读配置存储器阵列,不仅可了解配置存储器阵列中存储的配置码流是否发生单粒子翻转,也可以获知正在运行的用户系统状态是否符合预期。如果仅是配置存储器阵列中存储的配置码流发生单粒子翻转,用户可进行动态部分重配,不用中断用户功能逻辑。如果配置存储器阵列中捕获用户寄存器状态的SRAM存储单元状态出现错误,用户要对相应的逻辑进行复位处理。通过回读再进行动态部分重配或部分逻辑复位,降低了FPGA芯片的单粒子翻转累积效应,提高了空间辐射环境下系统的可靠性。
本发明说明书中未作详细描述的内容属本领域技术人员的公知技术。

Claims (5)

1.一种单粒子加固FPGA的用户寄存器状态捕获电路,其特征在于包括用户寄存器、晶体管M3、晶体管M4、SRAM存储单元、捕获信号产生电路,其中
用户寄存器,包括第一数据输入端、时钟使能端CE、时钟输入端CK、第一数据输出端、反相输出端QN;第一数据输入端为用户寄存器的数据输入端,时钟使能端CE为用户寄存器的写使能端,当时钟使能端CE为高电平时,第一数据输入端的数据能够加载到用户寄存器,时钟输入端CK接外部时钟信号,第一数据输出端接晶体管M3,反相输出端QN接晶体管M4,在外部时钟信号的上升沿,第一数据输出端跳变为第一数据输入端的值,反相输出端QN跳变为第一数据输入端的反相值;
晶体管M3,包括第一源端、第一漏端、第一栅端,第一源端与用户寄存器的第一数据输出端相连、第一漏端与存储单元输出端Z相连,第一栅端接捕获信号产生电路的捕获信号CAPTURE,当捕获信号CAPTURE为高电平时,晶体管M3导通,用户寄存器内数据通过存储单元输出端Z写入到SRAM存储单元,当捕获信号CAPTURE为低电平时,晶体管M3关闭;
晶体管M4,包括第二源端、第二漏端、第二栅端,第二源端与反相输出端QN相连、第二漏端与存储单元反相输出端ZN相连,第二栅端接捕获信号产生电路的捕获信号CAPTURE,当捕获信号CAPTURE为高电平时,晶体管M4导通,用户寄存器内数据通过存储单元反相输出端ZN写入到SRAM存储单元,当捕获信号CAPTURE为低电平时,晶体管M4关闭;
SRAM存储单元,包括配置数据信号输入端R、配置数据反相信号输入端RN、地址译码信号控制端WL、存储单元输出端Z、存储单元反相输出端ZN;地址译码信号控制端WL接FPGA内部地址译码电路的输出端,地址译码电路的输入端接外部回读配置存储器阵列指令,然后对回读配置存储器阵列指令中的配置存储器阵列地址信息进行译码并回读配置存储器阵列,当回读的配置存储器阵列与配置存储器阵列地址信息一致时,输出高电平,地址译码信号控制端WL为高电平,存储单元输出端Z、存储单元反相输出端ZN分别将用户寄存器内数据输出至FPGA外部,配置数据信号输入端R接用户寄存器配置数据,配置数据反相信号输入端RN接反相的用户寄存器配置数据;
捕获信号产生电路,产生捕获信号CAPTURE送至晶体管M3、晶体管M4;所述的捕获信号CAPTURE为高电平或者低电平。
2.根据权利要求1所述的一种单粒子加固FPGA的用户寄存器状态捕获电路,其特征在于:所述的用户寄存器为FPGA芯片CLB模块或者IOB模块中的任意用户寄存器。
3.根据权利要求1或2所述的一种单粒子加固FPGA的用户寄存器状态捕获电路,其特征在于:所述的捕获信号产生电路从外部获取采样信号CAP_IN、捕获复位命令信号RCAP、采样时钟信号CAP_CLK、采样模式选择信号SINGLE、全局写使能信号GWE、捕获命令信号GCAPTURE;
当采样模式选择信号SINGLE为低电平时,如果捕获复位命令信号RCAP、全局写使能信号GWE均为高电平且捕获命令信号GCAPTURE为低电平,则在采样时钟信号CAP_CLK的上升沿,采样信号CAP_IN写入到输出捕获信号CAPTURE,否则,不进行操作;
当采样模式选择信号SINGLE为高电平时,如果捕获复位命令信号RCAP、全局写使能信号GWE均为高电平且捕获命令信号GCAPTURE为低电平,则在采样信号CAP_IN第一次为高电平时的第一个采样时钟信号CAP_CLK的上升沿,高电平的采样信号CAP_IN写入到输出捕获信号CAPTURE,输出捕获信号CAPTURE为高电平持续到采样信号CAP_IN变为低电平时的第一个采样时钟信号CAP_CLK的上升沿,否则,不进行操作,其中,采样信号CAP_IN为高电平或者低电平。
4.根据权利要求1或2所述的一种单粒子加固FPGA的用户寄存器状态捕获电路,其特征在于:所述的捕获信号产生电路包括带使能端SN的正沿触发器DFF1、负沿触发器DFF2、反相器I3、二输入或门I4、与或非门I5、二输入或门I6;
正沿触发器DFF1包括第二数据输入端、使能端SN、第一时钟输入端、第一低电平复位端和第二数据输出端,负沿触发器DFF2包括第三数据输入端、第二时钟输入端、第二低电平复位端、第三数据输出端;
第二数据输入端从外部获取采样信号CAP_IN,使能端SN接全局写使能信号GWE,第一时钟输入端接采样时钟信号CAP_CLK,第一低电平复位端接捕获复位命令信号RCAP,第二输出端接反相器I3的输入端,反相器I3输出端接与或非门I5的或门输入端,二输入或门I4的一个输入端接采样模式选择信号SINGLE,输出端接第三数据输入端,第二时钟端接第二数据输出端,第二低电平复位端接捕获复位命令信号RCAP,第三数据输出端接二输入或门I4的另一个输入端、与或非门I5的与门输入端的一端,与或非门I5的与门输入端的另一端接采样模式选择信号SINGLE,与或非门I5的输出端接二输入或门I6的一个输入端,二输入或门I6的另一个输入端接捕获命令信号GCAPTURE,二输入或门I6的输出端产生捕获信号CAPTURE至晶体管M3、晶体管M4的栅端;
当采样模式选择信号SINGLE为低电平时,如果捕获复位命令信号RCAP、全局写使能信号GWE均为高电平、捕获命令信号GCAPTURE为低电平,则在采样时钟信号CAP_CLK的上升沿,采样信号CAP_IN写入到输出捕获信号CAPTURE,否则,不进行操作;
当采样模式选择信号SINGLE为高电平时,如果捕获复位命令信号RCAP、全局写使能信号GWE均为高电平、捕获命令信号GCAPTURE为低电平,则在采样信号CAP_IN第一次为高电平时的第一个采样时钟信号CAP_CLK的上升沿,高电平的采样信号CAP_IN写入到输出捕获信号CAPTURE,输出捕获信号CAPTURE为高电平持续到采样信号CAP_IN变为低电平时的第一个采样时钟信号CAP_CLK的上升沿,否则,不进行操作,其中,采样信号CAP_IN为高电平或者低电平。
5.根据权利要求1或2所述的一种单粒子加固FPGA的用户寄存器状态捕获电路,其特征在于:所述的用户寄存器还包括置位复位端SR,置位复位端SR接外部复位信号,当复位信号为高电平时,第一数据输出端能够被优先置为高电平或者低电平;所述的复位信号为高电平或者低电平。
CN201610127480.7A 2016-03-07 2016-03-07 一种单粒子加固fpga的用户寄存器状态捕获电路 Active CN105702296B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610127480.7A CN105702296B (zh) 2016-03-07 2016-03-07 一种单粒子加固fpga的用户寄存器状态捕获电路

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610127480.7A CN105702296B (zh) 2016-03-07 2016-03-07 一种单粒子加固fpga的用户寄存器状态捕获电路

Publications (2)

Publication Number Publication Date
CN105702296A CN105702296A (zh) 2016-06-22
CN105702296B true CN105702296B (zh) 2019-07-23

Family

ID=56220083

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610127480.7A Active CN105702296B (zh) 2016-03-07 2016-03-07 一种单粒子加固fpga的用户寄存器状态捕获电路

Country Status (1)

Country Link
CN (1) CN105702296B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106788380B (zh) * 2017-01-12 2020-03-24 深圳大学 一种抗单粒子翻转的异步置位d触发器
CN108023587B (zh) * 2017-11-07 2022-01-11 北京时代民芯科技有限公司 一种可编程配置逻辑块中的单粒子加固时钟控制电路及控制方法
CN108183706B (zh) * 2018-01-29 2021-09-07 中国人民解放军国防科技大学 一种抗单粒子翻转的寄存器文件存储阵列写单元
CN113744787B (zh) * 2021-07-27 2023-09-08 北京空间飞行器总体设计部 一种sram型fpga用户寄存器单粒子翻转故障注入方法

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7764081B1 (en) * 2005-08-05 2010-07-27 Xilinx, Inc. Programmable logic device (PLD) with memory refresh based on single event upset (SEU) occurrence to maintain soft error immunity
CN101826038B (zh) * 2010-04-28 2012-02-08 复旦大学 一种抗sram fpga器件seu的电路及方法
CN103631738B (zh) * 2013-08-15 2016-08-10 中国科学院电子学研究所 一种片外配置和回读fpga装置
CN105224493B (zh) * 2015-09-29 2018-01-19 北京时代民芯科技有限公司 一种可通过用户输入输出端口完成fpga重配的配置电路
CN105790755B (zh) * 2016-02-26 2018-11-06 北京时代民芯科技有限公司 一种单粒子加固的可编程用户寄存器电路

Also Published As

Publication number Publication date
CN105702296A (zh) 2016-06-22

Similar Documents

Publication Publication Date Title
CN105702296B (zh) 一种单粒子加固fpga的用户寄存器状态捕获电路
US20230039948A1 (en) Methods for reading data from a storage buffer including delaying activation of a column select
CN105814560B (zh) 用于实现高吞吐量键-值存储的存储器设置
US7928761B2 (en) Configuration context switcher with a latch
US7679971B1 (en) Dual port PLD embedded memory block to support read-before-write in one clock cycle
CN103279309B (zh) 基于fpga的ddr控制装置及方法
CN101960719A (zh) 非易失性存储门及其动作方法、及非易失性存储门装入型逻辑电路及其动作方法
US11016525B1 (en) Clock control circuit and clock control method
US8099564B1 (en) Programmable memory controller
CN101770437A (zh) 实现同步双端口存储器ip的并行读写的结构及方法
CN103366793A (zh) 同步存储器数据传输中的时序控制
CN103730149A (zh) 一种双端口存储器的读写控制电路
CN106158012B (zh) Fpga片内sram的时序处理方法、片内sram及fpga
EP2250730A1 (en) Programmable logic fabric
CN103477561A (zh) 可配置逻辑单元
CN108022609A (zh) 多端口存储器和半导体器件
CN205140524U (zh) 一种用于集成电路芯片的熔丝读取电路
US9083340B1 (en) Memory matrix
JP2022054419A (ja) スキャンレジスタを備えるデータレジスタを有するマイクロセクタインフラストラクチャに基づく論理構造
CN111240244B (zh) 一种适用于fpga的可编程脉冲产生装置、电路及方法
CN103198854B (zh) FPGA中具有多种写入模式的Block RAM
CN105701041A (zh) 芯片自适应调节读数时序路径的方法和装置
CN107945834A (zh) 存储器测试装置及测试方法
CN103631754B (zh) 可编程信号处理单元
CN207690508U (zh) 存储器测试装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant