• Nie Znaleziono Wyników

Rozdział 4 omawia problemy związane z wykorzystaniem rejestrów liniowych do kompakcji odpowiedzi testowanych układów cyfrowych zarówno w testerach wewnątrzukła

D, T,0,1 komórki odpowiednio T,0 oraz 1 zawierające dodatkową bramkę XOR umożliwiającą przyłączenie do rejestru c-SISR lub c-MISR

2.2.2. Algebraiczny opis pracy rejestrów c-MISR

W teorii kodowania ciągi mogą być traktowane jako wielomiany z fikcyjną zmienną x oraz współczynnikami należącymi do ciała GF(2) [PetW94, Golom82, RaoF89]. Za pomocą takich wielomianów opisywane są także wielomiany charakterystyczne sprzężeń rejestrów liniowych [PetW94, Golom82, RaoF89]. Przy użyciu pierścienia wielomianów nad ciałem GF(2) [RaoF89, Hławi87c, Hławi8 8a] przedstawiono algebraiczny opis pracy rejestrów IED-LFSR w [PetW94, Golom82], rejetrów IED-SISR oraz EED-SISR w [Smith80] oraz rejestrów IED-MISR w [Hassa82, HassL83]. Na tej podstawie stał się możliwy do określenia algebraiczny opis pracy wszystkich rejestrów c-MISR o dowolnych przedstawionych poprzednio strukturach liniowych sprzężeń zwrotnych c.

Poniższe dzielenie jest algebraicznym opisem pracy rejestrów c-MISR. Zostało ono określone przy użyciu pierścienia wielomianów nad ciałem GF(2) [Hławi84c, Hławi85a, Hławi8 6c, Hławi87c, Hławi8 8a, Hławi89a, Hławi89b, Hławi90a, Hławi92a, Hławi92b, Hławi93b, Hławi96b']:

[wc(x) + x mhc(x )]/p c(x) = qc(x) + rc(x )/p c(x) (2.1) gdzie:

n-1

W c ( x ) = ® ur(x) pCT(x) odzwierciedla ciągi w ejściow e rejestru c-MISR;

r=0 deg wc(x) = m + n - 2; ur(x) jest wielomianem określającym ciąg wejściowy na r-tym wejściu rejestru c-MISR;

deg ur(x) = m -1,

n -1

hc(x) = 'fT ® gr Pcr(x) jest wielomianem zawierającym bity gr stanu początkowego

r=0 rejestru c-MISR; deg hc(x) = n-1,

qc(x) jest wielomianem określającym iloraz dzielenia, który w postaci ciągu binarnego pojawia się na wyjściu ostatniego (n-1) przerzutnika rejestru c-MISR; deg qc(x) = m-1,

n-1

rc(x) = 5 2 ® Sr PcrW jest wielomianem określającym resztę z dzielenia

r=0 i zawierającym bity s sygnatury (stanu końcowego rejestru c-MISR); deg rc(x) = n-1,

66

PcM Jest wielomianem charakterystycznym (dzielnikiem) rejestru c-MISR; deg pc(x) = n.

Wielomian pc(x) dla każdej struktury sprzężenia liniowego c jest taki sam i równy p(x).

Tak więc wielomian pc(x) można w dzieleniu (2.1) zastąpić dzielnikiem p(x) niezależnym od struktury sprzężenia liniowego c. Jednakże ze względu na konieczność wykorzystywania różnych postaci wielomianu pc(x) [Hławi84c, Hławi85a, Hławi8 6c, Hławi87c, Hławi8 8a, Hławi89a, Hławi89b, Hławi90a, Hławi92a, Hlawi92b, Hlawi93b, Hławi96b] do proje­

ktowania rejestrów o odmiennych strukturach sprzężeń liniowych c uporządkowano rozmaite postaci tych wielomianów i zebrano w tabeli 2.1.

Wielomiany pcr(x) ilustrują wpływ wyboru r-tego wejścia rejestru c-MISR na przedsta­

wione dzielenie. Dla wybranego r-tego (j-tego) wejścia wielomiany te różnią się również między sobą w zależności od struktury sprzężenia liniowego c. Ogólne wyrażenia opisujące te wielomiany znajdują się także w tab. 2.1. Przykłady wielomianów pcr(x) związanych z r-tym wejściem rejestrów c-MISR przedstawiono w [Hassa82, HassL83, HassM83, Hławi87c, Hławi8 8a, Hławi90a] dla rejestrów IED-MISR, w [Hławi84c, Hławi8 6c, Maxwe8 8, Hławi90a, Hławi96a] dla rejestrów EED-MISR, w [Hławi89a, Hławi90a, Hławi92b, Hławi96b] dla rejestrów TBD-MISR, w [Hlawi89b, Hławi90a, Hławi92b, Hławi96b] dla rejestrów BTD-MISR, w [Hławi93b, Hławi96b] dla rejestrów MISR typu CA oraz w [Hławi92a] dla rejestrów IEDT-MISR, a także IET-MISR.

68

Sposób uzyskania dzielenia (2.1) zostanie wyjaśniony na przykładzie rejestru IEDT-MISR. Schemat ideowy r-tego stopnia tego rejestru z przerzutnikiem D (kr = 0) lub T (kf = 1) przedstawia rys. 2.6. Algebraiczny opis pracy tego stopnia w okresie jednego taktu zegarowego przy użyciu pierścienia wielomianów nad ciałem GF(2) ilustruje pon i ż a równanie [Hławi87c, Hławi8 8a]:

< W X) = [urW + sr + grx ” + Prqn(x ) + qr(x )]/(k r+ x ) (2.2) w którym gr oznacza stan początkowy w przerzutniku Dr (Tr) przed wprowadzeniem ciągu ur(x), sr oznacza stan końcowy przerzutnika po wprowadzeniu ciągu ur(x), qr+1(x) oznacza wielomian opisujący ciąg powstały na wyjściu przerzutnika po m taktach zegarowych.

