• Nie Znaleziono Wyników

Projektowanie krótkich rejestrów liczących

N/A
N/A
Protected

Academic year: 2022

Share "Projektowanie krótkich rejestrów liczących"

Copied!
48
0
0

Pełen tekst

(1)

Z E S Z Y T Y N A U K O W E

P O L I T E C H N I K I Ś L Ą S K I E J

? VV, i / f :

AUTO M ATYK A

Z . 3 9

G L I W I C E

1 9 7 7

8 E l

(2)

» « P O L IT E C H N IK A ś l ą s k a

ÏSZYTY N A UK O W E N r 526

FERDYNAND W A G N E R

PROJEKTOWANIE

KRÓTKICH R E JESTR Ó W LICZĄCYCH

PL ISSN 0434-0760

G L I W I C E

1977

(3)

P r o f. dr inż. J e rz y S iw iń sk i D oc. dr hab. inż. Z y g m u n t S z w a ja D oc. dr hab. inż. W ie s ła w T raczyk

REDAKTOR N A C ZE LN Y W YD A W N IC TW U CZELNIANYCH PO LITE C H N IK I ŚLĄSKIEJ

Jan B a n d ro w s k i

REDAKTOR DZIAŁU

A n n a S k r z y w a n -K o s e k

SEKRETARZ REDAKCJI

Jan Z n a m iro w sk i

Wydano za zgodą Rektora Politechniki Śląskiej

Dział Wyda\Vnictw Politechniki Śląskiej Gliwice, ul. Kujawska 2

t f a k ł - 150-f 65 A r s w y d . 3,07 A r k . d ru k . 3 P a p ie r o f f s e t o w y k l. I I I . 7 0 x 1 0 0 ,7 0 g O d d a n o d o d ru k u 27 6.1977 P o d p is , d o d ru k u 17. 9. 1977 D ru k u k o ń c z , w e w r z e ś n iu 1977

Skład, fotokopie, druk i oprawę

wykonano w Zakładzie Graficznym Politechniki Śląskiej w Gliwicach

Zam. 948 77 C e n a z ł 8,

(4)

1. P O ST A WI EN IE P R O B LE MU ...

5

2. OPIS D Z I A Ł A N I A R E J E S TR U L I C Z Ą C E G O ...

7

3. L I C Z B A s - S T A N O W Y C H S E K W E N C 3 I B I N A R N Y C H ... u 3.1. G rupa g en er uj ą ca i g e n e r a t o r se kw e nc ji binarnej ... u 3.2. Licz b a grup g e n er uj ąc y ch ... . ...

>2

3.3. A l g o r y t m po s zu k i w a n i a g e n e r a t o r ó w se k we nc ji ...

13

3.4. O c e n a al go ry t mu i w y n i k ó w ... lg 4. CIĄGI K O DOWE ... 2Q 4.1. O b l i c z a n i e cięg ów kodowych, re alizujących daną sekwencję binarnę metodą d o pi s yw an ia ... 20

4.2. O b l i c z a n i e c ięgów kodowych, r ealizujących dana sekwencle binarnę metodę "bazy" ... ... ... ^

20

4.3. O b l i c z a n i e c i ęg ów k odowych gene ro wa n yc h przez rejestr o dłu­ gości n ... * ...

22

4.4. Cięgi kodowe ...

25

5. P R OJ EK T O W A N I E K R Ó T K I C H R E J E S T R Ó W LI CZ Ą C Y C H ... 29

5.1. P r o j e k t o w a n i e rejestru liczącego. S a n o k o r e k c j a ... 29

5.2. R e j e s t r y liczęce jako l iczniki ...

32

5.3. G e n e r o w a n i e p rz eb i e g ó w czasowych. G e n e r a t o r y s łó w ...

34

5.4* Uwagi do t yc zą ce k o ns tr uk c ji licznika p ie r śc i e n i o w e g o ... 38

5.5. G e n e r a t o r y s e k w e nc j i ps eu d o p r z y p a d k o w y c h ...

40

6

. P O D S U M O W A N I E ... a o

Str.

L IT ER AT U RA

44

(5)

R e j e s t r l i cz ąc y to rejestr p r z e s u w a j ą c y z o b wo d em s p r ę że ni a z wr otnego p r z e d s t a w i o n y na rys. 1.1. S y gn ał w y j ś c i o w y obwo du s p r z ę ż e n i a zwrotnego, b ęd ąc y funkcję w yj ść Q n_ji • Q

n_2

••• -q rejestru, stan ow i w e j ś c i e reje-

Rys. 1.1. Schemat b l o k o w y r ejestru li c zącego

stru. W e j ś c i e rejestru może być w e j ś c i e m in fo rm ac y jn ym (programującym) O - K lub D, w z al e żn oś ci od typu p r z e r z u t n i k ó w z as to s o w a n y c h w r e je s t­

rze p rz esuwającym.

R e j es t r l i cz ąc y nazywa się również l ej estrem p r z e s u w a j ą c y m ze s p r z ę ż e ­ niem zwrotnym.

P r o b l e m s e k w e n c j i g e n e r ow an yc h przez r ejestry liczące jest zn a ny i dys­

k u t o wa ny w li t er a t u r z e technicznej od wi el u lat. C hyba na j bardziej w y czer­

p ująco p r z e d s t a w i o n o to z ag ad n i e n i e w

[V],

która to m on og ra f ia - mimo że upły n ęł o 10 lat od jej w y d a n i a - ciągle zac h ow uj e ch ar ak te r pod st a wo we go p od rę c zn ik a z tego zakresu.

C h a r a k t e r y s t y c z n y m tem a te m dla re je strów l i c z ą c y c h , r o z w i ą z y w a n y m w sze­

regu publikacji, jest d obór s pr zę ż e n i a zwrotnego, które pozwala na ot r zy ­ manie r ejestru g en er u j ą c e g o ciąg o o kr eś lo n yc h w ł aś ci wo ś ci ac h.

T y p e m na j częściej r oz pa t r y w a n y m w tym temacie rejestru liczącego jest tzw. rejestr liniowy, co w i ą ż e się z p s e u d o p r z y p a d k o w y m chara kt er e m g e n e ­ rowanej przez niego s e k w e nc ji zer i jedynek na w y j ś c i u [l , 3 , 7 , 11

12]. P s e u d o p r z y p a d k o w y cha ra k te r mają nie tylko se kw en cj e z e r i jedynek na d o w o ln ym w y j ś c i u r ejestru liniowego, ale również sek we nc j e s ta nó w rozu­

