„Digitális technika 1 - HT partíciók” változatai közötti eltérés
Nincs szerkesztési összefoglaló |
|||
44. sor: | 44. sor: | ||
=== Megoldás: === | === Megoldás: === | ||
==== 1. Feladat: ==== | |||
*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ó. | |||
*#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 az, 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. | ==== 2. Feladat: ==== | ||
Mivel 4 állapotunk van, ezért minimum 2 szekunder változóra van szükségünk | *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. | *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: | *Nézzük meg p értékét a nem triviális partícióinkra: | ||
{|class="wikitable" | |||
| | ! width="25%"|'''HT''' | ||
! width="10%"|'''B''' | |||
| | ! width="10%"|'''A''' | ||
! width="10%"|'''p''' | |||
|} | |- | ||
! '''<math>\prod_{3}</math>''' | |||
| style="text-align:center"|2 | |||
| style="text-align:center"|2 | |||
| style="text-align:center"|2 | |||
|- | |||
! '''<math>\prod_{4}</math>''' | |||
| style="text-align:center"|2 | |||
| style="text-align:center"|3 | |||
| style="text-align:center"|3 | |||
|} Tehát <math>\prod_{3}</math> minimális. | |||
*Kódolás: | |||
|* *||*y1*||*y2* | |* *||*y1*||*y2* | ||
|} | |} |
A lap 2013. január 25., 15:50-kori változata
HT partíciók - egy példán keresztül
Feladatkitűzés:
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. Feladat:
- 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 az, 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ó.
- BCD egy csoportba tartozik, ha a benne lévő állapotok közül bármelyik 2 egy csoportba tartozik. Vegyük sorba:
- Vizsgáljuk meg például a következő partíciót: (AB)(CD)
2. Feladat:
- 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 |}