安全地提供配置位的移位寄存器的制作方法

文档序号:7507323阅读:196来源:国知局
专利名称:安全地提供配置位的移位寄存器的制作方法
技术领域
本发明涉及一种用于安全地提供配置位的移位寄存器,特别是配置可编程逻辑电路所需的一系列配置位中的位。
背景技术
在可编程逻辑电路的情况下,如在FPGA(现场可编程门阵列)的情况下,对配置位的可靠性提出了极为高的要求。FPGA是用户完全可编程的(“现场”),并能够根据编程或配置,执行用户所需的大量逻辑功能。FPGA通常包含其电连接由外部施加的配置位定义并从而整体形成复杂逻辑芯片的可配置逻辑模块。
在FPGA的商用变体中,配置位被存储在本地或外围排列的SRAM中,并持续需要用作逻辑电平,以便保持FPGA中已经建立或中断的适当已编程电连接或FPGA的功能变体。当接通FPGA或在FPGA的操作周期开始时,将配置位加载到单独的SRAM模块中,并由此在整个操作周期中可用。由于每个配置位表示FPGA中已经建立或中断的电连接,所以配置位需要单独可读和可写的事实意味着在这种解决方案的情况下,外围电路复杂度非常高。此外,只能在接通时或在复位的情况下或在通过重新加载SRAM的脱机模式下,定义FPGA的逻辑操作,而不能,就目前来说,例如在一个时钟循环内进行定义。
由于FPGA的逻辑操作由所有配置位定义,受到干扰的配置位引起整个可编程芯片误操作。
随着小型化的发展,存储单元变得对故障机制越来越敏感。具体地,当使用最近的亚微米技术时,离子化辐射可以对单独的SRAM单元进行“重新编程”。通常,甚至是芯片内的灌注混合物或其他材料都包含作为杂质的阿尔法辐射源。
在作为不正确的配置位的结果的误操作的情况下,则需要对已经进行了组合以产生可启动模块或群集并包括故障存储单元在内的存储单元进行部分配置更新或配置改变。由于需要对每个存储单元进行寻址并将信息写入其中,配置的改变非常耗时,而且FPGA在此期间不能进行操作。在重新编程期间,同样需要防止设置在FPGA中的逻辑模块启动,有时需要防止连接被暂时设置,在极端情况下,将可能导致各个输出端间的短路。
US 6,011,740描述了一种包括三个锁存器或存储单元以用作FPGA中的配置存储器的结构,该结构允许对所述FPGA进行重新编程。图1示出了基于现有技术的相应结构。设置了在电路中串联连接的三个存储单元或锁存器MC1、MC2、MC3,在锁存器MC1、MC2、MC3之间设置能够由适当的信号P1、P2、P3控制的开关S1、S2、S3,以及第三锁存器MC3具有连接在其下游的反相器I。第一锁存器的输入通过由控制信号P4控制的受控开关S4与位线相连,例如,所述位线传递用于编程的配置位KE。在第二锁存器MC2的输出,向FPGA中的编程节点持续输出配置位KA。受控开关S1、S2、S3、S4的适当开关序列将不同的配置位写入所有三个锁存器。在连续输出配置位KA同时,可以闭合开关S4,断开开关S3,并施加新的配置位KE(不同于KA),以便将所述配置位写入锁存器MC1。再次断开开关S4并闭合开关S1,将存储单元MC1的存储器内容“移位”到单元MC2,从而改变输出处的配置位KA。可以通过闭合开关S3,将锁存器MC3的存储器内容移位到锁存器MC1,并闭合开关S1,以便恢复原始配置状态,再次变回原始配置状态。如图2所示,基于现有技术的锁存器可以由两个背对背连接的反相器I1、I2进行连接,以形成锁存器MC,通过连接反相器I1、I2之间的节点分别形成输入E和输出A。锁存器的这种实施例在其输出处输出输入值的反转电平(作为其结果,图1中的环形结构预示了反相器)。
尽管基于现有技术的、如图1所示的电路结构允许对被路由到FPGA中的编程节点的配置位KA进行重新编程,其需要相当可观的配线复杂度,因为如图1所示的每个电路结构都需要与针对每个编程节点(或者针对每个配置位)的位线相连,并需要配备有针对受控开关的配线。在亚微米范围内大规模集成和小型化的情况下,如离子化辐射(阿尔法粒子)等故障机制可能会额外地改变锁存器内容,并从而可能引起FPGA误操作。此外,环形移位寄存器形式的锁存器M1、M2、M3的结构允许只配置的变化或配置位的连续两次变化。