mian y ch jako l i c zb y dwó j ko we u t w o r zo ne z s y g n ał ów w yj śc i ow yc h r ej es t r u . R e ­ j es tr y liczące jako ź r ó d ł o s e k w e nc ji liczb p se ud o p r z y p a d k o w y c h są również często a na li z o w a n e w literaturze, np. w (^3 , 4 . 5 , 8 , 10 , llj.

(6)

Innym typowym tematem d y sk utowanym przy r o z p at ry w an iu rejestrów l ic zą ­ cych jest ich za s to sowanie do realizacji kodów w y kr yw a j ą c y c h i kory g uj ą­

cych b łędy binarne, Jakie mogą w ystępować pr zy prz e ka zy wa n iu informacji cyfrowych.

^ R o z p a t r u j ą c możliwość wyk or z ys ta ni a r e jestrów liczących do realizacji zadań w y ko ny wa n yc h przez liczniki (liczenie impulsów, generowanie żądanych se k we nc ji sygnałów) mówi się zwykle o konstrukcji licznika pier ś ci en io w e­

go, czy licznika ps eu d o p i e r ś c i e n i o w e g o (Johnsona), z w r a ca ją c uwagę na pro­

blem s a m ok o re kc ji układu. P o n ad to w i a d o m o [V], że za pomocą rejestru prze­

suwającego, drogą doboru o dp o wi e d n i e g o obwodu sprzężenia zwrotnego, można otrzymać rejestr liczący o dowolnej liczbie stanów, nie przekraczającej w ar to ś c i 2 n , wy nikającej z długości rejestru (n).

Celem niniejszej pracy jest g ru ntowne w yj aś n i e n i e pr ob lemów w y s t ę p u j ą ­ cych pr zy tworzeniu rejestrów liczących o dowolnej pojem no śc i (nie w i ę k ­ szej od 2 n ), b udowanych za pomocą n-bitowych rejestrów. O b j ę ł o to odpo­

w ie dz i na następujące pytania:

- ile istnieje s - st a no wy ch s e kwencji binarnych g e ne rowanych przez n-bito- w y rejestr;

- jak generować te sekwencje;

- jak zr e alizować rejestr, g e n e r u j ą c y za dany przebieg sygnału w czasie;

~ jak uwzględnić w pr ocesie projekt ow a ni a samokorekcję se kwencji g e ne r o­

wanej przez rejestr.

P r z e d s t a w i o n y w p racy s posób podejścia pozwala od po w iedzieć na powyż­

sze pytania. Pona dt o u zyskano kilka interes uj ąc y ch w y n i k ó w dotyczących działania i budo w y rejestrów liczących.

O g r a ni cz en i a stosowa n ia pr z ed stawionych w pracy metod z wiązane są z w y dł uż e ni em się czasu potrz eb n eg o do obliczeń przy rosnącej długości reje­

s tr ów i liczbie stanów sekwencji. Stąd ogr a ni cz en i e tematu do krótkich re­

jestrów zawarte w tytule. Ocena d ługości re j estrów i sekwencji, które ty- ni meto da mi można analizować, jest zawarta w pracy.

(7)

Wp r ow a d z a się [^14] t a b l i c ę s t a n ó w re jestru liczącego, która opisu je jego działanie. T a bl ic a ta wy g l ąd a następująco:

s-1

a n-l a n-2

n+1 n n-ł

as-l a s-2

s-n+2

s-n+3

s-n+4

s-n+1

- s w ie r s z y (2.1)

n kolumn

W t ab l i cy tej s ym bo le a^^ oz naczaj? st a ny wy j ś ć p r ze r z u t n i k ó w reje­

stru, a więc

a i = O lub a^^ = 1.

K o l u m n y ta b lic y pr z ed s t aw i aj ą cięgi O i 1 na wy j ś c i a c h re jes tr u. P i er ­ wsza kolumna z lewej od p ow ia da w y jś c i u Q n ^ , druga - w yj ś ci u 0^ ^ o s t a t ­ nia (pierwsza z prawej) - wy j śc i u 0Q . T ab li ca zawier a więc n ko lum n. gd z i e n jest liczbę wyjść (p rze rzutników) rejestru.

W i er s z e tablic y ok reś la ję s t a n y x k re jestru liczęcego; liczba ich w y n o s i s. S t a n r e j e s t r u określa się w a rt o śc i ą dziesi ęt ną liczby dwójkowej utworzonej z w y r a z ó w k-tego wi e rs z a tablicy, tj.:

~ (a, a, .... a )„

k k k-1 0 2

(8)

Ciąg st an ów re jestru li cz ącego nazywa się również c i ę g i e m k o ­ d o w y m rejestru liczącego.

Ta bl ica s ta n ów rejestru lic zącego jest t a b l i c ę p r a w i ­ d ł o w e , gdy

f dla i f - j, (2,2)

a o d p o w i ad a j ąc y jej cięg jest c i ę g i e m r z e c z y w i s t y m (można go zre al i zo w ać za pomocę rejestru p r z e s u w a j ą c e g o ).

T a bl ic a s tan ów rejestru li czącego jest ważna dla

s > n (2,3)

Dla rejestru, w którym s = n, tablica ta wy gl ąd a n a s t ę p u j ą c o :_

Do p is a ni e kolejnej kolu mn y oz na cz a ł ob y po wt órz eni e pierwszej, Z tech­

nicz ne go punktu wi d zen ia o z n a c za ł o by to w y d ł uż e n ie rejestru o jeden prze- rzutnik, które go stan nie mi a łb y już w pły wu na kod liczenia. Przerz utn ik ten p o wi e la ł b y pr zebieg w y jś c i o w y prze rzu tn ik a w e jś c io w e go rej estru.Cięgi kodowe, dla który ch s < n , nazywane będę c i ę g a m i p o z o r n y ­ m i .

Równi eż dla s > n tablica może defini ow ać cięg pozorny. Sprawd ze nie czy dany cięg jest cięgiem pozor ny m polega na z mn ie jsz eni u tablicy o jed­

ną skraj nę kolumnę; jeżeli tablica poz ostała tablicę prawidłowę, oznacza to, że cięg był pozorny.

Cięg zd e f i n i o w a n y tablicę prawidłowę, której nie można już zmniejszyć, nazywa się c i ę g i e m z a s a d n i c z y m .

Cięgi pozorn e w y kl uc za się z rozważań, gdyż ich realizacja techniczna jest ni ec iek aw a i polega na wy dłu ż e ni u rejestru real iz uj ęce go od po wi ad a­

jący im cięg z a s a d ni c zy bez z mi any st r uk t u ry obwodu sprzęże nia zwrotnego, Z w ię ze k p o mi ę dz y s ta na mi rejestru a stanami wy jś ć rejestru można w oparciu o tablicę (2.1) ujęć w następujęcej formie układu równań:

(9)

_ n - 1

0

n - 2 ^ „ n - 3

2

a j -

2

a g a - !

2n_1a2 + 2n_2a i + 2n" 3ag

_n + l 0n-2 „n-3 2 a 3 + 2 a 2 + 2 aj

„n-1 _n-2 0 n-3

2 a n + 2 a n-l ł 2 a n-2

2n- 1. „ , + 2n_2a n + 1 n ♦ 2n -3a n-1,

2°a _ = x,

s-n+2 1

2^a s-n+3 , - x2

2 ° a = x

s-n+4 3

+ 2° a l = *n

+ 2 a_ = x .

2 n+1

„n-1 r.n-2 „n-3 -O

2 as + 2 a s-l + 2 ■ a s-2 + ••• + 2 as-n+l = *s

T e n układ równań - po dok on a ni u zmian w ko le jno śc i zmie nn yc h zapisa ć w posta ci macier zow ej :

B . A = X,

gdzie B jest ma c ie rz? kwadrat ów ? o s to pn iu s

B =

2 n-l

0 0 • • • 2 n-2

2 " - 2 2 n-l

0 • • • 2n-3 2 n-3 2 n-2 2 n-i

... 2n-4

*

. . .

2 1 22 ... 0

0 2 1 0

. .

0 0 0 ... 2 n - l

( 2 . 5 '

można

(

2

.

6

)

(2.7;

natomiast A oraz X to m ac i e rz e kol umnowe

(10)

~ a l " X 1

a2 X2

a 3 X 3

(2.8) X =

a X

n n

a n+l

x

n+1

as Xs

E l e m e n t y a.^ m ac i er z y A pr zyjmuję w ar to ść 0 lub 1.

W równ ani u ma cie r z ow y m (2.6)

- maci er z B jest związ an a ze s ch e mat em rejestru przesuwającego; jej w y ­ mi ar y są ok r e ślo ne dług oś cią s ciągu kodowego, a ele me nt y - liczbą n s to pni (wyjść) rejestru,

- we k t or A okre śla ciąg z er o j e d y n k o w y na wy j ś ci u 0^ j rejestru, - we k t or X p rz e d st a wi a . ci ą g ko do wy rejestru liczącego.

W p r o w a d z o n o wię c dwie formy opisu dzi ał an ia rejestru liczącego.Pierwszą formą jest tablica s tan ów rejestru lic zącego (2.1), drugą - równanie ma­

cierzowe (2.6). Oba sp os ob y będą w dalszym ciągu wykorzystywane.

(11)

3.1. Grupa g en eru ją ca i gen er a to r s e kw en cji blnarne/i

S e kw en cja b i nar na sk ła da się

2

O i 1. Liczba w yr a z ó w tego ciągu w y ­ nosi s. P rz y j m u j e się, że se k we n c ja po wst aj ąc a z s ek w enc ji oryginalnej przez zmianę O na 1 i 1 na O jest równowa żn a oryginałowi.

Se kw e n cj a bi na rna pr ze ds t a wi a liczbę dwójkową. Ze wz gl ę d u na cyklicz- ność sek wen cj i istn ie je wi e l e liczb dw ój kow yc h okr eś l aj ą cy c h daną se k w e n ­ cję. Grupę liczb ok re śl a j ąc y c h s-s ta now ą se kw encję b i n a r n ą ,obe jmu ją cą 2 s lub w s z c z e gó l ny m pr z yp ad ku s liczb, nazywać bę d z i e m y g r u p ę g e ­ n e r u j ą c ą se k w en c ji binarnej.

Liczb ę o najmni ej sze j wa r t o ś c i w grupie gen erującej o zn a cz amy przez G i na z y wa m y g e n e r a t o r e m s e k w e n c j i . Ge n e ra t or s e k ­ we nc j i jest liczbą, która m no żo no przez 2 modulo (2S - 1) przecho dzi w sie­

bie po s o pe r a cj a ch mnożenia.

Zn aj ą c ge ner at or se k we nc ji okr eś l en i e pozosta ły ch liczb, wch od z ąc y ch w skł ad gr u p y generującej, polega na cy kl icz ny m prz es uw a n iu bitów liczby.

Przyjmujemy, że pr zes u w an i e nas tę pu j e w lewo. U w zg l ęd n i aj ą c cykliczność p rz esu wa ni a oznacza to, że grupa ge ne ruj ąc a ob e jm uje liczby równe

(2nG) mod (2s -l), (3.1)

gdzie n = 0 , 1 , ...s-1

oraz uw z gl ę dn i a ją c se k we n cj e ró wn owa żn e liczby

2S -1- (2nG) mod (2S-1), (3.2)

gdzie n = 0,1 ... s-1

O eż eli w sz y st k i e liczby o tr z yma ne wg za leż no śc i (3.1) i (3.2) są róż­

ne, ot rz ym u je się grupę generującą, liczącą 2s liczb .W s zc z eg ó l ny m przy­

padku moż e się zdarzyć, że

(2nG) mod (2S -1) = 2 s- l - ( 2 mG) mod (2S-1), (3.3)

tzn. że s e kw en cja równowa żn a pokry wa się z oryginałem. W t e d y grupa g e n e ­ rująca ob ej muj e je d yn ie s liczb.

(12)

U w a g a :

N a jm ł o ds z y bit generatora G se kwe nc ji równa się 1. Gdyby naj mł ods zy bit generatora był równy O, to istnia łab y w grupie generującej liczba od niego mniejsza. O t r z y my w ał o by się ją przez prze su nię ci e generatora o je­

dną pozycję w prawo.

W n i o s e k :

Warto ść dziesię tna generatora se kw encji jest liczbą nieparzystą.

3.2. Liczba grup generujących

S pr óbo wa no oszacować liczbę różnych s- st an owy ch sek wen cj i binarnych.

Wy ko r z ys t an o w tym celu w p ro w ad z o ne w poprzed ni m punkc ie pojęcie grup ge­

nerujących.

Istnieje 2S s-bito wyc h liczb dwójkowych. 2 punktu widze nia dyskutowa­

nych se kw enc ji binarnych wi e le z nich Jest sobie równoważnych. CJedna s ek ­ wencja od powiada całej grupie liczb, które zo s tał y nazwane grupę g en eru ­ jącą.

Pewne liczby z całego zbioru 2S liczb nie wchod zą w skład żadnej gru­

py generującej. Są to:

a) li czby 0 i 2 s-ł,

b' tzw. liczby symetryczne, które określają sekw en cje binarne, będące zło­

że nie m se kwencji o mniejszej warto śc i s, np. sek wen cj a 010101 stanowi zł ożenie trzech se kwencji 01.

Po nieważ ilość liczb syme tr ycz ny ch w yd aje się być trudna do ujęcia za ­ leżnością matematyczną, można zapro po no wać nas tę p uj ą cy w z ó r ,szacujący licz­

k grup generujących o s stanach:

k sf int 2-=§- . (3.4)

We wzorze tym zmnie jsz on o ogólną ilość liczb 2S o dwa (liczby 0 i 2 S~ 1 ) oraz przyjęto, że gru py g e n e rujęce obejmują 2a liczb. Dokładność te­

go osz acowania za leży więc od tego, ile liczb nie w c hod zi w skład grup ge­

nerujących oraz ile istnieje grup generujących, które obejmują tylko s liczb.

Tablic a 3.1 pr zedstawia liczby grup gen erujących dla s < 20 oblicz o­

nych wg powyżs zeg o wzoru oraz rzeczywistą liczbę grup ge n er uj ąc ych .R ze czy ­ wi st ą liczbę grup ge ne rujących obliczono wg al gorytmu pos zukiwania gene­

ratorów sek we ncj i omówio ne go w punkcie 3.3.

(13)

T ablica 3.1 L i czb a grup gener uj ący ch

k k k

s rzeczy wi ste oszacowane

2 1 0

3 1 1

4 2 1

5 3 3

6 5 5

7 9 9

8 16 15

9 28 28

10 51 51

11 93 93

12 170 170

13 315 315

14 585 585

15 1091 1092

16 2048 2047

17 3855 3855

18 7280 7281

19 13797 13797

20 26214 262 14

3,3. Al g o r y t m po s zuk iwa ni a gen era to r ó w sek wencji

Konc ep cja al gor yt mu pos zu k iw a ni a ge ner a to r ó w sek wen cj i polega na spraw­

dzaniu, czy w wyniku cyklic zne go prze sun ię ci a postaci dwójkowej li cz by nie o t rzy ma się liczby mniejszej. Oeżeli spraw dz ani e rozpoczyna się od liczby 1, to otrz ym a się ws zy st ki e generatory. W trakcie sp raw dz ani a przesuwa się n a jp i er w liczbę a później jej u z up eł ni eni e do 1, co wynik a z przyjęcia za­

łożenia o ró wn owa żn ośc i tych dwóch postaci liczby.

□ eż eli ozn ac zyć przez:

s - długoś ć ciągu,

B - akt ua l ni e spr aw dz a n ą liczbę

i wp ro w a dz i ć niżej ok r eś l o ny para me tr b i eż ą cy A, to można opisać I etap algorytmu, ob e j mu j ą c y prz es uw a n ie li czby w na s tę p uj ą c y sposób:

a) w pr o w ad z ić liczbę s t a n ó w s sekwencji, b) przyjąć pierwszą liczbę B = 1,

