„Digitális technika 1 - HT partíciók” változatai közötti eltérés
Ugrás a navigációhoz
Ugrás a kereséshez
a |
|||
(6 közbenső módosítás, amit egy másik szerkesztő végzett, nincs mutatva) | |||
1. sor: | 1. sor: | ||
− | + | {{vissza|Digitális technika 1}} | |
− | === Feladatkitűzés: | + | Ezen az oldalon a [[Digitális technika 1]] című tárgyhoz kapcsolódó, HT partíciókkal kapcsolatos néhány példa van összegyűjtve és kidolgozva. |
+ | |||
+ | '''''Bővítsétek és szerkesszétek!''''' | ||
+ | |||
+ | <div class="noautonum">__TOC__</div> | ||
+ | |||
+ | == Feladatkitűzés: == | ||
Adott egy '''szinkron''' sorrendi hálózat állapottáblája | Adott egy '''szinkron''' sorrendi hálózat állapottáblája | ||
42. sor: | 48. sor: | ||
# Töltse ki a kódolt állapottáblát | # 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: <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. Feladat: === | ||
− | + | *Mivel 4 állapotunk van, ezért minimum 2 szekunder változóra van szükségünk <math> \left(2^2 = 4\right) </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: | |
− | + | :{|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 | |
− | Mivel 4 állapotunk van, ezért minimum 2 szekunder változóra van szükségünk | + | | style="text-align:center"|3 |
− | 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. | + | | style="text-align:center"|3 |
− | Nézzük meg p értékét a nem triviális partícióinkra: | ||
− | |||
|} | |} | ||
− | + | :Tehát <math>\prod_{3}</math> minimális. | |
+ | *Kódolás: | ||
+ | :{|class="wikitable" | ||
+ | ! width="50%"| | ||
+ | ! width="25%"|'''y1''' | ||
+ | ! width="25%"|'''y2''' | ||
+ | |- | ||
+ | ! '''A''' | ||
+ | | style="text-align:center"|0 | ||
+ | | style="text-align:center"|0 | ||
+ | |- | ||
+ | ! '''B''' | ||
+ | | style="text-align:center"|0 | ||
+ | | style="text-align:center"|1 | ||
+ | |- | ||
+ | ! '''C''' | ||
+ | | style="text-align:center"|1 | ||
+ | | style="text-align:center"|0 | ||
+ | |- | ||
+ | ! '''D''' | ||
+ | | style="text-align:center"|1 | ||
+ | | style="text-align:center"|1 | ||
|} | |} | ||
− | + | :Í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. | |
+ | |||
+ | === 3. Feladat: === | ||
+ | |||
+ | *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: | ||
+ | |||
+ | :{|class="wikitable" | ||
+ | ! width="25%"|'''y \ X1X2''' | ||
+ | ! width="10%"|'''00''' | ||
+ | ! width="10%"|'''01''' | ||
+ | ! width="10%"|'''11''' | ||
+ | ! width="10%"|'''10''' | ||
+ | |- | ||
+ | ! '''00''' | ||
+ | | style="text-align:center"|01 1 | ||
+ | | style="text-align:center"|01 1 | ||
+ | | style="text-align:center"|00 1 | ||
+ | | style="text-align:center"|11 1 | ||
+ | |- | ||
+ | ! '''10''' | ||
+ | | style="text-align:center"|10 1 | ||
+ | | style="text-align:center"|00 1 | ||
+ | | style="text-align:center"|00 1 | ||
+ | | style="text-align:center"|01 1 | ||
+ | |- | ||
+ | ! '''01''' | ||
+ | | style="text-align:center"|01 0 | ||
+ | | style="text-align:center"|00 0 | ||
+ | | style="text-align:center"|00 0 | ||
+ | | style="text-align:center"|10 0 | ||
+ | |- | ||
+ | ! '''11''' | ||
+ | | style="text-align:center"|11 0 | ||
+ | | style="text-align:center"|00 0 | ||
+ | | style="text-align:center"|00 0 | ||
+ | | style="text-align:center"|01 0 | ||
|} | |} | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | [[ | + | [[Kategória:Villamosmérnök]] |
A lap jelenlegi, 2014. március 13., 13:57-kori változata
Ezen az oldalon a Digitális technika 1 című tárgyhoz kapcsolódó, HT partíciókkal kapcsolatos néhány példa van összegyűjtve és kidolgozva.
Bővítsétek és szerkesszétek!
Tartalomjegyzék
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: [math] \prod_{1} (A)(B)(C)(D) [/math]
- Minden állapot egy blokkban, esetünkben: [math] \prod_{2} (ABCD) [/math]
- 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ó.
- 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 [math] \left(2^2 = 4\right) [/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 [math]\prod_{3}[/math] 2 2 2 [math]\prod_{4}[/math] 2 3 3
- Tehát [math]\prod_{3}[/math] minimális.
- Kódolás:
y1 y2 A 0 0 B 0 1 C 1 0 D 1 1
- Í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.
3. Feladat:
- 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:
y \ 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