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/