表决电路和自校正锁存器的制作方法

文档序号:17290175发布日期:2019-04-03 03:53阅读:246来源:国知局
表决电路和自校正锁存器的制作方法

本公开大体涉及在三模冗余(tmr:triplemodularredundancy)电路中使用的表决电路。



背景技术:

可编程集成电路(ic),例如现场可编程门阵列(fpga),是能够实现各种数字逻辑操作的用户可配置的ic。fpga包括可编程逻辑电路,例如,以行和列排列的可配置的逻辑块(clb)、围绕clb的输入/输出块(iob)、以及在clb的行和列之间延伸的可编程互连线。clb、iob和互连线被配置为根据被存储在可编程ic的配置存储器单元中的配置数据来实现特定的设计。

可编程ic的多功能性在诸如需要高可用性、高可靠性或功能安全性那样的应用中是有利的,其中远程重新配置优于物理替换。然而,随着装置几何形状的收缩,大气辐射可能在双稳态电路中引起错误,这被称为单粒子翻转(seu:singleeventupset)。当单个重离子撞击硅基片时,离子通过产生自由电子空穴对而丢失能量,导致在局部区域中的致密的电离轨道,并生成可能翻转电路的电流脉冲。seu也可能由α粒子引起。当中子撞击硅基片时生成α粒子。α粒子穿过基片,并在有限的硅体积内产生电荷簇。α粒子可以从高能中子或从已失去足够的动能以与操作环境处于热平衡的中子产生。α粒子也可以通过含有少量放射性污染物的半导体封装的衰变产生。

在可编程ic中,seu可能存在于用于配置可编程逻辑电路的配置存储器单元。另外或替换地,seu可能通过改变包括在由可编程逻辑电路实现的用户电路设计中的双稳态电路(例如,触发器或锁存器)的值而引起错误。由seu在配置存储器中引起的错误可以被称为“配置翻转”,以及在用户电路设计的双稳态电路中引起的错误可以被称为逻辑翻转。

通过实现电路的三个冗余实例连同表决电路,以确保在其中一个冗余实例中发生逻辑或配置翻转时输出正确的值,从而可以减轻由seu引起的配置和逻辑翻转。具有电路的三个冗余实例和表决电路的电路被称为实现“三模冗余”(tmr)。



技术实现要素:

所公开的表决电路包括上拉电路和下拉电路,上拉电路被连接到输出节点和正电源电压,下拉电路被连接到所述输出节点和地。所述输出节点被耦接以接收第一双稳态电路的真实输出。所述上拉电路被配置和被安排成,响应于来自处于第一状态的第二和第三双稳态电路的互补输出信号,将所述输出节点拉到所述正电源电压;以及所述下拉电路被配置和被安排成,响应于来自处于第二状态的所述第二和第三双稳态电路的互补输出信号,将所述输出节点拉到地,其中第二状态与第一状态相反。

可选地,所述表决电路可包括传输门,其被连接在所述第一双稳态电路的真实输出与所述输出节点之间。

可选地,所述表决电路可包括控制电路,其被耦接到所述传输门的控制栅极,以及被配置和被安排成将所述输出节点与所述第一双稳态电路的真实输出连接和断开。

可选地,所述上拉电路可包括第一类型的晶体管,以及下拉电路可包括与第一类型不同的第二类型的晶体管。

可选地,所述第一类型可以是pmos,以及所述第二类型可以是nmos。

可选地,第一、第二、和第三双稳态电路可以是可编程ic的配置存储单元。

