cw4_5.pdf
(
119 KB
)
Pobierz
Ćwiczenie laboratoryjne 4_5
Celem tego ćwiczenia jest zaprojektowanie układu do konwersji liczby binarnej na liczbę BCD oraz
realizacja układu sumującego dwie liczby BCD.
Część 1
Z zagadnieniem przetwarzania kodu dwójkowego (BIN) na kod dwójkowo-dziesiętny i odwrotnie
mamy do czynienia przy wprowadzaniu i wyprowadzaniu informacji z urządzeń cyfrowych. Kod
wewnętrzny układów cyfrowych to kod dwójkowy, natomiast dla człowieka bardziej czytelnym jest
kod dziesiętny. Ponieważ istnieje wiele algorytmów konwersji BIN/BCD i BCD/BIN oraz
możliwości realizacji tych samych algorytmów różnymi układami temat ten jest realizowany
osobno.
Schemat funkcjonalny układu znajduje się na rys. 1. Zadaniem komparatora jest wykrycie czy
liczba V jest większa od 9. Układ A to układ korekcji, który do trzech młodszych bitów bitów (dla
liczb większych od 9) dodaje 110. Wynik dodawania pojawia się na wyjściu multiplekserów tylko
dla liczb większych od 9 (z=1). Układ B to układ sterowania wyświetlaczem 7-segmentowym.
Wyświetlacz d1 wyświetla liczbę dziesiątek. 7-segmentowy dekoder steruje wyświetlaczem d0,
który wyświetla jedności.
Należy zaprojektować układ do konwersji 4-bitowego numeru V=v3v2v1v0 na dwie cyfry
dziesiętne D=d1d0 zgodnie z tablicą 1.
Wartość binarna
Wartość dziesiętna
0 0 0 0
0 0
0 0 0 1
0 1
0 0 1 0
0 2
0 0 1 1
0 3
0 1 0 0
0 4
0 1 0 1
0 5
0 1 1 0
0 6
0 1 1 1
0 7
1 0 0 0
0 8
1 0 0 1
0 9
1 0 1 0
1 0
1 0 1 1
1 1
1 1 0 0
1 2
1 1 0 1
1 3
1 1 1 0
1 4
1 1 1 1
1 5
Tabela 1. Tabela konwersji BIN/BCD
0
Komparator
5
1
6
z
7
Układ B
4
2
3
v3
m3
0
0
1
0
v2
0
m2
5
1
1
6
7-segmentowy
dekoder
7
4
2
v1
0
m1
3
1
v0
0
m0
1
Układ A
Rysunek 1. Schemat funkcjonalny układu do konwersji liczby binarnej na liczbę BCD.
Wykonaj następujące czynności w celu zaimplementowania układu konwersji:
1. Stwórz nowy projekt w programie Quartus II. Z biblioteki układów wybierz układ Cyclone
II EP2C35F672C6.
2. Opisz w VHDL układ komparatora, układ multipleksera, dekoder 7-segmentowy, układ
sterowania wyświetlaczem B oraz układ korekcji A. Przełącznikami SW3-0 będzie
wprowadzany liczba binarna V. Wyświetlacze HEX1, HEX0 będą pokazywały odpowiednio
d1 i d0.
3. Podłącz wejścia i wyjścia do odpowiednich pinów układu.
4. Skompiluj projekt.
5. Zaprogramuj skompilowanym projektem układ FPGA. Sprawdź działanie układu,
przełączając przełączniki SW i obserwując wyświetlacze.
Część 2
Rysunek 2 przedstawia sumator pełny, jego symbol i tablicę prawdy sumatora. Sumator pozwala na
dodawanie liczb jednobitowych. W celu wykonania operacji dodawania na liczbach wielobitowych
zbudować należy sumator kaskadowy rysunek 3.
Ci
XOR
S
inst
A
XOR
B
inst1
21mux
A
Co
B
Y
S
MULTIPLEXER
inst2
A
B
Ci
S
Co
ass
0
0
0
0
0
Ci
cin
0
0
1
1
0
A
dataa[0]
A
S
result[0]
A+B
0
1
0
1
0
B
datab[0]
B
0
1
1
0
1
Co
cout
inst3
1
0
0
1
0
1
0
1
0
1
1
1
0
0
1
1
1
1
1
1
Rys.2. Sumator pełny jednobitowy-schemat, symbol, tablica prawdy.
A0
B3
A3
B2
A2
B1
A1
B0
Cin
Cout
S3
S2
S1
S0
Rys.3. Kaskadowy sumator czterobitowy.
Wykonaj następujące czynności w celu zaimplementowania układu sumatora:
1. Stwórz nowy projekt w programie Quartus II. Z biblioteki układów wybierz układ Cyclone
II EP2C35F672C6.
2. Opisz w VHDL układ sumatora czterobitowego wykorzystując jako komponent pełny
sumator jednobitowy. Przełącznikami SW7-4 oraz SW3-0 wprowadzamy odpowiednio
liczby A, B. SW8 podłączyć do wejścia przeniesienia cin. Przełączniki SW podłączyć do
diód LEDR, wyjścia układu podłączyć do diód LEDG.
3. Podłącz wejścia i wyjścia do odpowiednich pinów układu.
4. Skompiluj projekt.
5. Zaprogramuj skompilowanym projektem układ FPGA. Sprawdź działanie układu,
przełączając przełączniki SW i obserwując diody.
Część 3.
Zaprojektować układ sumujący dwie liczby dziesiętne dwucyfrowe A i B. Suma ma być
wyświetlana na trzech wyświetlaczach. Liczba A ma być wyświetlana na wyświetlaczach HEX7,
HEX6, liczba B powinna być wyświetlana na wyświetlaczach HEX5, HEX4. Wynik w postaci
dziesiętnej wyświetlić należy na wyświetlaczach HEX2,1,0. Do wprowadzania liczb wykorzystać
należy przełączniki SW. Liczby wprowadzamy w postaci liczb BCD.
Wykonaj następujące czynności w celu zaimplementowania układu sumatora:
1. Stwórz nowy projekt w programie Quartus II. Z biblioteki układów wybierz układ Cyclone
II EP2C35F672C6.
2. Opisz w VHDL układ sumatora dwóch liczb dwucyfrowych wykorzystując jako
komponenty pełny sumator jednobitowy. Przełącznikami SW17-8 oraz SW7-0
wprowadzamy odpowiednio liczby A, B. Liczba A ma być wyświetlana na wyświetlaczach
HEX7, HEX6, liczba B powinna być wyświetlana na wyświetlaczach HEX5, HEX4. Wynik
w postaci dziesiętnej wyświetlić należy na wyświetlaczach HEX2,1,0
3. Podłącz wejścia i wyjścia do odpowiednich pinów układu.
4. Skompiluj projekt.
5. Zaprogramuj skompilowanym projektem układ FPGA. Sprawdź działanie układu,
przełączając przełączniki SW i obserwując wyświetlacze.
Część 4.
Opisać sumator 2 liczb dwucyfrowych BCD zgodnie z poniższym algorytmem:
1. T
0
=A
0
+B
0
2. if (T
0
>9) then
3. Z
0
=10
4. C
1
=1
5. else
6. Z
0
=0
7. C
1
=0
8. end if
9. S
0
=T
0
- Z
0
10. T
1
=A
1
+B
1
+C
1
11. if (T
1
> 9)
12. Z
1
=10
13. C
2
=1
14. else
15. Z
1
=0
16. C
2
=0
17. end if
18. S
1
=T
1
– Z
1
19. S
2
= C
2
Powyższy algorytm pozwala zrealizować dodawanie stosując trzy rodzaje układów:
●
sumatory (linie 1, 9, 10, 18),
●
multipleksery (linie 2-8, linie 11-17)
●
komparatory (linie 2, 11).
Wykonaj następujące czynności w celu zaimplementowania układu sumatora:
1. Stwórz nowy projekt w programie Quartus II. Z biblioteki układów wybierz układ Cyclone
II EP2C35F672C6.
2. Opisz w VHDL układ sumatora dwóch liczb dwucyfrowych wykorzystując jako
komponenty pełny sumator jednobitowy. Przełącznikami SW17-8 oraz SW7-0
wprowadzamy odpowiednio liczby A, B. Liczba A ma być wyświetlana na wyświetlaczach
HEX7, HEX6, liczba B powinna być wyświetlana na wyświetlaczach HEX5, HEX4. Wynik
w postaci dziesiętnej wyświetlić należy na wyświetlaczach HEX2,1,0
3. Podłącz wejścia i wyjścia do odpowiednich pinów układu.
4. Skompiluj projekt.
5. Zaprogramuj skompilowanym projektem układ FPGA. Sprawdź działanie układu,
przełączając przełączniki SW i obserwując wyświetlacze.
Część 5.
Zaprojektować 8-bitowy sumator zgodnie ze schematem rys. 4. Układ musi być zaprojektowany dla
liczb ze znakiem w kodzie uzupełnieniowym do 2. Na wyjściu przeniesienia musi być 1 dla sumy
przekraczającej dozwolony zakres liczb powyżej górnej jak i dolnej granicy.
Plik z chomika:
DeNite
Inne pliki z tego folderu:
Kurs_VHDL(2).pdf
(1308 KB)
lab_wszystkie_RSC(1).pdf
(4231 KB)
lab_vhdl.pdf
(171 KB)
cw2(1).pdf
(93 KB)
cw3(1).pdf
(81 KB)
Inne foldery tego chomika:
Dokumenty
Prywatne
Zgłoś jeśli
naruszono regulamin