Cyfrowe systemy asynchroniczne cz.2
Poniedziałek, 01 Listopad 2010
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
Zobacz więcej w kategorii Notatnik konstruktora