CN115378422B - 一种反熔丝fpga开发者模式电路及用户编程方法 - Google Patents
一种反熔丝fpga开发者模式电路及用户编程方法 Download PDFInfo
- Publication number
- CN115378422B CN115378422B CN202211283130.1A CN202211283130A CN115378422B CN 115378422 B CN115378422 B CN 115378422B CN 202211283130 A CN202211283130 A CN 202211283130A CN 115378422 B CN115378422 B CN 115378422B
- Authority
- CN
- China
- Prior art keywords
- module
- antifuse
- input
- stage
- logic
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03K—PULSE TECHNIQUE
- H03K19/00—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
- H03K19/02—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
- H03K19/173—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
- H03K19/1733—Controllable logic circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/34—Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C17/00—Read-only memories programmable only once; Semi-permanent stores, e.g. manually-replaceable information cards
- G11C17/14—Read-only memories programmable only once; Semi-permanent stores, e.g. manually-replaceable information cards in which contents are determined by selectively establishing, breaking or modifying connecting links by permanently altering the state of coupling elements, e.g. PROM
- G11C17/16—Read-only memories programmable only once; Semi-permanent stores, e.g. manually-replaceable information cards in which contents are determined by selectively establishing, breaking or modifying connecting links by permanently altering the state of coupling elements, e.g. PROM using electrically-fusible links
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/70—Masking faults in memories by using spares or by reconfiguring
- G11C29/78—Masking faults in memories by using spares or by reconfiguring using programmable devices
- G11C29/785—Masking faults in memories by using spares or by reconfiguring using programmable devices with redundancy programming schemes
- G11C29/787—Masking faults in memories by using spares or by reconfiguring using programmable devices with redundancy programming schemes using a fuse hierarchy
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03K—PULSE TECHNIQUE
- H03K19/00—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
- H03K19/02—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03K—PULSE TECHNIQUE
- H03K19/00—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
- H03K19/02—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
- H03K19/08—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using semiconductor devices
- H03K19/094—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using semiconductor devices using field-effect transistors
- H03K19/0944—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using semiconductor devices using field-effect transistors using MOSFET or insulated gate field-effect transistors, i.e. IGFET
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Power Engineering (AREA)
- Logic Circuits (AREA)
Abstract
本发明公开了一种反熔丝FPGA开发者模式电路及用户编程方法,所述开发者模式电路包括控制模块、编程选址模块、第二级反熔丝点、第三级反熔丝点、第一上拉模块、第一反相模块、第一逻辑或模块、第二上拉模块、第二反相模块、二输入与模块、第二逻辑或模块和VSV电平检测模块,以及增设VSV端口。通过设置第二级反熔丝点,第二级反熔丝点熔通后可关闭整个反熔丝FPGA的编程功能,保证反熔丝FPGA可检测的同时,防止了误编程操作;通过设置第三级反熔丝点,第三级反熔丝点熔通后,反熔丝FPGA编程和检测功能将彻底关闭,由此反熔丝FPGA的编程可靠性、可测性和安全性均得到了极大地提高。
Description
技术领域
本发明属于反熔丝FPGA电路设计技术领域,具体涉及一种反熔丝FPGA开发者模式电路及用户编程方法。
背景技术
FPGA通用的核心特性为可编程,可编程特性使得FPGA芯片出厂后在用户侧可以将设计数据写入芯片,从而实现用户设计。然而反熔丝FPGA是一次可编程器件,编程的过程不可逆,因此在用户侧能否保证编程过程的准确和可控,将直接影响芯片设计的成功与否。
目前,用于反熔丝FPGA编程的片上电路中包括控制模块“Mode-Register模块”和一长串的移位寄存器链“shift register链”,其中“shift register链”也可称为编程选址模块。其中Mode-Register模块的典型电路如图1所示,Mode-Register模块由多个D触发器和多个锁存器等组成,用户侧用于编程的控制数据从FPGA芯片的SDI端口输入至Mode-Register模块内的D触发器,然后经过若干逻辑模块,最后有若干控制位从Mode-Register模块输出,从低位到高位记为M0、M1至Mn,这些控制位可实现多种功能,例如全局使能、全局复位、编程以及检测功能等。以数据流“000000……”作为控制数据输入Mode-Register模块为例,当数据流“000000……”从SDI端口输入后,在D触发器和锁存器处于正常工作状态时,M0~M5输出的对应值为“000000……”,即可以通过输入的数据流实现对控制位M0、M1至Mn的输出控制。通常控制位M0~M3用于控制编程电压VPP的加载以及使能编程选址的shiftregister寄存器,由此实现编程功能,控制位M4和M5实现对反熔丝点行通道和列通道的检测功能。shift register链用于实现对具体反熔丝选址编程和动态测试,shift register链的最终输出受到Mode-Register模块的控制。
现阶段用户侧对反熔丝FPGA芯片的编程过程主要包括两个功能实现:其一、为配置数据加载和反熔丝点编程功能,在上述反熔丝FPGA编程的片上电路基础上,用户侧首先将编程一个反熔丝点的配置数据通过SDI端口输入到Mode-Register模块和shiftregister链中,随后在Mode-Register的控制下加载数据,Mode-Register模块将控制全芯片的寄存器和编程高压模块,通过选择反熔丝点的行地址和列地址,然后向具体的反熔丝点加载编程电压VPP,最终完成整个编程过程,从而将设计写入到FPGA中;其二、为检测功能,编程过程中需要通过Mode-Register模块和shift register 链实时监测内部反熔丝点的状态,若反熔丝点编程未成功,可重复编程过程,直到该反熔丝点编程通过,反熔丝编程成功后,依然可以检测内部反熔丝点的状态,用于debug阶段等。但是在用户侧完成所有配置数据编程后,后续会出现误编程反熔丝点位的情形,从而导致用户设计失效或短路,此外在用户侧debug阶段完成后,在Mode-Register模块和shift register链中,编程和检测功能一直处于开放状态,容易造成设计泄密,影响了反熔丝FPGA的安全性能。
综上,如何通过防止误编程来提高反熔丝FPGA的编程可靠性以及如何提高反熔丝FPGA的安全性是目前亟待解决的问题,针对以上问题进行反熔丝FPGA电路设计研究是现阶段关注的重点。
发明内容
本发明的目的在于克服现有技术的一项或多项不足,提供一种反熔丝FPGA开发者模式电路及用户编程方法。
本发明的目的是通过以下技术方案来实现的:
第一部分
本发明的第一部分提供了一种反熔丝FPGA开发者模式电路,所述反熔丝FPGA内包括若干个第一级反熔丝点;所述开发者模式电路设置在所述反熔丝FPGA内,所述开发者模式电路包括控制模块、编程选址模块、第二级反熔丝点、第一上拉模块、第一反相模块和第一逻辑或模块;
所述第二级反熔丝点的正极板与所述第一上拉模块的输出端连接,第二级反熔丝点的负极板接地;
所述第一上拉模块的输入端与所述反熔丝FPGA内的VCCA电源端连接,所述VCCA电源端用于输出逻辑高电平;
所述第一反相模块的输入端与所述第一上拉模块的输出端连接,第一反相模块的输出端与所述第一逻辑或模块的第一输入端连接;
所述控制模块的输入端与所述反熔丝FPGA的SDI端口连接,所述控制模块的第一输出端与所述第一逻辑或模块的第二输入端连接,控制模块的第二输出端与所述编程选址模块的第一端连接;
所述第一逻辑或模块的输出端与所述编程选址模块的第二端连接;
其中,所述SDI端口用于输入第一控制信号和第二控制信号,所述控制模块的第一输出端用于输出所述第一控制信号,控制模块的第二输出端用于输出所述第二控制信号;
当所述第二级反熔丝点未被熔通时,所述第一反相模块的输入端被上拉为逻辑高电平,此时所述第一控制信号经第一逻辑或模块输出至所述编程选址模块的第二端,所述编程选址模块用于根据所述第一控制信号对所述第一级反熔丝点进行熔通;
当所述第二级反熔丝点被熔通时,所述第一反相模块的输入端被下拉为逻辑低电平,此时所述第一逻辑或模块的输出端输出持续逻辑高电平,所述编程选址模块不能对所述第一级反熔丝点进行熔通;
所述编程选址模块还用于根据所述第二控制信号对所述第一级反熔丝点的熔通状态进行检测。
进一步改进地,所述开发者模式电路还包括VSV电平检测模块和二输入与模块,所述反熔丝FPGA还开设有VSV端口,所述VSV端口用于输入VSV电平;所述二输入与模块用于串接在所述第一逻辑或模块的第一输入端和第一反相模块的输出端之间;
所述二输入与模块的第一输入端与第一反相模块的输出端连接,二输入与模块的第二输入端与所述VSV电平检测模块的输出端连接,所述二输入与模块的输出端与所述第一逻辑或模块的第一输入端连接;
所述VSV电平检测模块的输入端与所述VSV端口连接;
当所述VSV电平小于等于所述逻辑高电平,或,所述VSV电平高于所述逻辑高电平且VSV电平与逻辑高电平之间的差值小于等于第一阈值时,所述VSV电平检测模块的输出端输出逻辑高电平;
当所述VSV电平高于所述逻辑高电平,且所述VSV电平与所述逻辑高电平之间的差值大于第一阈值时,所述VSV电平检测模块的输出端输出逻辑低电平,此时所述第一控制信号经所述第一逻辑或模块输出至所述编程选址模块的第二端。
进一步改进地,所述第一上拉模块包括第一倒比PMOS管,所述第一倒比PMOS管的源极与所述VCCA电源端连接,第一倒比PMOS管的栅极悬空,所述第一倒比PMOS管的漏极与所述第二级反熔丝点的正极板连接。
进一步改进地,所述开发者模式电路还包括第三级反熔丝点、第二上拉模块和第二反相模块,所述控制模块的第二输出端与所述编程选址模块的第一端之间还连接有第二逻辑或模块;
所述第三级反熔丝点的正极板与所述第二上拉模块的输出端连接,所述第三级反熔丝点的负极板接地;
所述第二上拉模块的输入端与所述第一倒比PMOS管的漏极连接;
所述第二反相模块的输入端与所述第二上拉模块的输出端连接,所述第二反相模块的输出端分别与所述第一逻辑或模块的第三输入端和所述第二逻辑或模块的第一输入端连接;
所述第二逻辑或模块的第二输入端与所述控制模块的第二输出端连接,第二逻辑或模块的输出端与所述编程选址模块的第一端连接;
当所述第三级反熔丝点未被熔通时,所述第二反相模块的输入端被上拉为逻辑高电平,此时所述第二控制信号经所述第二逻辑或模块输出至所述编程选址模块的第一端;
当所述第三级反熔丝点被熔通时,所述第二反相模块的输入端被下拉为逻辑低电平,此时所述第一逻辑或模块的输出端输出持续逻辑高电平,所述编程选址模块不能对所述第一级反熔丝点进行熔通,并且所述第二逻辑或模块的输出端输出持续逻辑高电平,所述编程选址模块不能对所述第一级反熔丝点的熔通状态进行检测。
进一步改进地,所述第一上拉模块还包括第一NMOS管、第二NMOS管和第三NMOS管;所述第一倒比PMOS管的漏极与所述第一NMOS管的漏极连接,第一NMOS管的栅极与所述VCCA电源端连接,第一NMOS管的源极与所述第二NMOS管的漏极连接,第二NMOS管的栅极与所述VCCA电源端连接,所述第二NMOS管的源极与所述第三NMOS管的漏极连接,第三NMOS管的栅极与所述VCCA电源端连接,第三NMOS管的源极与所述第一反相模块的输入端连接。
进一步改进地,所述VSV电平检测模块包括第二PMOS管、第三PMOS管、第四NMOS管、第五NMOS管、第六NMOS管、第七NMOS管、第三反相器、第四反相器、第五反相器和第六反相器;所述第二PMOS管的源极与所述VSV端口连接,第二PMOS管的栅极与VCCA电源端连接,第二PMOS管的漏极与第四NMOS管的漏极连接,第四NMOS管的栅极与所述VSV端口连接,所述第四NMOS管的源极与所述第五NMOS管的漏极连接,第五NMOS管的源极与所述第六NMOS管的漏极连接,第六NMOS管的源极接地,第五NMOS管的栅极与第六NMOS管的栅极均连接至VCCA电源端,所述第二PMOS管的漏极还与所述第七NMOS管的源极连接,第七NMOS管的栅极与VCCA电源端连接,第七NMOS管的漏极分别与所述第三PMOS管的漏极和所述第三反相器的输入端连接,第三PMOS管的源极与VCCA电源端连接,第三PMOS管的栅极与第三反相器的输出端连接,第三反相器的输出端还分别与第四反相器的输入端和第五反相器的输出端连接,第四反相器的输出端分别与第五反相器的输入端和第六反相器的输入端连接,第六反相器的输出端与所述二输入与模块的第二输入端连接。
进一步改进地,所述第二上拉模块包括第八NMOS管、第九NMOS管和第十NMOS管;所述第八NMOS管的栅极与VCCA电源端连接,第八NMOS管的漏极与所述第一倒比PMOS管的漏极连接,第八NMOS管的源极与第九NMOS管的漏极连接,第九NMOS管的栅极与VCCA电源端连接,第九NMOS管的源极与所述第十NMOS管的漏极连接,第十NMOS管的栅极与VCCA电源端连接,第十NMOS管的源极与第二反相模块的输入端连接。
进一步改进地,所述二输入与模块为二输入与门,所述二输入与门的输出端和所述第一逻辑或模块的第一输入端之间还连接有第一逻辑二输入或非门和第七反相器,所述第二反相模块的输出端还与所述第一逻辑二输入或非门的第一输入端连接,第一逻辑二输入或非门的第二输入端与所述二输入与门的输出端连接,第一逻辑二输入或非门的输出端与第七反相器的输入端连接,第七反相器的输出端与第一逻辑或模块的第一输入端连接。
进一步改进地,所述第一逻辑或模块包括二输入或门、第二逻辑二输入或非门、第八反相器和第一缓冲器,所述二输入或门的第一输入端与所述控制模块的第一输出端连接,二输入或门的第二输入端与所述第二反相模块的输出端连接,二输入或门的输出端与第二逻辑二输入或非门的第一输入端连接,第二逻辑二输入或非门的第二输入端与第七反相器的输出端连接,第二逻辑二输入或非门的输出端与所述第八反相器的输入端连接,第八反相器的输出端经所述第一缓冲器与所述编程选址模块的第二端连接;
所述第二逻辑或模块包括第三逻辑二输入或非门、第九反相器和第二缓冲器,所述第三逻辑二输入或非门的第一输入端与所述控制模块的第二输出端连接,第三逻辑二输入或非门的第二输入端与所述第二反相模块的输出端连接,第三逻辑二输入或非门的输出端与所述第九反相器的输入端连接,第九反相器的输出端经第二缓冲器与所述编程选址模块的第一端连接。
本发明第一部分的有益效果是:
(1)、通过在开发者模式电路中设置第二级反熔丝点,以及与第二级反熔丝点结合的第一上拉模块和第一反相模块,当用户侧完成所需第一级反熔丝的编程和检测后,通过对该第二级反熔丝点进行编程熔通,此时第一逻辑或模块的输出端被置为始终高电平,第一控制信号不能到达编程选址模块,从而使得编程选址模块不能再对各个第一级反熔丝点进行编程,因此第二级反熔丝点的编程熔通等同于锁定了反熔丝FPGA的编程功能,与此同时编程选址模块能够根据第二控制信号继续对第一级反熔丝点的熔通状态进行检测,通过编程功能的锁定防止了在后续debug阶段中误编程第一级反熔丝点的情形出现,避免了用户设计失效或短路的情形,提高了反熔丝FPGA的编程可靠性。
(2)、通过在开发者模式电路中设置VSV电平检测模块,以及结合二输入与模块,在第二级反熔丝点编程熔通后,若在debug阶段中或debug阶段后需要增加对其他第一级反熔丝点的编程熔通,则用户侧可通过从反熔丝FPGA增设的VSV端口接入VSV电平,其中VSV电平高于逻辑高电平,且VSV电平与逻辑高电平之间的差值大于第一阈值,此时VSV电平检测模块输出低电平,第一控制信号可经第一逻辑或模块输出至编程选址模块,从而通过VSV端口加高压的方式,使得用户侧进入调试编程模式,在该模式下,反熔丝FPGA在第二级反熔丝点熔通后锁定的编程功能被解锁,用户侧基于反熔丝FPGA内丰富的反熔丝点位和布线资源,可在该模式下对反熔丝FPGA进行再次编程,由此通过调试编程模式的设置提升了反熔丝FPGA的可测性和灵活性。
(3)、通过在开发者模式电路中设置第三级反熔丝点,以及与第三级反熔丝点结合的第二上拉模块和第二反相模块,在用户侧完成所有编程和调试后,通过对第三级反熔丝点进行编程熔通,此时第一逻辑或模块的输出端被置为始终高电平,第二逻辑或模块的输出端也被置为始终高电平,此时编程选址模块不能再对第一级反熔丝点进行编程以及对第一级反熔丝的熔通状态进行检测,等同于反熔丝FPGA进入了安全模式,编程和检测功能均已被锁定,提高了用户设计的安全性,他人不能从反熔丝FPGA中读到任何设计信息,保障了用户侧设计的安全,由此也提高了反熔丝FPGA的安全性能。
(4)、通过VSV电平检测电路中的多级反相器的设置,提高了信号的抗干扰能力。
(5)、通过第一逻辑或模块内多级反相的设置,提高了信号的抗干扰能力。
(6)、通过第二逻辑或模块内多级反相的设置,提高了信号的抗干扰能力。
第二部分
本发明的第二部分提供了一种用户编程方法,所述用户编程方法基于本发明第一部分所述的一种反熔丝FPGA开发者模式电路,所述用户编程方法包括如下步骤:
S1、进入初始编程模式,包括如下子步骤:
S11、将VSV电平设置为所述逻辑高电平,然后将VSV电平经VSV端口输入反熔丝FPGA;
S12、根据需熔通的第一级反熔丝点的行地址和列地址生成第一控制信号和第二控制信号,并将第一控制信号和第二控制信号经SDI端口输入反熔丝FPGA,然后编程选址模块执行单个第一级反熔丝点编程和检测步骤;
所述单个第一级反熔丝点编程和检测步骤具体为:编程选址模块根据第一控制信号对第一级反熔丝点进行编程以及根据第二控制信号对该第一级反熔丝点的熔通状态进行检测;
S13、根据编程选址模块检测到的第一级反熔丝点的熔通状态判定该第一级反熔丝点是否已熔通,若是,则执行S14,否则再次对该第一级反熔丝点执行所述单个第一级反熔丝点编程和检测步骤;
S14、判定是否有下一个需熔通的第一级反熔丝点,若是,则确定该下一个需熔通的第一级反熔丝点的行地址和列地址,然后跳转至S12;否则执行S2;
S2、进入测试模式,包括如下子步骤:
S21、将第二级反熔丝点熔通;
S22、编程选址模块根据第二控制信号对各个已熔通的第一级反熔丝点的熔通状态进行监测,并开展对所述反熔丝FPGA的性能测试,得到所述性能测试结果;
S23、根据所述性能测试结果判定是否需要对未熔通的第一级反熔丝点进行编程和检测,若是,则执行S3,否则执行S4;
S3、进入调试编程模式,包括如下子步骤:
S31、将VSV电平设置为高于逻辑高电平,且VSV电平与逻辑高电平之间的差值大于第一阈值,然后将VSV电平经VSV端口输入反熔丝FPGA;
S32、根据需熔通的第一级反熔丝点的行地址和列地址生成第一控制信号和第二控制信号,并将第一控制信号和第二控制信号经SDI端口输入反熔丝FPGA,然后编程选址模块执行所述单个第一级反熔丝点编程和检测步骤;
S33、根据编程选址模块检测到的第一级反熔丝点的熔通状态判定该第一级反熔丝点是否已熔通,若是,则执行S34,否则再次对该第一级反熔丝点执行所述单个第一级反熔丝点编程和检测步骤,并执行S33;
S34、判定是否有下一个需熔通的第一级反熔丝点,若是,则确定该下一个需熔通的第一级反熔丝点的行地址和列地址,然后跳转至S32;否则执行S4;
S4、进入安全模式,包括如下子步骤:
S41、将第三级反熔丝点熔通。
第二部分带来与第一部分相同的有益效果,在此不再赘述。
附图说明
图1为背景技术中控制模块的一种典型电路图;
图2为实施例一对应的反熔丝FPGA开发者模式电路的一种原理图;
图3为实施例一对应的编程/安全反熔丝模块的一种原理图;
图4为VSV电平检测模块的一种原理图;
图5为实施例二对应的四种开发者模式切换示意图。
具体实施方式
下面将结合实施例,对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有付出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例一
参阅图2至图4,本实施例提供了一种反熔丝FPGA开发者模式电路,开发者模式电路设置在反熔丝FPGA片上,其中反熔丝FPGA具有若干个第一级反熔丝点。
反熔丝FPGA开发者模式电路包括控制模块、编程选址模块(图中未示出)、第二级反熔丝点PF、第一上拉模块、第一反相模块和第一逻辑或模块。第二级反熔丝点PF也称为编程反熔丝PF。第二级反熔丝点PF、第一上拉模块和第一反相模块均包含在图3中的编程/安全反熔丝模块内。第二级反熔丝点PF的正极板与第一上拉模块的输出端连接,第二级反熔丝点PF的负极板接地。第一上拉模块的输入端与反熔丝FPGA内的VCCA电源端连接,VCCA电源端用于输出逻辑高电平。第一反相模块的输入端与第一上拉模块的输出端连接,第一反相模块的输出端与第一逻辑或模块的第一输入端连接。控制模块的输入端与反熔丝FPGA的SDI端口连接,控制模块的第一输出端与第一逻辑或模块的第二输入端连接,控制模块的第二输出端与编程选址模块的第一端连接。第一逻辑或模块的输出端与编程选址模块的第二端连接。
其中,第一反相模块优选为第一反相器N8;VCCA电源端输出的逻辑高电平为5V;反熔丝FPGA的SDI端口用于输入第一控制信号和第二控制信号,第一控制信号用于控制编程选址模块对反熔丝FPGA内的第一级反熔丝点进行编程,第二控制信号用于控制编程选址模块对第一级反熔丝点的行通道和列通道进行熔通状态的检测。控制模块的第一输出端用于输出第一控制信号,控制模块的第二输出端用于输出第二控制信号。如图2所示,本实施例中的控制模块选取为普通实施例中的控制模块,包括D触发器和锁存器等,通过D触发器和锁存器将输入SDI端口的串行控制信号转换为并行控制信号,然后从控制模块的第一输出端和第二输出端输出。此外,控制模块的第一输出端输出的第一控制信号包括四个控制位,分别为控制位CL0、控制位CL1、控制位CL2和控制位CL3;控制模块的第二输出端输出的第二控制信号包括两个控制位,分别为控制位CL4和控制位CL5。
当第二级反熔丝点PF未被熔通时,第一反相模块的输入端被上拉为逻辑高电平,此时第一控制信号经第一逻辑或模块输出至编程选址模块的第二端,编程选址模块用于根据第一控制信号对第一级反熔丝点进行熔通;
当第二级反熔丝点PF被熔通时,第一反相模块的输入端被下拉为逻辑低电平,此时第一逻辑或模块的输出端输出持续逻辑高电平,第一控制信号不能到达编程选址模块的第二端,编程选址模块不能对第一级反熔丝点进行熔通;
编程选址模块还用于根据第二控制信号对第一级反熔丝点的熔通状态进行检测。
具体的,如图3所示,第一上拉模块包括第一倒比PMOS管MP1、第一NMOS管MN1、第二NMOS管MN2和第三NMOS管MN3。第一倒比PMOS管MP1的源极与VCCA电源端连接,第一倒比PMOS管MP1的栅极悬空,第一倒比PMOS管MP1的漏极与第一NMOS管MN1的漏极连接,第一NMOS管MN1的栅极与VCCA电源端连接,第一NMOS管MN1的源极与第二NMOS管MN2的漏极连接,第二NMOS管MN2的栅极与VCCA电源端连接,第二NMOS管MN2的源极与第三NMOS管MN3的漏极连接,第三NMOS管MN3的栅极与VCCA电源端连接,第三NMOS管MN3的源极与第一反相器N8的输入端连接。第一倒比PMOS管MP1的宽长比选取为3.0u/8.0u。
当第二级反熔丝点PF未被熔通时,第一倒比PMOS管MP1、第一NMOS管MN1、第二NMOS管MN2和第三NMOS管MN3均打开,节点A处的电平值被第一倒比PMOS管MP1上拉到逻辑高电平,然后节点A处的电平值经过第一反相器N8反相,第一反相器N8的输出端输出的tpf信号为逻辑低电平。当第二级反熔丝点PF被熔通后,且在本实施例中,第二级反熔丝点PF被编程后的电阻典型值为200欧姆左右,第一倒比PMOS管MP1、第一NMOS管MN1、第二NMOS管MN2和第三NMOS管MN3均打开,但是因为第一倒比PMOS管MP1的驱动能力弱,所以节点A处的电平值通过编程熔通后的第二级反熔丝点PF拉到地端,节点A处的电平值被下拉为逻辑低电平,然后节点A处的电平值经过第一反相器N8反相,第一反相器N8的输出端输出的tpf信号为逻辑高电平。
优选地,开发者模式电路还包括VSV电平检测模块和二输入与模块,反熔丝FPGA还开设有VSV端口,VSV端口用于输入VSV电平。二输入与模块用于串接在第一逻辑或模块的第一输入端和第一反相器N8的输出端之间。二输入与模块的第一输入端与第一反相器N8的输出端连接,二输入与模块的第二输入端与VSV电平检测模块的输出端连接,二输入与模块的输出端与第一逻辑或模块的第一输入端连接,VSV电平检测模块的输入端与VSV端口连接。
当VSV电平小于等于逻辑高电平,或,VSV电平高于逻辑高电平且VSV电平与逻辑高电平之间的差值小于等于第一阈值时,VSV电平检测模块的输出端输出逻辑高电平。
当VSV电平高于逻辑高电平,且VSV电平与逻辑高电平之间的差值大于第一阈值时,VSV电平检测模块的输出端输出逻辑低电平,此时第一控制信号经第一逻辑或模块输出至编程选址模块的第二端。
具体的,如图4所示,VSV电平检测模块包括第二PMOS管MP2、第三PMOS管MP3、第四NMOS管MN7、第五NMOS管MN8、第六NMOS管MN9、第七NMOS管MN10、第三反相器N10、第四反相器N11、第五反相器N12和第六反相器N13;第二PMOS管MP2的源极与VSV端口连接,第二PMOS管MP2的栅极与VCCA电源端连接,第二PMOS管MP2的漏极与第四NMOS管MN7的漏极连接,第四NMOS管MN7的栅极与VSV端口连接,第四NMOS管MN7的源极与第五NMOS管MN8的漏极连接,第五NMOS管MN8的源极与第六NMOS管MN9的漏极连接,第六NMOS管MN9的源极接地,第五NMOS管MN8的栅极与第六NMOS管MN9的栅极均连接至VCCA电源端,第二PMOS管MP2的漏极还与第七NMOS管MN10的源极连接,第七NMOS管MN10的栅极与VCCA电源端连接,第七NMOS管MN10的漏极分别与第三PMOS管MP3的漏极和第三反相器N10的输入端连接,第三PMOS管MP3的源极与VCCA电源端连接,第三PMOS管MP3的栅极与第三反相器N10的输出端连接,第三反相器N10的输出端还分别与第四反相器N11的输入端和第五反相器N12的输出端连接,第四反相器N11的输出端分别与第五反相器N12的输入端和第六反相器N13的输入端连接,第六反相器N13的输出端与二输入与模块的第二输入端连接,第六反相器N13的输出端输出OUT信号。本实施例中,第二PMOS管MP2的宽长比优选为9u/3.5u, 第三PMOS管MP3的宽长比优选为2u/17u,第四NMOS管MN7的宽长比优选为6.5u/8.5u,第五NMOS管MN8的宽长比优选为11u/5u,第六NMOS管MN9的宽长比优选为3.5u/8.5u,第七NMOS管MN10的宽长比优选为15u/1.2u。
当VSV电平小于等于5V时,第二PMOS管MP2截止,第四NMOS管MN7、第五NMOS管MN8和第六NMOS管MN9均导通,节点C的电平值将被拉低到GND,节点C的电平值经过第三反相器N10、第四反相器N11和第六反相器N13的三级反相后输出为OUT信号,此时OUT信号为逻辑高电平。
当VSV电平超过5V时,第二PMOS管MP2的源极电压高于其栅极电压,第二PMOS管MP2将逐步开启,节点C的电平值将被逐步抬升,由于第七NMOS管MN10一直处于开启状态,节点C的电平将传输到节点D,节点D的电平经过第三反相器N10连接到第三PMOS管MP3的栅极,随着节点C和节点D的电平升高,第三PMOS管MP3也将逐步打开,因为第四NMOS管MN7、第五NMOS管MN8和第六NMOS管MN9导通的下拉能力有限,当VSV电平值比5V高出第一阈值时,第二PMOS管MP2和 第三PMOS管MP3都将开启,节点C和节点D的电平值拉高到逻辑高电平,经过第三反相器N10、第四反相器N11和第六反相器N13的三级反相后输出OUT信号,此时VSV电平检测模块输出的OUT信号为逻辑低电平。本实施例中第一阈值设定为3V,即为:当VSV电平大于8V时,OUT信号为逻辑低电平,此时优选VSV电平值大于等于10V;当VSV电平小于等于8V时,VSV电平检测模块输出的OUT信号为逻辑高电平。
优选地,开发者模式电路还包括第三级反熔丝点SF、第二上拉模块和第二反相模块。第三级反熔丝点SF、第二上拉模块和第二反相模块包含在图3示出的编程/安全反熔丝模块中,第三级反熔丝点SF也称为安全反熔丝SF。控制模块的第二输出端与编程选址模块的第一端之间还连接有第二逻辑或模块。第三级反熔丝点SF的正极板与第二上拉模块的输出端连接,第三级反熔丝点SF的负极板接地。第二上拉模块的输入端与第一倒比PMOS管MP1的漏极连接,第二反相模块的输入端与第二上拉模块的输出端连接,第二反相模块的输出端分别与第一逻辑或模块的第三输入端和第二逻辑或模块的第一输入端连接,第二逻辑或模块的第二输入端与控制模块的第二输出端连接,第二逻辑或模块的输出端与编程选址模块的第一端连接。
当第三级反熔丝点SF未被熔通时,第二反相模块的输入端被上拉为逻辑高电平,此时第二控制信号经第二逻辑或模块输出至编程选址模块的第一端。
当第三级反熔丝点SF被熔通时,第二反相模块的输入端被下拉为逻辑低电平,此时第一逻辑或模块的输出端输出持续逻辑高电平,编程选址模块不能对第一级反熔丝点进行熔通,并且第二逻辑或模块的输出端输出持续逻辑高电平,编程选址模块不能对第一级反熔丝点的熔通状态进行检测。
具体的,如图3所示,第二反相模块为第二反相器N9,第二上拉模块包括第八NMOS管MN4、第九NMOS管MN5和第十NMOS管MN6;第八NMOS管MN4的栅极与VCCA电源端连接,第八NMOS管MN4的漏极与第一倒比PMOS管MP1的漏极连接,第八NMOS管MN4的源极与第九NMOS管MN5的漏极连接,第九NMOS管MN5的栅极与VCCA电源端连接,第九NMOS管MN5的源极与第十NMOS管MN6的漏极连接,第十NMOS管MN6的栅极与VCCA电源端连接,第十NMOS管MN6的源极与第二反相器N9的输入端连接,第二反相器N9的输出端输出tsf信号。
当第三级反熔丝点SF未被熔通时,第一倒比PMOS管MP1、第八NMOS管MN4、第九NMOS管MN5和第十NMOS管MN6均打开,节点B处的电平值被第一倒比PMOS管MP1上拉到逻辑高电平,然后节点B处的电平值经过第二反相器N9反相,第二反相器N9的输出端输出的tsf信号为逻辑低电平。当第三级反熔丝点SF被熔通后,在本实施例中,第三级反熔丝点SF被编程后的电阻典型值为200欧姆左右,第一倒比PMOS管MP1、第八NMOS管MN4、第九NMOS管MN5和第十NMOS管MN6均打开,但是因为第一倒比PMOS管MP1的驱动能力弱,所以节点B处的电平值通过编程熔通后的第三级反熔丝点SF拉到地端,节点B处的电平值被下拉为逻辑低电平,然后节点B处的电平值经过第二反相器N9反相,第二反相器N9的输出端输出的tsf信号为逻辑高电平。
优选地,如图2所示,二输入与模块优选为二输入与门AND1,二输入与门AND1的第二输入端接收VSV电平检测模块输出的OUT信号,二输入与门AND1的第一输入端接收编程/安全反熔丝模块内第一反相器N8的输出端输出的tpf信号。二输入与门AND1的输出端和第一逻辑或模块的第一输入端之间还连接有第一逻辑二输入或非门NOR1和第七反相器N1,第二反相器N9的输出端还与第一逻辑二输入或非门NOR1的第一输入端连接,第一逻辑二输入或非门NOR1的第二输入端与二输入与门AND1的输出端连接,第一逻辑二输入或非门NOR1的输出端与第七反相器N1的输入端连接,第七反相器N1的输出端输出t1信号,第七反相器N1的输出端与第一逻辑或模块的第一输入端连接。第二反相器N9的输出端经第三缓冲器BU7后分别与第一逻辑或模块的第三输入端和第二逻辑或模块的第一输入端连接,第三缓冲器BU7输出t2信号。
第一逻辑或模块的数量为四个,分别为第一逻辑或模块a、第一逻辑或模块b、第一逻辑或模块c和第一逻辑或模块d。第一逻辑或模块a的第二输入端用于接入第一控制信号中的控制位CL0,第一逻辑或模块a的第一输入端用于从第七反相器N1接入t1信号,第一逻辑或模块a的第三输入端用于从第三缓冲器BU7接入t2信号,第一逻辑或模块a的输出端与编程选址模块的第二端连接;第一逻辑或模块b的第二输入端用于接入第一控制信号中的控制位CL1,第一逻辑或模块b的第一输入端用于从第七反相器N1接入t1信号,第一逻辑或模块b的第三输入端用于从第三缓冲器BU7接入t2信号,第一逻辑或模块b的输出端与编程选址模块的第二端连接;第一逻辑或模块c的第二输入端用于接入第一控制信号中的控制位CL2,第一逻辑或模块c的第一输入端用于从第七反相器N1接入t1信号,第一逻辑或模块c的第三输入端用于从第三缓冲器BU7接入t2信号, 第一逻辑或模块c的输出端与编程选址模块的第二端连接;第一逻辑或模块d的第二输入端用于接入第一控制信号中的控制位CL3,第一逻辑或模块d的第一输入端用于从第七反相器N1接入t1信号,第一逻辑或模块d的第三输入端用于从第三缓冲器BU7接入t2信号, 第一逻辑或模块d的输出端与编程选址模块的第二端连接。
第二逻辑或模块的数量为两个,分别为第二逻辑或模块e和第二逻辑或模块f。第二逻辑或模块e的第一输入端用于从第三缓冲器BU7接入t2信号,第二逻辑或模块e的第二输入端用于接入第二控制信号中的控制位CL4,第二逻辑或模块e的输出端与编程选址模块的第一端连接;第二逻辑或模块f的第一输入端用于从第三缓冲器BU7接入t2信号,第二逻辑或模块f的第二输入端用于接入第二控制信号中的控制位CL5,第二逻辑或模块f的输出端与编程选址模块的第一端连接。
下述内容以第一逻辑或模块a的组成为例对第一逻辑或模块的组成进行说明。第一逻辑或模块a包括二输入或门OR1、第二逻辑二输入或非门NOR2、第八反相器N2和第一缓冲器BU1,二输入或门OR1的第一输入端接收控制模块的第一输出端输出的控制位CL0,二输入或门OR1的第二输入端与第三缓冲器BU7的输出端连接,二输入或门OR1的输出端与第二逻辑二输入或非门NOR2的第一输入端连接,第二逻辑二输入或非门NOR2的第二输入端与第七反相器N1的输出端连接,第二逻辑二输入或非门NOR2的输出端与第八反相器N2的输入端连接,第八反相器N2的输出端经第一缓冲器BU1与编程选址模块的第二端连接。
下述内容以第二逻辑或模块e的组成为例对第二逻辑或模块的组成进行说明。第二逻辑或模块e包括第三逻辑二输入或非门NOR6、第九反相器N6和第二缓冲器BU5,第三逻辑二输入或非门NOR6的第一输入端用于接收控制模块的第二输出端输出的控制位CL4,第三逻辑二输入或非门NOR6的第二输入端与第三缓冲器BU7的输出端连接,第三逻辑二输入或非门NOR6的输出端与第九反相器N6的输入端连接,第九反相器N6的输出端经第二缓冲器BU5与编程选址模块的第一端连接。
本实施例的工作原理为:
如图2可得出,将第一逻辑或模块a的输出端输出值表示为M0,M0= CL0 + t2 +t1;第一逻辑或模块b的输出端输出值表示为M1,M1= CL1 + t2 + t1;第一逻辑或模块c的输出端输出值表示为M2,M2= CL2 + t2 + t1;第一逻辑或模块d的输出端输出值表示为M3,M3= CL3+ t2 + t1;第二逻辑或模块e的输出端输出值表示为M4,M4= CL4 + t2;第二逻辑或模块f的输出端输出值表示为M5,M5= CL5 + t2;t1 =(OUT*tpf)+tsf;t2 = tsf。
由此可见,本实施例实现的反熔丝FPGA开发者模式电路给出了用户侧可进行的四种开发者模式,分别为初始编程模式、测试模式、调试编程模式和安全模式,具体如下:
当编程反熔丝PF和安全反熔丝SF都未熔通且OUT=1时,SDI端口输入的第一控制信号和第二控制信号(控制位CL0至CL5)均能到达编程选址模块,此时反熔丝FPGA可正常编程和检测,此时用户可以对反熔丝FPGA写入指定的设计,并检测内部反熔丝点的熔通状态,此阶段处于初始编程模式;
当编程反熔丝PF已熔通、安全反熔丝SF未熔通且OUT=1时,t1=1,M0~M3被置为“1”,SDI端口输入的控制信号中只有第二控制信号中的控制位CL4和控制位CL5可以到达编程选址模块,此时反熔丝FPGA只能实现检测功能,此阶段处于测试模式;
当编程反熔丝PF已熔通、安全反熔丝SF未熔通且OUT=0时,SDI端口输入的第一控制信号和第二控制信号(控制位CL0至CL5)均能到达编程选址模块,反熔丝FPGA可编程以及检测,此阶段为调试编程模式,但这个调试编程模式和初始编程模式的差异在于,调试编程模式中需一直保持VSV电平大于等于10V;
当安全反熔丝SF已熔通,M0~M5全部置为“1”,SDI端口输入的第一控制信号和第二控制信号均无法到达编程选址模块,反熔丝FPGA不可编程以及检测。
实施例二
如图5所示,本实施例基于实施例一实现的一种反熔丝FPGA开发者模式电路,提供了一种用户编程方法,该方法为反熔丝FPGA用户侧的编程方法,该编程方法具体包括如下步骤:
S1、进入初始编程模式,包括如下子步骤:
S11、将VSV电平设置为逻辑高电平5V,然后将VSV电平经VSV端口输入反熔丝FPGA;
S12、根据需熔通的第一级反熔丝点的行地址和列地址生成第一控制信号和第二控制信号,并将第一控制信号和第二控制信号经SDI端口输入反熔丝FPGA,然后编程选址模块执行单个第一级反熔丝点编程和检测步骤;
单个第一级反熔丝点编程和检测步骤具体为:编程选址模块根据第一控制信号对第一级反熔丝点进行编程以及根据第二控制信号对该第一级反熔丝点的熔通状态进行检测;
S13、根据编程选址模块检测到的第一级反熔丝点的熔通状态判定该第一级反熔丝点是否已熔通,若是,则执行S14,否则再次对该第一级反熔丝点执行单个第一级反熔丝点编程和检测步骤;
S14、判定是否有下一个需熔通的第一级反熔丝点,若是,则确定该下一个需熔通的第一级反熔丝点的行地址和列地址,然后跳转至S12;否则执行S2;
S2、进入测试模式,包括如下子步骤:
S21、将第二级反熔丝点熔通。
S22、编程选址模块根据第二控制信号对各个已熔通的第一级反熔丝点的熔通状态进行监测,并开展对反熔丝FPGA的性能测试,得到性能测试结果;
S23、根据性能测试结果判定是否需要再次对未熔通的第一级反熔丝点进行编程和检测,若是,则执行S3,否则执行S4;
S3、进入调试编程模式,包括如下子步骤:
S31、将VSV电平设置为高于逻辑高电平,且VSV电平与逻辑高电平之间的差值大于第一阈值,然后将VSV电平经VSV端口输入反熔丝FPGA;优选地,此步骤中的VSV电平设置为10V;
S32、根据需熔通的第一级反熔丝点的行地址和列地址生成第一控制信号和第二控制信号,并将第一控制信号和第二控制信号经SDI端口输入反熔丝FPGA,然后编程选址模块执行单个第一级反熔丝点编程和检测步骤;
S33、根据编程选址模块检测到的第一级反熔丝点的熔通状态判定该第一级反熔丝点是否已熔通,若是,则执行S34,否则再次对该第一级反熔丝点执行单个第一级反熔丝点编程和检测步骤,并执行S33;
S34、判定是否有下一个需熔通的第一级反熔丝点,若是,则确定该下一个需熔通的第一级反熔丝点的行地址和列地址,然后跳转至S32;否则执行S4;
S4、进入安全模式,包括如下子步骤:
S41、将第三级反熔丝点熔通。可见,第三级反熔丝点相比第二级反熔丝点而言,对电路的控制权限更高,所以对第三级反熔丝点的编程熔通需谨慎考虑。
以上所述仅是本发明的优选实施方式,应当理解本发明并非局限于本文所披露的形式,不应看作是对其他实施例的排除,而可用于各种其他组合、修改和环境,并能够在本文所述构想范围内,通过上述教导或相关领域的技术或知识进行改动。而本领域人员所进行的改动和变化不脱离本发明的精神和范围,则都应在本发明所附权利要求的保护范围内。
Claims (10)
1.一种反熔丝FPGA开发者模式电路,所述反熔丝FPGA内包括若干个第一级反熔丝点;其特征在于,所述开发者模式电路设置在所述反熔丝FPGA内,所述开发者模式电路包括控制模块、编程选址模块、第二级反熔丝点、第一上拉模块、第一反相模块和第一逻辑或模块;
所述第二级反熔丝点的正极板与所述第一上拉模块的输出端连接,第二级反熔丝点的负极板接地;
所述第一上拉模块的输入端与所述反熔丝FPGA内的VCCA电源端连接,所述VCCA电源端用于输出逻辑高电平;
所述第一反相模块的输入端与所述第一上拉模块的输出端连接,第一反相模块的输出端与所述第一逻辑或模块的第一输入端连接;
所述控制模块的输入端与所述反熔丝FPGA的SDI端口连接,所述控制模块的第一输出端与所述第一逻辑或模块的第二输入端连接,控制模块的第二输出端与所述编程选址模块的第一端连接;
所述第一逻辑或模块的输出端与所述编程选址模块的第二端连接;
其中,所述SDI端口用于输入第一控制信号和第二控制信号,所述控制模块的第一输出端用于输出所述第一控制信号,控制模块的第二输出端用于输出所述第二控制信号;
当所述第二级反熔丝点未被熔通时,所述第一反相模块的输入端被上拉为逻辑高电平,此时所述第一控制信号经第一逻辑或模块输出至所述编程选址模块的第二端,所述编程选址模块用于根据所述第一控制信号对所述第一级反熔丝点进行熔通;
当所述第二级反熔丝点被熔通时,所述第一反相模块的输入端被下拉为逻辑低电平,此时所述第一逻辑或模块的输出端输出持续逻辑高电平,所述编程选址模块不能对所述第一级反熔丝点进行熔通;
所述编程选址模块还用于根据所述第二控制信号对所述第一级反熔丝点的熔通状态进行检测。
2.根据权利要求1所述的一种反熔丝FPGA开发者模式电路,其特征在于,所述开发者模式电路还包括VSV电平检测模块和二输入与模块,所述反熔丝FPGA还开设有VSV端口,所述VSV端口用于输入VSV电平;所述二输入与模块用于串接在所述第一逻辑或模块的第一输入端和第一反相模块的输出端之间;
所述二输入与模块的第一输入端与第一反相模块的输出端连接,二输入与模块的第二输入端与所述VSV电平检测模块的输出端连接,所述二输入与模块的输出端与所述第一逻辑或模块的第一输入端连接;
所述VSV电平检测模块的输入端与所述VSV端口连接;
当所述VSV电平小于等于所述逻辑高电平,或,所述VSV电平高于所述逻辑高电平且VSV电平与逻辑高电平之间的差值小于等于第一阈值时,所述VSV电平检测模块的输出端输出逻辑高电平;
当所述VSV电平高于所述逻辑高电平,且所述VSV电平与所述逻辑高电平之间的差值大于第一阈值时,所述VSV电平检测模块的输出端输出逻辑低电平,此时所述第一控制信号经所述第一逻辑或模块输出至所述编程选址模块的第二端。
3.根据权利要求2所述的一种反熔丝FPGA开发者模式电路,其特征在于,所述第一上拉模块包括第一倒比PMOS管,所述第一倒比PMOS管的源极与所述VCCA电源端连接,第一倒比PMOS管的栅极悬空,所述第一倒比PMOS管的漏极与所述第二级反熔丝点的正极板连接。
4.根据权利要求3所述的一种反熔丝FPGA开发者模式电路,其特征在于,所述开发者模式电路还包括第三级反熔丝点、第二上拉模块和第二反相模块,所述控制模块的第二输出端与所述编程选址模块的第一端之间还连接有第二逻辑或模块;
所述第三级反熔丝点的正极板与所述第二上拉模块的输出端连接,所述第三级反熔丝点
的负极板接地;
所述第二上拉模块的输入端与所述第一倒比PMOS管的漏极连接;
所述第二反相模块的输入端与所述第二上拉模块的输出端连接,所述第二反相模块的输出端分别与所述第一逻辑或模块的第三输入端和所述第二逻辑或模块的第一输入端连接;
所述第二逻辑或模块的第二输入端与所述控制模块的第二输出端连接,第二逻辑或模块的输出端与所述编程选址模块的第一端连接;
当所述第三级反熔丝点未被熔通时,所述第二反相模块的输入端被上拉为逻辑高电平,
此时所述第二控制信号经所述第二逻辑或模块输出至所述编程选址模块的第一端;
当所述第三级反熔丝点被熔通时,所述第二反相模块的输入端被下拉为逻辑低电平,
此时所述第一逻辑或模块的输出端输出持续逻辑高电平,所述编程选址模块不能对所述第一级反熔丝点进行熔通,并且所述第二逻辑或模块的输出端输出持续逻辑高电平,所述编程选址模块不能对所述第一级反熔丝点的熔通状态进行检测。
5.根据权利要求3所述的一种反熔丝FPGA开发者模式电路,其特征在于,所述第一上拉模块还包括第一NMOS管、第二NMOS管和第三NMOS管;所述第一倒比PMOS管的漏极与所述第一NMOS管的漏极连接,第一NMOS管的栅极与所述VCCA电源端连接,第一NMOS管的源极与所述第二NMOS管的漏极连接,第二NMOS管的栅极与所述VCCA电源端连接,所述第二NMOS管的源极与所述第三NMOS管的漏极连接,第三NMOS管的栅极与所述VCCA电源端连接,第三NMOS管的源极与所述第一反相模块的输入端连接。
6.根据权利要求2所述的一种反熔丝FPGA开发者模式电路,其特征在于,所述VSV电平检测模块包括第二PMOS管、第三PMOS管、第四NMOS管、第五NMOS管、第六NMOS管、第七NMOS管、第三反相器、第四反相器、第五反相器和第六反相器;所述第二PMOS管的源极与所述VSV端口连接,第二PMOS管的栅极与VCCA电源端连接,第二PMOS管的漏极与第四NMOS管的漏极连接,第四NMOS管的栅极与所述VSV端口连接,所述第四NMOS管的源极与所述第五NMOS管的漏极连接,第五NMOS管的源极与所述第六NMOS管的漏极连接,第六NMOS管的源极接地,第五NMOS管的栅极与第六NMOS管的栅极均连接至VCCA电源端,所述第二PMOS管的漏极还与所述第七NMOS管的源极连接,第七NMOS管的栅极与VCCA电源端连接,第七NMOS管的漏极分别与所述第三PMOS管的漏极和所述第三反相器的输入端连接,第三PMOS管的源极与VCCA电源端连接,第三PMOS管的栅极与第三反相器的输出端连接,第三反相器的输出端还分别与第四反相器的输入端和第五反相器的输出端连接,第四反相器的输出端分别与第五反相器的输入端和第六反相器的输入端连接,第六反相器的输出端与所述二输入与模块的第二输入端连接。
7.根据权利要求4所述的一种反熔丝FPGA开发者模式电路,其特征在于,所述第二上拉模块包括第八NMOS管、第九NMOS管和第十NMOS管;所述第八NMOS管的栅极与VCCA电源端连接,第八NMOS管的漏极与所述第一倒比PMOS管的漏极连接,第八NMOS管的源极与第九NMOS管的漏极连接,第九NMOS管的栅极与VCCA电源端连接,第九NMOS管的源极与所述第十NMOS管的漏极连接,第十NMOS管的栅极与VCCA电源端连接,第十NMOS管的源极与第二反相模块的输入端连接。
8.根据权利要求4所述的一种反熔丝FPGA开发者模式电路,其特征在于,所述二输入与模块为二输入与门,所述二输入与门的输出端和所述第一逻辑或模块的第一输入端之间还连接有第一逻辑二输入或非门和第七反相器,所述第二反相模块的输出端还与所述第一逻辑二输入或非门的第一输入端连接,第一逻辑二输入或非门的第二输入端与所述二输入与门的输出端连接,第一逻辑二输入或非门的输出端与第七反相器的输入端连接,第七反相器的输出端与第一逻辑或模块的第一输入端连接。
9.根据权利要求8所述的一种反熔丝FPGA开发者模式电路,其特征在于,
所述第一逻辑或模块包括二输入或门、第二逻辑二输入或非门、第八反相器和第一缓冲器,所述二输入或门的第一输入端与所述控制模块的第一输出端连接,二输入或门的第二输入端与所述第二反相模块的输出端连接,二输入或门的输出端与第二逻辑二输入或非门的第一输入端连接,第二逻辑二输入或非门的第二输入端与第七反相器的输出端连接,第二逻辑二输入或非门的输出端与所述第八反相器的输入端连接,第八反相器的输出端经所述第一缓冲器与所述编程选址模块的第二端连接;
所述第二逻辑或模块包括第三逻辑二输入或非门、第九反相器和第二缓冲器,所述第三逻辑二输入或非门的第一输入端与所述控制模块的第二输出端连接,第三逻辑二输入或非门的第二输入端与所述第二反相模块的输出端连接,第三逻辑二输入或非门的输出端与所述第九反相器的输入端连接,第九反相器的输出端经第二缓冲器与所述编程选址模块的第一端连接。
10.一种用户编程方法,其特征在于,所述用户编程方法基于权利要求4至9项任一项所述的一种反熔丝FPGA开发者模式电路,所述用户编程方法包括如下步骤:
S1、进入初始编程模式,包括如下子步骤:
S11、将VSV电平设置为所述逻辑高电平,然后将VSV电平经VSV端口输入反熔丝FPGA;
S12、根据需熔通的第一级反熔丝点的行地址和列地址生成第一控制信号和第二控制信号,并将第一控制信号和第二控制信号经SDI端口输入反熔丝FPGA,然后编程选址模块执行单个第一级反熔丝点编程和检测步骤;
所述单个第一级反熔丝点编程和检测步骤具体为:编程选址模块根据第一控制信号对第一级反熔丝点进行编程以及根据第二控制信号对该第一级反熔丝点的熔通状态进行检测;
S13、根据编程选址模块检测到的第一级反熔丝点的熔通状态判定该第一级反熔丝点是否已熔通,若是,则执行S14,否则再次对该第一级反熔丝点执行所述单个第一级反熔丝点编程和检测步骤;
S14、判定是否有下一个需熔通的第一级反熔丝点,若是,则确定该下一个需熔通的第一级反熔丝点的行地址和列地址,然后跳转至S12;否则执行S2;
S2、进入测试模式,包括如下子步骤:
S21、将第二级反熔丝点熔通;
S22、编程选址模块根据第二控制信号对各个已熔通的第一级反熔丝点的熔通状态进行监测,并开展对所述反熔丝FPGA的性能测试,得到所述性能测试结果;
S23、根据所述性能测试结果判定是否需要对未熔通的第一级反熔丝点进行编程和检测,若是,则执行S3,否则执行S4;
S3、进入调试编程模式,包括如下子步骤:
S31、将VSV电平设置为高于逻辑高电平,且VSV电平与逻辑高电平之间的差值大于第一阈值,然后将VSV电平经VSV端口输入反熔丝FPGA;
S32、根据需熔通的第一级反熔丝点的行地址和列地址生成第一控制信号和第二控制信号,并将第一控制信号和第二控制信号经SDI端口输入反熔丝FPGA,然后编程选址模块执行所述单个第一级反熔丝点编程和检测步骤;
S33、根据编程选址模块检测到的第一级反熔丝点的熔通状态判定该第一级反熔丝点是否已熔通,若是,则执行S34,否则再次对该第一级反熔丝点执行所述单个第一级反熔丝点编程和检测步骤,并执行S33;
S34、判定是否有下一个需熔通的第一级反熔丝点,若是,则确定该下一个需熔通的第一级反熔丝点的行地址和列地址,然后跳转至S32;否则执行S4;
S4、进入安全模式,包括如下子步骤:
S41、将第三级反熔丝点熔通。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211283130.1A CN115378422B (zh) | 2022-10-20 | 2022-10-20 | 一种反熔丝fpga开发者模式电路及用户编程方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211283130.1A CN115378422B (zh) | 2022-10-20 | 2022-10-20 | 一种反熔丝fpga开发者模式电路及用户编程方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115378422A CN115378422A (zh) | 2022-11-22 |
CN115378422B true CN115378422B (zh) | 2022-12-20 |
Family
ID=84073919
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211283130.1A Active CN115378422B (zh) | 2022-10-20 | 2022-10-20 | 一种反熔丝fpga开发者模式电路及用户编程方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115378422B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115859885B (zh) * | 2023-02-14 | 2023-05-09 | 成都市硅海武林科技有限公司 | 一种fpga冗余容错方法及fpga芯片 |
CN116718901B (zh) * | 2023-08-10 | 2023-11-24 | 成都市硅海武林科技有限公司 | 一种反熔丝fpga高速测试电路 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5488317A (en) * | 1993-10-22 | 1996-01-30 | Texas Instruments Incorporated | Wired logic functions on FPGA's |
US6028444A (en) * | 1996-06-21 | 2000-02-22 | Quicklogic Corporation | Three-statable net driver for antifuse field programmable gate array |
US7724022B1 (en) * | 2009-01-28 | 2010-05-25 | International Business Machines Corporation | Implementing enhanced security features in an ASIC using eFuses |
KR20100096861A (ko) * | 2009-02-25 | 2010-09-02 | 삼성전자주식회사 | 반도체 장치 및 그것의 퓨즈 프로그램 방법 |
CN114268313A (zh) * | 2021-12-10 | 2022-04-01 | 中国电子科技集团公司第五十八研究所 | 一种用于反熔丝fpga中隔离电路的控制结构 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7248069B2 (en) * | 2003-08-11 | 2007-07-24 | Freescale Semiconductor, Inc. | Method and apparatus for providing security for debug circuitry |
KR100716667B1 (ko) * | 2005-04-29 | 2007-05-09 | 주식회사 하이닉스반도체 | 반도체 기억 소자의 리던던시 회로 |
KR101062775B1 (ko) * | 2009-12-28 | 2011-09-06 | 주식회사 하이닉스반도체 | 퓨즈 회로 및 그 제어 방법 |
US9594516B2 (en) * | 2014-02-14 | 2017-03-14 | Sony Semiconductor Solutions Corporation | Memory device with variable trim parameters |
KR102274259B1 (ko) * | 2014-11-26 | 2021-07-07 | 삼성전자주식회사 | 멀티 비트 프로그램을 위한 오티피 메모리 셀 및 오티피 메모리 장치 |
-
2022
- 2022-10-20 CN CN202211283130.1A patent/CN115378422B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5488317A (en) * | 1993-10-22 | 1996-01-30 | Texas Instruments Incorporated | Wired logic functions on FPGA's |
US6028444A (en) * | 1996-06-21 | 2000-02-22 | Quicklogic Corporation | Three-statable net driver for antifuse field programmable gate array |
US7724022B1 (en) * | 2009-01-28 | 2010-05-25 | International Business Machines Corporation | Implementing enhanced security features in an ASIC using eFuses |
KR20100096861A (ko) * | 2009-02-25 | 2010-09-02 | 삼성전자주식회사 | 반도체 장치 및 그것의 퓨즈 프로그램 방법 |
CN114268313A (zh) * | 2021-12-10 | 2022-04-01 | 中国电子科技集团公司第五十八研究所 | 一种用于反熔丝fpga中隔离电路的控制结构 |
Non-Patent Citations (1)
Title |
---|
用于反熔丝FPGA的内建测试电路;马金龙等;《半导体技术》;20160203;第41卷(第02期);83-88 * |
Also Published As
Publication number | Publication date |
---|---|
CN115378422A (zh) | 2022-11-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN115378422B (zh) | 一种反熔丝fpga开发者模式电路及用户编程方法 | |
CN111310394B (zh) | 一种应用于反熔丝fpga的多电平选择结构 | |
US6859401B2 (en) | Fail number detecting circuit of flash memory | |
KR20090009792A (ko) | 프로그래밍 가능 셀 | |
US6201738B1 (en) | Nonvolatile semiconductor memory and program verification method in which number of write operation can be reduced in program verification operation | |
USRE42264E1 (en) | Field programmable device | |
JP2921505B2 (ja) | 半導体記憶装置 | |
CA1203575A (en) | Semiconductor memory redundant element identification circuit | |
CN101149977A (zh) | 半导体存储器件中的电压监视装置 | |
CN114236366A (zh) | 支持乱序成品测试的芯片及测试方法 | |
US20030115528A1 (en) | Semiconductor memory device capable of failure analysis with system in operation | |
US6536003B1 (en) | Testable read-only memory for data memory redundant logic | |
KR100200481B1 (ko) | 테스트 회로 | |
EP0682803B1 (en) | Configurable integrated circuit comprising complementary nonvolatile memory cells | |
US7274610B2 (en) | Semiconductor memory device | |
US7071704B1 (en) | Circuit for improved diagnosability of defects in a fuse scan structure | |
JP3980560B2 (ja) | テスト可能なカスコード回路およびそれをテストする方法 | |
KR20050027143A (ko) | 기대값을 비교하는 기능을 갖는 불휘발성 반도체 기억 장치 | |
US7496808B2 (en) | Parallel bit test circuit in semiconductor memory device and associated method | |
EP1574867A1 (en) | Semiconductor device and method for testing the same | |
KR100576482B1 (ko) | 멀티비트 데이터 테스트 장치 | |
JP2588244B2 (ja) | 半導体装置 | |
KR100268787B1 (ko) | 메모리 장치의 리페어 방법 | |
KR970049542A (ko) | 프로그램 검증 회로 및 프로그램 검증 방법 | |
KR100345363B1 (ko) | 어드레스 검출 테스트 모드 회로 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |