数字系统及其错误检测方法 本发明涉及根据本发明权利要求1前序部分的一种数字系统。本发明还涉及一种用于在使用这种数字系统的数字电路中进行错误检测方法。
超大规模集成(VLSI)数字电路中的错误检测和校正,是一个十分重要的问题,与此同时,也是一项极其艰巨的任务。然而,即使一个已很好加以测试的集成电路,由于,特别是由于环境因素,例如过高的温度、辐射,所导致的错误,可能出现在其正常运行时间期间一个较后的阶段。在这一情况中,至少,电路必须检测这些错误,并传输一个警告信号。此处必须加以指出的是,在一个VLSI电路的情况下,至少一个错误出现的概率是相当高的,因此人们希望能够有一种至少可以检测一个错误的方法。
从发表在International?Symposium?on?Fault-To1erantComputing地会议录中的名为“Parity?Prediction?In?CombinationalCircuits”的论文(1979年,第一85~188页)中可以了解到这样的一种方法。在这一现有技术中,描述了一种用于在组合电路中进行奇偶预测的方法。该方法考虑到了电路双工(Circuit?duplication)的一种特殊情况,电路双工是用于数字电路中故障检测的另一个人们所熟悉的方法,如在以上所提到的论文的结论部分中所指出的那样,这一方法的主要优点在于输入错误保留。此处应该加以提及的是,在VLSI中,电路双工几乎是不可能的,甚至是采用所述现有技术的特定形式,原因就在于涉及这一工艺的面积开销。
因此,本发明的一个目的是,提供可降低必要面积开销的用于VLSI数字电路中错误检测的一种测试系统和一种方法。
根据本发明,这一目的获得在于,数字系统还包括一个状态奇偶生成器(SPG),SPG拥有一个耦合于输入端子的第六输入端子和一个耦合于第五输入端子的第六输出端子,SPG生成一个与被测??槠媾夹缘刃У牧硪黄媾夹藕?,其中将根据数字输入向量p_InV生成这个另一奇偶信号。
与被测??槠媾夹缘刃У氖且桓鲎楹系缏?,这一组合电路由数字输入向量p_InV加以驱动,并在其输出端生成被测??榈淖缓钠媾夹?。
另外,被测??榭梢允鞘执淼ピ囊徊糠只蛴胧执淼ピ嗟?。与此同时,第二输出向量T可以与q_OutV相同,或它们可以部分地相同或可以完全互不相同。输出向量T可以包括不是输出向量q_OutV一部分但指出了处理单元的状态的信号分量。较佳的做法是令输出向量T的分量是在根据输入向量p_InV生成的输出向量q-OutV的过程期间出现的信号,以至于不会引入不必要的开销。
当提供一个错误检测电路时,根据本发明的器件拥有降低面积开销的优点。它不对电路做双工处理(在VLSI电路的情况中,这样做是不可行的),而且还非常灵活,因为不仅可以将其用于测试处理单元的输出向量,而且还可以将其用于测试并非由处理单元输出的状态变量。另外,通过分割数字处理单元和选择与涉及尽可能低的面积开销的奇偶电路等效的等效物,面积开销可以进一步得以优化。
在本发明的一个实施方案中,SPG包括多个组合数字器件,这些组合数字器件是使用两级逻辑器件加以实现,即是以“乘积项的和”或“和项的积”??加以实现的。这一实现非常适合于在VLSI可编程逻辑器件中实现,并能够通过SPG提供低延迟时间。此处应该加以强调的是,视VLSI可编程逻辑器件(PLD)的体系结构而定,可以把其它组合实现视为Muller扩展、多路复用器以及解复用器等。
在本发明的另一个优选实施方案中,可认为实际奇偶生成器(APG)实现了数字函数T1T2...Tr。使用XOR门电路,以一种叫做奇偶树(PT)的配置实现APG,但依赖于可使用除XOR、多路复用器、解复用器、存储器以外的逻辑门电路加以实现的PLD的体系结构。
本发明的另一个目的是,提供一种用于在包括于数字处理单元中的被测??橹薪写砦蠹觳獾姆椒?,该方法包括
-通过一个在数字处理单元中实现的有目标的数字转换函数(TDTF),根据数字输入向量p_InV,生成数字输出向量q_OutV;
-响应数字输入向量p_InV,提供一个二进制向量T,向量T代表被测??榈淖刺?;
-生成一个代表向量T的奇偶性的输出信号AP;
-响应数字输入向量p_InV,生成另一个奇偶信号CP,这另一个奇偶信号CP代表与被测??榈钠媾夹缘刃У钠媾夹?;
-把信号AP与信号CP进行比较;
-生成一个二进制信号ED,信号ED指示信号CP是否等于信号AP。???在任何数字设计过程中,必须指出一个输入向量和一个通常代表被测??榈缏返南乱桓鲎刺乃M淖刺蛄?。根据被测??榈缏返南乱桓鲎刺?,提供一个奇偶比特。如果在状态向量中存在着偶数个具有值1的比特,则把奇偶比特设置成一个第一逻辑状态,例如逻辑0或低(L)。如果在状态向量中存在着奇数个具有值1的比特,则把奇偶比特设置成一个第二逻辑状态,例如逻辑1或高(H)。
使用输入向量和状态向量的奇偶比特,并使用但不局限于使用一个标准计算机辅助设计程序,设计一个实现这一奇偶函数的组合电路。
此处应该加以指出的是,绝大多数数字电路不实现完整而具体的函数,即一般情况下,并不使用一个N维输入向量的所有2n个输入组合。在这一情况中,使用未采用的组合产生一个警告信号或产生一个向某一预确定状态的过渡。
在本发明的一个优选实施方案中,可认为SPG实现了一个拥有作为输入的所有可能的p_InV向量和作为输出的一个信号(CP)的数字转换函数,其中,信号(CP)表征了所希望的T向量的奇偶性和输入向量p_InV的未使用的状态的特征。设计一个警告电路,如果检测到一个未使用的组合,用于生成一个警告信号W。当奇偶错误检测产生错误时,系统以同样的方式进一步处置警告信号W。
通过以下参照附图对本发明示范性实施方案的描述,本发明以上的和其它的特性及优点将会变得十分明显,在这些附图中:
图1描述了根据本发明的一个实施方案加以测试的一个数字系统1的结构图;
图2代表了本发明的另一个实施方案中的一个状态奇偶生成器(SPG);
图3代表了本发明的另一个实施方案中的一个奇偶树生成器和一个比较器。
图1描述了根据本发明加以测试的一个数字系统1的结构图??扇衔窒低?用于在时钟(CK)信号所确定的一个时刻处理一个数字输入向量(p_InV),数字输入向量(p_InV)包括p个比特(I1,I2,...,Ip),用于提供一个包括q个比特(O1,O2,...,Oq)的数字输出向量(q_OutV)。数字系统1还包括一个用于接收p_InV的第一输入端子101,以及一个用于传输q_OutV的第一输出端子102。数字系统1还拥有一个数字处理单元100,数字处理单元100包括一个被测???10、一个实际奇偶生成器200、一个比较器400以及一个状态奇偶生成器(SPG)300。端子之间的耦合能够以多种方式加以实现,例如通过电感、电容、光耦合或一个无线连接,以有线或无线连接的方式加以实现。
把数字处理单元100耦合于第一输入端子101,用于处理p_InV,以实现一个有目标的数字转换函数(TDTF),并用于把通过TDTF获得的输出向量q_OutV提供于第一输出端子102。数字处理单元100还包括一个拥有耦合于第一输入端子101的第二输入端子105的被测???10,以及一个用于提供一个拥有r个比特(T1,Y2,...Tr)的数字向量T的第二输出端子103。此处应该加以指出的是,在具体的实现中,被测???10和数字处理单元100可以互相相同。此外,来自向量T的某些比特(即使不是它们的全部)和q_OutV的某些比特,可以是相同的,即输出向量T可以部分地或全部地与输出向量q_OutV相一致。
实际奇偶生成器200包括一个耦合于第二输入端子103的第三输入端子,用于在一个第三输出端子201上生成一个代表向量T的奇偶性的输出信号AP。
SPG?300包括一个耦合于输入端子101的第六输入端子106和一个耦合于第五输入端子的第六输出端子301,可认为用于生成另一个奇偶信号CP。
比较器400包括一个耦合于第三输出端子201的第四输入端子。把它的第五输入端子耦合于第六输出端子。这一比较器在一个第七输出端子401处提供了一个输出信号ED,输出信号ED指示提供在第三输出端子处的输入信号AP是否等于另一个奇偶信号CP。
SPG?300与被测???10的奇偶性是等效的,意味着它实现了一个二进制或数字函数,该函数把q_INV作为输入,并生成T向量的所希望的奇偶性。
对一个数字函数进行合成时,通?;崾褂靡桓霰?,例如使用表1。在表1中,状态代表一个由输入向量p_InV确定的输出状态,以及????p_InV????状态????奇偶性????I1,I2,...,Ip????T1,T2,...,Tr????CP
表1
奇偶性代表向量T的奇偶性。向量的奇偶性是一个数字函数,当在逻辑高(H)状态向量T包括奇数个比特时,这一个数字函数拥有一个第一二进制值,当在逻辑H状态向量T包括偶数个比特时,这一个数字函数拥有双二进制值。
设计过程包括合成数字函数T1=T1(p_InV),T2=T2(p_InV),...,Tr=Tr(p_InV)以及CP=CP(p_InV)的步骤?;箍山徊焦鄄斓剑菏褂帽?,状态的奇偶性仅与数字输入向量相关,而且在结构上,状态奇偶生成器300非常简单地为一个组合电路。总之,与双工被测???10的电路相比,这样的组合电路明显简单。
当以可编程逻辑器件实现电路时,由于状态奇偶生成器300的实现,面积开销是相当低的。
此处应该加以指出的是,绝大多数数字电路未实现完整而具体的函数,即并未使用p维输入向量p_InV的全部2P个输入组合。在这一情况中,使用未用的组合生成一个警告信号或生成一个向一个预确定状态的过渡。
在本发明的一个优选实施方案中,包括了一个警告电路,当检测到输入向量p_InV的一个未使用的组合时,用于生成一个警告信号W。系统以与通过奇偶错误检测产生的错误一样的方式处置警告信号W,警告电路被包括在SPG?300中。
让我们考察表2中所描述的数字函数。在表2中,输入向量p_InV包括4个比特[A,B,C,D],表征向量T的状态比特包括11个比特[A′,B′,C′,D′,a,b,c,d,e,f,g]。向量q_OutV也包括比特[a,b,c,d,e,f,g]。把比特A′,B′,C′,D′包括在向量T中,但不包括在数字输出向量q_OutV中。标有‘x’的比特代表不介意的比特,即它们可以是逻辑高,也可以是逻辑低?;箍梢怨鄄斓?,表2中所描述的电路实现了一个不完整定义的逻辑函数。因此,当未使用的输入代码出现在输入端时,必须生成一个警告信号W。在这一情况中,数字系统CP=ParPred+W,其中“+”意味着逻辑OR功能。P_InV?????????????????状态????????????????????????奇偶性??????????????警告信号?ABCD?A’B’C’D’abcdefgParPred?W?0000?00010010010?1?0?0001?00101011101?0?0?0010?00111011011?1?0?0011?01000111010?1?0?0100?01011101011?1?0?0101?01101101111?0?0?0110?01111110010?1?0?0111?10001111111?0?0?1000?10011111010?1?0?1001?00001110111?0?0?1010?xxxxxxxxxxx?0?1?1011?xxxxxxxxxxx?0?1?1100?xxxxxxxxxxx?0?1?1101?xxxxxxxxxxx?0?1?1110?xxxxxxxxxxx?0?1?1111?xxxxxxxxxxx?0?1
表2
所得到的数字函数如下:
????A′=BCD+ DA
????B′= BCD+ CB+ DB
????C′= A? CD+ DC
????D′= D
????a= DC+B+ CD+A
????b=CD+B+A
????c=C+ B
????d= DA+ BC+ AD+ CB
????e=BD+ CD
????f=A+ D+C+B
????g= BDC+ CB+BD+ CD
????ParPred= A? BC+ BCD+ AD
????W=AC+AB
此处必须指出的是,表2中所描述的函数a...g的实现,没有ParPred和W,如果它们是使用逻辑门电路加以实现的,那么包括28个门电路,而状态奇偶生成器300的实现用于生成信号CP,仅包括8个门电路。显然,与现有技术中人们所熟悉的涉及双工电路的任何其它方法相比,本申请中所描述的用于在数字电路中检测错误的方法明显地减少了电路开销??梢怨鄄斓?,在表2中所描述的数字系统1中,被测???10和数字处理单元100互相一致,但拥有不同的向量。输出向量q_OutV=[a,b,c,d,e,f,g]包括在向量T=[A′,B′,C′,D′,a,b,c,d,e,f,g]中。
还可以观察到:如果实现了一组完整定义的函数,那么一个警告信号W是多余的。在这一情况中,SPG?300仅包括对ParPred函数和CP=ParPred的实现。
此外,信号W可以用于各种方式,例如,当封锁比较器400的第四输入端时,比较器400的第四输入耦合于实际奇偶生成器200的第三输出端子201。较佳的做法是封锁拥有这样的效果:在一个分层的决策树中,在一个很好定义的优先级上,信号ED等于信号W,以当一个未使用的输入向量时,进行决策。
此处还应该加以提及的是,视所使用的VLSI可编程器件而定,使用逻辑门电路或使用中规模电路,例如多路复用器、解复用器、存储器或它们的组合,表2中所描述的函数可以最佳地得以实现。
图2描述了本发明的另一个实施方案中的一个SPG?300。这一SPG300相应于图2中所描述的优选实施方案。该SPG?300包括生成信号ParPred的一个第一组逻辑门电路[302,303,304,308]和生成信号W的一个第二组逻辑门电路[305,306,309]。OR门电路310生成在错误检测过程中进一步使用的信号CP。
还可以观察到:能够在作为系统1的同样的芯片上,或者在一个独立的芯片上实现SPG?300??梢杂梢桓黾扑慊绦蚩刂频亩懒⒌牟馐韵低成尚藕臗P。
图3描述了实际奇偶生成器200和一个比较器400的一个实施方案,所得到的??楸暧?00。???00包括一组XOR门电路和在一个名为奇偶树电路的人们所熟悉的配置中所连接的一个缓冲器511。奇偶树实现了逻辑函数
ED=A′B′C′D′abcdefCP????(1)
当其拥有逻辑值1时,在其输出端子401处生成指示在被测??橹兴鱿值拇砦蟮男藕臙D。此处把缓冲器511用于平衡从输入端到输出端的任何输入信号的延迟。
最好,在与被测??榈缏废嗤男酒鲜迪挚?00,并实现关系(1)??梢匀鲜兜剑和?中的实现不是唯一可行的一种实现,最重要的方面在于,输出信号ED是由布尔函数ED=TCP加以生成的。
需要加以注意的是,本发明的?;し段Р⒉痪窒抻诖舜λ枋龅氖凳┓桨?。本发明的?;し段в扇ɡ笾械牟握帐旨右韵拗?。单词“包括”并不排除权利要求中所提到的其它部分。在一个元素之前的词组“一个”并不排除多个这样的元素的出现。形成本发明的部分的装置既能够以专用的硬件的形式,也能够以编程的通用处理器的形式加以实现。本发明在于每一新的特性或这些特性的组合。