Cyfrowe systemy asynchroniczne cz.2

Cyfrowe systemy asynchroniczne cz.2
Pobierz PDF Download icon
Większość współcześnie projektowanych systemów cyfrowych opiera się na dwóch zasadach: wszystkie sygnały są binarne oraz czas ma naturę dyskretną określoną przez kolejne takty sygnału zegarowego. Odrzucenie drugiego z założeń prowadzi systemów określanych jako asynchroniczne.
79ELEKTRONIKA PRAKTYCZNA 11/2010 Cyfrowe systemy asynchroniczne Dodatkowe materiały na CD i FTP Układy asynchroniczne typu Huffmana Przegląd rodzajów układów asynchro- nicznych rozpoczniemy od klasycznych układów Huffmana. Takie układy asynchro- niczne są oparte na modelu ograniczonych opóźnień. W modelu zakłada się, że opóźnie- nia wszystkich elementów układu oraz prze- wodów łączących te elementy są znane lub przynajmniej ograniczone od góry. Struktura układów Huffmana jest zbliżona do struktu- ry układów synchronicznych (rysunek  5), w  których zamiast przerzutników taktowa- nych zewnętrznym sygnałem zegarowym, w  pętli sprzężenia zwrotnego znajdują się elementy opóźniające. Dla modelu z rysun- ku 5 istotne jest, aby stan wyjść z1 ?zm ukła- du kombinacyjnego, spowodowany zmianą Cyfrowe systemy asynchroniczne (2) Większość współcześnie projektowanych systemów cyfrowych opiera się na dwóch zasadach: wszystkie sygnały są binarne oraz czas ma naturę dyskretną określoną przez kolejne takty sygnału zegarowego. Odrzucenie drugiego z  założeń prowadzi systemów określanych jako asynchroniczne. stanu wejść x1 ?xn , został ustalony wcześniej niż nastąpi zmiana stanu bieżącego całego układu (także stanu wyjść y1 ?yk ). Ponadto, tylko jeden bit zmiennych stanu y1 ?yk może zmieniać się w czasie. Wymienione założe- nia prowadzą do tzw. trybu podstawowego pracy układu (fundamental mode), w  któ- rym kolejna zmiana stanów wyjść układu nie może nastąpić wcześniej, niż cały układ osiągnie stan stabilny po poprzedniej zmia- nie stanów wejść. Przykład prostego asynchronicznego układu typu Huffmana pokazaliśmy już na rysunku  4 (część 1.) przy omawianiu zja- wiska hazardu w układach sekwencyjnych. Projektowanie układów asynchronicznych Huffmana, chociaż jest znacznie trudniejsze od metod projektowania układów synchro- nicznych (eliminacja hazardów, odpowied- nie kodowanie stanów w celu uniknięcia wy- ścigów), należy do podstaw teorii układów cyfrowych i  jest dobrze udokumentowane również w  polskiej bibliografii [6]. Dlatego skoncentrujemy się na innych typach ukła- dów asynchronicznych nieopisywanych w  publikacjach książkowych w  języku pol- skim. Układy asynchroniczne z samotaktowaniem Układy z samotaktowaniem (self-clocked) (rysunek 6) mają bardzo zbliżoną strukturę do układów synchronicznych. Również wy- stępuje w nim pamięć stanu układu z uży- ciem przerzutników wyzwalanych zboczem (flip-flop) oraz blok logiki kombinacyjnej odpowiedzialny za wyznaczenie następne- go stanu automatu na podstawie aktualnego stanu wejścia i  stanu bieżącego automatu. Jednak w przeciwieństwie do układów syn- chronicznych, impuls zegarowy taktujący przerzutniki, wytwarzany jest lokalnie w od- powiedzi na zmianę stanu wejścia układu lub jedynie wówczas, gdy konieczna jest zmiana stanu automatu. W  jednej z  pierwszych prac (datowanej na rok 1971) dotyczących syntezy układów asynchronicznych z  samotaktowaniem au- torzy zaproponowali wytworzenie impulsu w odpowiedzi na zmianę stanu wejścia ukła- du i zastosowanie tego sygnału do taktowania przerzutników wyzwalanych zboczem, peł- niących rolę pamięci zmiennych stanu auto- matu asynchronicznego (rysunek  6). Impuls taktujący jest generowany poprzez sumator modulo 2 wykrywający zmianę stanu wejścia i przerzutnik monostabilny wytwarzający im- puls o odpowiedniej szerokości. Dodatkowo, jest potrzebny element opóźniający wytwo- rzony sygnał zegarowy zapewniający zacho- wanie czasu ustalania danych na wejściach przerzutnika, jak również ustalenie wartości na wyjściu Y1 układu kombinacyjnego (hazar- dy). W takim przypadku synteza układu jest bardzo podobna do syntezy układów syn- chronicznych. Istotną zaletą takiego podej- ścia jest to, że problem hazardów i wyścigów został wyeliminowany, podobnie jak ma to miejsce w układach synchronicznych. Po opublikowaniu wspomnianej pracy opisano wiele modyfikacji pierwotnej archi- tektury układów z samotaktowaniem. W jed- Rysunek 5. Klasyczny układ asynchroniczny typu Huffmana Rysunek 6. Ogólny model układu asynchronicznego z samotaktowaniem ? sygnał zegarowy jest funkcją zmiennych wejściowych NOTATNIK KONSTRUKTORA 80 ELEKTRONIKA PRAKTYCZNA 11/2010 NOTATNIK KONSTRUKTORA go ? rysunek 7. W przypadku zastosowania przerzutników typu D jako pamięci stanu, układ generujący impuls zegarowy może być zrealizowany jako zwykły komparator porównujący bieżący stan automatu (wyjście przerzutnika) ze stanem następnym (wejście D). W momencie, gdy stany będą różne, zo- stanie wytworzony impuls zegarowy. Wadą tej architektury jest konieczność wyeliminowania zjawiska hazardu w  ukła- dzie kombinacyjnym odpowiadającym za wyznaczenie następnego stanu automatu (Y1 ). Inną wadą jest konieczność zastosowa- nia obwodu opóźniającego (blok D), co nie jest łatwe do implementacji w  strukturach VLSI i  dodatkowo spowalnia działanie ca- łego układu. Jednak zaletą jest to, że sposób kodowania stanów może być dowolny (nie- istotne są wyścigi). Przykładami asynchronicznych automa- tów sekwencyjnych z lokalnie generowanym sygnałem zegarowym są układy pracujące w trybie pakietowym (burst-mode) [7]. Ukła- dy te muszą spełniać ograniczenie do trybu podstawowego, ale pozwalają na jednocze- sną zmianę stanu wielu wejść (MIC). Na rysunku  8 przedstawiono schemat blokowy asynchronicznego automatu se- kwencyjnego z  lokalnie generowanym sy- gnałem zegarowym, pracującego w  trybie pakietowym. Automat składa się z  układu kombinacyjnego CL, elementów pamięcio- wych ? zatrzasków, kombinacyjnego bloku wytwarzania sygnału zegara, zespołu wejść oznaczonych jako IN, wyjść OUT oraz zmien- nych stanu S, które podawane są zwrotnie do układów kombinacyjnych. Zmiana stanu au- tomatu następuje tylko wówczas, gdy pojawi się nowy pakiet wejściowy (nastąpi zmiana stanu wybranych wejść określanych jako pakiet wejściowy). Z tego powodu sygnał ze- gara zależy tylko od bieżącej wartości wejść oraz stanu, w którym aktualnie znajduje się automat. Układ wytwarzający sygnał zega- Rysunek 9. Przykładowy układ pracujący w trybie pakietowym: a) specyfikacja, b) implementacja Rysunek 7. Model układu asynchronicznego z samotaktowaniem ? sygnał zegarowy jako funkcja stanów bieżącego i następnego Rysunek 8. Struktura układu asynchronicznego pracującego w trybie pakietowym (burst mode) nym układów impuls zegarowy wytwarzany jest tylko w  momencie, gdy występuje nie- zgodność bieżącego stan automatu ze stanem następnym. Impuls zegarowy po przejściu przez element opóźniający taktuje zespół przerzutników typu flip-flop. Obwód wytwa- rzający impuls zegarowy jest niezależny od pozostałej części automatu asynchroniczne- 81ELEKTRONIKA PRAKTYCZNA 11/2010 Cyfrowe systemy asynchroniczne rowy jest układem kombinacyjnym. Sygnał zegarowy jest odwracany w  fazie, aby od- powiednio sterować pracą zatrzasków fazy 1 oraz fazy 2. Zmienne wyjściowe (OUT) są podawane na wejścia rejestrów zatrza- skowych fazy 1. Rejestry te przepisuj dane, gdy sygnał zegarowy przyjmuje poziom ni- ski. Z kolei zmienne stanu przechodzą przez parę rejestrów zatrzaskowych fazy 1 oraz fazy 2, formując w  ten sposób przerzutnik typu flip-flop wyzwalany zboczem. Wartości zmiennych stanu są zatrzaskiwane, gdy sy- gnał zegara przyjmuje poziom niski. Rejestry zatrzaskowe fazy 2 są statyczne, podczas gdy zatrzaski fazy 1 mogą być zarówno statyczne jak i dynamiczne. Na rysunku 9 przedstawiono specyfika- cję przykładowego, asynchronicznego auto- matu sekwencyjnego pracującego w  trybie pakietowym oraz jego implementację. Każde przejście ze stanu do stanu na grafie automa- tu jest etykietowane następująco: podawany jest pakiet wejściowy, za którym następuje pakiet wyjściowy. Obydwa pakiety przedzie- lone są znakiem ukośnika (slash). Zbocze narastające oznaczone jest jako ?+?, a opada- jące jako ???. Graf przedstawiony na rys. 9a opisuje prosty układ sterujący o 3 wejściach (a, b, c) oraz 2 wyjściach (x, y). Implementacja automatu, pokazana na rys. 9b opiera się na nieco zmodyfikowa- nej specyfikacji grafu, dla której dokonano redukcji stanów (redukcja może być doko- nana metodami stosowanymi dla układów synchronicznych). Stany A oraz B zostały ze sobą połączone (zmienna stanu q=0), podobnie połączono stany C, D oraz E (zmienna stanu q=1). Analizując zaprezentowaną imple- mentację możemy zauważyć, że impuls zegarowy jest generowany tylko wówczas, gdy konieczna jest zmiana stanu automa- tu (np. ze stanu B do C). Dla pozostałych przejść impuls zegarowy nie jest wytwa- rzany, nawet jeśli konieczna jest zmiana wartości wyjść, np. ze stanu A  do stanu B. Ogólnie, wyjście sygnału zegarowego jest ustawiane w momencie nadejścia od- powiedniego pakietu wejściowego, a  ka- sowane w  wyniku zmiany stanu całego automatu. Zaletą tego rozwiązania jest, że układ logiczny odpowiedzialny za zmianę sta- nu automatu może być projektowany tak samo, jak synchroniczny. Jednak układy kombinacyjne, których zadaniem jest wy- tworzenie sygnału zegarowego oraz zmiana wartości wyjść muszą być wolne od zjawi- ska hazardu. Proces projektowania ukła- dów asynchronicznych pracujących w try- bie pakietowym został również w  znacz- nym stopniu zautomatyzowany [7]. Podsumowanie Prezentacja podstawowych zagadnień dotyczących układów asynchronicznych, omówienie ich wad i zalet, a także opis naj- częściej cytowanych w literaturze przedmio- tu ich rozwiązań architektonicznych, z pew- nością zwróci uwagę Czytelników na te, trochę zaniedbane w zastosowaniach układy cyfrowe. Zbigniew Hajduk zhajduk@prz-rzeszow.pl Bibliografia: 1. Myers Ch. J.: Asynchronous Circuit Design, John Wiley & Sons Inc., 2001. 2. Hauck S.: Asynchronous Design Method- ologies: An Overview, 3. Handshake Solutions: http://www.hand- shakesolutions.com/. 4. Borkar S.: Does asynchronous logic design really have a future?, EE Times, 2003. 5. Unger S. H., Hazards, Critical Races and Metastability, IEEE Trans. on Comp., Vol. 44, No. 6, June 1995. 6. Kalisz J., Podstawy elektroniki cyfrowej, WKŁ, Warszawa 1998. 7. Nowick S. M.: Automatic Synthesis of Burst- Mode Asynchronous Controllers, Technical Report, CSL-TR-95-686, December 1995. R E K L A M A
Artykuł ukazał się w
Listopad 2010
DO POBRANIA
Pobierz PDF Download icon
Elektronika Praktyczna Plus lipiec - grudzień 2012

Elektronika Praktyczna Plus

Monograficzne wydania specjalne

Elektronik czerwiec 2020

Elektronik

Magazyn elektroniki profesjonalnej

Raspberry Pi 2015

Raspberry Pi

Wykorzystaj wszystkie możliwości wyjątkowego minikomputera

Świat Radio lipiec 2020

Świat Radio

Magazyn użytkowników eteru

APA - Automatyka Podzespoły Aplikacje czerwiec 2020

APA - Automatyka Podzespoły Aplikacje

Technika i rynek systemów automatyki

Elektronika Praktyczna czerwiec 2020

Elektronika Praktyczna

Międzynarodowy magazyn elektroników konstruktorów

Praktyczny Kurs Elektroniki 2018

Praktyczny Kurs Elektroniki

24 pasjonujące projekty elektroniczne

Elektronika dla Wszystkich czerwiec 2020

Elektronika dla Wszystkich

Interesująca elektronika dla pasjonatów