(14)

c) pomn oż yć B p r z e z 2, co od powiada przes un ięc iu postaci dwójkowej B w lewo o jeden bit,

d) po równać w a rto ść w y ni k u A = 2 B z war to śc i? 2®, co odpowiada s pr a w dz e ­ niu, czy nie powin no nastąpić cykliczne pr ze pis ani e 1 z najst ars zeg o bitu posta ci dwójkowej li czby B na bit najmłodszy. Je żeli A < 2 S , na ­ leż y przejść do kroku e. Jeżeli A > 2 8 , n al eży zmienić warto ść A na:

A - 2 S +1 i przejść do kroku e, e) porównać A z B.

J eż eli A < B , zakończyć proces sprawdzania, wnioskując, że liczba B nie stanowi generat or a se kw encji i przejść do kroku f (równość el i mi ­ nuje liczby symetryczne). Jeżeli A > 3 , ko ntynuować oblicze ni a .wraca­

jąc do kroku c,

f) powiększ yć B o 2 i w róc ić do kroku o.

Liczba pętli prog ram ow yc h (przejście z e do c), odpo wia da ją ca liczbie przesu ni ęć cy kl ic zny ch postaci dwójkowej liczby B, powinna być równa licz­

bie s t an ó w s. Po pie rw sz ym etapie sp ra wd z e ni a nas tępuje obl icz en i e uzupeł­

nienie do 1 liczb y B i pono wne sp raw d z en i e wg alg orytmu a na l ogi czn eg o do wyżej opisanego. Jeżeli również w IX etapie s pr awd za ni a program wykona s pętli, to po osta tn im w yn ik u A < 2 S vi kroku d nas tępuje w ydr uk liczby B jako g ene ra to ra sekwencji.

Rys. 3.1. Schemat bl ok owy progr am u oblicza ni a g en er at oró w sekwencji

(15)

Rys. 3.1 prz ed s ta w i a schemat b lo k o w y pr ogramu rea li z uj ą ce g o wyżej przed­

st awiony algorytm. Poza oz nac z e ni a mi użyty mi w tekście na rys. 3.1 w p r o ­ wadzono nas tępujące symbole: i - któ ry określa liczbę pętli programowych, FUG - kt ó ry jest w ar u nk i e m p o z w a l a ją c ym odróżnić oba eta py obliczeń ,lmax - będąc y ma ks ym a l ny m generatorem, ok reś lo ny m poniżej.

Nie ma po t r ze b y sp r aw d za n i a w sz y s tk i ch 2S -1 liczb. Po p i e r w s z e ,z g o d ­ nie z wn i o s k i e m z pu nktu 3.1, spraw dz a się tylko l ic zby nieparzyste. <=0 drugie, z przyjętej ró w no wa żn ośc i liczb i ich uz upe łn ie ń do 1, wynika, że ws z ys t ki e g en e ra t o r y są z a war te w pierwszej połowie całego zbioru liczb 2S- 1 . tj. wy s ta r cz a s p ra w dz e n ie liczb mn ie js zyc h od 2

