Sprzęt i architektura komputerów

Transkrypt

Sprzęt i architektura komputerów
Radosław Maciaszczyk
Sprzęt i architektura komputerów
Laboratorium
Temat:
Projektowanie detektora sekwencji
Katedra Architektury Komputerów i Telekomunikacji
SPIS TREŚCI
2.1.Przykład projektowy...............................................................................................................................2
2.1.1.Specyfikacja układu, określenie liczby wejść i wyjść układu................................................................2
2.1.2.Opracowanie opisu formalnego, opracowanie grafu stanów lub tablicę przejść i wyjść.....................2
2.1.3.Przypisanie stanom odpowiednich kodów binarnych.........................................................................4
2.1.4.Określenie równań wejściowych przerzutników.................................................................................4
2.1.5.Określenie równań wyjściowych przerzutników..................................................................................4
2.1.6.Optymalizacja......................................................................................................................................5
2.1.7.Wybór technologii i realizacja.............................................................................................................5
2.1.8.Weryfikacja..........................................................................................................................................5
1. W YM AGAN I A
Wykonanie niniejszego ćwiczenia wymaga od studenta posiadania wiedzy i umiejętności z zakresu:
• zasad działania oraz sposobów formalnego opisu przerzutników synchronicznych typu D i JK ze
szczególnym uwzględnieniem tablicy wzbudzeń,
• własności i zastosowań automatów Moore’a oraz Mealy’ego do opisu układów sekwencyjnych,
• zasad działania i sposobu projektowania detektora sekwencji,
• podstaw posługiwania się narzędziem Xilinx ISE, a w szczególności tworzenia projektu opartego na
schemacie, wykonania operacji implementacji, przeprowadzenia symulacji opartej na jednostce
testowej (ang. test bench) implementowanej w języku VHDL.
2. P R Z EBI EG Ć WI C ZEN I A
Projektowanie detektora sekwencji jest zagadnieniem bardzo obszernym i jako takie jest szeroko
omawiane w dostępnej literaturze. Niniejsze ćwiczenie ma na celu jedynie wstępne przedstawienie zasady
działania, struktur oraz elementów projektowania detektora sekwencji w oparciu o automat Moor’a W ra mach wstępu do praktycznych ćwiczeń zaprezentowany zostanie przykład projektowy wybranego detektora
sekwencji.
Zadanie projektowe można podzielić na 8 etapów
2.1. PRZYKŁAD PROJEKTOWY
Zadanie:
Zaprojektować układ wykrywający podaną sekwencję wejściową wykorzystując model automatu Moore’a i
przerzutniki typu D.
Sekwencja wejściowa : 0110011
2.1.1.
SPECYFIKACJA UKŁADU, OKREŚLENIE LICZBY WEJŚĆ I WYJŚĆ
UKŁADU
Układ ma jedno wejście i jedno wyjście
2.1.2.
OPRACOWANIE OPISU FORMALNEGO, OPRACOWANIE GRAFU
STANÓW LUB TABLICĘ PRZEJŚĆ I WYJŚĆ
Stany wewnętrzne oznaczają ilość symboli dostarczonych na wejściu spełniających jednocześnie sekwencję
wejściową.
Najpierw tworzymy pierwszy stan wewnętrzny oraz określamy stany wyjść układu. Następnie w zależności
od szukanej sekwencji określamy warunki przejścia do kolejnego stanu. W tym przypadku gdy na wejściu
pojawi się symbol 1 to układ pozostanie w tym stanie.
Gdy na wejściu pojawi się symbol 0 to zgodnie z badaną sekwencją układ będzie w stanie q2, zaś stan
wyjściowy nadal będzie miał wartość 0.
Po tym etapie projektowany układ rozpoznał symbol ”1” na wejściu. Teraz przystępujemy do badanie
kolejnego symbolu na wejściu układu. W przypadku, gdy to będzie symbol 1 to układ przejdzie do
następnego stanu „g3”, gdy to będzie symbol „0” to układ pozostanie w tym stanie, ponieważ stan q2
oznacza, że w ciągu wejściowym pojawiła się już sekwencja „0”. Układ w stanie q3 rozpoznał sekwencje
symboli „01”
Następnym szukanym symbolem jest również symbol „1”. Z tego względu układ przejdzie do stanu „q4” gdy
pojawi się na wejściu symbol „1” (rozpoznana sekwencja „011”) gdy pojawi się symbol „0”(rozpoznana
sekwencja 010 - nieprawidłowa) to układ powróci do stanu „q2” w którym rozpoznana jest już sekwencja
„0”. W przypadku braku odpowiedniej sekwencji, zawsze szukamy sekwencji odrzucając najstarszy symbol.
W naszym przypadku jeżeli z sekwencji „010” odrzucimy „0” to pozostanie sekwencja „10” która, jest
nieprawidłowa. W kolejnym kroku odrzucamy „symbol „1” i zostaje sekwencja „0”, a ta występuje w stanie
q2. Tak postępujemy do momentu zbudowania całego grafu. W efekcie dla sekwencji „0110011” otrzymamy
następujący graf:
Warto zauważyć, że wartość wyjściową 1 otrzymujemy tylko w stanie „q8”. Po znalezieniu odpowiedniej
sekwencji układ nie kasuje historii symboli i kontynuuje badanie sekwencji odrzucając najstarszy symbol. W
naszym przypadku jest to sekwencja „1100110” (gdy następny symbol to „0” lub „1100111” gdy następny
symbol to 1. Obydwie sekwencje są nieprawidłowe, odrzucając kolejne najstarsze symbole dochodzimy do
sytuacji, w której układ wraca do stanu q1 gdy na wejściu pojawił się symbol „1” i do stanu q2 gdy na
wejściu pojawił się symbol „0”
2.1.3.
PRZYPISANIE STANOM ODPOWIEDNICH KODÓW BINARNYCH
Na podstawie grafu tworzymy tablice stanów. Następnie poszczególnym stanom przypisujemy kody binarne.
Istnieją różne sposoby przypisywania kodów binarnych, i w zależności od przyjętych zasad wynikowy układ
może nie być optymalny. Rozpatrywany przykład posiada 8 stanów wejściowych, które da się zakodować na
3 bitach stąd: przyjęto że poszczególne stany będą miał y następujące wartości binarne:
Co w efekcie daje tablice stanów:
2.1.4.
OKREŚLENIE RÓWNAŃ WEJŚCIOWYCH PRZERZUTNIKÓW
Na podstawie tablicy stanów oraz tablicy wzbudzeń danego przerzutnika tworzymy tablice Karnaugh dla
każdego wejścia przerzutnika. W przypadku przerzutnika typu D jest to jedno wejście.
2.1.5.
OKREŚLENIE RÓWNAŃ WYJŚCIOWYCH PRZERZUTNIKÓW
Równanie dla przerzutnika Q1
Równanie dla przerzutnika Q2
Równanie dla przerzutnika Q3
Równanie wyjściowe
2.1.6.
OPTYMALIZACJA
Uzyskane równania są optymalne.
2.1.7.
WYBÓR TECHNOLOGII I REALIZACJA
2.1.8.
WERYFIK AC J A
Należy napisać własny testbench
3. Z AD ANI E
Zaprojektować i wykonać detektor sekwencji dla dowolnej 7-bitowej wartości sekwencji.
4. P OD SUM OWAN I E
W wyniku przeprowadzonego ćwiczenia, a także ćwiczeń poprzednich student powinien nabyć bądź
utrwalić następujące umiejętności:
• projektowanie detektora sekwencji opartego na przerzutnikach typu D,
• posługiwanie się narzędziem Xilinx ISE w zakresie utworzenia schematu oraz przeprowadzenia
elementarnego testowania układu za pomocą pliku zawierającego jednostkę testującą (test bench).

Podobne dokumenty