Przekształcając (2.2) otrzymujemy następujący układ równań:

{ qr(x) + qr+i(x )(kr + x ) + prqn(x) = M x) + sr + x mgr} r = o , i , . . . , n - i który można zapisać w następującej postaci macierzowej [Hławi96b]:

i*c (x)

q i(x ) ^ ( x ) + s0 + x mgo q2(x) u,(x) + s, + X m g l

q3(x) u^x) + S2 + X m g2

»

q„-i(x) Un - 2 (x ) + Sn -2 + x t ” g n -2 q n (x )

Un-lW + Sn-1 + x m g„-l . gdzie macierz

c(x) = ? IEDT(x) =

( V x )

l (k j+ x)

1 (^2 +X)

(2.3)

1

P i

P 2

(k t + X) Pr

1 f c - 2 + * ) Pn -2

1 (kn -l+X) +Pn-l

q (x )

n

u (x ) JC*

Rys. 2.6. Schemat ideowy r-tego stopnia rejestru IEDT-MISR z przerzutnikiem D (kr=0) lub T (kr= 1) Fig. 2.6. Circuit diagram of r-th stage of IEDT-MISR including flip-flop D (kr = 0) or T (kr = 1)

Wyznacznik macierzy

Pc

(x) jest wielomianem charakterystycznym [HławK93a, Hławi96b]:

pc (x) = det P c (x) (2-4)

który ilustruje sprzężenie liniowe rejestru c-MISR.

Drogą podstawień rekurencyjnych oraz kolejnych przekształceń i przy założeniu c = IEDT orazl*c (x) = P IEDT (x) ze zbioru równań (2.3) otrzymujemy dzielenie (2.1), w którym wielomiany pIEDT (x) oraz pIEDXr (x) przyjmują postaci zilustrowane w wierszu IEDT tabeli 2.1. Taka postać dzielenia jest algebraicznym opisem pracy rejestru MISR z wewnętrznym sprzężeniem liniowym i z przerzutnikami T lub D, który po raz pierwszy przedstawiono w [Hławi92a] i powtórzono w [Hławi96b].

Zakładając, że kr = 0 dla r = 0,1, ... ,n -l, otrzymujemy wyrażenie

1 / £ ® p rx r = qn(x) + | > s rx r / E ® P rxr 5 2 ® Ur (x) x 1 + x m5> h rx r