Można w dalsz ym ciągu zm ni ej s z yć zakres s pr aw dz any ch liczb drogą na st ę­

puj ąc ego oszacowania. Je śl i przyjąć, że n aj wię ks za spr awd za n a liczba za­

czyna się ko mb ina cj ą 01 ..., to b y łab y nią liczba 010101 ... 0 1 , która jest liczbą sym et ryczną. W o b e c tego ta najwię ksz a liczba musi pos iad ać na po~

czątku kombinację 001 ... . M o ż n a jeszc ze spr óbować ocenić wa rt ość n a­

st ęp ne g o bitu. G d y b y tym bitem było 1, to początek li czb y mu s i a ł b y w y g l ą ­ dać nas tę pująco: 00 1 10 ... . Kolejny, s zó s t y bit nie może być 1, gdyż u- kład 001101 ... można drogą in wersji i przesun ięć s pr owa dz ić do 001 0 ....

co daje liczbę mniejszą. S z ó s t y bit nie może być również O, gdyż układ 0 0 11 0 0 pr o wad zi w dalszy m ciągu do na stę p u ją c y ch liczb:

001100

....

1

0011001

....

0 0 11 C0 11 .... 0 0 11 0 01 0 ....

ta kom bi nac ja jest ni e ­ możliwa. gdyż przez p r z e ­ s u ni ęci e prz ech od z i w

i 0010

....

0 0 1 1 0 0 1 1 0 .... itd.

K o n t y n u uj ą c to roz um ow a ni e ot r zy mu je się dla parzystej ilości bitów liczbę sym et ry c z ną 0 0 1 1 0 0 1 1 0 0 ... 110011, a dla niepa rzy ste j liczbę 00 1 10 0 11 0 0 ... 11001, która drogą p r zes un ię cia prz ec hod zi w 00 10 . . . . W y ­ nika z tego, że kom bi na c j a 001 1 ... na pocz ąt ku jest niemożliwa, a więc musi to być ko mbi na cj a 0 0 10 . . . . Dla dużyc h s st o su nek m a ks y ma l n eg o ge-

(16)

Tabl i ca 3.2 G e n e r a t o r y sek we ncj i mni ej s ze od 100

cd. w tablicy 3.3

(17)

G e n e r a t o r y se k we n cj i w ię k s z e od 100

T a b l i c a 3.3

8 G e n e r a to r y

10 101 103 105 107 109 147 149 155 171 173 179

11 101 103 105 107 109 111 113 115 117 119 137

139 141 147 149 151 153 155 157 3 63 165 167

169 171 173 179 181 183 185 199 201 203 205

211 213 215 217 219 293 299 301 307 309 331

333 339 341

12 101 103 105 107 109 111 113 115 117 119 121

123 133 135 137 139 141 143 145 147 149 151

153 155 157 163 165 167 169 171 173 175 177

179 181 183 185 187 189 197 199 201 203 205

207 209 211 213 215 217 219 221 227 229 231

233 235 237 239 275 277 279 281 283 285 291

293 295 297 299 301 307 309 311 313 315 327

329 331 333 339 341 343 345 347 349 355 357

359 361 363 365 371 397 403 405 407 409 411

421 423 425 427 429 435 437 439 441 587 589

595 597 603 613 619 661 683 685 691 693 717

(18)

Ma ks yma ln e ge ne ra t o ry sek wencji s- stanowych

Ta bli ca 3.4

Maksvmalriv gen er at or Ima* lmax

s 2*

d zi esi ęt ni e dw ojkowo

1 1 1

tn

O

2 1 0 1 0,25

3 1 0 0 1 0,125

4 3 0 0 1 1 0,188

5 5 0 0 1 0 1 0,156

6 11 0 0 1 0 1 1 0,172

7 21 0 0 1 0 1 0 1 0. 16 4

8 45 0 0 1 0 1 1 0 1 0,176

9 85 0 0 1 0 1 0 1 0 1 0,166

10 179 0 0 1 0 1 1 0 0 1 1 0,1 75

N

11 341 0 0 1 0 1 0 1 0 1 0 1 0, 16 7

12 717 0 0 1 0 1 1 0 0 1 1 0 1 0, 17 5

13 1365 0 0 1 0 1 0 1 0 1 1 0 1 0 3. 0, 1666

14 2867 0 0 1 0 1 1 0 0 1 1 0 0 1 1 0,175

15 5461 0 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0,1666

16 11475 0 0 1 0 1 1 0 0 1 1 0 1 0 0 1 1 0,1 75

(19)

neratora do maksym al nej wa r to ś c i s- bi towej li cz by dwójkowej jest og r a n i ­ czony z góry na st ęp u j ąc ą w ar toś ci ą:

Dz ię ki temu os z ac o wa n i u wa r to ś c i maksymalnej ge ne ra t o ra s ek w e nc j i m o ż ­ na zm ni e j sz y ć zakre s roz pa t ry w a ny c h liczb do 18 , 7 5 % w s z y s t k i c h liczb s- bitowych.

P r z y tych z ał o że n i ac h p r z e p ro w ad z o no obl ic z en i a ge n e ra t or ó w sek wen cj i dla s < 1 2 , które zo s t a ł y z eb r a ne w tab licach 3.2 i 3.3.

Dla po tw ie r d ze n ia jakoś ci do k o na n eg o wyżej o s za c ow a n ia ob li c z on o rów­

nież m a ks y ma l n e g e n e r a t o r y se w k en c ji dla s==16, co z o sta ło ujęte w ta­

bli cy 3.4. O b l i c z o n y w tej t a bli cy sto su nek l m ax / 2s -l p o t w i e r d z a ,że przy­

jęte w celu s kr ó cen ia czasu obliczeń o sz a c ow a ni e maksyma ln ej wa r t o ś c i jest wys ta rcz aj ąc e.

3.4. Oce na alg or yt mu i wy n i k ó w

P r z e p r o w a d z o n e w roz dziale rozważan ia poz walaj? na o bl i cz e n i e li czby se k we nc ji binarnych, które można utworzyć z s st a n ó w ora z ws z ys t k i c h ge­

ne r at o ró w ok r eś l a ją c yc h te sekwencje.

Moż na w ys u n ąć pr zyp us zc zen ie , że w z ó r 3.1, s z ac u j ą c y ilość s ek w enc ji binarnych, jest p r a w d zi w y dla do w o ln e go s.

Z a p r e z e nt o w an y a lg or yt m pos zu ki w a ni a g en e r at o ró w s e kw e nc j i zo st ał w y ­ k o rz y s ta n y do uł ożenia p r og r a mó w na k alk ul at or HP 9 8 2 0 »wynikiem ob liczeń są tablic e 3.1, 3.2 i 3.3. P r o g r a m y na HP 9820 można e k sp l o at o wa ć dla s «s 16; prz y prz ejś ci u na komp ute r O D R A 1325 - dla s < 23. Og r a n i c z e n i e m dla HP 9 8 20 jest zbyt długi czas obliczeń, a dla O D R Y 1325 - pr zek ro cz e n ie za kr esu dla obliczeń ze stałym przecinkiem.

lim 2 B ~ J + 2 2 S - 1

- = lim

S-»-co

(20)

4 -l- O b li c za n i e c i ągó w kodowych, realizujących daną sekwencję binarna metodą do pisywania

Do o bli cz an ia ci ęgów kodowych odpowia da ją cyc h określonej se kwencji bi­

narnej

Cs-

bitowej' można wy ko rz yst ać tablicę 2.1, ok reślającą działania rejestru liczącego.

W tym celu tworzy się tablicę prawidłową w sposóu następujący:

1. Zapi sać s - bitową liczbę dwójkową (sekwencję binarną).

2, Dopisać do niej liczbę powstałą przez cykliczne p r zes uni ęc ie o jedną pozycję li cz by wg 1, ot rz ym ują c w kroku pierwszym

Po każdym dop isaniu sprawdzić ciąg kodowy, Jeżeli jest za sa dni cz y (ta­

blica jest prawidłowa), proces dopisy wa ni a zost aj e zakończony. O t r z y m a n y ciąg ko dowy jest ciągiem zasadniczym, a więc o dp ow ia daj ąc y mu rejestr b ę ­ dzie miał na jmniejszą długość potrzebną do zrea li zow ani a rozważanej s e k ­ wencji binarnej.

4.2. Ob li cz a ni e c ią gów kodowych, re alizujących dana sekwencję binarna metoda "bazy"