所公开的电路装置包括第一、第二、和第三表决电路。第一表决电路包括被连接到第一输出节点和正电源电压的上拉电路;以及被连接到所述第一输出节点和地的下拉电路。所述上拉电路被配置和被安排成,响应于来自处于第一状态的第二和第三双稳态电路的互补输出信号,将所述第一输出节点拉到所述正电源电压。所述下拉电路被配置和被安排成,响应于来自处于第二状态的所述第二和第三双稳态电路的互补输出信号,将所述第一输出节点拉到地,其中所述第二状态与所述第一状态相反。第二表决电路包括被连接到第二输出节点和正电源电压的上拉电路;以及被连接到所述第二输出节点和地的下拉电路。所述第二表决电路的上拉电路被配置和被安排成,响应于来自处于第一状态的第一和第三双稳态电路的互补输出信号,将所述第二输出节点拉到所述正电源电压。所述第二表决电路的所述下拉电路被配置和被安排成,响应于来自处于第二状态的所述第一和第三双稳态电路的互补输出信号,将所述第二输出节点拉到地,其中第二状态与第一状态相反。第三表决电路包括被连接到第三输出节点和正电源电压的上拉电路;以及被连接到所述第三输出节点和地的下拉电路。所述第三表决电路的所述上拉电路被配置和被安排成,响应于来自处于第一状态的第一和第二双稳态电路的互补输出信号,将所述第三输出节点拉到所述正电源电压。所述第三表决电路的所述下拉电路被配置和被安排成,响应于来自处于第二状态的所述第一和第二双稳态电路的互补输出信号,将所述第三输出节点拉到地,其中所述第二状态与所述第一状态相反。第一、第二、和第三输出节点被耦接在一起。

可选地,所述电路装置还可以包括:第一传输门,其被连接在所述第一双稳态电路的真实输出与所述第一输出节点之间;第二传输门,其被连接在所述第二双稳态电路的真实输出与所述第二输出节点之间;以及第三传输门,其被连接在所述第三双稳态电路的真实输出与所述第三输出节点之间。

可选地,所述电路装置还可以包括控制电路,其被耦接到所述第一、第二和第三传输门的控制栅极,以及被配置和被安排成分别将所述第一、第二和第三输出节点与所述第一、第二和第三双稳态电路的真实输出连接或断开。

可选地,所述第一表决电路的上拉电路、所述第二表决电路的上拉电路和所述第三表决电路的上拉电路包括第一类型的晶体管,以及所述第一表决电路的下拉电路、所述第二表决电路的下拉电路和所述第三表决电路的下拉电路包括第二类型的晶体管。

可选地,所述第一类型可以是pmos,以及所述第二类型可以是nmos。

可选地,第一、第二、和第三双稳态电路可以是可编程ic的配置存储单元。

所公开的电路装置包括第一双稳态电路、第二双稳态电路、第三双稳态电路、第一类型的第一和第二晶体管、以及第二类型的第三和第四晶体管。所述第一晶体管被串联连接到所述第二晶体管,以及所述第一晶体管被串联耦接到正电源电压。所述第三晶体管被串联连接到所述第四晶体管,所述第二晶体管在所述输出节点处被串联连接到所述第三晶体管,以及所述第四晶体管被串联耦接到地。所述输出节点被耦接以接收所述第一双稳态电路的真实输出。所述第一和第三晶体管的栅极被耦接以接收所述第二双稳态电路的互补输出,以及所述第二和第四晶体管的栅极被耦接以接收所述第三双稳态电路的互补输出。输出信号线被连接到所述输出节点,并且在所述输出信号线上的信号的状态是第一、第二和第三双稳态电路的真实输出中的多数的状态。

可选地,所述电路装置还可以包括被连接在所述第一双稳态电路的真实输出与所述输出节点之间的传输门。

可选地,所述电路装置还可以包括控制电路,其被耦接到所述传输门的控制栅极,并且被配置和安排成将所述输出节点与所述第一双稳态电路的真实输出连接和断开。

可选地,所述第一类型可以是pmos,以及所述第二类型可以是nmos。

可选地,所述第一、第二和第三双稳态电路可以是锁存器。

可选地,所述第一、第二和第三双稳态电路是可编程ic的配置存储器单元。

可选地,所述第一、第二和第三双稳态电路可以是锁存器。

可选地,所述电路装置还可以包括被连接在所述第一双稳态电路的真实输出与所述输出节点之间的传输门。

