„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
Kory (vitalap | szerkesztései) |
a |
||
(10 közbenső módosítás, amit 2 másik szerkesztő végzett, nincs mutatva) | |||
1. sor: | 1. sor: | ||
− | + | {{vissza|Digitális technika 1}} | |
− | == | + | |
+ | 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 | ||
− | {| | + | {|class="wikitable" |
− | | | + | ! width="25%"|'''y \ X1X2''' |
+ | ! width="10%"|'''00''' | ||
+ | ! width="10%"|'''01''' | ||
+ | ! width="10%"|'''11''' | ||
+ | ! width="10%"|'''10''' | ||
|- | |- | ||
− | + | ! '''A''' | |
+ | | style="text-align:center"|C 1 | ||
+ | | style="text-align:center"|C 1 | ||
+ | | style="text-align:center"|A 1 | ||
+ | | style="text-align:center"|D 1 | ||
|- | |- | ||
− | + | ! '''B''' | |
+ | | style="text-align:center"|B 1 | ||
+ | | style="text-align:center"|A 1 | ||
+ | | style="text-align:center"|A 1 | ||
+ | | style="text-align:center"|C 1 | ||
|- | |- | ||
− | + | ! '''C''' | |
+ | | style="text-align:center"|C 0 | ||
+ | | style="text-align:center"|A 0 | ||
+ | | style="text-align:center"|A 0 | ||
+ | | style="text-align:center"|B 0 | ||
|- | |- | ||
− | + | ! '''D''' | |
+ | | style="text-align:center"|D 0 | ||
+ | | style="text-align:center"|A 0 | ||
+ | | style="text-align:center"|A 0 | ||
+ | | style="text-align:center"|C 0 | ||
|} | |} | ||
20. sor: | 47. sor: | ||
# 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ő! | # 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 | # Töltse ki a kódolt állapottáblát | ||
− | ==== | + | |
− | + | == Megoldás: == | |
− | A triviális HT partíciók: 2 ilyen van | + | |
− | + | === 1. Feladat: === | |
− | + | ||
− | Keressünk 2 triviálistól eltérőt: | + | *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> | |
− | AB egy csoportba tartozásának feltétele: BC, AC, DC egy csoportba tartozása. Mivel ezek nem tartoznak azonos csoportba | + | **Minden állapot egy blokkban, esetünkben: <math> \prod_{2} (ABCD) </math><br /> |
− | + | *Keressünk 2 triviálistól eltérőt: | |
− | 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ó. | + | *#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ó. | |
− | 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 ezután a következő partíciót: (AC)(BD) |
− | BC egy csoportba tartozik -> OK | + | *#*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ó. |
− | BD is egy csoportba tartozik -> OK | + | *#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) |
− | CD egy csoportba tartozik, ha BC egy csoportba tartozik, ami igaz | + | *#*BCD egy csoportba tartozik, ha a benne lévő állapotok közül bármelyik 2 egy csoportba tartozik. Vegyük sorba: |
− | Láthatjuk, hogy BC, BD, CD mind a BCD csoportba vannak, tehát <math> \prod_{4} (BCD)(A) </math> is HT partíció. | + | *#**BC egy csoportba tartozik -> OK |
− | 2. | + | *#**BD is egy csoportba tartozik -> OK |
− | Mivel 4 állapotunk van, ezért minimum 2 szekunder változóra van szükségünk | + | *#**CD egy csoportba tartozik, ha BC egy csoportba tartozik, ami igaz -> OK |
− | 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. | + | *#*Láthatjuk, hogy BC, BD, CD mind a BCD csoportba vannak, tehát <math> \prod_{4} (BCD)(A) </math> is HT partíció. |
− | Nézzük meg p értékét a nem triviális partícióinkra: | + | |
− | + | === 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 | ||
+ | | style="text-align:center"|3 | ||
+ | | style="text-align:center"|3 | ||
|} | |} | ||
− | + | :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 | |
− | 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 | + | | 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