W p r o w a d z i m y pojęci e bazy jako tablicy st an ów rejestru określonej g e n e ­ ratorem sekwencji, w której n = s. Jest to wi ę c tablica, w której licz­

ba kolumn jest równa liczbie wi e r s z y i ze w z glę du na sposób powstawania tej tabl icy o d po w i ad a ją c e sobie w ie rs ze i k ol um ny są sobie równe.

(21)

Twierd ze nie 4.1

Baza jest tablicę prawidłową.

D o w ó d :

Prawdzi wo ść twier dze ni a wy nika z def inicji generat or a Jako li cz b y ,k t ó­

ra prz ec ho dzi w siebie dopie ro po s operacjach mnoż eni a przez 2 modulo (2s-l). Oz n ac z a to więc, że ko l um ny (wiersze) tablic y są różne i ok r eś l a ­ ją połowę (w s z c z e gó l ny m prz ypadku całą) gr up y generującej.

Baza określa ciąg rze cz y wi s t y ale ni eko n i ec z ni e zasadniczy. P o s z u k i w a ­ nie ciągu z as a dn i c ze g o polega na zm ni ej s z an i u liczby kolum n bazy do momentu, gdy tablica prz es taj e być prawidłowa. Ta bl ic a o najmniejszej licz ­ bie kolumn, która jest jeszcze prawidłowa, określa cięg zasadniczy.

Na tej po dst a wi e można sf or muł ow ać n as t ę pu j ąc y a l go ry tm oblicza ni a cią­

gu zasadnic ze go, r e al iz uj ące go daną sekwencję binarną:

1. U tw or zy ć bazę, która jest ciągiem s liczb, po wst aj ąc y m przez (s-l)- krotne mno żen ie ge ne rat or a se kwe nc ji przez 2 modulo ,2 -3)*

2. Dz ie li ć li czby baz y przez 2 (bez reszty) tak długo, aż nastą pią p ow tó­

rzenia w ciągu. Ostat ni ciąg, w którym nie było p o w t ó r z e ń ,jest cięgiem zas adniczym, st a no w i ąc y m min im aln ą realizację zad an e go ciągu binarnego.

3. P r z y przy ję ty m s po so bi e zde fi ni o w an i a bazy otr zy man e tą drogą ro zwią­

zanie stan owi uzu pe łn i e ni e do 1 ciągu o tr zy ma neg o prz y użyciu metod y dop is yw a ni a od czy t y wa n e go w odwrotnej kolejności.

O b i e m et ody zostaną zi lus t r ow a n e pon iż szy m przykładem.

Prz yk ła d 4.1

Obl ic zy ć Ciąg k od owy gen er ow a n y przez sekwencję binarną 110100 oraz długość rejestru liczącego, gen er u ją c e go tę sewkencję.

a) roz wiązanie metodą "dopisywania"

Do pi s u ją c do kolum ny utworzonej z zadanej sek wen cj i binarnej kolumnę pr ze s u ni ę tą cykliczn ie o jeden bit, otr zymuje się:

1 0 2 1 1 3 0 1 1 1 0 2 0 1 1

0 0 O

Po ni ewa ż o t rz y m a n y ciąg k od owy zawiera pow tórzenia (liczby 2 oraz 1), otr zy man a tablica s t anó w nie jest tablicą regularną i proces dopisyw an ia na le ży kontynuować.

(22)

W kroku drugi m ot r zy mu je się 1 0 0 1 1 0 0 1 1 1 0 1 0 1 0 0 0 1

4 6 3 5 2 1

O t rz y m a n a tablica s ta n ów jest tablicę regularną, gdyż ciąg ko do wy nie zawier a powtórzeń. Ro z wi ą za n i em zadania jest wię c cięg kodowy: 4-6-3-5-2-1, g e n e ro w an y przez 3- b it o wy rejestr przesuwający.

b) roz wi ą za n ie metodą "bazy"

T w o r z y się "bazę", która jest zb io re m 6 liczb p o ws ta ją cyc h przez kolej­

ne m no ż e ni e liczb y ( s e k w e n c j i ) binarnej przez ? modulo 2 -1 =63 . O t r z y m u ­ je się bazę: 52, 41, 19, 38, 13, 26.

N a st ęp nie dzieli się liczby bazy przez 2 bez reszty. Proces dzielenia kon ty nu u je się do momen tu w y st ą pi e n ia powtórzeń.

K o lej ne dz i e len ia dają nas tę p uj ą c e zbiory:

P o ni ew aż nast ępn e dzi ele ni e daje powtórzenia, ostatni zbiór o d c z y t y w a ­ ny od tyłu (3,1,4,2,5,6) st an ow i rozwiąz an ie w postaci uz up ełnienia do 1.

P r z e p i su j ą c ten ciąg w post aci prostej, uzyskuje się ost at ecz ne ro z wi ą z a­

nie: 4-6 -3-5-2-1.

4.3. O b l i c z a n i e ciągów kodowych ge ne ro wan yc h przez rejestr

S t ru k tu r a rejestru lic ząc eg o uniem oż li wia ot rz ym yw an i e dow olnego c ią ­ gu kodowego. W p r o w a d z o n y w punkci e 2 sposó b zapisu działania rejestru li­

czące go pozwa la jednak na obl ic ze nie s- sta n ow y c h ciągów kodo wy ch .kt ór e po­

trafi w y g e n e ro w a ć rejestr o określonej dług oś ci n. Wy k or z ys t u je się w tym celu równ an ie ma ci er z o we (2.6).

P r zy j ęc i e pa r am e t ró w n oraz s okre śl a macier z B. U wz gl ęd nia ją c to, że e le m e nt y m ac i e rz y A prz yjmuję tylko w a rt o śc i 0 lub 1 otr zymuje się.

2S różnych m a ci e r zy A. Przez pom no że nie m a ci e rz y 8 przez macierze A można wi ę c oblic zy ć 2 S różnych ci ęgów kodowych, ok re śl ony ch macierzą X, Te z nich, które spe łn iaj ą wa r u ne k (2.2), ok r eś l a ją c y prawidłową tablicę (2.1) stanów, sę rozwiązaniem, tzn. stanowię ciąg k odo wy rejestru li c z ą ­ cego.

26, 20 ,9 , 19 , 6 ,1 3 13 ,1 0,4 ,9 ,3, 6 6, 5, 2. 4 , 1, 3

o dług ośc i n

(23)

Liczbę oper ac ji mno że nia B A można zm ni ej szy ć dzięki następują ce mu twierdzeniu.

T w i e r d z e n i e 4,2

Ciągi kodowe rejestru lic zącego wy s tę p u ję parami, pr zy czym suma o dp o ­ w i a d a j ąc y c h so bi e el e me n t ów obu cięgó w wy n os i (2n-l).

D o w ó d :

Ze w zg l ę d u na z e r o j ed yn k o we w a rt o ś ci e le m en tów ma c i e r z y A oblicz an ie m a ci e r z y X polega na su m ow an iu odp ow i ed n ic h kolumn m a c i e r z y B. O tym, które k ol u m n y są sumowane, de c yd uje wa r toś ć el e me nt ów m ac i e rz y A: ko l u m­

na "i" jest sumowana, je żeli = 1.

Mo żn a zauważyć, że pr ze mn o ż en i e ma c i e r z y B przez we k t o r A, z a w i e r a ­ jący sam e jedynki, co o dp o wia da doda niu do siebie ws z ys t k i c h kolumn ma ci e­

rzy B, daje w e k t o r s k ł a d a j ą c y się z tych samych w y r a z ó w o wa r to ś c i (2n- l ).

J eż eli wi ę c maci er z B z os t an i e pr ze mn o ż on a przez ok r eś l o n y we k to r A i otrzyma się:

“ - "

a l X 1

a 2 X2

• •

• II

• •

a s 1 X U) L ..

(4.1 )

to p r ze m no ż e ni e tej m ac i e r z y B przez we k to r A, z a w i e r aj ą c y el e me nty bę­

dąca neg ac jam i e le m e nt ó w m ac i e r z y A, da w wyniku:

1

H103

L_ 1cCM1

___

1 - X 1

5 2 2 n - 1 -

*2

• •

• II

• •

5 B

2 n - 1 -

" “1 oX

(4.2)

c. b.d.o.

U w a g a :

I n te r pr e t ac j a te chn ic zn a tego twier dze ni a jest następująca. Stan reje­