通过阅读以下的具体实施方式和权利要求书,将明白其它特性。

附图说明

通过阅读以下的具体实施方式和参考附图,将明白所述电路的各种方面和特性,在附图中:

图1显示一种电路装置,其中表决电路连接到三个双稳态电路;

图2显示一种电路装置的电路图,其中三个锁存器中的任何一个可以是自校正的;

图3显示一种电路装置的电路图,该电路装置提供控制,以防止在只有一个锁存器是自校正时对写入锁存器的争用;

图4显示一种电路装置的电路图,其中所有三个锁存器都通过表决电路进行自校正,并且提供控制以防止在写入不同的值到锁存器时的争用;

图5显示可在其上实现所公开的电路和过程的可编程集成电路(ic)。

具体实施方式

在以下的描述中,阐述了许多具体细节以描述本文呈现的具体示例。然而,对于本领域技术人员来说显而易见的是,可以在没有下面给出的所有具体细节的情况下实践这些示例的一个或多个其他示例和/或变型。在其他情况下,没有详细描述公知的特征,以免模糊本文的示例的描述。为了便于说明,可以在不同的图中使用相同的附图标记来表示相同元件或相同元件的附加实例。

用于tmr的表决电路通常根据以下布尔方程进行实施:

(q1andq2)or(q1andq3)or(q2andq3)

其中q1是第一双稳态电路的真实输出,q2是第二双稳态电路的真实输出,q3是第三双稳态电路的真实输出。所实施的电路通常将耗费总共四个门(三个2输入的and门和一个3输入的or门)。四个门可以用18个晶体管来实施。

如下面的描述中所阐述的,可以用4个晶体管代替在现有方法中发现的18个晶体管来实现表决电路。另外,可以实现表决电路以自校正提供要被表决的信号的一个或所有三个锁存器。电路设计可能有数千个表决电路的实例。因此,通过使用所公开的表决电路可以实现晶体管数量的显著节省。

所公开的表决电路包括上拉电路和下拉电路。上拉电路连接到输出节点和正电源电压,下拉电路连接到输出节点和地。输出节点还被耦接以接收第一双稳态电路的真实输出。响应于来自处于第一状态的第二和第三双稳态电路的互补输出信号,上拉电路将输出节点拉至正电源电压。响应于来自处于第二状态的第二和第三双稳态电路的互补输出信号,下拉电路将输出节点拉到地,其中第二状态与第一状态相反。在双稳态电路是锁存器的实施方案中,如果具有耦接到输出节点的输出的锁存器出错,则可以在上拉和下拉电路中利用适当大小的晶体管自校正该锁存器。其他公开的实施方案提供所有三个锁存器的自校正。

图1显示电路装置100,其中表决电路102连接到三个双稳电路104、106和108。所述表决电路包括上拉电路110和下拉电路112。上拉电路包括串联连接的pmos晶体管114和116。下拉电路包括串联连接的nmos晶体管118和120。上拉电路被连接到正电源电压122,并且下拉电路被连接到地124。双稳态电路104的真实输出q1被耦接到输出节点126,并且上拉电路110的pmos晶体管114和116的栅极以及nmos晶体管118和120的栅极被耦接以接收双稳态电路106和108的互补输出q2_b和q3_b。响应于来自第二和第三双稳电路的互补的输出信号q2_b和q3_b为逻辑0,上拉电路将输出节点126拉到正电源电压。响应于互补输出信号q2_b和q3_b为逻辑1,下拉电路将输出节点拉至地。

在作为表决电路运行时,如果q1、q2和q3都是逻辑1,则输出节点由q1被驱动至逻辑1并被上拉至正电源电压。如果q1、q2和q3均为逻辑0,则输出节点由q1驱动至逻辑0并且也被下拉至地。如果双稳态电路104损坏,并且双稳态电路106和108没有损坏,则输出节点将被上拉电路110或被下拉电路112拉到正确状态。如果驱动q2或q3的任一项的双稳态电路被翻转到错误的状态,则上拉和下拉路径都断开,并且输出节点由q1驱动(q1将匹配于q2或q3中的未损坏的一个)。