发明内容
因此,本发明的目的是提出一种用于安全地提供配置位的移位寄存器,尤其是一种移位寄存器单元,其在电路方面需要较低的复杂度,并允许配置在操作期间发生改变。
本发明通过具有如权利要求1所述的特征的移位寄存器单元和具有如权利要求20所述的特征的移位寄存器来实现此目的。
本发明提出了一种移位寄存器单元,具有主锁存器,为了缓冲存储数据位的目的,可以与移位寄存器单元上的串行数据输入相连;第一从锁存器,为了缓冲存储数据位的目的,可以与主锁存器相连;至少一个第二从锁存器,为了缓冲存储数据位的目的,可以与主锁存器相连;以及评估逻辑单元,根据缓冲存储在主锁存器和从锁存器中的数据位,输出配置位。
本发明还提出了一种用于安全地提供配置位的移位寄存器,具有串联连接以形成移位寄存器链的多个本发明的移位寄存器单元。
本发明所基于的思想在于,通过移位寄存器,将配置位串行地路由到要进行配置的电路中的编程节点,以及从锁存器为了缓冲存储配置位的目的,从设置在各个移位寄存器单元中的移位寄存器进行分支。
根据本发明,评估逻辑单元可以输出缓冲存储在移位寄存器单元的——或由本发明的移位寄存器单元链构成的移位寄存器的——主要部分(主要部分由主锁存器和第一从锁存器构成)中的数据位,或者缓冲存储在分支第二从锁存器中的数据位,作为配置位——或移位寄存器链的情况下的配置位——尤其是要进行配置的电路中的编程节点。
本发明的移位寄存器使其能够在非常短的时间内,即一个时钟循环,改变出现在编程节点处的配置位,从而改变可编程逻辑电路的逻辑操作。其次,配置位在主锁存器、第一从锁存器和其他从锁存器中的冗余存储能够增加由评估逻辑单元输出的配置位的可靠性,因为各个评估逻辑单元进行如多数判定等。因此,利用根据本发明所提供的配置位进行编程的逻辑芯片比利用基于现有技术的电路结构更能承受外部干扰的影响。
在本发明的移位寄存器单元的一个优选实施例中,设置了两个从锁存器。刚好两个从锁存器与只包括一个主锁存器和一个从锁存器的移位寄存器单元相比,表现出最小的额外电路复杂度,但提供了变更存储在从锁存器中的配置位的机会。
有利地,可以由各个评估逻辑单元使用缓冲存储在主锁存器和从锁存器中的数据位,以进行绝对多数判定;评估逻辑还输出相应的配置位。因此,如果缓冲存储在锁存器中的至少两个数据位具有特定的逻辑值,评估逻辑单元输出具有此特定逻辑值的配置位。
在另一优选实施例中,本发明的移位寄存器单元中的各个评估逻辑单元根据全局控制信号,输出缓冲存储在各个从锁存器中的数据位之一,作为配置位。当评估逻辑单元按照这种方式操作为多路复用器时,本发明的移位寄存器单元可以尤为有利地用在由移位寄存器链构成的移位寄存器中,并用于容易且快速地变更以配置位的形式确定了相连可编程逻辑电路的操作的配置数据。
在移位寄存器单元的另一优选实施例中,如果并不是所有缓冲存储在移位寄存器单元中的锁存器中的数据位都具有相同的逻辑值,各个评估逻辑单元输出出错指示位。作为输出出错指示位的结构,能够识别外部影响已经不正确地改变了一个或多个缓存器的存储器内容。因此,作为示例,当其源头位于芯片中或附近的辐射干扰、电压火花或阿尔法粒子已经改变了锁存器的逻辑状态时,有利地识别出这种情况。
优选地,由数据处理单元从由本发明的移位寄存器单元链构成的移位寄存器中读取和识别出错指示位,作为其结果,指示移位寄存器中位错误的出现。优选地,由或逻辑电路对由移位寄存器单元中的各个评估逻辑单元输出的出错指示位进行逻辑组合,以形成全局出错指示位。
在本发明的另一优选实施例中,各个评估逻辑单元向其缓冲存储的数据位具有与各个移位寄存器单元中的其他锁存器中的其他缓冲存储数据位的数据位数值不同的数据位数值的锁存器之一输出校正位。在这种情况下,由评估逻辑单元输出的校正位覆写错误数据位,校正了位错误。
可选地,如果至少一个缓冲存储的数据位具有与移位寄存器单元中的其他锁存器中的缓冲存储的数据位的数据位数值不同的数据位数值,评估逻辑单元向各个移位寄存器单元中的所有锁存器输出校正位,由评估逻辑单元输出的校正位对应于利用绝对多数判定所确定的配置位。
这种对移位寄存器中的位错误的自动校正提高了配置位的可靠性。
在本发明的移位寄存器的一个特定优选实施例中,如果在通过以校正位覆写完成各个移位寄存器单元中的错误数据位的校正之后,由各个评估逻辑电路复位或擦除出错指示位,则数据处理单元将其识别为暂时发生的单一位错误。
在一个有利发展中,如果在通过以校正位覆写完成各个移位寄存器单元中的错误数据位的校正之后,还持续从移位寄存器中读出出错指示位,则数据处理单元将其识别为硬件错误。暂时单一位错误的识别和覆写以及硬件错误的识别具有能够按照适当的方式对暂时错误进行处理的优点,例如,通过再次对其进行覆写。尤其是在重要应用的情况下,但是,硬件错误需要移位寄存器中或要进行配置的或要利用配置位进行编程的电路中更为彻底的措施。
在本发明的移位寄存器单元的另一优选实施例中,各个第一从锁存器与移位寄存器单元上的串行数据输出相连。这允许将已经被串行写入主锁存器和第一从锁存器的数据通过串行数据输出路由到其他移位寄存器单元,并因此允许形成移位寄存器链。有利地,然后,也将按照这种方式由移位寄存器链形成的本发明的移位寄存器用于向要进行配置的电路中的编程节点传送配置数据或配置位。
有利地,锁存器是静态锁存器形式的,从而使缓冲存储的位和配置位持续可用。优选地,可以通过受控开关切换锁存器,例如,所述开关是传输门、C2MOS门和/或晶体管等。
在本发明的移位寄存器单元的一个特定优选发展中,还设置有多路复用器,其具有第一输入,为了接收所输出的配置位的目的,与评估逻辑单元相连;第二输入,与第一从锁存器相连;至少一个第三输入,与第二从锁存器相连;以及第四输入,向其施加恒定的逻辑初始值。在多路复用器上的输出处输出输入信号之一。
使用多路复用器的优点在于,能够在多个、缓冲存储的位或配置位之间进行任意选择,并且还能够输出恒定的逻辑初始值。有利地,选择所述初始值,从而使得如果将其施加到要进行配置的电路中的编程节点,则使要进行配置的电路进入特定的安全和/或节能模式。其优点在于,如果新配置数据被读入由移位寄存器单元构成的移位寄存器链或移位寄存器,则使要进行配置的电路进入所定义的、特定有利状态,如特定的节能、低能耗状态。
有利地,多路复用器可以通过全局控制信号,在四个输入间进行切换。
在本发明的移位寄存器的另一优选发展中,设置以时钟信号为时钟的移位寄存器控制器,其根据操作阶段控制信号,启动移位寄存器单元中的开关。
有利地,移位寄存器控制器可以利用操作阶段控制信号,在至少三个不同的操作阶段之间进行切换。在此环境中,第一阶段,写操作阶段,设置用于将配置数据作为数据位写入移位寄存器单元中的主锁存器和第一从锁存器中。在第二操作阶段,传送操作阶段中,将已经写入各个主锁存器的数据位写入移位寄存器单元中的各个第二从锁存器中。在第三操作阶段,提供操作阶段中,锁存器彼此隔离,移位寄存器单元中的评估逻辑单元根据缓冲存储在各个移位寄存器单元中的锁存器中的数据位,向要进行配置的电路中的编程节点输出配置位。按照三个操作阶段执行的优点在于,可以使操作阶段与时钟速率相匹配,并因此能够快速而有效地执行配置改变或由评估逻辑单元输出的配置位的改变。有利地,在提供操作阶段,可以关闭时钟信号,因为要进行配置的连接电路的操作只需要以配置位形式连续可用的配置数据。
对本发明的其他有利改进和发展是从属权利要求以及参照附图的描述的主题。