stru jest o k r e ś l o n y pr zez sy g n a ł y na wy jś cia ch p r ze rz ut nik ów przyjętych jako wy j ś c i a proste. Nat omi as t wy j śc i a zan eg ow ane pr z e rz u tn i k ów określają uz u pe ł ni e n ie do 1 tego stanu, tj. ich suma wy no si 2 n - 1. Ozna cza to

(24)

więc, że oba cięgi kodowe okr eś lon e sę p r z e z ten sam rejestr liczący - jeden przez sy g na ł y na wy jś ci a ch prostych przerzutnikew, drugi - przez sy­

g n ał y na wy j śc ia ch zanegowanych.

Tym samym zo st ało uzasa dn ion e przy jęt e w punkcie 2 zał oże ni e o równo­

waż no śc i liczby i jej u zu pe łni en ia do 1. Pr zep r o wa d z on e w punkcie 3 roz­

wa ża ni a p o zw ol iły na ok reś l en i e tzw. ge ne ra t o ró w s e k w e n c j i ,które o d pow ia ­ dają m ac i erz om A i które b ył y zawar te w prz ybliżeniu w pierwsz ych 18,75%

zbioru liczb od 1 do 2S - 1 i ob e jm o wa ł y wy ł ą c z n i e li cz by nieparzyste. Do ob li cza ni a cięg ów kodowych na l eż y wi ęc wyk or z ys t ać jako macierz A g e­

n e ra to ry se kwencji ok re ślone w punkcie 3

Do zn a le zio ny ch w czasie tego mno że nia cięgów kodowych można zawsze ob­

liczyć zwię za ne z nimi cięgi, w y k o r zy s tu j ąc prawę stronę zależności (4.2).

2 pr a kty cz ne go punktu wi d z en i a zna jomość tego drugi ego kodu jest nieinte- resujęca. Do za p ro j ek t o wa n ia rejestru w y st ar cza jeden kod,a drugi stanowi uz up ełn ie nie do I st an ów cięgu pierwszego.

W szc ze gó l ny m pr zypadku nas tępuje zlanie się obu cięgó w kodowych w je­

den. Wy s tę p u j e to dla niektó ry ch w e k t o r ó w A, zawi er ają cy ch s y m e t ry c zn y u- kład zer i jsdynek, a więc może wys tąp ić jedynie dla parzysty ch s. Cięg taki będzie n az y wa n y cięgiem kodowym pojedynczym. Rejes tr liczęcy, reali- zu j ę c y ciąg pojedynczy, realizuje ten cięg zarówno na wyjś ci ach pr ostych jak i zanegowanych, z tym, że sę one p rze su ni ęte w z gl ęd em siebie. Pr ze su­

nięcie to równa się s/2 impu ls ów przesuwających.

U w a g a :

Nie każdy ciąg, którego ciąg o d wr ot ny składa się z tych samych liczb, jest cięgiem pojedynczym. Ilustrację tego jest ciąg w przykła dz ie 4.2 oraz wi ęk s z oś ć ci ągów o dł ugości s = 2 n .

N i ek tó re obli cz one tę metodą cięgi kodowe sę cięgami pozornymi. D l a t e ­ go każ dy z ciągów musi być s p r a wd z an y czy jest cięgiem prawidłowym. J e ż e ­ li zauważyć, że sp raw d z an i e czy cięg jest prawidłowy, polegające na (por.

punkt 4,2) zm ni ej s z en i u tabli cy stanów, od powiada dzi eleniu (bez reszty) wy ra z ó w cięgu kodow eg o przez 2, to otrzymuje się pr os ty algorytm:

a) pod zielić (bez reszty : w y r a z y cięgu ko dowego przoz 2,

b' jeżeli nowo otr zym an y ciąg jest rzeczywisty, ciąg pi er wo tn y jest po­

zorny. Je że li nowo otrz ym an y ciąg nie jest cięgi em rzeczywistym, t<:

cięg pier wo tny jest zasadniczy.

P r zy kł ad 4.2

Dla n = 4 i s = 6 obl ic zon o cięg kodowy 9-2.2-6-11-5-2 jako rezultat na st ęp u j ąc e go dzisłani .

8 0 0 1 2 4 1 " 9 "

4 8 0 0 1 2 1 12

2 4 8 0 0 1 0 6

" 2 4 8 0 0 1 11

2 4 3 0 0 5

2 4 8 0 2

(25)

Po po dzi e l en i u w y r a z ó w ciągu przez 2 (bez reszty) o t rz ym uje się ciąg:

4 - 6 - 3 - 5 - 2 - 1 ,k tó r y jest również c i ęgi em rzeczywistym. Stą d wn i o se k , ż e ciąg p i er w ot n y 9 - 1 2 - 6- 1 1- 5 -2 jest cięgiem pozornym, a sek wen cj ę binarną o p i s a ­ ną ma cierzą A ( l - l - O - l - O - O ) można z rea li zo wać za pomocą rejestru zł o ż o n e ­ go z trzech (n = 3) przerzu tn ikó w. Nie ma po t r ze b y sp raw dz ani a czy ist­

nieje realiza cj a tego pr zeb ie gu za pomocą rejestru zło żo neg o z dwóch prze- rzutników, za pomocą któr ych można otrzy ma ć tylko c zte ry stany.

4.4. Ciągi kodowe

Z pr ze d s ta w io n y ch p op r z ed n io metod genero wan ia ciągów kodow,ch metoda dop is yw a ni a jest n aj w y go d ni e j sz a prz y ręcznych obl ic zeniach. W y k o r z y s t y ­ wa ni e zapisu m a c i e r zo w e go op i su j ą ce g o rejestr daje sz y bki e rezultaty, je­

żeli chce się uzyskać ciągi kodowe r eal iz ow ane przez n- b it owy re j es t r. N a ­ tomiast metoda "bazy" jest nej le ps za w p rz y pad ku po szu k i wa n ia realizacji kodów dla ustalonej dług oś ci s sek we nc j i (ile trzeba p r ze r zu t n ik ó w dla zr ea li z o wa n ia s-stanowej sek we ncj i zdefinio wa nej danym generatorem).

Po sł u g uj ą c się metodą "bazy" obl ic zo n o realizację ci ąg ów ko dowych dla sek we nc j i o dł ugo śc ia c h nie wi ę ks z yc h od 16. Wy n ik i tych obliczeń pr z e d ­ sta wi on o w tablicach 4.1-4.5.

W tabli cy 4.1 poka za no ile ist ni eje kodów (generatorów) o określonej dłu go ści s r ea l izo wa ny ch na re je strze licz ąc ym o n p r z e r z u t n i k a c h . Sz cz e g ól n ie in t ere su ją ce są re al iza cj e minimalne. Zebra ne one zo st ały w tablicach 4.2-4.4, które prz ed s ta w i aj ą ge ne ra t o ry s e kw en cji o długości s realizow an ych na na jkr ó t sz y ch rejest rac h liczących.

Na to miast w tabli cy 4.5 z e bra no część informacji, które posł uż yły do sp orz ądz en ia po pr zed nic h tablic. Są w niej okr eś lon e dług ośc i n rejestrów liczących, po tr zeb nyc h do realiz acj i g en e r at o ró w s e kw en cji mniejsz yc h od 100 dla sek we ncj i nie dłu żs zyc h niż s = 10. Dla s = 10 okr eś lo n o również te długo śc i dla g en e r at o ró w wi ę ks z y ch od 100, pr ze ka zu ją c w ten sposób peł­

ną inf or ma c ję o se kwe n c ja c h o s = 1C.

I n t e r e su j ą cy m w ni o s k i e m w y n i k aj ą c ym z tablic y 4,1 jest s t w i e r d z e n i e , ze każdy s - b i t o w y ciąg (zasadniczy) jest r ea li zo wan y na co najwyżej n =

= s-1 przerzu tn ika ch . Uo gó l n ie n ie tego na dowol ne s jest rzeczą trywial­

ną - w y s t a r c z y w tym celu metodą d op is yw ani a poszuki wać ciąg z a sa d ni c z y o sek we nc j i 100 ... 0.

(26)

Tabl ic a 4.1

Li czba ciągów kodowych (generatorów)

dla danej dł ugości sek wen cj i s i ich rozkład w funkcji długości rejestru n

n

s 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

E

*

1

2 1 i

3 1 i

4 1 1 2

5 1 2 3

6 2 2 1 5

7 2 2 2 3 9

8 1 6 4 3 2 16

9 7 9 7 2 3 28

10 9 21 8 6 5 2 51

11 7 32 23 15 7 4 5 93

12 8 50 53 27 19 8 3 2 170

13 6 71 97 67 35 19 9 5 6 315

14 11 95 184 153 66 37 18 10 8 3 585

15 16 134 322 279 162 85 53 20 13 3 4 1091

16 8 199 562 556 368 174 88 46 26 10 7 4 2048

p o d p o w i a d a liczbie grup ge ner ujących ze bra ny ch w tabl. 3.1.

Ta b l i c a 4.2 G e ne r a t o r y do mi nimalnych realizacji

na rejestrach 2-Ditow yc h

s Gene ra tor

3 1

4 3

(27)

G e n e r a t o r y dla m in i m al n yc h re al iz a cj i na r ej e8t ra ch 3-b it ow ych

T a b lic a 4.3

s Ge n er at or

5 3

6 7.11

7 11,13

8 23

T a b l i c a 4.4

G e n e r a t o r y dla m i n i m al n yc h r ea l iz a c ji na re jee tr ac h 4 -b i to w y ch

G e ne r a t o r

9

10

11

12

13

14

15

16

19, 23, 25, 29, 39. 45, 55

39, 45, 47, 55, 57, 59, 83, 93, 101

79, 83, 93, 101, 111, 167, 215

167, 189, 215, 229, 235, 311, 315, 441

311, 315, 335, 431, 441, 473

623, 635, 889, 1239, 1259, 1335, 1437, 1447, 1485, 1687, 1721

1239, 1259, 1335, 1339, 1437, 1447, 1485, 1491, 1629, 1687, 1721,

1765, 1837, 1867, 1881, 1893

2479, 2539, 2671, 2877, 2895, 3021, 3375, 3449

(28)

Długości ralButrów (n) potrzebnych do realizacji określonego generatora o długości e

Genera­

tor « 4 M i n N o > v i m i n ^ » « 4 « 9 i n r H » ^ i > i i n N o > ^ m i n N o » ^ m i n i s A n n t f t N o > < HO r t M I f l N f f i H I O i n N J ) ( D 0 t № 0 < 0 > » O O O O q

*< H r* •* •<

9

10 3<D 4$M

5 4 4 (3) - @

6 5 4 4 6 C5><3> 5 6

7 6 5 5 6 4 4 4 - 4 6 ® 4 S

8 7 6 6 6 5 5 5 8 ® 6 ® 4 5 ®

7 5 4

6 5 0 5 5 ® 7 5 ®

9 8 7 7 6 6 6 6 8 5 6 5 5 5 5 5 - 5 5 ® 5 5 ® ® 5 7 5(J

- 6 6

6 9 5 5 5 8

® 8 5 5 6 - 4 5 5 5 6 7 5 7 5 7

a) oznaczę eekwencje eyeetryczną,

b) linie łeeene ograniczę zekree eoZliwych generatorów dle danej długości eekwencjl e , c) w kółku ozneczono rozwi«zenie o einiealnej długości rejeetru.