表决电路102可以结合作为双稳态电路104、106和108的锁存器或触发器一起使用。在其中双稳态电路是锁存器的实施方案中,如果锁存器损坏的话,表决电路可以自校正被连接到输出节点的该锁存器。所述自校正可以通过适当地确定在上拉和下拉电路中晶体管114、116、118和120的尺寸而被实施。较大的晶体管比起较小的晶体管提供更大的拉力。

在其中双稳态电路是触发器的实施方案中,输出节点可连接到所述触发器的从属级的真实输出q。表决电路不能自校正所述触发器。

本领域技术人员将看到,等价的表决电路可以通过反转表决电路102的逻辑而被实现。也就是,输出节点126可以被连接到双稳态电路104的互补输出q1_b,以及晶体管114、116、118和120的栅极可以被连接到双稳态电路106和108的真实输出q2和q3。

表决电路可以扩展到容纳三个以上的双稳态电路。然而,所公开的tmr表决电路解决了sbe,用更大的电路解决多比特错误的代价可能大于收益。

图2显示一种电路布置的电路图,其中三个锁存器中的任何一个可以是自校正的。响应于三个锁存器201、203和205的任一个被翻转,表决电路202、204和206之一校正该被翻转的锁存器。

第一表决电路202的输出节点208被耦接以从锁存器201接收真实输出q1,并且pmos晶体管210和212以及nmos晶体管214和216的栅极被耦接以接收锁存器203和205的互补输出q2_b和q3_b。第二表决电路204的输出节点218被耦接以从锁存器203接收真实输出q2,并且pmos晶体管220和222以及nmos晶体管224和226的栅极被耦接以接收锁存器和201和205的互补输出q1_b和q3_b。第三表决电路206的输出节点228被耦接以从锁存器205接收真实输出q3,并且pmos晶体管230和232以及nmos晶体管234和236的栅极被耦接以接收锁存器201和203的互补输出q1_b和q2_b。这些输出节点被连接到输出信号线。

图3显示一种电路装置的电路图,该电路装置提供控制以防止在只有一个锁存器是自校正的情况下对写入锁存器的争用。为了防止当双稳态电路被实施为锁存器时双稳态电路之间的争用,所述锁存器被同时写入。然而,出于诸如验证或加密的目的,可能需要将不同的值写入到锁存器。

传输门302被连接在锁存器201的真实输出q1和表决电路102的输出节点126之间,以便通过表决电路控制锁存器201的自校正。传输门302的控制栅极被耦接到控制电路304,该控制电路生成互补信号ghigh和ghigh_b。控制电路304可以是状态机或微控制器电路,其位于在其上实现表决电路102的同一ic管芯上或外部ic管芯上。当ghigh是逻辑1并且ghigh_b是逻辑0时,锁存器201、203和205可以被配置具有不同的值。

图4显示一种电路装置的电路图,其中所有的三个锁存器201、203和205是由表决电路202、204和206自校正的,并且提供了控制,以防止在把不同的值写入到锁存器时的争用。

传输门302被连接在锁存器201的真实输出与输出节点208之间,传输门402被连接在锁存器203的真实输出与输出节点218之间,以及传输门404被连接在锁存器206的真实输出与输出节点228之间。

传输门302、传输门402和传输门404的控制栅极被耦接到控制电路304的互补信号。当ghigh为逻辑1并且ghigh_b是逻辑0时,锁存器201、203和205可以被配置以不同的值。例如,当具有锁存器和表决电路的装置是在配置模式下时,通过ghigh控制的传输门是关闭的,并且在锁存器的输出之间没有相互作用,这允许写入不同的锁存器的值,或在不同时间写入相同的值。当具有锁存器和表决电路的装置使用tmr电路工作时,通过ghigh控制的传输门是接通的,并且锁存器被迫具有相同的值。如果任何一个锁存器被翻转到与其他两个锁存器不同的状态,则被翻转的锁存器将通过由其他两个锁存器控制的上拉或下拉而被校正到适当的状态。

