Title | E Bramka Logiczna asynchroniczne |
---|---|
Course | Technika cyfrowa |
Institution | Politechnika Bialostocka |
Pages | 13 |
File Size | 976.7 KB |
File Type | |
Total Downloads | 183 |
Total Views | 234 |
Technika cyfrowa: Jak nie w sesji Part 3: asynchroniczne skurwiele. Witam w ostatniej Na nie umiem tych Zawsze znajdzie jebany wyjebie w kosmos. Po opanowaniu kurwicy z synchronicznymi, czas dalej! Witaj, przygodo! Przed do nauki, zalecam zaznajomienie z zagadnieniami: 1. asynchroniczne na W zasadzi...
Technikacyfrowa:Jaknieponieśćporażkiwsesjipoprawkowej® Part3:Układyasynchronicznepodstępneskurwiele. Witam w ostatniej części. Na 100% nie umiem tych układów. Zawsze znajdzie się jakiś jebanyprzykład,którywyjebiemójmózgwkosmos. Po opanowaniu kurwicy związanej z układami synchronicznymi, czas ruszyć dalej! Witaj, przygodo! Przedprzystąpieniemdonauki,zalecamzaznajomieniesięzponiższymizagadnieniami: 1. Układyasynchronicznenaważniaku. Wzasadziewystarczy.Lecimyzzadaniem. Zaprojektuj układ o dwóch wejściach x 1 , x 2 i wyjściu y, pracujący według zadanegowykresu czasowego.
Jeśli dostanie się zadanie z narysowanym przebiegiem czasowym można skakać z radości.Jeślisięmusisamemuzrobićprzebiegczasowytrzebacośtamzmalować. Zadanie zaczynamy od “nadania nazw” stanom (przedtem oczywiście robimy linie przerywane dla każdego stanu). Poszczególne stany wyróżniają się kombinacjami ukazanymi na wykresie czasowym. Bierzemy obszar między literami oznaczającymi nazwy wejść, a pierwszą linią przerywaną. Stan x1 wynosi 0, stan x2 wynosi 0, stan y wynosi 0. Zatemkombinację000oznaczmyjakostan“0”.Nanosimytonawykres.
1
Lecimydalej,x1=1,x2=0,y=0,100,oznaczamytojakostan“1”.
Kolejnasekwencjato000,atakistanjużmamy,więcwpisujemy“0”.
Następnąsekwencjąjest010,dajemynazwę“2”.
Itakdalej…Końcowyefekt:
2
Kolejnym krokiem w drodze do rozwiązania zadania jest sporządzenie tablicy prawdy na podstawiewykresuczasowegoopisanegojużprzezstany.Rysujemysobietabelę.
wejścia
wyjście
stan\x1x2
00
01
11
10
Y
0
1
2
3
4
W komórkach tabeli będziemy zaznaczali stany następne, w które układ się przenosi,gdy na wejściu zostaną podanejakieśbityzx1i x2.Weźmy stan 0. Na wejścia wchodzi 00, patrzymy na wykres. x1 i x2 są zerami tylko w stanie 0. Z tego wynika, że będąc w stanie 0 i dostając 00 na wejściach, nie zmieniamy stanu, tylko w nim pozostajemy. Jeśli w układzie mamy moment, że zostajemy w danym stanie to taki stan nazywamy stanem stabilnym. Stany stabilne bierzemy w kółeczko. Ja będę je zaznaczać pogrubioną czcionką i podkreśleniem, boniechcemisięztympierdolić.Zatemwpisujemy0dopierwszejkomórkiwtablicy.
wejścia
wyjście
stan\x1x2
00
01
11
10
Y
0
0
1
2
3
4
No dobra. Jesteśmy w stanie 0 i na wejścia wchodzi kombinacja 01. Patrzymy na wykres, czy jest taki moment, gdzie x1 i x2 zmieniają się z sekwencji 00 na 01. Jest to ważne, bo taka zmiana musi wystąpić obok siebie. I widzimy, że takie coś się znajduje. Ze stanu 0, układ przechodziwstan2,któregowejściasązakodowanejako01.Wpisujemydotabeli.
3
wejścia
wyjście
stan\x1x2
00
01
11
10
Y
0
0
2
1
2
3
4
I jest spoko. Jesteśmy w stanie 0 i przychodzi na wejście nam kombinacja 11. Patrzymy na wykres i nie możemy znaleźć takiego momentu, w którym ze stanu 0 przechodzimy do stanu,wktórymx1x2wynosi11.Jesttostannieokreślony.Stawiamykreskę.
wejścia
wyjście
stan\x1x2
00
01
11
10
Y
0
0
2
1
2
3
4
Jesteśmy w stanie 0 i na wejście przychodzi 10. Patrzymy na wykres. Szukamy przejścia z 00 na 10. Odnajdujemy takie. Jest to stan 1. Wpisujemy do tabeli 1 i przechodzimy do stanu 1. Tam na wejście przychodzi nam 00. Patrzymy na wykres. Taka sytuacja zdarza się w przypadkuprzejściazestanu1dostanu0.Wpisujemy0równieżdotabeli.
wejścia
wyjście
stan\x1x2
00
01
11
10
Y
0
0
2
1
1
0
2
3
4
4
Jesteśmy w stanie 1, na wejściu pojawia się 01. Szukamy takiego zdarzenia na wykresie. Niestety nie ma go. Jest to stan nieokreślony. Wstawiamy go do tabeli. Wyjście y też możemyuzupełnić.Dlastanu0wyjścieywynosi0.Odczytujemywszystkozwykresu.
wejścia
wyjście
stan\x1x2
00
01
11
10
Y
0
0
2
1
0
1
0
2
3
4
I tak dalej wypełniamy tablicę. Każde wpisanie musi być uzasadnione wykresem, żadna z cyfrniejestbranazkosmosu.
wejścia
wyjście
stan\x1x2
00
01
11
10
Y
0
0
2
1
0
1
0
1
0
2
3
2
0
3
3
4
1
1
4
3
4
1
Następnym krokiem jest sprawdzenie czy można zredukować liczbę stanów. Robi się to bardzo fajnie. W tablicy szukamy stanów zgodnych, czyli takich, których stany następne oraz wyjścia są między sobą zgodne. Porównajmy stany 0 i 1. Stan następny po otrzymaniu na wejściu to w obu przypadkach 0. Patrzymy dalej. Stan po otrzymaniu 01 na wejściu to 2 w przypadku stanu 0 i stan nieokreślony w przypadku stanu 1. Tu również zachodzi zgodność. Stan po otrzymaniu 11 na wejście, to stan nieokreślony w obu przypadkach zgodność. Stan po otrzymaniu 10 na wejście, to stan 1 w obu przypadkach. Patrzymy na wyjście. Wyjście również jest zgodne. W obu przypadkach znajduje się 0 na wyjściu. Wynika z tego, że stany 0 i 1 są stanami zgodnymi. Zaznaczamy to sobie. Można też napisać: stany 0 i 1 są zgodne. Porównującstany3i4równieżdochodzimydowniosku,żesązgodne. 5
wejścia
wyjście
stan\x1x2
00
01
11
10
Y
0
0
2
1
0
1
0
1
0
2
3
2
0
3
3
4
1
1
4
3
4
1
Najlepiejnarysowaćsobietakiecośoznaczającestanyzgodne:
Stan2niejestzgodnyzżadnyminnymstanem,więcjestsam:( Następnym krokiem jest nadanie stanom zgodnym nowych nazw. Mogą to być nawet litery, żebysięniepierdoliłowgłowie.
Teraz musimy uwzględnić zmianę nazw stanów w tablicy prawdy. Zamiast stanu 0 i 1 będziemyużywaćliteryA,zamiaststanu2literęB,azamiaststanów3i4literęC.
wejścia
wyjście
stan\x1x2
00
01
11
10
Y
(0,1)A
(2)B
(3,4)C
6
Patrzymy do starej tablicy. Dla stanów 0 i 1 po przyjściu 00 na wejścia, układ znajdował się wstanie0.Wpisujemydo tablicy nowy znak dla stanu 0 i 1, czyli A. Jest to stan stabilny więc bierzemy w kółeczko (ja pogrubiam czcionkę). Dalej w stanie 0 i 1 na wejście przychodzi nam 01. W tablicy mamy, że układ przyjmuje stan 2 dla 0 i stan nieokreślony dla 1. Zasada jest prosta: jeśli mamy jakiś stan różny od stanu nieokreślonego i stan nieokreślony, to wpisujemy ten jakiś stan, różny od stanu nieokreślonego. W tym przypadku jest to 2, czyli B. I tak dalej i dalej. Jeśli w obu stanach mamy stan nieokreślony, to stan nieokreślony pozostaje. Wyjście Y pozostaje niezmienione. Taką wartość, jaką miało w pierwszej tablicy prawdy,takiemateraz.
wejścia
wyjście
stan\x1x2
00
01
11
10
Y
(0,1)A
A
B
A
0
(2)B
C
B
0
(3,4)C
C
C
A
1
Teraz robimy kolejną transformację. Dla stanu A przypisujemy kombinację 00, stan B to teraz01,astanC11.CzylikodGraya.Zapisujemytonanowowtablicy:
wejścia
wyjście
(stan)Q1Q0\x1x2
00
01
11
10
Y
(A)00
00
01
00
0
(B)01
11
01
0
(C)11
11
11
00
1
Teraz robimy coś, co jest popierdolone. Rysujemy kropeczki reprezentujące biedę… tzn. każdystan.Jednakropkatojedenstan.Podpisujemyje.Docelowomawyjśćztegograf.
I z tych właśnie kropeczek będziemy rysować strzałeczki do stanów, do których przechodzi układ. Weźmy sobie stan A(00). Patrzymy do tabeli, widzimy, że stan A przechodzi w stan A idostanuB(01).PętelkiprzyAnietrzebarysować.WystarczystrzałkadoB. 7
Teraz przechodzimy do stanu B. W stanie B. automat może przejść do stanu C(11) albo pozostaćwstanieB.RysujemystrzałkędoC.
W stanie C, układ może teoretycznie przejść do stanu A lub pozostać w stanie C. Teoria nie przekłada się na praktykę, ponieważ przy przejściu ze stanu C do stanu A musiałyby zostać zmienione 2 bity w jednym momencie (z 11 do 00). W takim wypadku musimy utworzyć czwartystanD(10)orazzmodyfikowaćtablicęprawdy.Najpierwrysujemydodatkowystan:
A teraz w tablicy prawdy zmieniamy w stanie C przy dostaniu na wejście 10, że przechodzimy do stanu D(10), zamiast przejścia z powrotem do stanu A. Następnie w stanie D, kiedy na wejściu pojawia się 10, wpisujemy, że wtedy układ przechodzi do stanu A(00). Na wyjściu w stanie D ustawiamy 0. Dzięki temu zabiegowi unikniemy tak zwanego wyścigu krytycznego polegającego na jednoczesnej próbie zmiany wartości dwóch bitów. Pojebane jaklatozradiem.
wejścia
wyjście
(stan)Q1Q0\x1x2
00
01
11
10
Y
(A)00
00
01
00
0
(B)01
11
01
0
(C)11
11
11
10
1
(D)10
00
0
8
Kiedysprawawyścigukrytycznegojestzałatwiona,poranakolejnykrok.
Znany z układów synchronicznych myk. Bierzemy rząd bitów Q0 i wpisujemy do nowej tablicy.
wejścia
(stan)Q1Q0\x1x2
00
01
11
10
(A)00
0
1
0
(B)01
1
1
(C)11
1
1
0
(D)10
0
___ ZaznaczamygrupyjedynekiotrzymujemywzórQ0’=x1Q0+x1Q1+x2+Q1Q0
RobimytaksamozrzędemQ1.
Wstawiamydotablicyzaznaczonewartości. 9
wejścia
(stan)Q1Q0\x1x2
00
01
11
10
(A)00
0
0
0
(B)01
1
0
(C)11
1
1
1
(D)10
_ ZaznaczamyjedynkiiotrzymujemywzorekfunkcjiQ1’=Q1+x2Q0+x1Q0
wyjście
(stan)Q1Q0\x1x2
Y
(A)00
0
(B)01
0
(C)11
1
(D)10
0
Aztejtabeliwyciągamywzórnafunkcjęwyjściay=Q1Q0 Mamyjużwszystko,czegopotrzebujemydozmontowaniaukładu.
10
Takwyglądaukład. Terazpokażęcwanezagrywki,naktórychmożnasięwyjebać. Czywtymgrafiewystępujewyścigkrytyczny?
Stany mają następujące wartości: A 00, B 01, C 11, D 10. Odpowiedź brzmi: tak. Dlaczego? Linie nie mogą się krzyżować. Trzeba temu jakoś zapobiec. W tym celu wystarczy zamienić kolejnością C i D oraz zamienić ich wartości. Czyli teraz C to 10, a D 11. Taką zmianę należy też uwzględnić w tablicy prawdy. A najlepiej kodować stany po wykonaniugrafu.
Terazjestspoko. 11
Wtrudniejszychzadaniachilośćstanówmożewynieśćnawet8.Wtedyrobimytakigraf:
Jeszcze wstawię screen jakiegoś przebiegu czasowego zbudowanego na podstawie treści zadania.
Oznaczenia: ggenerator b jakiś sygnał, w zadaniu było, że gdy b=0, to wyjście (y) powtarza sygnał generatora, a gdyb=1,nawyjściusąblokowanedwanastępneimpulsygeneratora ywyjście Zadanie nie określa z jaką częstotliwością mają być powtarzane sygnały. To musimy dopasować sobie sami i zrobić to jak najdokładniej, by uwzględnić wszystkie stany, które mogąsiępojawićwdanymukładzie. Wzasadzietowszystko,cochciałemprzekazać. Nakoniecalgorytmpostępowania. 1. Sporządzeniewykresuprzebieguczasowegodlaukładu,jeślitakowegoniema. 2. Nadanienazwstanomwystępującymnawykresieczasowym. 3. Tablicaprawdy. 4. Redukcjaliczbystanów. 5. Nadanienazwnowymstanom(np.A,B,C…). 6. Zrobieniegrafupokazującegoczywystępujewyścigkrytyczny. 7. Jeśliwyścigkrytycznywystępuje,niwelujemygo. 8. Kodowaniestanów(00,01,11,10…). 9. Rozbicie tablicy dla poszczególnych Qn, zaznaczenie grup jedynek, określenie wzorów. 10. Narysowanieukładu. Koniec. 12
13...