179

(29)

5.1. P ro j e k t o w a n i e reje str u liczącego. Samokorekc-.a

Sy nt eza rejestru l i cz ą c eg o po lega na okr eś le n i u l i c z b y prz erz ut ni ków re­

jestru oraz sc h ema tu o bw od u sp r zę ż en i a zwrotnego.

P u n k t e m wy j śc i a jest ciąg ko d o w y reje st ru o t r z y m a n y s p o s ob a mi p rz e d y s ­ kut ow an y mi w p o pr z e dn i ch punktach. O k r e ś l e n i e l i c z b y p r z e r z u t n i k ó w re je ­ stru Je8t r z e c z ą oczywiste. Li c zb ę ich Jest o g r a n ic z on a zależn oś cią :

2 " > 8- (5.1)

gdzie:

n - ilość p r z e r z u t n i k ó w rejestru, s - ilość s t a n ó w ci ągu kodowego.

O k r e ś l e n i e sc h ema tu ob wodu spr zę ż en i a z wr o t ne g o p ol e ga na z n a l e z i e n i u funkcji pr z eł ą cz a j ąc y ch sy gn ał u w e j ś c io w e go rejestru, p r z y czym wejście mo­

że być we j ś c i e m in for m a cy j ny m pr zer z ut n i ka D lub O - K. Dl a ok re śla ni a tych funkcji n al e ż y utworzyć tablicę zal eżności, w której dla p o s z c z e g ó l ­ nych s t an ó w reje str u i o dp o wi a d aj ą cy c h im s t a n ó w na w y j ś c i u 0^ j rej est ru o k reś la się s yg n ał i n f o r m a c y j n y D lub J - K w z al e żn o ś ci od z a s t o s o w a ­ nych w uk ł a dz i e prz er zut ni kó w. W pr z y pad ku s t o s ow a ni a p r z e r z u t n i k ó w 0 - K na l e ż y ok re śl i ć s yg nał T, a do p i er o na tej p o d s t aw i e s y g n a ł y 0 i K z g o d ­ nie z metodą o kr e ślo ną w £

13

] . O t r z y m uj e się w t e d y m i n i m a l n e postacie funk­

cji p rz ełą cz aj ący ch . .

Tak pr ow ad z o na s yn te za um o żl iw ia ró w no c z eś n ie o t r z y my w a ni e uk ł a dó w ea- m ok ore kc yj nyc h. U w zg l ę d n i e n i e tego pr o bl e mu pr z y t w or ze ni u ob wo du s p r z ę ­ żenia z wr o t ne g o reje st ru daj e z re gu ły pr o st 8ze r o zw i ąz a n i e , a n i ż e l i d e k o ­ d o wa ni e ni edo z w ol o ny c h st a n ó w i us ta wi e n ie rejestru w o k r e ś l o n y stan p r a ­ widłowy.

P r o b l e m s a m o k or e kc j i w re je str ac h li czących na l eż y rozwiązać przez wła­

ściwą inte rp re tac ję s t a n ó w obojętnych. Pr z yc zy na w y s t ą p i e n i a stanu ob oj ęt­

nego w ukł ad ach k o mb i na c y jn y ch jest inna, an iż eli w uk ł ad ach s e k w e n c y j ­ nych. W uk ładach k om b in a c yj n yc h sta n ob o j ęt n y nie m o że w y s t ą p i ć za w z g l ę ­ du na o kr e ślo ne warunki. Jakie sp e łn ia ją urządze nia ge n er u j ąc e sygneły wej­

ściowe. W układ ac h se k we n c yj n yc h n e l e ż y być bardziej ost ro ż ny m p r z y w y k o ­ rzystyw an iu s ta n ó w obojętnych. Wy n i k a to Stąd, że są one c zę sto wy n i k i e m prz yj ęt e g o sp o so b u kod ow an ia e le m e n t ó w pamięci. I s tn ie je w ię c zawsze mażll-

(30)

wość taka,te układ przejdzie pod wpływem zakłóceń względnie po załączeniu napięcia zasilajęcego urzędzenie w atan nieprzewidziany przyjętym kodowa­

niem elementów pamięci. Specyficznym przypadkiem układów aynchronicznych, w których ten problem występujs bardzo wyraźnie, sę rsjsstry liczęce.W rs- jeetrach liczących atany obojętne aę wyłęcznie niewykorzyatanymi etanami elementów pamięci.

Uwzględnianie problemu aamokdrekcji rejeatrów llczęcych polega na ana­

lizie wezyatkich atanów obojętnych w aiatkach Karnaughs.okrsślajęcych sy­

gnały D lub T. Wynikiem tej analizy Jest stwierdzenie czy dany stan obojętny można przy określaniu funkcji przsłęczsjęcsj aygnału 0 względnie T uważać za obojętny, czy taż należy mu przypiaać ściśle określonę war­

tość 0 lub i. W efekcie tej analizy otrzymuje się skorygowane aiatki Karnaugha aygnału D względnie T , okrsślajęcs aprzężenia zwrotne aamo- korekcyjnych rejeatrów liczących. Praktycznie, przeprowadzenie takiej ans- lizy Jeat kłopotliwe i dlatego wydaje się celowe następuj«cs poatępowanie:

- po przepiaaniu zawartości tablicy zależności do siatki Karnaugha nals- ży uzupsłnić Ję jedynie o prawidłowe wartości sygnałów D względnie T dla stanów 00...0 i ii,,.i o ile nie sę wykorzystywans w cięgach kodo­

wych. Wyjście rajaatru llczęcsgo z tych dwóch stanów Jeat możliwa Jedy­

nie przez wpisanis i do rsjestru w przypadku pierwszym, a 0 w przypadku drugim, Innymi ałowy muai następie zmiana stanu przerzutnika wejściowe­