r=0 r=0

które jest algebraicznym opisem pracy złożonego z przerzutników D rejestru IED-MISR.

Wyrażenie to uzyskano także wcześniej w [Hassa82, HassL83],

W podobny sposób w oparciu o macierzowy układ równań (2.3) można uzyskać alge­

braiczny opis pracy rejestrów EEDT-MISR [Hławi96b], BTDT-MISR [Hławi89b, Hlawi92b] oraz TBDT-MISR [Hławi89a, Hławi92b], przy założeniu że zamiast macierzy P[EDT (x) zostaną użyte zilustrowane poniżej macierze odpowiednio I * E Ed t( x )> ^b t d t

oraz Pxbdt (x) •

(x)

Macierz P EEDT (x) [Hławi96b]

’ P i + ( V * ) p 2 p 3 - Pj-1 Pj Pm - P n - l 1

1 ( k l + x )

1 ( k ^ + X )

1 K * +X)

1 K i +x)

1 ( k , + x )

1 (k n - 2 + X )

1 K - l + X)

Macierz £ BTDT ( x ) [Hławi96b]

( V * ) P i . i - P n - l 1

1 ( k I + x )

P i * i P i - P n - l P l P l

1 ( V x ) P M P 2 - P n - l P 2 P2

1 ( k j.2 + x )

Pi + l P i -2 P n - l P i - 2 P i -2

1 f t - 1 f X ) P i +1 P i -1 - P n - l Pi -1 P i - l 1 Cs- x) P n - l P i Pi

i (k n - 2 + X )

1 f c - l + X ).

Zakładając w wyrażeniu 2.1 opisującym pracę rejestru EEDT-MISR (wiersz EEDT w tabeli 2.1), że kr = 0 dla r = 0,1, ... ,n -l, otrzymujemy wyrażenie

n-1 n-1

E e u j (x ) PeedjW + E ® hi PEEDj (x )

j= 0 j= o

n - 1

/ Pe e d W = < U X ) + E ® s j Pe e d j (x ) / Pe e d W

j-0

które jest algebraicznym opisem pracy, złożonego z przerzutników D rejestru EED-MISR.

Po raz pierwszy uzyskano go w [Hławi84c], a następnie powtórzono w [Hławi85a, Hławi8 6c, Hławi87c, Hław'i8 8a],

Macierz ^tbdt (x) [Hławi96b]

P i + ( k o + x ) p 2 . .. P i_ ! 1

1 (k ,+ x )

1 fo-i+ x )

1 (k j-i+ x)

1 (kj +x) P;

1 (kn-2+X) Pn-2 1 (k. - t + * ) + Pn-t

Ze względu na brak istotnych walorów poznawczych nie zajmowano się algebraicznym opisem pracy rejstru BTDT-MISR. Określono natomiast następujący wielomian charakte­

rystyczny tego rejestru [Hławi96b]:

\

n-1

P b t d t W = det £ BTDT (x) = n ( kj + x ) + pB(x) pT(x)

j - o

gdzie:

b i r —1 n-1 n -1

.. p bw = P o + E ® p r I l ( kj + x ) ; p T w = p n + E ® P r I K kj + x )

r - l j=0 r - i * l j=t

Wielomian pBTDT (x) zawiera iloczyn dwóch wielomianów pB(x) oraz pT(x). Pierwszy z nich związany jest z lewą częścią B (ang. Bottom) sprzężenia liniowego rejestru BTDT-MISR, natomiast drugi związany jest z prawą częścią T (ang. Top) sprzężenia linio­

wego tego rejestru.

Przyjmując w układzie równań (2.3), że kj = 0 dla każdego j = 0 ,l ,...,n - l w [Hławi89b, Hławi92c], otrzymano następujące dzielenie:

