VHDL_MaterialyNaStrone.pdf

(404 KB) Pobierz
Język opisu sprzętu VHDL
Materiały pomocnicze dla przedmiotu
"Technika cyfrowa i mikroprocesorowa" II/III RA
Krzysztof Kołek
Katedra Automatyki, Akademia Górniczo-Hutnicza
Al. Mickiewicza 30, 30-059 Kraków
tel. (0-12) 617-20-97
kko@ia.agh.edu.pl
- 2 -
Język opisu sprzętu VHDL
Spis treści
1.
WSTĘP............................................................................................................................................................5
2. PODSTAWOWE POJĘCIA JĘZYKA VHDL ............................................................................................7
2.1. P REDEFINIOWANE TYPY ............................................................................................................................7
2.2. L OGIKA WIELOWARTOŚCIOWA ...................................................................................................................7
2.3. K OMPONENTY ...........................................................................................................................................8
2.4. P AKIETY ....................................................................................................................................................9
2.5. P ODPROGRAMY .........................................................................................................................................9
2.6. O PERATORY ............................................................................................................................................10
2.7. S YGNAŁY , ZMIENNE , STAŁE ....................................................................................................................11
2.8. D EFINICJA I UśYCIE TYPÓW .....................................................................................................................14
2.9. R ÓWNOLEGŁE ORAZ SZEREGOWE WYKONANIE INSTRUKCJI . K ONCEPCJA PROCESU .................................15
2.10. Z AWIESZANIE WYKONANIA PROCESU ..................................................................................................17
2.11. I NSTRUKCJE WYKONYWANE SZEREGOWO ...........................................................................................19
2.12. C YKL " DELTA " ....................................................................................................................................21
2.13. A TRYBUTY ..........................................................................................................................................22
2.14. P OZOSTAŁE CECHY JĘZYKA .................................................................................................................23
2.15. P RZEŁADOWANIE OPERATORÓW .........................................................................................................23
3. STRUKTURALNY OPIS SPRZĘTU .........................................................................................................24
3.1. S UMATOR 4- BITOWY . O PIS STRUKTURALNY ............................................................................................24
3.2. G ENERATOR NUMERÓW GÓRNIKÓW . P ROJEKT W POSTACI SCHEMATU ELEKTRYCZNEGO ........................30
4. BEHAWIORALNY OPIS SPRZĘTU ........................................................................................................34
4.1. W IELOKROTNE WYWOŁANIE PROCESU ....................................................................................................34
4.2. D EFINIOWANIE REJESTRÓW .....................................................................................................................35
4.3. C ZTEROBITOWY REJESTR Z RÓWNOLEGŁYM ŁADOWANIEM I ASYNCHRONICZNYM ZEROWANIEM ............37
4.4. C ZTEROBITOWY BINARNY LICZNIK ASYNCHRONICZNY ............................................................................38
4.5. K ONWERTER KODU BCD NA KOD WYŚWIETLACZA SIEDMIOSEGMENTOWEGO .........................................39
4.6. M ULTIPLEKSER 4 NA 1 ............................................................................................................................39
4.7. C ZTEROBITOWY REJESTR PRZESUWAJĄCY ...............................................................................................40
4.8. C ZTEROBITOWY LICZNIK SYNCHRONICZNY Z WEJŚCIEM ZEZWALAJĄCYM NA ZLICZANIE ,
ASYNCHRONICZNYM ZEROWANIEM I SYNCHRONICZNYM ŁADOWANIEM ..............................................................40
4.9. B UFOR TRÓJSTANOWY ............................................................................................................................41
4.10. F UNKCJA KONWERSJI TYPU BIT _ VECTOR DO TYPU INTEGER ................................................................41
4.11. A UTOMAT O SKOŃCZONEJ LICZBIE STANÓW ........................................................................................42
4.12. I MPLEMENTACJA UKŁADÓW Z RODZINY TTL ......................................................................................43
4.12.1. Implementacja układu 7400 .......................................................................................................44
4.12.2. Implementacja układu 74138 .....................................................................................................44
5. WYKAZ FUNKCJI JĘZYKA VHDL ........................................................................................................46
5.1.
A TRYBUTY ..............................................................................................................................................46
5.2.
D EFINICJA TABLIC ...................................................................................................................................47
5.3.
I NSTRUKCJA CASE ...................................................................................................................................48
5.4.
S CALANIE WARTOŚCI ( ANG . AGGREGATE ) ...............................................................................................49
5.5.
T YP B IT ...................................................................................................................................................50
5.6.
T YP B IT _V ECTOR ...................................................................................................................................50
5.7.
T YP B OOLEAN .........................................................................................................................................51
5.8.
T YP C HARACTER .....................................................................................................................................51
5.9.
P AKIET ....................................................................................................................................................51
Język opisu sprzętu VHDL
- 3 -
6. PRZYKŁADY ..............................................................................................................................................52
6.1. K ONWERTER LICZBY BINARNEJ NA KOD BCD. W YŚWIETLENIE LICZBY BCD NA WYŚWIETLACZU
7- SEGMENTOWYM ...............................................................................................................................................54
6.2.
C ZĘSTOTLIWOŚCIOMIERZ ........................................................................................................................58
6.3.
G ENERATOR NUMERÓW GÓRNIKÓW ........................................................................................................62
6.4.
G ENERATOR SYGNAŁU WIZYJNEGO DLA MONITORA MONOCHROMATYCZNEGO .......................................68
- 4 -
Język opisu sprzętu VHDL
1. WstĘp
Język VHDL (skrót pochodzi od dwóch innych skrótów: V - Very High Speed Integrated
Circuit oraz HDL - Hardware Description Language) rozwijany był na początku lat 80-tych do
opisu niezaleŜnych metod opisywania układów elektronicznych przez American Department
of Defence (ang. DoD). Po raz pierwszy został zestandaryzowany w roku 1983, a następnie
standaryzację powtórzono w latach 1987 oraz 1993.
Główne cechy języka VHDL to:
·
równoległość przejawiająca się w moŜliwości zdefiniowania potrzeby oraz
wykonywania równoległego (jednoczesnego w czasie) przetwarzania róŜnych porcji
informacji,
·
strukturalność oznaczająca moŜliwość hierarchicznego opisywania projektów. W
opisie hierarchicznym projekt zbudowany jest z połączonych bloków o mniejszym
stopniu złoŜoności, które z kolei zbudowane są z prostszych bloków, które
zawierają w sobie jeszcze prostsze bloki i tak dalej aŜ dochodzimy do bloków
podstawowych, którymi np. w przypadku układów cyfrowych są bramki logiczne.
Strukturalność oznacza moŜliwość opisu sprzętu od poziomu systemu do poziomu
bramki,
·
"redesign" - typowy projekt cyfrowego układu elektronicznego zawiera w sobie do
80% fragmentów z innych projektów. Nowe projekty nie powstają w pustce.
Projektanci wykorzystują poprzednio zdobyte doświadczenia przenosząc
opracowane i poznane uprzednio rozwiązania do nowych projektów. Proces ten
określa się pochodzącym z języka angielskiego słowem redesign ,
·
moŜliwość wykonywania instrukcji sekwencyjnie (czyli w sposób przeciwstawny
do wykonywania równoległego) oznaczająca moŜliwość definiowania czynności
wykonywanych jedna po drugiej, w sposób analogiczny jak w tradycyjnych
językach programowania. ,
·
zdolność do jednolitego opisywania struktury układów zbudowanych w oparciu o
róŜne technologie stwarzająca moŜliwość przenoszenia projektów pomiędzy
róŜnymi platformami sprzętowymi,
·
moŜliwość symulowania projektowanych układów; moŜliwość tworzenia sekwencji
sygnałów testujących. Istnieje moŜliwość wbudowania sygnałów testowych w
projekt,
·
"samodokumentowanie" osiągnięte dzięki prostej i przejrzystej strukturze,
·
modelowanie układów z uwzględnieniem upływającego czasu.
Programowanie w języku VHDL moŜe odbywać się na róŜnych poziomach abstrakcji. Są
to:
·
warstwa topograficzna (ang. layout) specyfikująca połączenia z uwzględnieniem
równieŜ zaleŜności czasowych i efektów analogowych. Przykładowo realizuje
opóźnienia propagacji sygnału oraz blokowanie sygnałów poniŜej minimalnej
zadanej szerokości,
Język opisu sprzętu VHDL
- 5 -
Zgłoś jeśli naruszono regulamin