go rejeetru. Oznacza to więc, ża w aiatkach, określających aygnał D. na­

leży wpisać dla atanu 00...0 wartość i, a dla atanu ii...i- wartość 0, a w siatkach dla aygnału T nalsży wpisać dla obu rozpatrywanych sta­

nów sygnał ii

- wypisać funkcja przsłęczajęcs dis sygnsłów informscyjnych przerzutniks wsjściowsgo rejestru i nsrysowsć diagram przsjść zrealizowanego w ten sposób rsjestru llczęcsgo;

_ w przypadku występienia w diagramie przejść cykli nieprawidłowych sko­

rygować siatkę Karnaugha tak, by uzyskać aamokorakcję układu, tzn. uzys­

kać przejście z wszystkich stsnów (cykli) nisprswidłowych do cięgu kodo- wego rajaatru liczęcegoi

- w oparciu o skorygowano siatki Karnaugha wypisać oatateczne funkcje przs- łęczajęce, określajęce sygnały informacyjna rsjsstru liczęcsgo.który Jsst układem samokorekcyjnym.

Przykład 5.1

Zaprojektować rejestr llczęcy na 4 przsrzutniksch, gsnsrujęcy 9-stsno- wę sskwsncję. odpowiadaJęcę gsnsratorowi 19

(z tablicy 4.5 wynika,że moż­

na Ję zrealizować na 4 przsrzutniksch).

(31)

Generatorowi, 19 odpowiada następujący ciąg kodowy:

Q3

0 1 1 0 6

0 0 1 1 3

0 0 0 1 1

0 0 0 0 0

1 0 0 0 8

0 1 0 0 4

0 0 1 0 2

1 0 0 1 9

1 1 0 0 12

Ciągowi temu odpowiada tablica zależności 1 siatki Karnaugha, przedsta­

wione na rys. 5.1.

“)•

*)■

a. a .

0,0,

0,0, oo oi 11 w

a,ut

00

00 01 ii 10

0 T £ 1 0

4 01 JT 0 4

m m m

<2 11 0 I 12

e 10 £ r 8

0 1 3 2

\

0 i 3 2 D

Rys. 5.1. Tablics zależności (a) 1 siatki Karnsughs (b) do przykładu 5.1

W siatkach Karnaugha stany sygnałów Tg i Oj dla

1111

zostały wpisane dla uzyskania samokorskcji.

Na podstawie siatek Karnaugha można wypisać następuj«cs funkcje prze łęczajęcs:

°0

o raz

D3 “ 33Q230 + Q352Q0

(32)

R e je st r liczący, po sia d a ją c y na we j śc iu przerzutnik D - K, k t óre go w e j ­ ścia inf or m ac y jn e 3 i K pob ud za n a są wyżsj w y pi s an y m i s yg n ał a m i, p os i a ­ da diag ram przsjść p r z e d s ta w i on y na rys. 5.2.

Rys. 5.2. D ia gr am przejść (a) i schemat rąjestru lic ząc ego (b) do przykła­

du 5.1

Widać, że rejestr Jest ssmokorskcyjny; jsgo schemat jest p ok az an y na tym samym rysunku. N ie u w zg l ęd n i sn i s w s ia tce Kar na ug h a dla Tj stanu 1 dla

® 3 ^2 ^ 1^ 0 “ 1111 pozwa la na up ro szc ze ni e funkcji przełączającej, ok re ś l a­

jącej s y gn a ł K 3 , która redukuje się do w y ra że ni e Kj = QQ . R e je s tr z tym s p rz ę że n i em nie ma Jednsk zapew nio ne j ss mokorekcji.

P o d o b n i e możne okre śl ić schsmat i diagr am przsjść w p r z y p ad ku , g dy prze- rzutnik ie m we j śc i o w y m rejestru jsst p rz erz ut ni k typu D. Schema t ten jest bardziej złożony.

5.2. R ej e st r y liczące lako liczniki

W wi el u pr zy pa dka ch nie jest pot rz eb n s st oso wa ni e licz nik ów liczących modulo s i w y k o r zy s tu j ą cy c h pisrwsz yc h s liczb n at ura ln eg o kodu dwój ­

(33)

kowego.

w

s z cz e gó l n oś c i nie Jest to p o tr z eb n e p r zy w s p ó ł p r a c y liczn ik a z dekoderem, kie dy to wł a śc i w e z d ek o d ow a ni e ot rzy m uj e się przez o dp owi ed nie o z na c ze n i e wyj ść dekodera.

W teg o rodzaju z ast os ow ani ac h, w których kod liczenia jest obojętny, wy ko r z y s t a n i e re j es tr ów l i cz ąc ych jako li c zn ik ów może się okazać na j wł a ­ ś c iw sz ym rozwiązaniem. O t r z y m y w a n e sc he m a t y tych l ic z nik ów proste i poz walają na uzy sk iw a n ie m ak s y ma l ny c h c zę s tot li wo ści li cze n i a, c ó wy ni ka z równoległej (synchronic zn ej ) b u do w y reje st rów liczących.

Dla i l us t ra c j i mo ż li w o śc i w tym zak re s ie pr zel i c zo n o w sz y st k i e możliwe w a r i a n t y re j es tró w lic zą cyc h o po je mn o ś ci a ch od 3 do i 6 ,ko ns t ru owa ny ch na m o żl i wi e na j mni ejs ze j liczb ie przerzut ni kó w. Dane do t yc ząc e sy g n a ł ó w in­

form ac yjn yc h a i K pie rw sz e g o pr ze rz u t ni k a rejestru, w y ma g a j ą c e g o do realiza cj i najmn ie jsz ej l ic z b y elementów, zo s t a ł y zebran e w ta bl icach 5.1, 5.2, 5.3. Podane w tych tab li cac h dane okr eś laj ą s t r u k t u r y sam ok or e kc y j - nych rej es tró w liczących. Us u ni ę c ie z funkcji ok re śl a j ąc y ch s yg n a ł K dla s = 13, 14, 15 wy r aże ń w na wi asa ch daje p ro st sz e struktury, lecz li cz ni­

ki nie mają w t e d y w ł a ś c i wo ś c i sa mo k o re k cj i .

Jeżel i poró wna ć z eb r an e w tab li ca ch 5.1-5. 3 funkcje pr z eł ą c za j ąc e ze st ru k t ur a mi o dp o w ie d ni c h li c zn i k ów sy n c hr o ni c z ny c h [lj o ana lo gi c zn y c h po­

jemnościach, to o ka zu je się, że układ w posta ci rejestru lic zą ceg o jest z reguły tańszy, tj. jego realizacja wy ma ga zas to so w a ni a mniejszej li cz by bramek przeł ącz aj ąc ych .

Ta bl i c a 5.1 S y g n a ł y in f or m a cy j ne p rz e rz u t ni k a we j ś c i o w e g o

2- bi t o w y c h l ic z n ik ó w lic ząc ych modul o s

8 0 K Ge ne ra to r

3 IO' O 1 1

4 Ol o o* o 3

Ta b l i c a 5.2 S y g n a ł y in f or m a cy j ne p r ze r zu t n ik a w ej ś c io w eg o

3 - bi t o wy c h l i c z n i k ó w lic zą cyc h modul o a

8 0 K Ge n er at or

5 Ol

o Q 1 3

6

Sn o o 7

7 Ol

o Ql ♦ Q0 11

8 IO' o 23

Cytaty

Powiązane dokumenty

W ciągu arytmetycznym trzeci wyraz jest równy 14, a jedenasty jest równy 34.. Różnica tego

Rozważać będziemy więc ciągi (a n ) o wartościach w przestrzeni wektorowej Aby w przestrzeni wektorowej wprowadzić pojęcie granicy ciągu wygodnie jest użyć normy, k

Podać przykład bazy Hamela (bazy algebraicznej) w przestrzeni c 00 (jest to nie- skończenie wymiarowa przestrzeń unormowana, która nie jest przestrzenią Ba- nacha)..

Wykaż twierdzenie Prochorowa na prostej rzczywistej.. Czy zachodzi

Gdy odległość pomiędzy pociągami wynosi 1 km, pszczoła zaczyna latać tam i z powrotem pomiędzy pociągami z prędkością 60 km na godzinę.. Wyrazić od- ległość jaką

Nie istnieje ciąg, dla którego każda liczba z przedziału [0, 1] jest punktem

Granicę tę oznacza się

Dwa układy kul uważamy za równoważne, jeśli jeden można uzyskać z drugiego przez obrót okręgu.. Problem jest