[w b t d(x ) + / P b t d(x ) = ł i W + r B T D (x ) / Pb t d(x )

które ilustruje pracę równoległego rejestru liniowego BTD-MISR złożonego wyłącznie z przerzutników D. Przy założeniu kj = 0 dla każdego j = 0,1 ,. ...n -l prawdziwa jest także następująca równość pBTDT (x) = pBTD (x). Podobną do pBTD (x) postać wielomianu charakterystycznego związanego z rejestrem BTD-LFSR uzyskano po raz pierwszy w [WangM8 6b, WangM8 6c, WangM8 8].

Algebraicznym opisem pracy, złożonego tylko z przerzutników D, rejestru liniowego TBD-MISR zajmowano się w [Hławi89a, Hławi92c]. Punktem wyjściowym dla tej pracy był przedstawiony poprzednio zestaw równań (2.3). Ich wynikiem końcowym jest poniższe dzielenie

[w t b d(x ) + x m h T B D (x ) ] / P T B D ( x ) = <łn (x ) + t t b d(x ) / P t b dW

Podobnie jak w przypadku rejestru TBDT-MISR nie zajmowano się algebraicznym opisem pracy rejstru BTDT-MISR. Określono natomiast wielomian charakterystyczny tego rejestru. Ilustruje go wyrażenie:

Ptbdt (x) = det ?tbdt (x) = 1 + p j (x) Pg (x) gdzie:

i-1 i-1 n r-1

p t(x) = E ® p r I l ( kj + x ) ; p ś(x) = P i + E ® pr I T ( kj + x )

r=0 j=r r=i+l j=i

Wielomian pTBDT (x) zawiera iloczyn dwóch wielomianów pT’(x) oraz pB’(x), które związane są odpowiednio z lewą T i prawą B częścią sprzężenia liniowego rejestru TBDT-MISR. Dla kj = 0 oraz dla każdego j = 0 ,l ,...,n - l pTBDT (x) = pTBD (x).

W [WangM8 6b, WangM8 6c, WangM8 8] uzyskano postać wielomianu charakterystycznego podobną do pBTD (x). Opisywała ona strukturę sprzężenia rejestru BTD-LFSR.

Dla równoległego rejestru CADT zilustrowanego na rys. 2.5. można również przedsta­

wić macierzowy zestaw równań [HławK93a, Hławi96b] podobny do 2.3, w którym

(ko + x )

1 (ki + x) 1

1 (kj_,+x) 1

(x) = ^CADT (x) = „ , ,

1 (kj+ x) 1

1 K 2 +X) 1 1 K l +X)

Drogą podstawień rekurencyjnych i przy założeniu q0(x) = 0, qn+i(x) = 0 oraz qn+2(x) = 0 otrzymano w [Hławi90d, HławK93a] następujące dzielenie:

[ WCADT (X) + x ” ^CADT (X) ] Z PcADT (X) = ‘łcADT (X) + rCADT (X) / PcADT (X)

Dzielenie to jest algebraicznym opisem pracy równoległego rejestru liniowego CADT zbudowanego z komórek 1 oraz 0 i jest dowodem, że rejestr ten jest izomorficzny [Barde90, SerrS90] z poprzednio opisanymi rejestrami liniowymi. W odróżnieniu od wyrażeń określających wielomiany charakterystyczne rejestrów IEDT-MISR, EEDT-MISR, BTDT-MISR oraz TBDT-MISR wyrażenie pCADT (x) opisane jest w sposób rekurencyjny (tabela 2.1), co w znaczący sposób utrudnia zarówno wszelką ogólną analizę algebraiczną, jak również określenie prostej funkcji ilustrującej związek pomiędzy ciągiem wartości Kn = k0k1k2k3 ... kj ... kn_j, opisującym schemat ideowy rejestru MISR typu CA, a wynikającym z nich wielomianem charakterystycznym tego rejestru. Dla niektórych wie­

lomianów w ogóle nie można znaleźć związanego z nim ciągu komórek Kn [Hławi90d, Barde90, SerrS90, Hławi93b, HławK93a, Hławi96b]. Przykładem jest wielomian p(x) = 1 + x + x2 + x3 4- x4 + xę + x7. Ponadto wielomian charakterystyczny Pcadt (x) może dla niektórych ciągów Kn przyjąć postać ułomną xr w(x) [Hławk93a], która nie znalazła zastosowań w testowaniu. Ciąg komórek 01110101 jest przykładem takiego rejestru liniowego CADT. Związany z nim ułomny wielomian charakterystyczny ma postać Pcadt (x) = x6 (x2 + x 4- 1). Charakterystyczne wielomiany ułomne mogą być także związane z niektórymi rejestrami liniowymi o strukturze IET lub EET [Hławi92a].

