Mikrosystemy cyfrowe Zapoznanie ze środowiskiem CUPL

Transkrypt

Mikrosystemy cyfrowe Zapoznanie ze środowiskiem CUPL
Mikrosystemy cyfrowe
Uniwersytet Zielonogórski
Wydział Elektrotechniki, Informatyki i Telekomunikacji
Instytut Informatyki i Elektroniki
Zakład InŜynierii Komputerowej
przygotował: dr inŜ. Arkadiusz Bukowiec
dr inŜ. Marek Węgrzyn
ĆWICZENIE 4
Zapoznanie ze środowiskiem CUPL
Realizacja układów kombinacyjnych na układach PLD
ZAGADNIENIA
• algebra Boola,
• bramki logiczne,
• Przygotowanie plików źródłowych w języku CUPL,
• Zasady kompilacji i symulacji za pomocą pakietu WinCUPL,
• Sposoby definiowania aktywnych poziomów logicznych dla wejść i wyjść.
CEL ĆWICZENIA
• Zapoznanie z metodami realizacji układów kombinacyjnych na układach PLD,
• Zapoznanie ze środowiskiem WinCUPL,
• Zapoznanie ze składniami języka CUPL.
ZADANIA
Zad. 1. Realizacja bramki AND (Dodatek A).
Przygotować plik źródłowy (AND.PLD),
Dokonać kompilacji plików źródłowych,
Przeprowadzić symulację (zapoznać się z plikiem AND.SI).
Zad. 2. Zaprojektować układ realizujący funkcje NOT, AND, OR, NAND, NOR, XOR i XNOR. Układ
powinien posiadać 2 wejścia A i B oraz 8 wyjść NOTA, NOTB, AND, itd. Przeprowadzić symulację układu.
Zad. 3. Zmodyfikować układ z zad. 2, tak aby wszystkie wyjścia układu były aktywne w stanie niskim.
Zad. 4. Symulacja dwubitowego multipleksera 2 na 1 (Dodatek B).
Zad. 5. Zaprojektować trzybitowy multiplekser specjalizowany (4 na 1) działający zgodnie z tablicą:
S2
0
0
0
0
1
1
1
1
S1
0
0
1
1
0
0
1
1
S0
0
1
0
1
0
1
0
1
F[0..2]
A[0..2]
B[0..2]
A[0..2]
C[0..2]
A[0..2]
D[0..2]
A[0..2]
B[0..2]
Gdzie trzy bitowe wejście S jest wejściem adresowym, trzybitowe wejścia A, B, C i D są wejściami danych i są
przepisywane na trzybitowe wyjście F zgodnie z tablicą prawdy. RozwaŜyć przypadki, gdy wejścia aktywne są
w stanie wysokim lub niskim.
Zad. 6. Zapoznać się z realizacją komparatora 1-bitowego (dodatek C, COMP1BIT.PLD) za pomocą tablicy
prawdy. Przeprowadzić kompilację i symulację. Podczas kompilacji tablica zostanie zapisana w postaci równań
w pliku *.DOC.
http://www.uz.zgora.pl/~rwisniew/
Mikrosystemy cyfrowe
Uniwersytet Zielonogórski
Wydział Elektrotechniki, Informatyki i Telekomunikacji
Instytut Informatyki i Elektroniki
Zakład InŜynierii Komputerowej
przygotował: dr inŜ. Arkadiusz Bukowiec
dr inŜ. Marek Węgrzyn
Następnie dokończyć komparator 4-bitowy (dodatek C, KOMP4BIT.PLD).
PoniewaŜ w funkcji nie moŜna stosować tablicy prawdy, w ciel funkcji naleŜy wpisać równania uzyskane
podczas kompilacji komparatora 1-bitowego.
Zad. 7. Wykorzystując podaną funkcje sumatora 1-bitowego zaprojektować sumator 4-bitowy. Przeprowadzić
symulację układu.
FUNCTION A1B(A, B,
Cout = Cin
# Cin
# A &
A1B = (A $
}
Cin, Cout) {
& A
& B
B;
B) $ Cin;
SPRAWOZDANIE
Sprawozdanie powinno zawierać:
• wydruki plików źródłowych,
• wydruki istotnych fragmentów plików dokumentacyjnych analizowanych układów,
• wydruki wyników symulacji,
• interpretacje wyników,
• wnioski.
http://www.uz.zgora.pl/~rwisniew/
Mikrosystemy cyfrowe
Uniwersytet Zielonogórski
Wydział Elektrotechniki, Informatyki i Telekomunikacji
Instytut Informatyki i Elektroniki
Zakład InŜynierii Komputerowej
przygotował: dr inŜ. Arkadiusz Bukowiec
dr inŜ. Marek Węgrzyn
DODATEK A
Wydruk pliku AND.PLD
Name
Bramka AND;
Partno
AND01;
Revision
01;
Date
1/10/04;
Designer
A.Bukowiec;
Company
Uniwersytet Zielonogorski;
Location
None;
Assembly
None;
Device
G16V8;
/*******Realizacja bramki AND w jezyku CUPL*******/
/* Wejscia */
Pin 1 = a;
Pin 2 = b;
/* Wyjscia */
Pin 19 = and;
/* Logika */
and = a & b;
/* bramka AND */
Wydruk pliku AND.SI
Name
Bramka AND;
Partno
AND01;
Revision
01;
Date
1/10/04;
Designer
A.Bukowiec;
Company
Uniwersytet Zielonogorski;
Location
None;
Assembly
None;
Device
G16V8;
/*******Symulacja bramki AND*******/
/* Definicja kolejnosci, polaryzacji I wyjsc */
Order: a, %2, b, %6, and;
/* Definicja wymuszen i oczekiwanych wartosci */
Vectors:
$msg "-> Symulacja bramki AND <-";
$msg "";
$msg " a b
a AND b";
$msg " - -------";
00
01
10
11
1X
X1
0X
X0
XX
L
L
L
H
*
*
*
*
X
http://www.uz.zgora.pl/~rwisniew/
Mikrosystemy cyfrowe
Uniwersytet Zielonogórski
Wydział Elektrotechniki, Informatyki i Telekomunikacji
Instytut Informatyki i Elektroniki
Zakład InŜynierii Komputerowej
przygotował: dr inŜ. Arkadiusz Bukowiec
dr inŜ. Marek Węgrzyn
DODATEK B
Wydruk pliku M2NA1.PLD
Name
Partno
Revision
Date
Designer
Company
Location
Assembly
Device
Multiplekser 2 na 1;
Multi01;
01;
1/10/05;
A.Bukowiec;
Uniwersytet Zielonogorski;
None;
None;
G16V8;
/******* Multiplekser 2 na 1*******/
/**
Inputs
**/
Pin [1..2] = [A0..1];
Pin [3..4] = [B0..1];
Pin 5 = S;
/**
Outputs
**/
Pin [18,19]= [F0..1];
/**
Logic Equations
**/
FIELD AA = [A0..1];
FIELD BB = [B0..1];
FIELD FF = [F0..1];
FF = AA & S:0 #
BB & S:1;
http://www.uz.zgora.pl/~rwisniew/
Mikrosystemy cyfrowe
Uniwersytet Zielonogórski
Wydział Elektrotechniki, Informatyki i Telekomunikacji
Instytut Informatyki i Elektroniki
Zakład InŜynierii Komputerowej
przygotował: dr inŜ. Arkadiusz Bukowiec
dr inŜ. Marek Węgrzyn
DODATEK C
Wydruk pliku COMP1BIT.PLD
Name
Partno
Date
Revision
Designer
Company
Assembly
Location
Komparator_1_bitowy;
001;
09/11/98;
01;
A.Bukowiec;
UZ;
none;
none;
DEVICE
P16H8;
/**
Pin
Pin
Pin
Pin
Pin
Pin
Wejscia
**/
1=A;
2=B;
3=AGi;
4=BGi;
12=AGo;
13=BGo;
FIELD ins=[A,B,AGi,BGi];
FIELD outs=[AGo,BGo];
TABLE ins => outs
{
'b'0000=>'b'00;
'b'0010=>'b'10;
'b'0001=>'b'01;
'b'0011=>'b'00;
'b'0100=>'b'01;
'b'0110=>'b'10;
'b'0101=>'b'01;
'b'0111=>'b'01;
'b'1000=>'b'10;
'b'1010=>'b'10;
'b'1001=>'b'01;
'b'1011=>'b'10;
'b'1100=>'b'00;
'b'1101=>'b'01;
'b'1110=>'b'10;
'b'1111=>'b'00;
}
http://www.uz.zgora.pl/~rwisniew/
Mikrosystemy cyfrowe
Uniwersytet Zielonogórski
Wydział Elektrotechniki, Informatyki i Telekomunikacji
Instytut Informatyki i Elektroniki
Zakład InŜynierii Komputerowej
przygotował: dr inŜ. Arkadiusz Bukowiec
dr inŜ. Marek Węgrzyn
Wydruk pliku COMP4BIT.PLD
Name
Partno
Date
Revision
Designer
Company
Assembly
Location
Komparator_4_bitowy;
001;
09/11/98;
01;
A.Bukowiec;
UZ;
none;
none;
DEVICE
P16H8;
/**
Pin
Pin
Pin
Pin
/**
Wejscia
**/
[1..4]=[A3..0];
[5..8]=[B3..0];
9 =AGi;
11=BGi;
Wyjscia
**/
Pin [12..15]=[AGo0..3];
Pin [16..19]=[Bgo0..3];
FUNCTION C1B (A, B, AGi, BGi, AGo, BGo)
{
/* TUTAJ WPISAC ROWNANIA Z PLIKU COMP1BIT.DOC */
}
C1B
C1B
C1B
C1B
(A3,
(A2,
(A1,
(A0,
B3,
B2,
B1,
B0,
AGi, BGi, AGo3, BGo3);
AGo3, BGo3, AGo2, BGo2);
AGo2, BGo2, AGo1, BGo1);
AGo1, BGo1, AGo0, BGo0);
http://www.uz.zgora.pl/~rwisniew/