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

A VIK Wikiből
Ugrás a navigációhoz Ugrás a kereséshez
(Ú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ó…”)
 
1. sor: 1. sor:
{{GlobalTemplate|Villanyalap|Htpart}}
 
 
 
-- [[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.
+
1.
** A triviális HT partíciók: 2 ilyen van
+
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 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 />
+
minden állapot egy blokkban: esetünkben <math> \prod_{2} (ABCD) </math><br />
** Keressünk 2 triviálistól eltérőt:
+
Keressünk 2 triviálistól eltérőt:
### vizsgáljuk meg például a következő partíciót: (AB)(CD)
+
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 />
+
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)
+
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ó.
+
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)
+
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:
+
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
+
BC egy csoportba tartozik -> OK
***** BD is egy csoportba tartozik -> OK
+
BD is egy csoportba tartozik -> OK
***** CD egy csoportba tartozik, ha BC egy csoportba tartozik, ami igaz. -> 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ó.
+
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.
** Mivel 4 állapotunk van, ezért minimum 2 szekunder változóra van szükségünk(<math> 2^2 = 4 </math>).
+
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
+
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:
 
  |*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:
+
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.
+
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., 19: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.

  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. 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, 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* |} |[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 |} |*C*||0||1 |} |*B*||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. 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 |}