One również nie znalazły zastosowań w testowaniu. Wielomiany charakterystyczne Piedt (x)> Peedt (x)> Pbtdt (x)> Ptbdt W* Pied (x)> Peed M> Pb t dM ’ Ptbd W n'e występują w postaci ułomnej.

W oparciu o wyrażenie 2.1 można opisywać pracę różnych rejestrów liniowych.

Przykładem niech będzie algebraiczny opis pracy rejestru CADT-MISR złożonego z komórek 0101100. Opis tego rejestru ilustruje poniższe wyrażenie [Hławi93b, Hławi96b]:

[ u0 ( x ) + U j ( x ) x + U2 ( x ) ( l + X + X 2 ) + . . . + u 6 ( x ) ( l + X 5 + X 6 ) ] /

/ ( l + X + X 2 ) ( 1 + X 2 + X 5 )

W wyrażeniu tym, przy założeniu że tylko ciąg u2(x) jest różny od zera, jest widoczny wyraźny wpływ wielomianu PcADTa2 (x) = (1 + x + x2 ) na podzielność wielomianu

73

charakterystycznego PcADTa (x) = (1 + x + x2)(1 + x2 + x5 ), co ma kolosalny wpływ na skuteczność testowania. Takiej właściwości nie posiadają w ogóle rejestry c-SISR, w których bez względu na rodzaj struktury sprzężenia liniowego wejście 0 związane jest zawsze z wielomianem pc0 (x) = 1. Algebraiczne opisy pracy innych przykładów rejestrów c-MISR można znaleźć w [Hławi84c, Hławi8 6c] dla rejestru EED-MISR, w [Hławi89a, Hławi89b, Hławi92b, Hławi93b, Hławi96b] dla rejestrów BTD-MISR oraz TBD-MISR lub w [Hławi92a] dla rejestrów IET-MISR.

2.2.3. Algebraiczny opis pracy rejestrów c-SISR, c-TISR, c-LFSR oraz MIShR Wyrażenia opisujące pracę rejestrów liniowych c-SISR oraz c-LFSR można uzyskać wprost z wyrażenia 2.1.

Przyjmując dla 2 .1 , że Uo(x) = u(x) ^ 0 i ur(x) = 0 dla r = l,2 ,...,n - l otrzymamy wc(x) = u(x). W efekcie uzyskujemy nowe następujące wyrażenie, które ilustruje pracę rejestrów c-SISR:

[u(x) + x mhc ( x ) ] / p c (x) = qc (x) + rc ( x ) / p c (x) (2.5)

Zakładając, że uk(x) ^ 0, ur(x) ^ 0 oraz Uj(x) = 0 dla każdego j ^ i G {k,r} otrzy­

mamy wc(x) = uk(x) pck(x) + ur(x) pcr(x). Tak więc z 2.1 otrzymujemy dzielenie

[U k(X) P c k ( X) + Ur(X ) P CTW + X m h c(x ) ] / P c ( x ) = O e W + r c ( x ) / P c ( X) ( 2 ' 6 )

ilustrujące pracę rejestrów c-TISR. Dla rejestrów EED-TISR taki algebraiczny model pracy przedstawiono po raz pierwszy w pracach [Hławi84c, Hławi8 6c].

Przyjmując w wyrażeniu 2.5 u(x) = 0 otrzymujemy równanie

x mhc( x ) / p c(x) = qc(x) + rc( x ) / p c(x) (2.7)

ilustrujące pracę rejestru c-LFSR, w którym ustawiono wstępnie stan zawierający bity gr . Podstawiając w wyrażeniu 2.1 wielomian pc(x) = xn oraz przyjmując, że pcr(x) = xr otrzymujemy wyrażenie opisujące pracę wielowejściowego rejestru MIShR. Wyrażenie to, przy założeniu że u0(x) = u(x) ^ 0 i ur(x) = 0 dla r = 1,2, . . . , n-1, przyjmuje postać opisującą zwykły n-komórkowy rejestr przesuwający SR (Shift Register).

74