„Digitális technika 1 - HT partíciók” változatai közötti eltérés
Új oldal, tartalma: „{{GlobalTemplate|Villanyalap|Htpart}} -- ANewsEE - 2008.12.03. ==HT partíciók - egy példán keresztül== Adott egy '''szinkron''' sorrendi háló…” |
Kory (vitalap | szerkesztései) Nincs szerkesztési összefoglaló |
||
1. sor: | 1. sor: | ||
-- [[GyurjanIstvan|ANewsEE]] - 2008.12.03. | -- [[GyurjanIstvan|ANewsEE]] - 2008.12.03. | ||
==HT partíciók - egy példán keresztül== | ==HT partíciók - egy példán keresztül== | ||
23. sor: | 21. sor: | ||
# Töltse ki a kódolt állapottáblát | # Töltse ki a kódolt állapottáblát | ||
====Megoldás==== | ====Megoldás==== | ||
1. | |||
A triviális HT partíciók: 2 ilyen van | |||
minden állapot külön blokkban: azaz esetünkben <math> \prod_{1} (A)(B)(C)(D) </math> | |||
minden állapot egy blokkban: esetünkben <math> \prod_{2} (ABCD) </math><br /> | |||
Keressünk 2 triviálistól eltérőt: | |||
vizsgáljuk meg például a következő partíciót: (AB)(CD) | |||
AB egy csoportba tartozásának feltétele: BC, AC, DC egy csoportba tartozása. Mivel ezek nem tartoznak azonos csoportba - hiszen a mostani 2 csoportunk AB és CD -, így (AB)(CD) nem HT partíció.<br /> | |||
vizsgáljuk meg ezután a következő partíciót: (AC)(BD) | |||
AC egy csoportba tartozásának feltétele BD egy csoportba tartozása, BD pedig egy csoportba tartozik. Tehát <math> \prod_{3} (AC)(BD) </math> HT partíció. | |||
az algoritmus tehát, hogy minden lehetséges csoportosításra megvizsgáljuk, hogy az HT partíció-e. Most azonban csak 2-t kell keresnünk. Jelen esetben például jó lesz a következő csoportosítás: (BCD)(A) | |||
BCD egy csoportba tartozik, ha a benne lévő állapotok közül bármelyik 2 egy csoportba tartozik. Vegyük sorba: | |||
BC egy csoportba tartozik -> OK | |||
BD is egy csoportba tartozik -> OK | |||
CD egy csoportba tartozik, ha BC egy csoportba tartozik, ami igaz. -> OK | |||
Láthatjuk, hogy BC, BD, CD mind a BCD csoportba vannak, tehát <math> \prod_{4} (BCD)(A) </math> is HT partíció. | |||
2. | |||
Mivel 4 állapotunk van, ezért minimum 2 szekunder változóra van szükségünk(<math> 2^2 = 4 </math>). | |||
Azt, hogy egy adott HT partíció szerinti kódoláshoz hány szekunder változóra van szükség, a következő összefüggés határozza meg: <math> p = \lceil\log_{2}B\rceil + \lceil\log_{2}A\rceil </math>, ahol <math>\lceil \rceil</math> jelölés az értéknek a legközelebbi egész számra történő felkerekítésére utal. *A* az egy blokkban előforduló állapotok legnagyobb száma, *B* pedig a blokkok száma | |||
Nézzük meg p értékét a nem triviális partícióinkra: | |||
|*HT*||*B*||*A*||*p* | |*HT*||*B*||*A*||*p* | ||
|} | |} | ||
49. sor: | 47. sor: | ||
|} | |} | ||
Tehát <math>\prod_{3}</math> minimális. | Tehát <math>\prod_{3}</math> minimális. | ||
kódolás: | |||
|* *||*y1*||*y2* | |* *||*y1*||*y2* | ||
|} | |} | ||
61. sor: | 59. sor: | ||
|} | |} | ||
Így Y1 lesz önfüggő, azaz <math>Y1={f}(X1,X2,y1)</math> és <math>Y2={f}(X1,X2,y1,y2)</math>. Ami jól látszik, ha felrajzoljuk Y1 és Y2 Karnaugh tábláját(ügyelve a peremezésre) és abból felírjuk a logikai függvényüket. | Így Y1 lesz önfüggő, azaz <math>Y1={f}(X1,X2,y1)</math> és <math>Y2={f}(X1,X2,y1,y2)</math>. Ami jól látszik, ha felrajzoljuk Y1 és Y2 Karnaugh tábláját(ügyelve a peremezésre) és abból felírjuk a logikai függvényüket. | ||
Ezek után a kódolt állapottábla kitöltése gyerekjáték, csak be kell másolni az állapotok betűi helyére a nekik megfelelő kódokat. | |||
|*y1y2 \ X1X2 *|| '''00''' || '''01''' || '''11''' || '''10''' | |*y1y2 \ X1X2 *|| '''00''' || '''01''' || '''11''' || '''10''' | ||
|} | |} |
A lap 2013. január 24., 20:08-kori változata
-- ANewsEE - 2008.12.03.
HT partíciók - egy példán keresztül
Adott egy szinkron sorrendi hálózat állapottáblája
*y \ X1X2* | 00 | 01 | 11 | 10 |
*A* | C 1 | C 1 | A 1 | D 1 |
*B* | B 1 | A 1 | A 1 | C 1 |
*C* | C 0 | A 0 | A 0 | B 0 |
*D* | D 0 | A 0 | A 0 | C 0 |
Kódolja az állapotokat önfüggő szekunder változócsoportok alapján.
- Adja meg a triviális HT partíciókat és legalább kettő, triviálistól eltérő HT partíciót.
- Kódolja a hálózatot a minimális számú szekunder változót igénylő triviálistól eltérő partícióval, és jelölje meg, hogy melyik változó lesz önfüggő!
- Töltse ki a kódolt állapottáblát
Megoldás
1.
A triviális HT partíciók: 2 ilyen van
minden állapot külön blokkban: azaz esetünkben
minden állapot egy blokkban: esetünkben
Keressünk 2 triviálistól eltérőt:
vizsgáljuk meg például a következő partíciót: (AB)(CD)
AB egy csoportba tartozásának feltétele: BC, AC, DC egy csoportba tartozása. Mivel ezek nem tartoznak azonos csoportba - hiszen a mostani 2 csoportunk AB és CD -, így (AB)(CD) nem HT partíció.
vizsgáljuk meg ezután a következő partíciót: (AC)(BD)
AC egy csoportba tartozásának feltétele BD egy csoportba tartozása, BD pedig egy csoportba tartozik. Tehát HT partíció.
az algoritmus tehát, hogy minden lehetséges csoportosításra megvizsgáljuk, hogy az HT partíció-e. Most azonban csak 2-t kell keresnünk. Jelen esetben például jó lesz a következő csoportosítás: (BCD)(A)
BCD egy csoportba tartozik, ha a benne lévő állapotok közül bármelyik 2 egy csoportba tartozik. Vegyük sorba:
BC egy csoportba tartozik -> OK
BD is egy csoportba tartozik -> OK
CD egy csoportba tartozik, ha BC egy csoportba tartozik, ami igaz. -> OK
Láthatjuk, hogy BC, BD, CD mind a BCD csoportba vannak, tehát is HT partíció.
2.
Mivel 4 állapotunk van, ezért minimum 2 szekunder változóra van szükségünk().
Azt, hogy egy adott HT partíció szerinti kódoláshoz hány szekunder változóra van szükség, a következő összefüggés határozza meg: , ahol jelölés az értéknek a legközelebbi egész számra történő felkerekítésére utal. *A* az egy blokkban előforduló állapotok legnagyobb száma, *B* pedig a blokkok száma
Nézzük meg p értékét a nem triviális partícióinkra:
|*HT*||*B*||*A*||*p*
|}
|||2||2||2
|}
|||2||3||3
|}
Tehát minimális.
kódolás:
|* *||*y1*||*y2*
|}
|*A*||0||0
|}
|*C*||0||1
|}
|*B*||1||0
|}
|*D*||1||1
|}
Így Y1 lesz önfüggő, azaz és . Ami jól látszik, ha felrajzoljuk Y1 és Y2 Karnaugh tábláját(ügyelve a peremezésre) és abból felírjuk a logikai függvényüket.
Ezek után a kódolt állapottábla kitöltése gyerekjáték, csak be kell másolni az állapotok betűi helyére a nekik megfelelő kódokat.
|*y1y2 \ X1X2 *|| 00 || 01 || 11 || 10
|}
| 00 || 01 1 || 01 1 || 00 1 || 11 1
|}
| 10 || 10 1 || 00 1 || 00 1 || 01 1
|}
| 01 || 01 0 || 00 0 || 00 0 || 10 0
|}
| 11 || 11 0 || 00 0 || 00 0 || 01 0
|}