下面,将参照附图和典型实施例,对本发明进行解释。在附图中图1示出了基于现有技术的、用于提供配置位的移位寄存器元件;图2示出了基于现有技术的锁存器电路;图3示出了本发明的移位寄存器单元的第一实施例;图4示出了与作为要进行配置的电路的FPGA相连的本发明的移位寄存器的方框图;图5示出了本发明的移位寄存器单元的第二实施例;以及图6示出了用在本发明的移位寄存器单元中的传输门。
在所有附图中,除非特别声明,相同或具有相同功能的元件具有相同的参考符号。
具体实施例方式
下面的文字通过采用了非反转开关和锁存器的示例,对本发明的操作方式进行解释。因此,非反转开关总是接转施加到输入的逻辑信号电平,而锁存器传递施加到输入的相同逻辑信号电平,所述信号电平对应于数据位,作为具有与其输出相同逻辑信号电平的缓冲存储位。
图3示出了本发明的移位寄存器单元1-i的第一实施例,具有串行数据输入2-i,用于接收串行配置数据或位3-i;输出4-i,在输出4-i,再次输出串行配置数据3-i;以及输出5-i,在输出5-i,输出配置位6-i。主锁存器8-i通过受控开关7-i与输入2-i相连,第一从锁存器10-i通过受控开关9-i与主锁存器8-i相连。第一从锁存器10-i与移位寄存器单元1-i的输出4-i相连。第二从锁存器12-i类似地通过受控开关11-i与主锁存器8-i的输出相连。评估逻辑单元13-i通过线路108-i、110-i、112-i与主锁存器8-i、第一从锁存器10-i和第二从锁存器12-i相连,并根据出现在锁存器8-i、10-i、12-i中的数据位和第一输出15-i处的全局控制信号14,向移位寄存器单元1-i的输出5-i传递配置位6-i。此外,评估逻辑单元13-i具有用于输出出错指示位20-i的输出16-i。
首先,参照单一的移位寄存器单元1-i,对操作方式进行解释。类似地,所述描述按照适当的理解应用于一系列移位寄存器单元1-i。首先,数据位3-i通过互补连接的开关7、9(例如,通过全局控制器(这里未示出)循环连接)被读入主锁存器8-i和第一从锁存器10-i。当移位寄存器17是如以下图4所示的、具有串联连接的本发明的移位寄存器单元1-1、…、1-N的移位寄存器链1、100的形式的时,配置数据3被读入寄存器链1、100的主要部分,该部分由主锁存器和第一从锁存器8-1、…、8-N;10-1、…、10-N构成。如果之后闭合连接在第二从锁存器12-i的上游的开关11-i,则向第二从锁存器12-i传送缓冲存储在主锁存器8-i中的数据位。因此,理想地,即没有外部干扰影响,在断开开关7-i、9-i、11-i之后,锁存器8-i、10-i、12-i包含具有相同逻辑值的缓冲存储数据。这些缓冲存储数据可通过线路108-i、110-i、112-i用于评估逻辑单元13-i。评估逻辑单元13-i对缓冲存储位进行比较,并通过输出15-i向移位寄存器单元5-i的输出提供多数出现的逻辑电平,作为配置位6-i,例如,提供给编程节点。在这种情况下,可以省略全局控制信号14。
在一个变体实施例中,通过全局控制信号14将评估逻辑单元13-i配置为多路复用器,从而无需进行多数判定或比较,总是在其输出15-i得到出现在将评估逻辑单元13-i与从锁存器10-i、12-i相连的两个线路110-i、112-i之一上的电平,并从而将其提供给与输出5-i相连的编程节点,作为配置位6-i。利用评估逻辑单元13-i的这种设置,包括主锁存器8-i和第一从锁存器10-i和开关7-i、9-i在内的、移位寄存器单元1-i或移位寄存器1的主要部分用作传送包括独立位3-1、…、3-N的配置数据流3的装置,并在输出4-i输出所述配置数据流,作为输出数据。在这种情况下,通过暂时闭合的开关11-i,将配置数据3或输入数据位3-i缓冲存储在第二从锁存器12-i中,并且评估逻辑单元13-i总是向输出5-i路由出现在将第二从锁存器12-i与评估逻辑单元13-i相连的线路112-i上的位。然后,评估逻辑单元13-i允许在出现在线路110-i、112-i上的多个缓冲存储位之间变更,即使在开关7-i、11-i断开时,并作为利用开关7-i、9-i、11-i将输入数据位3-i适当地预先移位到主和从锁存器8-i、10-i、12-i中的结果。因此,本发明的移位寄存器单元1-i能够简单地根据缓冲存储数据位,在多种配置之间来回切换。此外,评估逻辑单元13-i作为多路复用器的配置所提供的优点如下第一,当开关11-i断开时,隔离第二从锁存器12-i,并对位进行缓冲存储,以便用作配置位6-i,结果,保护了与移位寄存器单元1-i相连的可编程电路18的操作;第二,同时能够将新配置数据3读入主要部分中,而无需中断相连可编程电路18的操作。
如果将锁存器8-i、10-i、12-i与评估逻辑单元13-i相连的线路108-i、110-i、112-i上的逻辑电平不相同,评估逻辑单元13-i输出出错指示位20-i。将在移位寄存器单元1-i或相应形成的移位寄存器17的第二实施例中,对出错指示位20-i的操作进行更为详细的解释。
图4示出了本发明的移位寄存器17的方框图,包括串联连接的移位寄存器单元1-1、…、1-N(或在移位寄存器单元的第二实施例的情况下为100-1、…、100-N,对移位寄存器17的操作方式的解释同义地应用于第二实施例)以及要进行配置的可编程电路18,将配置位6-1、…、6-N施加到其编程节点19-1、…、19-N上。在本发明的移位寄存器单元1-1、…、1-N的输出5-1、…、5-N提供配置位6-1、…、6-N,移位寄存器单元1-1、…、1-N互连以形成移位寄存器链1、100。此外,每个移位寄存器单元1-1、…、1-N具有用于输出出错指示位20-1、…、20-N的相应输出16-1、…、16-N。每个移位寄存器单元1-1、…、1-N具有串行数据输入2-1、…、2-N和串行数据输出4-1、…、4-N,移位寄存器单元1-1、…、1-N串联连接以形成移位寄存器链1、100,从而使移位寄存器单元1-1、…、1-N-1的输出4-1、…、4-N-1分别与下一移位寄存器单元1-2、…、1-N的输入2-2、…、2-N相连。在输入侧,将串行提供的配置数据3路由到第一移位寄存器单元1-1的输入2-1,并在移位寄存器链1、100中的最后一个移位寄存器单元1-N的输出4-N再次输出,作为输出数据3。
设置移位寄存器控制器21,接收时钟信号22、全局控制信号23和操作阶段控制信号24,并通过适当的控制线路25(在图中只象征性地示为单一线路)与移位寄存器单元1-1、…、1-N相连。移位寄存器控制器21控制移位寄存器单元1-1、…、1-N中的受控开关、各个移位寄存器单元1-1、…、1-N中的各个评估逻辑单元13-1、…、13-N以及移位寄存器单元1-1、…、1-N中的其他操作循环。
此外,移位寄存器17具有或逻辑电路26,对出错指示位20-1、…、20-N进行逻辑组合以形成全局出错指示位27。由与移位寄存器控制器21相连的数据处理单元28读取并评估全局出错指示位27。相应地,数据处理单元28输出出错消息29。
图5示出了用在如图4所示的移位寄存器17中的本发明的移位寄存器单元100-i的第二实施例。以下的描述应当被理解为表示移位寄存器17中的所有移位寄存器单元100-1、…、100-N。
移位寄存器单元100-i的第二实施例本质上具有包括了与移位寄存器单元的第一实施例1-i相一致的三个锁存器8-i、10-i、12-i在内的本发明的电路、通过线路208-i、210-i、212-i额外与最好是静态形式的锁存器8-i、10-i、12-i的输入相连的评估逻辑单元13-i。连接在锁存器8-i、10-i、12-i的上游的开关7-i、9-i、11-i由具有时钟的全局移位寄存器控制器21控制,所述全局移位寄存器控制器21通过第一输入32接收时钟信号22,通过第二输入33接收控制信号23,以及还通过第三输入34接收操作阶段控制信号24。根据时钟信号22和操作阶段控制信号24,移位寄存器控制器21调整连接在锁存器8-i、10-i、1 2-i的上游的受控开关7-i、9-i、11-i的开关,以便发起分别为写操作阶段、传送操作阶段和提供操作阶段的三个操作阶段。在这种情况下,移位寄存器控制器21同时控制设置在如图5所示的移位寄存器17中的移位寄存器单元1-1、…、1-N;100-1、…、100-N。
此外,本发明第二实施例的移位寄存器单元100-i具有多路复用器40-i,多路复用器40-i的第一输入41-i通过线路115-i与评估逻辑单元13-i的输出15-i(根据由评估逻辑单元13-i考虑到锁存器8-i、10-i、12-i中的锁存器内容或缓冲存储位而做出的评估,将配置位施加于其输出)相连;其第二输入42-i通过第二线路310-i于第一从锁存器10-i的输出相连;以及其第三输入43-i通过线路312-i与第二从锁存器12-i的输出相连。此外,多路复用器40-i通过线路与移位寄存器控制器21相连,移位寄存器控制器21输出针对多路复用器40-i的控制信号123。多路复用器40-i具有第三输入44-i,用于施加恒定初始信号30。初始信号30具有预定的电平,并且可以外部施加,或者可以根据内部电源电压产生,或者可以由移位寄存器控制器21提供等。移位寄存器控制器21利用控制信号控制多路复用器40-i,并将其四个输入41-i、42-i、43-i、44-i之一与输出45-i相连。因此,根据控制信号123,将由评估逻辑单元13-i输出的位、存储在第一从锁存器10-i中的位、存储在第二从锁存器12-i中的位或逻辑初始值30中的一个转送到输出45-i,并通过线路116-i输出到本发明的移位寄存器单元100-i的输出5-i,作为配置位6-i。
移位寄存器100或移位寄存器单元100-i按照由全局移位寄存器控制器21根据操作阶段控制信号24所发起的三个操作阶段进行操作。
在第一写操作阶段中,将数据位写入主锁存器8-i和第一从锁存器10-i,或者在移位寄存器100中向下游移位寄存器单元100-i+1转发,直到已经将要进行配置的可编程电路18所需的全部数据3写入移位寄存器链100中为止。这通过由移位寄存器控制器21所进行的对连接在主锁存器8-i和第一从锁存器10-i上游的开关7-i、9-i的互补开关来实现。在写操作阶段期间,连接在第二从锁存器12-i上游的开关11-i断开。此外,在第一写操作阶段期间,通过控制信号123配置多路复用器40-i,从而使恒定逻辑初始值30与其输出45-i相连,作为配置位6-i。现在出现在要进行配置的可编程电路18中的可编程节点19-i处的此初始值30使所提供的要进行配置的电路18进入特定的安全模式,在所述特定的安全模式下,消耗较少的电能,因此,电路18包含预定的内部节点电位。
由于可以连接移位寄存器单元100-1、…、100-N以形成如图4所示的移位寄存器链100,因此一系列的配置位3-1、…、3-N在时钟控制下,通过包括主锁存器8-1、…、8-N和第一从锁存器10-1、…、10-N的主要部分,在此第一写阶段期间,在编程节点处以配置位6-1、…、6-N的形式只出现预定的初始值30。
在第二传送操作阶段中,最少只持续半个循环,至少断开连接在主锁存器8-i上游的开关7-i,并暂时闭合连接在第二从锁存器12-i上游的开关11-i。因此,将主锁存器8-i的存储器内容传送到第二从锁存器12-i。在此第二操作阶段中,多路复用器40-i根据控制信号123,在其输出45-i输出出现在第一从锁存器10-i中的电平,作为配置位6-i。在传送操作阶段结束时,在所有三个锁存器8-i、10-i、12-i中缓冲存储了具有相同逻辑电平的位。
在第三提供操作阶段中,断开连接在三个锁存器8-i、10-i、12-i上游的所有三个开关7-i、9-i、11-i,因此,锁存器8-i、10-i、12-i彼此完全隔离。评估逻辑单元13-i监视缓冲存储在锁存器8-i、10-i、12-i中的位。此外,评估逻辑单元13-i在其输出15-i之一,通过线路115-i,向多路复用器40-i的输入41-i之一传递位状态。在此提供模式下,多路复用器40-i将由评估逻辑单元13-i传递过来的信号接转到编程节点19-i(参见图4),作为配置位6-i。评估逻辑单元13-i使用关于缓冲存储在锁存器8-i、10-i、12-i中的位的多数判定,以决定在评估逻辑单元13-i的输出15-i向多路复用器40-i提供何种逻辑电平。如果在操作模式期间或者在提供操作阶段期间,外部干扰已经改变了锁存器8-i、10-i、12-i之一的存储器内容,评估逻辑单元13-i通过在其输出16-i向移位寄存器单元100-i的输出120-i输出出错指示位20-i来进行指示,并由还与移位寄存器控制器21相连的全局数据处理单元28读取出错指示位20-i。数据处理单元28可以直接与移位寄存器单元100-1、…、100-N的连接16-1、…、16-N相连,或者优选地,如图4所示,与通过对级联在移位寄存器17中的所有移位寄存器1-1、…、1-N;100-1、…、100-N中的错误位20-1、…、20-N进行或运算而得到的全局出错指示位27相连。
如果评估逻辑单元13-i已经识别出此类型的错误,移位寄存器控制器21向评估逻辑单元13-i发送控制信号14,允许评估逻辑单元13-i通过线路208-i、210-i、212-i访问锁存器。该控制信号可以启动单一的移位寄存器单元100-i,或者作为全局控制信号14,可以授予出现在移位寄存器链1、100中的移位寄存器单元1-1、…、1-N,100-1、…、100-N中的所有评估逻辑单元13-1、…、13-N校正权限。于是,评估逻辑单元13-i通过利用校正线路208-i、210-i、212-i之一以在评估逻辑单元13-i的输出15-i处所提供的逻辑电平覆写相应的锁存器内容,来校正故障锁存器8-i、10-i、12-i的错误存储器内容。在简化的校正操作中,评估逻辑单元13-i以锁存器8-i、10-i、12-i中多数出现的逻辑电平覆写所有的锁存器8-i、10-i、12-i。
外部数据处理单元28能够识别是否存在暂时单一位错误,即在校正操作之后,评估逻辑单元13-i是否复位了出错指示位20-i。通常,校正操作或以校正位覆写不校正位只需要一个时钟循环。因此,已经被设置了多个时钟循环的出错指示位20-i表明发生了硬件错误。作为示例,在这种情况下,锁存器8-i、10-i、12-i之一可能完全损坏。于是,数据处理单元28可以与移位寄存器控制器21一起,采取适当的措施。因此,其校正措施意味着由本发明的移位寄存器单元100-1、…、100-N构成的本发明的移位寄存器17总是恒久且可靠地向要进行配置的电路18中的编程节点19-1、…、19-N传递所需的配置位6-1、…、6-N。
本发明的移位寄存器单元100-i还允许特定的操作模式,不同于前述提供操作阶段,其中在写和传送操作阶段之后,连接在第二从锁存器12-i上游的开关11-i断开,以及多路复用器40-i只将第二从锁存器12-i的锁存器内容接转至编程节点19,作为配置位6-i。与此同时,新配置数据3被周期性地读入形成了本发明的移位寄存器17中的移位寄存器链1、100的主要部分的锁存器8-i、10-i,然后,通过至少断开连接在主锁存器8-1、…、8-N上游的开关7-1、…、7-N,彼此隔离移位寄存器单元1-1、…、1-N;100-1、…、100-N。也就是说,多路复用器40-i可以在存储在第一从锁存器10-i或第二从锁存器12-i中的多个配置位之间进行切换,并将相应的锁存器内容作为配置位6-i接转至编程节点19-i。在此特定的操作模式下,忽略由评估逻辑单元13-i传递过来的位。而是,能够在一个时钟循环内,改变与编程节点相连的可编程电路18的结构。因此,能够在所连接的可编程电路18的多个配置之间重复地进行切换,并且能够在仅仅一个时钟循环内快速地进行切换。通过来自移位寄存器控制器21的全局控制信号123来决定重新编程或选择,其中控制信号对多路复用器40-i进行控制。
图6作为示例示出了能够用作本发明的移位寄存器单元1-1、…、1-N;100-1、…、100-N中的受控开关的传输门300。传输门300具有两个互补MOS晶体管301、302,其受控路径并联连接在两个线路节点303、304之间,并且栅极连接通过反相器305彼此连接。因此,两个电路节点之间的受控路径形成能够通过施加两个互补控制或切换信号306、307与互补MOS晶体管301、302的栅极连接313、314相连的切换路径。根据本发明,互补切换信号306、307可以由移位寄存器控制器21作为时钟信号提供,在这种情况下,可以省略反相器305。
尽管上面已经参照优选典型实施例对本发明进行了描述,其并不局限于此,而可以按照多种方式进行修改。因此,本发明并不局限于在前述附图中所示出的受控开关、锁存器的特定设计或锁存器的数量。而是,能够按照多种方式设置受控开关,如包括开关晶体管或C2MOS门。同样地,本领域的普通技术人员熟悉用在本发明中的静态锁存器的其他可能实施例。
尽管已经参照在切换或缓冲存储数据信号和数据位时保持其逻辑电平不变的同相开关和锁存器,对本发明的移位寄存器单元和移位寄存器链进行了解释,本发明的基本思想同样可以利用反相开关和/或存储元件来实现。具体地,可以使评估逻辑单元、数据处理单元和移位寄存器控制器的操作与开关和/或存储元件的特定特征的需要相匹配。
具体地,用于提供配置位的移位寄存器的用途不必局限于FPGA。而是,无论何时需要对数据位的永久和安全访问,都可以使用本发明来提供配置位。除FPGA以外,例如,还可以是自适应数字滤波器的情况,而配置位表示滤波器系数。
此外,本发明并不局限于提供单一的配置位,而是可以通过互连基于本发明的单一移位寄存器单元以形成移位寄存器链,来传递安全配置位序列或配置字。
本发明的移位寄存器单元和链也可以并行使用,并因而可以同时传递独立的配置数据组件等。
参考符号列表KE位线的配置位KAFPGA的配置位MC1、MC2、MC3 锁存器S1、S2、S3、S4受控开关P1、P2、P3、P4控制信号E 输入A 输出MC锁存器I、I1、I2 反相器1、100移位寄存器链1-1~1-N 移位寄存器单元100-1~100-N 移位寄存器单元2-1~2-N 数据输入3 配置数据3-1~3-N 配置数据位4-1~4-N 输出5-1~5-N 输出6-1~6-N 配置位7-1~7-N 受控开关9-1~9-N 受控开关11-1~11-N受控开关8-1~8-N 主锁存器10-1~10-N从锁存器12-1~12-N从锁存器13-1~13-N评估逻辑单元14控制信号15-1~15-N输出
16-1~16-N输出18要进行配置的电路19-1~19-N编程节点20-1~20-N出错指示位21移位寄存器控制器22时钟信号23全局控制信号24操作阶段控制信号25控制线26或逻辑电路27全局出错指示位28数据处理单元29出错消息30初始值32、33、34输入40-1~40-N多路复用器41-1~41-N多路复用器的输入42-1~42-N多路复用器的输入43-1~43-N多路复用器的输入44-1~44-N多路复用器的输入45-1~45-N多路复用器的输出105-1~105-N 线路108-1~108-N 线路110-1~110-N 线路112-1~112-N 线路115-1~115-N 线路123 控制信号208-1~208-N 线路210-1~210-N 线路212-1~212-N 线路
300 传输门301、302MOS晶体管303、304线路节点305 反相器306、307切换信号310-1~310-N线路312-1~312-N线路313、314栅极连接
权利要求
1.一种用于安全地提供配置位(6-i)的移位寄存器单元(1-i、100-i),具有(a)主锁存器(8-i),为了缓冲存储数据位(3-i)的目的,可以与移位寄存器单元(1-i、100-i)上的串行数据输入(2-i)相连;(b)第一从锁存器(10-i),为了缓冲存储数据位,可以与主锁存器(8-i)相连;(c)至少一个第二从锁存器(12-i),为了缓冲存储数据位,可以与主锁存器(8-i)相连;以及具有(d)评估逻辑单元(13-i),根据缓冲存储在主锁存器(8-i)和从锁存器(10-i、12-i)中的数据位,输出配置位(6-i)。
2.根据权利要求1所述的移位寄存器单元(1-i、100-i),其特征在于设置两个从锁存器(10-i、12-i)。
3.根据权利要求1所述的移位寄存器单元(1-i、100-i),其特征在于评估逻辑单元(13-i)根据缓冲存储在主锁存器(8-i)和从锁存器(10-i、12-i)中的数据位,进行绝对多数判定,并输出相应的配置位(6-i)。
4.根据权利要求2或3所述的移位寄存器单元(1-i、100-i),其特征在于如果缓冲存储在锁存器(8-i、10-i、12-i)中的至少两个数据位具有特定的逻辑值,评估逻辑单元(13-i)输出具有此特定逻辑值的配置位(6-i)。
5.根据权利要求1或2所述的移位寄存器单元(1-i、100-i),其特征在于评估逻辑单元(13-i)根据全局控制信号,输出缓冲存储在从锁存器(10-i、12-i)中的数据位之一,作为配置位(6-i)。
6.根据权利要求1到5之一所述的移位寄存器单元(1-i、100-i),其特征在于如果并不是所有缓冲存储在锁存器(8-i、10-i、12-i)中的数据位都具有相同的逻辑值,评估逻辑单元(13-i)输出出错指示位(20-i)。
7.根据权利要求1到6之一所述的移位寄存器单元(1-i、100-i),其特征在于评估逻辑单元(13-i)向其缓冲存储的数据位具有与其他锁存器(8-i、10-i、12-i)中的缓冲存储数据位的数据位数值不同的数据位数值的锁存器(8-i、10-i、12-i)输出校正位,为了校正已经发生的位错误,以由评估逻辑单元(13-i)输出的校正位覆写错误数据位。
8.根据权利要求1到6之一所述的移位寄存器单元(1-i、100-i),其特征在于如果至少一个缓冲存储的数据位具有与其他锁存器(8-i、10-i、12-i)中的缓冲存储的数据位的数据位数值不同的数据位数值,评估逻辑单元(13-i)向所有锁存器(8-i、10-i、12-i)输出校正位,由评估逻辑单元(13-i)输出的校正位对应于利用绝对多数判定所确定的配置位。
9.根据权利要求1到8之一所述的移位寄存器单元(1-i、100-i),其特征在于第一从锁存器(10-i)与移位寄存器单元(1-i、100-i)上的串行数据输出(4-i)相连。
10.根据权利要求1到9之一所述的移位寄存器单元(1-i、100-i),其特征在于主锁存器(8-i)和从锁存器(10-i、12-i)是静态锁存器。
11.根据权利要求1到10之一所述的移位寄存器单元(1-i、100-i),其特征在于主锁存器(8-i)可以通过第一开关(7-i)与移位寄存器单元(1-i、100-i)的串行数据输入(2-i)相连。
12.根据权利要求1到11之一所述的移位寄存器单元(1-i、100-i),其特征在于第一从锁存器(10-i)可以通过第二开关(9-i)与主锁存器(8-i)相连。
13.根据权利要求1到12之一所述的移位寄存器单元(1-i、100-i),其特征在于第二从锁存器(12-i)可以通过第三开关(11-i)与主锁存器(8-i)相连。
14.根据权利要求11到13之一所述的移位寄存器单元(1-i、100-i),其特征在于开关(7-i、9-i、11-i)是传输门。
15.根据权利要求11到13之一所述的移位寄存器单元(1-i、100-i),其特征在于开关(7-i、9-i、11-i)是C2MOS门。
16.根据权利要求11到13之一所述的移位寄存器单元(1-i、100-i),其特征在于开关(7-i、9-i、11-i)是晶体管。
17.根据权利要求1到16之一所述的移位寄存器单元(1-i、100-i),其特征在于设置有多路复用器(40-i),其具有第一输入(41-i),为了接收所输出的配置位,与评估逻辑单元(13-i)相连;第二输入(42-i),与第一从锁存器(10-i)相连;至少一个第三输入(43-i),与第二从锁存器(12-i)相连;以及第四输入(44-i),向其施加恒定的逻辑初始值(30),以及输出(45-i),用于输出输入信号之一。
18.根据权利要求17所述的移位寄存器单元(1-i、100-i),其特征在于多路复用器(40-i)具有用于连接至要进行配置的电路(18)中的编程节点(19-i)的输出。
19.根据权利要求17或18所述的移位寄存器单元(1-i、100-i),其特征在于多路复用器(40-i)可以按照全局控制信号(123),在四个输入间进行切换。
20.一种用于安全地提供配置位(6-1、…、6-N)的移位寄存器(17),具有串联连接以形成移位寄存器链(1、100)的多个根据权利要求1到19之一所述的移位寄存器单元(1-1、…、1-N;100-1、…、100-N)。
21.根据权利要求20所述的移位寄存器(17),其特征在于由或逻辑电路(26)对由评估逻辑单元(13-i)输出的出错指示位(20-i)进行逻辑组合,并作为全局出错指示位(29)输出。
22.根据权利要求20或21所述的移位寄存器(17),其特征在于由数据处理单元(28)从由移位寄存器单元(1-1、…、1-N;100-1、…、100-N)中读取出错指示位(20-1、…、20-N),并且数据处理单元(28)指示移位寄存器单元(1-1、…、1-N;100-1、…、100-N)中已经发生位错误。
23.根据权利要求22所述的移位寄存器(17),其特征在于如果在通过以校正位覆写完成错误数据位的校正之后,由各个评估逻辑电路(13-i)复位出错指示位(20-i、27),则数据处理单元(28)识别暂时发生了单一位错误。
24.根据权利要求22所述的移位寄存器(17),其特征在于如果在通过以校正位覆写完成错误数据位的校正之后,各个评估逻辑单元(13-i)还持续从移位寄存器单元(1-1、…、1-N;100-1、…、100-N)中读出出错指示位(20-i、27),则数据处理单元(28)识别硬件错误。
25.根据权利要求20到24之一所述的移位寄存器(17),其特征在于设置以时钟信号(22)为时钟的移位寄存器控制器(21),其根据操作阶段控制信号(24),启动移位寄存器单元(1-1、…、1-N;100-1、…、100-N)中的第一开关(7-1、…、7-N)、第二开关(9-1、…、9-N)和第三开关(11-1、…、11-N)。
26.根据权利要求25所述的移位寄存器(17),其特征在于移位寄存器控制器(21)可以利用操作阶段控制信号(24),在至少三个不同的操作阶段之间进行切换。
27.根据权利要求26所述的移位寄存器(17),其特征在于第一写操作阶段涉及将配置数据(3)作为数据位(3-1、…、3-N)串行写入移位寄存器单元(1-1、…、1-N;100-1、…、100-N)中的主锁存器(8-1、…、8-N)和第一从锁存器(10-1、…、10-N)中。
28.根据权利要求26或27所述的移位寄存器(17),其特征在于第二传送操作阶段涉及将已经写入主锁存器(8-1、…、8-N)的数据位写入各个第二从锁存器(12-1、…、12-N)中。
29.根据权利要求26到28之一所述的移位寄存器(17),其特征在于第三提供操作阶段涉及彼此隔离锁存器(8-1、…、8-N、10-1、…、10-N、12-1、…、12-N),,将配置位(6-i)输出到要进行配置的电路(18)中的编程节点(19-i),其中所述配置位(6-i)由移位寄存器单元(1-1、…、1-N;100-1、…、100-N)中的评估逻辑单元(13-1、…、13-N)根据缓冲存储在各个移位寄存器单元(1-1、…、1-N;100-1、…、100-N)中的锁存器(8-i、10-i、12-i)中的数据位输出。
30.根据权利要求29所述的移位寄存器(17),其特征在于在提供操作阶段,可以关闭时钟信号(22)。
31.根据权利要求20到30之一所述的移位寄存器(17),其特征在于要进行配置的电路(18)是FPGA。
全文摘要
本发明涉及一种用于安全地提供配置位(6-i)的移位寄存器单元(1-i、100-i),具有主锁存器(8-i),为了缓冲存储数据位(3-i)的目的,可以与移位寄存器单元(1-i、100-i)上的串行数据输入(2-i)相连;第一从锁存器(10-i),为了缓冲存储数据位,可以与主锁存器(8-i)相连;至少一个第二从锁存器(12-i),为了缓冲存储数据位,可以与主锁存器(8-i)相连;以及具有评估逻辑单元(13-i),根据缓冲存储在主锁存器(8-i)和从锁存器(10-i、12-i)中的数据位,输出配置位(6-i)。此外,本发明提出了一种用于安全地提供配置位(6-1、…、6-N)的移位寄存器(17),具有串联连接以形成移位寄存器链(1、100)的多个本发明的移位寄存器单元(1-1、…、1-N;100-1、…、100-N)。
文档编号H03K19/177GK1624805SQ200410097948
公开日2005年6月8日 申请日期2004年12月6日 优先权日2003年12月5日
发明者乔治·耶奥加卡斯, 西格马·克佩, 托马斯·尼德梅尔 申请人:印芬龙科技股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1