[ieee 2012 7th international forum on strategic technology (ifost) - tomsk, russia...
TRANSCRIPT
The Properties of the Essential Subtrees of a Graph Representation of the (m, n) – codewords
Natalia B. Butorina1, Julia B. Burkatovskaya1, 2 1Applied Mathematics & Cybernetics Department, Tomsk State University, Tomsk, Russia
2Institute of Cybernetics, Tomsk Polytechnic University, Tomsk, Russia [email protected], [email protected]
Abstract—This The problem of synthesis of a self-testing
checker for an arbitrary number l of (m, n) – codewords is considered. In particular, the problem of representation of number l by the sum of cardinal numbers of subsets of the codewords corresponding to essential subtrees of the tree representing all (m, n) – codewords is investigated. The properties of the essential subtrees are described.
Keywords- Self-checking circuit, (m, n) – code, self-testing checker
I. INTRODUCTION The increasing complexity of digital systems and critical
application in which they are used demand their high reliability. Temporary faults (both transient and intermittent) and single event upset faults (SEU faults) become more and more probable. It is often necessary an error should be detected as soon as it is produced by the failure before it propagates through the system. This is achieved by using concurrent error detection (CED) techniques which allow us to detect both permanent and temporary faults during normal operation [1].
CED techniques are based on implementing digital circuits as self-checking. These free fault circuits as a rule produce error detecting codes (valid codewords). A circuit fault changes valid codewords for invalid ones. The latter are just detected with a checker.
Self-testing (m, n) – code checker design commonly is based on counting of the weight of input code words. For this aim either threshold circuits or parallel counters based circuits are applied. Conventional approach conceptually excludes a checker design oriented to subset of code words. But in practice just subsets of code words of (m, n) – code are reachable at the outputs of self-checking circuits [2, 3].
In common case on outputs of the self-checking circuit not all code words are always reached. The number l of reached code words can be less the numbers of all code words (the number of combinations of n things m at a time). It implies that some faults of the checker can be undetectable.
A duplication of checkers and comparison of their reactions help us to avoid this lack. It is supposed that each time fault appears in one of the checker copies or in the self-checking circuit. An occurrence of identical faults in the checker copies is improbable. A disadvantage of the duplication is a hardware overhead (more than 100 %).
For a compact description of all (m, n) – codewords where nm ≤≤1 , a special formula A(X) was proposed in [7]. Denote
the disjunction of conjunctions representing all the (q, p) – codewords, p < n, q ≤ p, XX r ⊆ , X = {x1,…, xn}, as
)( rqp XD . Further we consider a case n = 2m.
Divide the set X into two subsets X1, X
2, where
X1 = {x1,…, xg}, X
2 = {xg + 1,…, xn}.
Theorem 1.
∑=
−m
i
ims
ig
mm XDXD=(X)D
0
212 )()( (1)
This theorem was proved in [4]. We call k – basis of the decomposition, im
sig DD −, –
decomposition functions. The initial set of the variables X of the cardinality n is divided into two subsets X1 and X2:
⎡ ⎤2/1 ngX == , |X2| = s = n – g. If g > k and s > k, then
formula (1) is used again for every decomposition function miDD im
sig ,0,, =− , etc. As a result we have the formula A
specifying all the (m, n) – codewords. Note that the number of all the (m, n) – codewords is equal
to mnC , that is the number of combinations of n things m at a
time. This method is oriented to the Xilinx XC 3000, 4000
FPGA technology. We suppose that the checker is constructed of one- and two-outputs configurable logic blocks (CLB) in frame of FPGA technology. One-output block realizes a function from 5 to 8 variables, two-output block realizes a functions of 4 and less variables. The class of admissible faults is represented by all possible multiple faults on poles of different CLBs.
II. A REPRESENTATION OF THE SET OF THE CARDINALITY L AS THE SUM OF SUBSETS OF THE
CODEWORDS
The structure of the formula A can be represented by a tree called the decomposition tree. The root of the tree is marked by the symbol ∨ and adjacent vertices are marked by the symbol ∧. The decomposition functions correspond to the leaves of the tree. Formulas in the form (1) derived from
978-1-4673-1773-3/12/$31.00 ©2013 IEEE
decomposition functions for the basis k correspond to the root of the tree and its non-end vertexes.
For example we obtain formula (1) for 36D , in this case the
set X is divided into the subsets
X11={x1, x2}, X12={x3}, X21={x4, x5}, X22={x6}
The decomposition for 36D is represented in the following
form
)()()()(
)()()()(20
313
321
312
3
223
113
233
103
36
XDXDXDXD
XDXDXDXDD
∨∨
∨∨=
)()()( 1201
1102
103 XDXDXD =
)()()()()( 1201
1112
1211
1102
113 XDXDXDXDXD ∨=
)()()()()( 1201
1122
1211
1112
123 XDXDXDXDXD ∨=
)()()( 1211
1122
133 XDXDXD =
)()()( 2201
2102
203 XDXDXD =
)()()()()( 2201
2112
2211
2102
213 XDXDXDXDXD ∨=
)()()()()( 2201
2122
2211
2112
223 XDXDXDXDXD ∨=
)()()( 2211
2122
233 XDXDXD =
Hence
=∨
∨∨∧
∧∨∨
∨∨∧
∧∨∨
∨=
)()()()(
))()()()((
))()()()((
))()()()((
))()()()((
)()()()(
2201
2102
1211
1122
2201
2112
2211
2102
1201
1122
1211
1112
2201
2122
2211
2112
1201
1112
1211
1102
2211
2122
1201
1102
36
XDXDXDXD
XDXDXDXD
XDXDXDXD
XDXDXDXD
XDXDXDXD
XDXDXDXDD
)()()()(
)()()()(
)()()()(
)()()()(
)()()()(
)()()()(
)()()()(
)()()()(
)()()()(
)()()()(
2201
2102
1211
1122
2201
2112
1201
1122
2201
2112
1211
1112
2211
2102
1201
1122
2211
2102
1211
1112
2201
2122
1201
1112
2201
2122
1211
1102
2211
2112
1201
1112
2211
2112
1211
1102
2211
2122
1201
1102
XDXDXDXD
XDXDXDXD
XDXDXDXD
XDXDXDXD
XDXDXDXD
XDXDXDXD
XDXDXDXD
XDXDXDXD
XDXDXDXD
XDXDXDXD
∨
∨∨
∨∨
∨∨
∨∨
∨∨
∨∨
∨∨
∨∨
∨=
The decomposition tree for this example has the form
)( 1102 XD
)( 1201 XD
)( 1112 XD )( 111
2 XD)( 1102 XD
)( 1201 XD )( 120
1 XD )( 2201 XD )( 220
1 XD)( 2201 XD)( 221
1 XD )( 2211 XD
)( 1122 XD)( 212
2 XD )( 2122 XD)( 211
2 XD )( 2112 XD)( 210
2 XD )( 2102 XD
)( 1211 XD )( 121
1 XD )( 2111 XD)( 221
1 XD
)( 1122 XD
∨
∨ ∨ ∨ ∨∨∨∨ ∨
∧ ∧
∧∧∧∧∧
∧∧
∧∧∧ ∧∧∧∧
Fig. 1. The tree of formula (1) for 36D .
We define the notion of an essential subtree of the
decomposition tree of formula (1).
An essential subtree can de derived by moving from the root of the tree marked by ∨ to the leaves marked by )( iq
k XD i
i
using the following rules (further we identify vertexes with their marks).
1. If we are in a vertex marked by ∨, we include to the essential subtree one of the adjoined vertex marked by ∧ and the arc connecting these vertexes.
2. If we are in a vertex V marked by ∧, we include to the essential subtree all the adjoined vertex marked by ∨ or
)( iqk XD i
i, and all the arc connecting these vertexes with the
vertex V. If all vertexes of the deriving subtree are marked by
the symbols )( iqk XD i
i, then the essential subtree is
constructed; else we prolong the derivation.
We say that a codeword is generated by a essential
subtree, if it transforms the disjunction of conjunctions
associated with this essential subtree into unity.
kkгдеXDXDXD iνq
kνq
kqk
ν
v
ν
v≤−−
−),()()( 11 1
1
1
1… (2)
The set of all the codewords can be represented as a sum of
subsets, such as every subset is generated by the
corresponding essential subtree.
An example of an essential subtree is shown in Fig. 2. The
essential subtree is marked by the bold line.
)( 1102 XD
)( 1201 XD
)( 1112 XD )( 111
2 XD)( 1102 XD
)( 1201 XD )( 120
1 XD )( 2201 XD )( 220
1 XD)( 2201 XD)( 221
1 XD )( 2211 XD
)( 1122 XD)( 212
2 XD )( 2122 XD)( 211
2 XD )( 2112 XD)( 210
2 XD )( 2102 XD
)( 1211 XD )( 121
1 XD )( 2111 XD)( 221
1 XD
)( 1122 XD
∨
∨ ∨ ∨ ∨∨∨∨ ∨
∧ ∧
∧∧∧∧∧
∧∧
∧∧∧ ∧∧∧∧
)( 103 XD )( 23
3 XD )( 113 XD )( 22
3 XD )( 123 XD )( 21
3 XD )( 133 XD )( 20
3 XD
Fig. 2. An essential subtree of the decomposition tree of formula (1) for 3
6D .
We call the sequence q1, …, qv of the indexes in
decomposition (2) as subtree characteristic, qj – component of
the characteristic, { }vj ,,1…∈ . Take into account that q1 +
…+ qv = m, qj is equal to the number of the 1-value
components of the (m, n) – codeword in the subset of the
variables Xj.
We call the number of boolean vectors, if it transforms a
Boolean function associated with a leaf into unity, a boolean
function associated with a leaf, the weight of the leaf. The
number of the codewords, generating by an essential subtree,
is the weight of the subtree.
In our example there are 10 essential subtrees. The weights
of their leaves ordered by increasing the index j of the subset
Xj are summarized in Table 1.
TABLE I. TABLE THE WEIGHTS ESSENTIAL SUBTREES
Number of a
subtree Characteristic
Weights of
leaves
Weight of a
subtree
1 0, 0, 2, 1 1, 1, 1, 1 1
2 0, 1, 1, 1 1, 1, 2, 1 2
3 1, 0, 1, 1 2, 1, 2, 1 4
4 0, 1, 2, 0 1, 1, 1, 1 1
5 1, 0, 2, 0 2, 1, 1, 1 2
6 1, 1, 0, 1 2, 1, 1, 1 2
7 2, 0, 0, 1 1, 1, 1, 1 1
8 1, 1, 1, 0 2, 1, 2, 1 4
9 2, 0, 1, 0 1, 1, 2, 1 2
10 2, 1, 0, 0 1, 1, 1, 1 1
]10[)()()()(
]9[)()()()(
]8[)()()()(
]7[)()()()(
]6[)()()()(
]5[)()()()(
]4[)()()()(
]3[)()()()(
]2[)()()()(
]1[)()()()(
2201
2102
1211
1122
2201
2112
1201
1122
2201
2112
1211
1112
2211
2102
1201
1122
2211
2102
1211
1112
2201
2122
1201
1112
2201
2122
1211
1102
2211
2112
1201
1112
2211
2112
1211
1102
2211
2122
1201
1102
36
XDXDXDXD
XDXDXDXD
XDXDXDXD
XDXDXDXD
XDXDXDXD
XDXDXDXD
XDXDXDXD
XDXDXDXD
XDXDXDXD
XDXDXDXDD
∨
∨∨
∨∨
∨∨
∨∨
∨∨
∨∨
∨∨
∨∨
∨=
Here in the squared brackets the number of the essential
subtree associated with tne conjunction is represented.
III. THE PROPERTIES OF THE ESSENTIAL SUBTREES Consider some properties of the essential subtrees.
Property 1. Different subtrees have different
characteristics.
Property 2. The characteristics of any two different
subtrees differ by at least two components.
Property 3. Every codewords is generated by the only
essential subtree, but an essential subtree in general generates
a set of code words.
Property 4. Different )(),( iqk
iqk XDXD j
i
i
i, where qi≠ qj,
belong to different essential subtrees.
Property 5. The weight of the essential subtree is equal to
the product of the weights of all its leaves.
Property 6. If k = 2 then the weight of an essential subtree is equal to a power of two (note that 1 = 20).
Property 7. Let in )( iqk XD i
i, where p is the least integer
such as qi ≤ 2p, then the minimum weight of an essential
subtree is equal to 1, the maximum weight of an essential
subtree is equal to 2p.
Property 8. Let in )( iqk XD i
i qi = 2p, then in the
decomposition tree of formula (1) there are no essential
subtrees with the weights equaled to an odd power of two.
Return to formula (2). We carry out the decomposition for
the basis k = 2. In this case formula (2) can be written in the
following form
b
hpap
a
aqq )(XD)(XD)(XD)(XD ba1
112
12
11 +
(3)
We introduce the following notation: a is the number of iqD2 , b is the number of jpD1 .
Property 9. If in pmn mXD 2)( =⋅ then in expression (3)
there are no )(11
jq XD , but if in pmn mXD 2)( ≠⋅ , )(1
1jq XD are
certain to be. Property 10. Let )(XDm
n be given and n = 2m, and besides 2s-1 ≤ n ≤ 2s. Then b = min{ 2s – n, n – 2s-1}.
Property 11. If n = 2m then b is even. Property 12. If n = 2m then b ≤ m ≤ 2a. An index pj in formula (3) can be equal either 0 or 1. It
cannot affect tne weight of the leaf jpD1 because the weights of these leaves are equal to 1 for any pj. In the same formula an index qi can be equal to 0, 1 or 2, and the weight of the leaf
iqD2 depends on qi: if qi is equal to 0 or 2 then the weight of
the leaf iqD2 is equal 1, but if qi = 1, then the weight of the
leaf iqD2 is equal to 2. We introduce the following notation: a0 – the number of qi equaled to 0, a1 – the number of qi
equaled to 1, a2 – the number of qi equaled to 2, b0 – the number of pj equaled to 0, b1 – the number of pj
equaled to 1. Property 13. Theorem 2. The number V of all the
essential subtrees in the formula A is equal to
⎣ ⎦2/)(),,0max(
,
1211
0
2
1
2
12
21
2
21
bmEbamEwhere
CCCVb
b
E
Ea
abmaa
aa
bb
−=−−=
= ∑ ∑= =
−−−
Property 14. Theorem 3. The number W of the essential subtrees generating a single (m, n)-codeword is equal to
⎡ ⎤ ⎣ ⎦2/,2/)(, 2122
12
22 mUbmUwhereCCWU
Ua
amb
aa =−== ∑
=
−
The proof of properties 1–8 is given in [4, 5, 6]. Property 9 is obvious. Here we give the proof of the remaining properties.
Proof of property 10. We prove more general statement. Let n is an integer and 2s-1 ≤ n ≤ 2s where s is an integer. We represent n as a sum of two integer summands
⎣ ⎦ ⎡ ⎤2/2/ nnn += . If these summands exceed 2 then we repeat this procedure until we represent n as a sum of summands equaled 2 or 1. Denote the number of 1 in this decomposition as I(n, s).
Auxiliary 1. I(n, s) = min{ 2s – n, n – 2s-1}. Proof. For n = 2s–1 and n = 2s the statement is evident. For
a general case we use the method of mathematical induction. First consider the case n ≤ 2s-1 + 2s-2. The base case is n = 2s–1 + 1. Carrying out the decomposition we have
( ) ( ) ( )( )( ) .122122
2212212
22
33
33221
+++==+++
++=++=+=
−
−−
−−−−−
s
ss
sssssn
Thus, I(n, s)=1= n – 2s-1= min{ 2s – n, n – 2s-1}. Let the auxiliary is true for n = 2s–1 + 1,…, n = 2s–1 + k,
where k ≤ 2s–2. Consider n = 2s–1 + k + 1, where k + 1 ≤ 2s–2. Carrying out the first step of the decomposition we have
⎣ ⎦( ) ⎡ ⎤( ) .2/)1(22/)1(212 21221 nnkkkn sss +=+++++=++= −−−
Here ⎣ ⎦2/)1(2 21 ++= − kn s , ⎡ ⎤2/)1(2 2
2 ++= − kn s . If k + 1
≤ 2s–2 then ⎡ ⎤ 222/)1( −≤+ sk , hence by the induction hypothesis the auxiliary is true for n1 and n2. Thus,
( ) ( ) ( ) ( )⎣ ⎦ ⎡ ⎤ { }.2,2min212/)1(2/)1(
221,1,),(11
22
2121
−−
−−
−−=−=+=+++=
=−+−=−+−=sss
ss
nnnkkk
nnsnIsnIsnI
Then consider the case n > 2s-1 + 2s-2. The base case is n = 2s – 1. Carrying out the decomposition we have
( ) ( ) ( )( ) ( ).122
2221221212
12
222211
−++===+++−=+−=−=
−
−−−−−−
s
sssssssn
Thus, I(n,s)=1= 2s–n= min{ 2s – n, n – 2s-1}. Let the auxiliary is true for n=2s–1,…, n=2s–k, where k ≤
2s–2. Consider n = 2s–1 – (k+1), where k + 1 ≤ 2s–2. Carrying out the first step of the decomposition we have
( ) ⎣ ⎦( ) ⎡ ⎤( ) .2/)1(22/)1(212 21 nnkkkn sss +=+−++−=+−=
Here ⎣ ⎦2/)1(21 +−= kn s , ⎡ ⎤2/)1(22 +−= kn s . By the induction hypothesis the auxiliary is true for n1 and n2. Thus,
( ) ( ) ( ) ( )⎣ ⎦ ⎡ ⎤ { }.2,2min212/)1(2/)1(
221,1,),(1
21
11
21−
−−
−−=−=+=+++=
=−+−=−+−=sss
ss
nnnkkk
nnsnIsnIsnI
The auxiliary has been proved. Proof of property 11. The sum of the low indexes in
expression (3) for mnD is equal to n. Then 2a + b = n, where n
= 2m, hence, 2a + b = 2m (4). Thus, b = 2m – 2a, hence, b is even. The property has been
proved. Proof of property 12. It is evident that b = min{ 2s – n, n
– 2s-1} ≤ 2s-1 / 2, thus, b ≤ 2s-2. On the other hand, n = 2m ≥ 2s–
1, hence m ≥ 2s–2. These two inequalities imply b ≤ m. Using
this and (4) one has 2a ≥ b. The property has been proved.
Proof of Theorem 2 (property 13). For the upper indexes
in formula (3) we have the following relation
12111
2 baampqb
jj
a
ii ++==+∑∑
== (5)
(there are no a0 and b0 because they are the numbers of qi= pj= 0). Let us fix the value of b1, then 1b
bC – is the number of
all options for placing 1 in the indexes pj. 2aaC is the number of
all options for placing 2 in the indexes qi, 1
2
aaaC − is the number
of all options for placing 1 in the remaining indexes qi, then 1
2
2 aaa
aa CC − – is the number of all options for the fixed a2, a1, a0.
Hence for the fixed a0, a1, a2, b0, b1 the number of options is equal to 1
2
21 aaa
aa
bb CCC − . For the fixed b1 for a0, a1, a2 there are
some options, the total number of options for the fixed b1 is
equal to ∑=
−
2
12
1
2
21
E
Ea
aaa
aa
bb CCC . Considering all the possible
options for b1 and expressing a1 in terms of the other variables of equality (5), one has
∑∑=
−−−
==
2
12
21
2
2
1
1 2
0
E
Ea
abmaa
aa
b
b
bb CCCV
Then we obtain E1 and E2. The value a2 should satisfy the conditions
⎩⎨⎧
−≤−−≤≤≤
.20;0
221
2
aaabmaa
We can obtain the upper bound for a2 from the second condition ⎣ ⎦.2/)( 12 bmE −=
Let us show that this bound satisfy the first condition, i.e. that E2 ≤ a. Using property 12 we have b ≤ m, thus b1 ≥ b – m. Using (4) we obtain 2a = 2m – b. Hence, m – b1 ≤ 2m – b = 2a.
It follows from the second condition that a2 ≥ m – b1 – a. This and the first condition give us the lower bound E1 = max(0, m – b1 – a). The theorem has been proved.
Proof of Theorem 3 (property 14). We consider the number of the essential subtrees
generating a single (m, n) – codeword. Hence, in formula (3) there are no indexes qi, equaled to 1, i.e. a1 = 0. So expression (5) can be rewritten in the form
m = b1 +2a2 (6) Let us fix the value a2, then 2a
aC – is the number of all options for placing 2 in the indexes qi, is the number of all options for placing 1 in the indexes pj. Considering all the possible options for the value a2 we get
∑=
−=2
12
22 .2U
Ua
amb
aa CCW
Then we obtain E1 and E2. The value a2 should satisfy the conditions
⎩⎨⎧
≤−≤≤≤
.20;0
2
2
bamaa
Using the second condition we obtain the upper bound for a2.
⎣ ⎦2/2 mU = Property 11 (m ≤ 2a) imply U2 ≤ a so this bound satisfy the
first condition.
Using the second condition and property 11 (b ≤ m) we get ⎡ ⎤.2/)(1 bmU −=
The theorem has been proved.
IV. CONCLUSION The new approach to representation of a number of (m, n)
– codewords by the sum of weights of the essential subtrees is offered. The properties of the essential subtrees are obtained. The properties of the essential subtrees will allow us to prove that any subset of codewords of the cardinality l (l is any integer) can be represented as a sum of subsets generated by the essential subtrees. A self-testing detector cab be constructed using this representation.
REFERENCES [1] Parag K. Lala. “Self-Checking and Fault-Tolerant Digital Design”
Morgan Kaufmann Pub (June 26, 2000). [2] D.A. Anderson, G. Metze. “Design of totally self-checking check
circuits for m-out-of-n codes”. IEEE Trans. Computers, C-22 (March 1973), pp. 263-269.
[3] M.A. Marouf, A.D. Friedman. “Efficient design of sel-checking
checker for any m-out-of-n code”. IEEE Trans. Computers, C-27 (June 1978), pp. 482-490.
[4] A. Matrosova, K. Nikitin. "Designing Self-testing Checker with
CLBs". ISSN, 1561-7793, Tomsk State University, N6, September 2003, pp. 124-136 (in Russian).
[5] Yu.B. Burkatovskaya, N.B. Butorina, A.Yu. Matrosova. “Self-Testing
Checker Design for arbitrary number of code words of (m, n) code”. International Baltic Electronics Conference (BEC2006), 2006, pp.1-4.
[6] N. Butorina, S. Lihina “Representation of an arbitrary natural number
as a sum of weights of essential subtrees “, VII Siberian seminar with international participation “Security of Computers and Cryptography”, 2009. - P. 66-68(in Russian).