„Digitális technika 1 - HT partíciók” változatai közötti eltérés

A VIK Wikiből
Kory (vitalap | szerkesztései)
Nincs szerkesztési összefoglaló
Szikszayl (vitalap | szerkesztései)
aNincs szerkesztési összefoglaló
 
(10 közbenső módosítás, amit 2 másik szerkesztő végzett, nincs mutatva)
1. sor: 1. sor:
-- [[GyurjanIstvan|ANewsEE]] - 2008.12.03.
{{vissza|Digitális technika 1}}
==HT partíciók - egy példán keresztül==
 
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


{| border="1"
{|class="wikitable"
|*y \ X1X2* || '''00''' || '''01''' || '''11''' || '''10'''  
! width="25%"|'''y \ X1X2'''
! width="10%"|'''00'''
! width="10%"|'''01'''
! width="10%"|'''11'''
! width="10%"|'''10'''
|-
|-
| *A|| C 1 || C 1 || A 1 || D 1
! '''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|| B 1 || A 1 || A 1 || C 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|| C 0 || A 0 || A 0 || B 0
! '''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|| D 0 || A 0 || A 0 || C 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====
 
1.
== Megoldás: ==
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>
=== 1. Feladat: ===
minden állapot egy blokkban: esetünkben <math> \prod_{2} (ABCD) </math><br />
 
Keressünk 2 triviálistól eltérőt:
*A triviális HT partíciók: 2 ilyen van
vizsgáljuk meg például a következő partíciót: (AB)(CD)
**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 - hiszen a mostani 2 csoportunk AB és CD -, így (AB)(CD) nem HT partíció.<br />
**Minden állapot egy blokkban, esetünkben: <math> \prod_{2} (ABCD) </math><br />
vizsgáljuk meg ezután a következő partíciót: (AC)(BD)
*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)
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)
*#*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. -> OK
*#*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(<math> 2^2 = 4 </math>).
*#**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. *A* az egy blokkban előforduló állapotok legnagyobb száma, *B* pedig a blokkok száma
*#*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:
 
  |*HT*||*B*||*A*||*p*
=== 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
|}
|}
  |<math>\prod_{3}</math>||2||2||2
: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
|}
|}
  |<math>\prod_{4}</math>||2||3||3
:Í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.
|}
 
  Tehát <math>\prod_{3}</math> minimális.
=== 3. Feladat: ===
kódolás:
 
  |* *||*y1*||*y2*
*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:
|}
 
  |*A*||0||0
:{|class="wikitable"
|}
! width="25%"|'''y \ X1X2'''
  |*C*||0||1
! width="10%"|'''00'''
|}
! width="10%"|'''01'''
  |*B*||1||0
! width="10%"|'''11'''
|}
! width="10%"|'''10'''
  |*D*||1||1
|-
|}
! '''00'''
  Í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.
| 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
  |*y1y2 \ X1X2 *|| '''00''' || '''01''' || '''11''' || '''10'''  
| style="text-align:center"|00 1
|}
| style="text-align:center"|11 1
  | '''00''' || 01 1 || 01 1 || 00 1 || 11 1
|-
|}
! '''10'''
  | '''10''' || 10 1 || 00 1 || 00 1 || 01 1
| style="text-align:center"|10 1
|}
| style="text-align:center"|00 1
  | '''01''' || 01 0 || 00 0 || 00 0 || 10 0
| style="text-align:center"|00 1
|}
| style="text-align:center"|01 1
  | '''11''' || 11 0 || 00 0 || 00 0 || 01 0
|-
! '''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]]
[[Category:Villanyalap]]

A lap jelenlegi, 2014. március 13., 14: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!

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.

  1. Adja meg a triviális HT partíciókat és legalább kettő, triviálistól eltérő HT partíciót.
  2. 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ő!
  3. 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:
    1. 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ó.
    2. 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ó.
    3. 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ó.

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
B 0 1
C 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.

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