图5显示可在其上实现所公开的电路和过程的可编程集成电路(ic)500。可编程ic还可以称为芯片上系统(soc),其包括现场可编程门阵列逻辑(fpga)以及其他可编程资源。fpga逻辑可以包括在阵列中的几种不同类型的可编程逻辑块。例如,图5显示可编程ic500,其包括大量不同的可编程单元块(tile),这些可编程单元块包括多千兆位收发器(mgt)501、可配置逻辑块(clb)502、随机存取存储器块(bram)503、输入/输出块(iob)504、配置和计时逻辑(config/clocks)505、数字信号处理块(dsp)506、专用输入/输出块(i/o)507(例如,时钟端口)、以及其它可编程逻辑508,诸如数字时钟管理器、模-数转换器、系统监视逻辑等。具有fpga逻辑的一些可编程ic还包括专用处理器块(proc)510以及内部和外部重新配置端口(未示出)。

在一些fpga逻辑中,每个可编程单元块包括可编程互连元件(int)511,其具有去到和来自在每个相邻单元块中的对应的互连元件的标准化连接。因此,可编程互连元件一起实现了用于所示fpga逻辑的可编程互连结构。可编程互连元件int511还包括去到和来自在同一个单元块内的可编程逻辑元件的连接,如在图5顶部处包括的例子所显示的。

例如,clb502可包括可被编程以实现用户逻辑的可配置的逻辑元件cle512,加上单个可编程互连元件511。除了一个或更多可编程互连元件以外,bram503可以包括bram逻辑元件(brl)。典型地,单元块中所包括的互连元件的数量取决于单元块的高度。在图示的实施例中,bram单元块具有与五个clb相同的高度,但是也可以使用其他数量(例如,四个)。除了适当数量的可编程互连元件之外,dsp单元块506还可以包括dsp逻辑元件(dspl)514。除了可编程互连元件int511的一个实例以外,iob504可包括,例如,输入/输出逻辑元件(iol)515的两个实例。正如本领域技术人员将看到的,被连接到例如i/o逻辑元件515的实际的i/o焊盘是通过使用层叠在各种示出的逻辑块上的金属而进行制造的,并且典型地不局限于输入/输出逻辑元件515的区域。可编程ic的配置存储器单元(未示出)的状态指定由cle512、int511的互连以及iol515的配置所实施的逻辑。

在图示的实施例中,靠近管芯中心的柱状区域(在图5中以阴影示出)用于配置、时钟和其他控制逻辑。从该柱状区延伸的水平区域509被使用于在可编程ic的宽度上分布时钟和配置信号。应当指出,关于“柱状”和“水平”区域的说法是与以纵向方向查看图形有关。

利用图5中所示的架构的一些可编程ic包括破坏构成可编程ic的大部分的规则柱状结构的附加的逻辑块。附加逻辑块可以是可编程块和/或专用逻辑。例如,图5中所示的处理器块proc510跨越了几列clb和bram。

应当指出,图5仅仅旨在显示示例性可编程ic架构。柱状区中逻辑块的数目、柱状区的相对宽度、柱状区的数量和顺序、柱状区中包括的逻辑块的类型、逻辑块的相对大小以及在图5的顶部所包括的互联/逻辑实施方案纯粹是示例性的。例如,在实际的可编程ic中,无论clb出现在什么地方,典型地包括clb的多于一个的相邻的柱状区,以便于有效地实现用户逻辑。

尽管在一些情况下可以在各个附图中描述多个方面和特征,但是应当理解,来自一个附图的特征也可以与另一个附图的特征组合,即使这些组合没有明确地示出或明确地描述为组合。

所公开的电路被认为可适用于tmr应用的各种系统。本领域技术人员通过阅读本说明书,将明白其他方面和特征。说明书和附图旨在仅被视为示例,本发明的真实范围由所附权利要求指示。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1