Środowisko WinCUPL instrukcja laboratoryjna. dr inż. Jarosław Sugier

Wielkość: px
Rozpocząć pokaz od strony:

Download "Środowisko WinCUPL instrukcja laboratoryjna. dr inż. Jarosław Sugier"

Transkrypt

1 Środowisko WinCUPL instrukcja laboratoryjna dr inż. Jarosław Sugier

2 J. Sugier WinCUPL instrukcja laboratoryjna 1 1 Informacje ogólne Pakiet oprogramowania WinCUPL firmy Atmel służy do specyfikacji, symulacji oraz implementacji układów cyfrowych w programowalnych układach logicznych (PLD) tej firmy. Oprócz własnych układów CPLD (Complex PLD) firmy Atmel wspierane są także standardowe układy PLD rodzin 16V8, 2V8 oraz 22V1. Wersja przeznaczona dla środowiska MS Windows jest dostępna bezpłatnie na stronie Plik instalatora ma ok. 22 MB, a po zainstalowaniu w grupie Atmel WinCupl dostępne są dwie ikony, służące do uruchamiania: zintegrowanego edytora projektu (WinCupl, ) oraz symulatora (WinSim, ). Domyślnie proponowana ścieżka instalacji środowiska to C:\Wincupl ; przy zmianie należy pamiętać o tym, że nie mogą znaleźć się w niej odstępy. Nie jest celem niniejszego opracowania przedstawienie wyczerpującego opisu języka CUPL; w tym celu patrz przede wszystkim pozycje [1] oraz [2]. Przedstawione tu informacje mają pozwolić na szybkie rozpoczęcie pracy w środowisku WinCUPL, tzn. syntezę oraz symulację funkcjonalną układów kombinacyjnych oraz sekwencyjnych. 2 Język CUPL Język CUPL służy do tekstowego opisu układu cyfrowego. Umożliwia jego specyfikację poprzez podanie równań logicznych lub poprzez opis proceduralny przy użyciu instrukcji własnych. Dodatkowe możliwości organizacji tekstu źródłowego udostępnia preprocesor podobny w składni oraz działaniu do preprocesora języka C. Tekst opisu przechowywany jest w niesformatowanych plikach tekstowych o domyślnym rozszerzeniu.pld (do symulacji dodatkowo niezbędny jest plik.si). Całość opisu w pliku.pld można podzielić na następujące sekcje (por. przykładowe projekty w dodatku B na str. 16): 1) nagłówek z informacjami ogólnymi o projekcie, 2) deklaracje wyprowadzeń przenoszących sygnały wejściowe, 3) deklaracje wyprowadzeń przenoszących sygnały wyjściowe, 4) inne deklaracje i definicje (zmiennych wewnętrznych, stałych preprocesora itp.), 5) równania logiczne lub inny opis logiki układu. 2.1 Elementy języka Komentarze Tekst umieszczony miedzy symbolami /* */ (podobnie jak w języku C) jest traktowany jako komentarz i jest ignorowany przez kompilator. Nazwy zmiennych Nazwy zmiennych identyfikują sygnały na wyprowadzeniach (PIN) oraz w tzw. węzłach wewnętrznych (NODE) układu PLD. Mogą także definiować tzw. zmienne wewnętrzne, które pomagają w bardziej czytelnym zapisie równań logicznych, lecz nie reprezentują żadnych specyficznych zasobów w strukturze układu.

3 J. Sugier WinCUPL instrukcja laboratoryjna 2 Nazwy mają postać ciągu złożonego z cyfr, liter i znaku pokreślenia. Muszą zawierać co najmniej jedną literę, ale nie jest wymagane, aby się od litery zaczynały. Nazwy nie mogą być takie same jak słowa kluczowe: APPEND FORMAT OUT ASSEMBLY FUNCTION PARTNO ASSY FUSE PIN COMPANY GROUP PINNNODE CONDITION IF PRESENT DATE JUMP REV DEFAULT LOC REVISION DESIGNER LOCATION SEQUENCE DEVICE MACRO SEQUENCED ELSE MIN SEQUENCEJK FIELD NAME SEQUENCERS FLD NODE SEQUENCET TABLE Wielkość liter w nazwach zmiennych JEST rozróżniana, w słowach kluczowych oznaczających instrukcje języka CUPL nie. Nazwy indeksowane Nazwy indeksowane można używać do opisu grupy sygnałów, np. magistrali. Maja postać identyfikatora, do którego dołączony jest indeks w postaci liczby dziesiętnej z przedziału 31, np.: A, A1, A2, A3, A4, A5, A6, A7 Ze względu na wewnętrzną reprezentację wektorów bitowych wskazane jest rozpoczynanie numeru indeksu od. Liczby Wszystkie operacje numeryczne wykonywane są na liczbach 32-bitowych bez znaku, stąd ich zakres wynosi od do Zapis liczby możliwy jest w bazie dwójkowej, ósemkowej, dziesiętnej oraz szesnastkowej poprzez użycie odpowiedniego przedrostka: b / o / d / h. Np. Zapis Baza Wartość dziesiętna 'b' Binary 'B'111 Binary 13 'O'663 Octal 435 'D'92 Decimal 92 'h'ba Hexadecimal 186 Bazą domyślną jest zapis szesnastkowy za wyjątkiem numerów wyprowadzeń (PIN) oraz numerów indeksowych, które zawsze podawane są dziesiętnie. W niektórych konstrukcjach językowych w zapisach dwójkowych, ósemkowych oraz szesnastkowych można używać symbolu X dla oznaczenia wartości nieokreślonej.

4 J. Sugier WinCUPL instrukcja laboratoryjna 3 Listy Lista jest wygodną notacją używaną np. przy deklaracji wielu wyprowadzeń lub węzłów. Ma postać oddzielanego przecinkami ciągu nazw, ujętych w parę nawiasów kwadratowych: [zm, zm, zm] np. [ Clk, A, B, Cin ] Jeśli lista składa się z nazw indeksowych o kolejnych numerach indeksów, można użyć zapisu skrótowego: [zmk.. zml] gdzie K / L są odpowiednio pierwszym i ostatnim numerem w zakresie indeksu (nie jest wymagane, aby K < L). Można wówczas pominąć nazwę zmiennej przed indeksem końcowym L: [A, A1, A2, A3, A4, A5, A6, A7] [A..A7] [A..7] Deklaracje wyprowadzeń (PIN) W deklaracji PIN następuje przypisanie nazwy do sygnału na wyprowadzeniu o podanym numerze oraz określenie jego polaryzacji. Składnia: PIN pin_n = [! ] zm ; gdzie: PIN jest wymaganym słowem kluczowym, pin_n jest zapisanym dziesiętnie numerem wyprowadzenia obudowy, a zm jest nazwą przypisanego sygnału. Występujący opcjonalnie znak negacji! określa polaryzację ujemną (stan aktywny = logiczne). Podobnie jak w języku C, znakiem końcowym musi być średnik. Elementy pin_n oraz zm można zapisać w postaci list o tej samej długości. Przykłady: PIN 1 = Clk; PIN [ 2, 5, 6 ] = [ A, B, C ]; PIN [ 1..7 ] = [ A3.. ]; Deklaracje węzłów (NODE) Niektóre układy PLD zawierają zasoby wewnętrzne, które generują funkcje logiczne, ale nie są przypisane do wyprowadzeń zewnętrznych. Dostęp do nich jest możliwy poprzez zdefiniowanie tzw. węzłów wewnętrznych w poleceniu NODE: NODE [!] zm ; Liczba węzłów wewnętrznych oraz ich funkcje to dane specyficzne dla konkretnego układu i aby je poznać należy odwołać się do jego opisu. W prostych układach PLD używanych na laboratorium (G16V8, G22V1) węzły wewnętrzne nie występują. Pola bitowe Deklaracja pola bitowego przypisuje nazwę do listy sygnałów jednobitowych. Ma postać: FIELD zm = [zm, zm, zm] ; Po taki przypisaniu nazwa może występować w wyrażeniach tak, jakby w jej miejscu wystąpił odpowiedni zapis listy, a operacje wykonywane na niej są wykonywane na każdym bicie z przypisanej grupy.

5 J. Sugier WinCUPL instrukcja laboratoryjna 4 Preprocesor Podobnie jak w języku C, preprocesor przetwarza tekst źródłowy przed przekazaniem go do kompilatora CUPL. Rozpoznaje on następujące dyrektywy ([1]): $DEFINE $IFDEF $UNDEF $ELSE $IFNDEF $REPEAT $ENDIF $INCLUDE $REPEND $MACRO $MEND Np. dla nadawania stałym czytelnych nazw symbolicznych należy używać dyrektywy $DEFINE: $DEFINE StateA b $DEFINE StateB b 1 $DEFINE StateC b 11 $DEFINE StateD b 1 W dyrektywach preprocesora wielkie i małe litery nie są rozróżniane, ale zwykle pisze się je wielkimi literami podobnie jak słowa kluczowe języka. 2.2 Składnia języka Operatory logiczne Do zapisu wyrażeń logicznych w języku CUPL dostępne są cztery podstawowe operatory, każdy o innym priorytecie. W kolejności od priorytetu najwyższego są to:! np.!a NOT & A & B AND # A # B OR $ A $ B XOR W wyrażeniach złożonych wymaganą kolejność operacji określa się nawiasami ( ). Dwuargumentowe operatory logiczne mogą występować obok notacji listowej wg następujących reguł: (A) [zm, zm arg2 arg2, arg2 arg2] (B) [z1, z1 [z2, z2 z2] z2, z2 z2] (C) [zm, zm zm] zm oznacza tu operator &, # lub $. Przykłady: [D, D1, D2, D3] & read [D & read, D1 & read, D2 & read, D3 & read] [A..3] $ [B..3] [A $ B, A1 $ B1, A2 $ B2, A3 $ B3] [A3,A2,A1,A]:$ A3 $ A2 $ A1 $ A Operatory i funkcje arytmetyczne Wyrażenia arytmetyczne mogą wystąpić jedynie w poleceniach preprocesora $REPEAT (powielanie fragmentu tekstu) oraz $MACRO (tworzenie makr). Szczegóły podane są w [1].

6 J. Sugier WinCUPL instrukcja laboratoryjna 5 Przyrostki nazw (rozszerzenia) Przyrostki dodawane są do nazw, aby wskazać specyficzna funkcję, związaną z realizacją danego sygnału. Kompilator sprawdza, czy podany przyrostek jest odpowiedni jako funkcja sygnału w konkretnym układzie i na konkretnym wyprowadzeniu oraz czy nie pozostaje on w konflikcie z innymi użytymi przyrostkami. W przypadku błędów generowany jest odpowiedni komunikat. Pełna lista przyrostków podana jest w dodatku C. Przykład użycia przyrostków: S.D = A $ B; /* funkcja zatrzaskiwana w rejestrze */ S.AR = R; /* asynchroniczne kasowanie sygnałem R */ S.OE = E &!R; /* kontrola bufora WY sygnałami E oraz R */ Użycie przyrostków musi być w zgodzie z możliwościami struktury wybranego układu. Np. w układach 22V1 sygnał.ar jest wspólny dla wszystkich przerzutników (zatem nie można definiować go dwukrotnie w różny sposób) oraz musi mieć postać pojedynczego prostego termu. Niespełnienie tych wymogów powoduje wygenerowanie błędu. W układach 16V8 oraz 22V1 sygnały zegarowe przerzutników nie są programowalne i zastosowanie dla nich przyrostka.ck spowoduje błąd. Wyrażenia logiczne Wyrażenia logiczne są konstruowane przy użyciu wymienionych czterech operatorów, nazw zmiennych oraz par nawiasów ( ). Jeśli w wyrażeniu złożonym na jednym jego poziomie występują te same operatory, kolejność ich wykonania jest od strony lewej do prawej (tzn. operatory są lewostronnie łączne). 2.3 Opis zależności kombinacyjnych Układ kombinacyjny można opisać podając jego równanie boolowskie, tabelę prawdy lub opisując jego pracę na wyższym poziomie instrukcją CONDITION. Równania logiczne Ogólna postać równania logicznego jest następująca: [!]zm[.ext] = wyr ; gdzie zm jest zmienną, której równanie jest przypisywane,.ext oznacza opcjonalne rozszerzenie precyzujące aspekt działania zmiennej, a wyr jest wyrażeniem logicznym. Nazwę zmiennej można poprzedzić!, co określa jej ujemną polaryzację (w tym kontekście daje to efekt identyczny, jak zanegowanie wyrażenia stojącego po prawej stronie znaku = ). Przykład użycia przyrostków (powyżej) zawiera także przykłady równań logicznych. Jeśli zm nie jest nazwą zadeklarowaną uprzednio w instrukcji PIN lub NODE, kompilator automatycznie przyjmuje, że równanie definiuje nową zmienną wewnętrzną, do której można się odwoływać w innych wyrażeniach logicznych. Zmienne wewnętrzne zazwyczaj wprowadza się po to, aby uprościć i uczynić bardziej czytelnym zapis innych wyrażeń. W miejscu zm może w równaniu wystąpić notacja listowa; w takim wypadku równanie logiczne stosuje się do każdego elementu listy indywidualnie, np.:

7 J. Sugier WinCUPL instrukcja laboratoryjna 6 [Q2..].OE =!PinOE; Q2.OE =!PinOE; Q1.OE =!PinOE; Q.OE =!PinOE; Instrukcja APPEND, która może poprzedzać równanie logiczne, umożliwia konstruowanie opisu zmiennej etapami poprzez dodawanie kolejnych członów, które są ze sobą logicznie sumowane. Np.: APPEND Y = A & A1 ; APPEND Y = B & B1 ; Y = (A & A1) # (B & B1) # (C & C1) ; APPEND Y = C & C1 ; W takiej sytuacji pierwsze równanie dla zmiennej Y nie musi być poprzedzone słowem APPEND, ale kolejne - tak. Mechanizm polecenia APPEND jest niekiedy konieczny w opisach proceduralnych układu cyfrowego. Tabele prawdy Proste funkcje kombinacyjne można opisać podając ich tabelę prawdy. Składnia odpowiedniego polecenia jest następująca: TABLE lista_zmwe => lista_zmwy { WE_ => WY_ ; WE_N => WY_N ; } gdzie: lista_zmwe oraz lista_zmwy to listy zmiennych wejściowych i wyjściowych funkcji, a WE_i oraz WY_i to stałe opisujące kolejne wiersze tabeli prawdy, czyli argumenty oraz przyporządkowane im wartości. Przykład: TABLE [ A, B ] => Y /* Y = A XNOR B */ { b => b 1; b 1 => b ; b 1 => b ; b 11 => b 1; } Instrukcja CONDITION Instrukcja CONDITION służy do opisu funkcji kombinacyjnych na wyższym poziomie niż równania logiczne. Ma postać: CONDITION { IF wyr OUT zm ; IF wyrn OUT zmn ; [ DEFAULT OUT zmm ; ] } gdzie: wyrx jest wyrażeniem logicznym złożonym ze zmiennych wejściowych funkcji, a zmx jest nazwą zadeklarowaną w instrukcji PIN lub grupą takich nazw zapisanych w notacji listowej. Zapis taki oznacza, że zmienna zmx ma być ustawiona w stan

8 J. Sugier WinCUPL instrukcja laboratoryjna 7 aktywny (jeden lub zero w zależności od polaryzacji logicznej podanej w deklaracji PIN), gdy spełniony jest warunek wyrx; jeśli żaden z warunków nie jest spełniony, układ ustawia wyjścia wg opcjonalnej instrukcji DEFAULT. Należy zaznaczyć, że powyższy opis podaje tylko te sytuacje, w których zmienne są ustawiane; jeśli dla jakiegoś pobudzenia WE zmienna jest kasowana, nie zapisuje się tego w instrukcji CONDITION (tzn. zabroniony jest zapis OUT!zmX). Przykład opisu dekodera 2:4 z sygnałem Enable: PIN [1,2] = [A,B] ; /* Data Inputs */ PIN 3 =!enable ; /* Enable Input */ PIN [12..15] = [Y..3] ; /* Decoded Outputs */ CONDITION { IF enable &!B &!A OUT Y ; IF enable &!B & A OUT Y1 ; IF enable & B &!A OUT Y2 ; IF enable & B & A OUT Y3 ; } 2.4 Opis układów sekwencyjnych Maszyny stanów opisywane są w języku CUPL za pomocą instrukcji SEQUENCE. Jej ogólna postać jest następująca: SEQUENCE lista_zm_stanu { PRESENT stan instrukcje; PRESENT stann instrukcje; } gdzie: lista_zm_stanu jest listą zmiennych kodujących stan automatu, stanx identyfikuje konkretny stan (tzn. jest stałą podającą wartość zmiennych stanu), a instrukcje opisują zachowanie automatu w tym stanie. Specyfikacja przełączania automatu Przełączanie się automatu między stanami opisują instrukcje NEXT, które występują w wersji bezwarunkowej lub warunkowej. Jeśli dla stanu bieżącego stanem następnym jest zawsze jeden i ten sam stan (czyli w grafie automatu ze stanu wychodzi tylko jedna krawędź), opisuje to instrukcja NEXT bezwarunkowa: PRESENT stank NEXT stanl ; Np. pracę prostego licznika modulo 3 (tu układ bez wejść) można wyrazić następująco: SEQUENCE [Q1, Q] { PRESENT 'b' NEXT 'b'1 ; PRESENT 'b'1 NEXT 'b'1 ;

9 J. Sugier WinCUPL instrukcja laboratoryjna 8 PRESENT 'b'1 NEXT 'b' ; } Dla zwiększenia czytelności należy za pomocą dyrektywy $DEFINE definiować nazwy symboliczne dla stałych, które reprezentują poszczególne stany; najczęściej definiuje się także pole bitowe FIELD dla listy zmiennych stanu. Powyższy przykład należy więc przepisać następująco: FIELD zmstan = [Q1, Q]; $DEFINE Stan 'b' $DEFINE Stan1 'b'1 $DEFINE Stan2 'b'1 SEQUENCE zmstan { PRESENT Stan NEXT Stan1 ; PRESENT Stan1 NEXT Stan2 ; PRESENT Stan2 NEXT Stan ; } Warunkowa instrukcja NEXT opisuje przełączanie się automatu uzależnione od pobudzeń wejściowych: PRESENT stank IF warunek NEXT stanl ; gdzie warunek jest wyrażeniem logicznym, w którym zazwyczaj występują pobudzenia WE automatu. W sytuacji, gdy ze stanu stank wychodzi w grafie wiele krawędzi, dla każdej z nich należy zapisać odpowiednią warunkową instrukcję NEXT. Np. dla licznika rewersyjnego, którego kierunek zliczania określa sygnał jednobitowy CountUp: ( ) PRESENT Stan1 IF CountUp NEXT Stan2 ; IF!CountUp NEXT Stan ; ( ) Listę warunkowych instrukcji NEXT może opcjonalnie kończyć instrukcja DEFAULT stanx ;, która podaje do jakiego stanu automat ma się przełączyć, jeśli żaden z wcześniejszych warunków nie jest spełniony. Np. dla licznika rewersyjnego z dwoma sygnałami sterującymi CountUp oraz CountDown: ( ) PRESENT Stan1 IF CountUp NEXT Stan2 ; /* step up */ IF CountDown NEXT Stan ; /* step down */ DEFAULT Stan1 ; /* freeze */ ( ) Instrukcję DEFAULT należy stosować rozważnie, ponieważ powoduje ona dodanie warunku będącego negacją sumy wszystkich warunków wcześniejszych. W przypadku dużych automatów może prowadzić do zależności złożonych, które będą się źle odwzorowywały w zasobach układu

10 J. Sugier WinCUPL instrukcja laboratoryjna 9 PLD. Metodą lepszą jest wypisanie explicite dodatkowych warunków w postaci jawnych instrukcji IF NEXT ;. Specyfikacja funkcji wyjść automatu Sygnały wyjściowe generowane przez automat opisuje instrukcja OUT. Sygnały te po obliczeniu w odpowiednim wyrażeniu logicznym mogą być wyprowadzane kombinacyjnie lub zatrzaskiwane w przerzutnikach mówi się wówczas odpowiednio o instrukcji OUT asynchronicznej bądź synchronicznej. Ponadto sygnały te mogą zależeć tylko od zmiennych stanu (model Moore a) lub od zmiennych stanu oraz sygnałów wejściowych (model Mealy ego) w nomenklaturze CUPL będą to sygnały wyjściowe odpowiednio bezwarunkowe oraz warunkowe. (A) Asynchroniczne WY bezwarunkowe (model Moore a) Polecenie OUT należy umieścić w instrukcjach związanych z odpowiednim stanem, bez żadnych dodatkowych informacji. Zapis: PRESENT stank OUT zm... OUT zm ; oznacza, że w stanie stank będą ustawiane zmienne wymienione po słowach OUT. Uwaga: jeśli jakaś zmienna WY ma być w danym stanie kasowana, nie występuje na liście; w tym kontekście (podobnie jak dla instrukcji CONDITION) nie jest dopuszczalne używanie notacji OUT!zm ; Np. dla PRESENT b 1 /* FIELD zmstan = [Q1, Q]; */ OUT Y OUT Z ; zostanie automatycznie dodany opis sygnałów Y, Z: APPEND Y =!Q1 & Q; APPEND Z =!Q1 & Q; (B) Asynchroniczne WY warunkowe (model Mealy ego) Polecenia OUT należy poprzedzić klauzulami warunkowymi IF, testującymi stan pobudzeń WE. Powstają w ten sposób dwa rodzaje warunków IF dla każdego stanu: pierwsze opisują przełączanie się stanu (z instrukcjami NEXT), drugie opisują generowanie sygnałów WY (z instrukcjami OUT). Zapis: PRESENT stank IF wyr OUT zm... OUT zm ; IF wyr OUT zm... OUT zm ; [ DEFAULT OUT zm... OUT zm ; ] podaje, jakie zmienne WY będą ustawiane w stanie stank przy spełnieniu odpowiednich warunków logicznych wyr. Opcjonalna instrukcja DEFAULT opisuje stan wyjść gdy żaden z warunków nie będzie spełniony. Podobnie jak w (A), jeśli jakaś zmienna WY ma być dla danego warunku zerowana, nie występuje na liście.

11 J. Sugier WinCUPL instrukcja laboratoryjna 1 Np. dla: PRESENT 'b'1 IF INA OUT Y; IF!INA OUT Z; zostanie wygenerowany opis sygnałów Y, Z: APPEND Y =!Q1 & Q & INA; APPEND Z =!Q1 & Q &!INA; (C) Synchroniczne WY bezwarunkowe (model Moore a + WY z przerzutnikami) W tym przypadku opis WY dokonuje się w instrukcji NEXT: PRESENT stank NEXT stanl OUT [!]zm... OUT [!]zm ; Odmiennie niż w (A) i (B), nazwy sygnałów WY można poprzedzić operatorem negacji, co powoduje ustawianie ich na wartość zamiast 1. Np. dla PRESENT 'b'1 NEXT 'b'1 OUT Y OUT!Z ; zostanie wygenerowany opis sygnału Y (w przypadku korzystania z przerzutnika typu D opis zmiennej Z nie zostanie wygenerowany): APPEND Y.D =!Q1 & Q; /* brak nowego opisu dla sygnału Z */ (D) Synchroniczne WY warunkowe (model Mealy ego + WY z przerzutnikami) W tym przypadku polecenia OUT należy umieszczać w warunkowych instrukcjach NEXT, opisujących przełączanie się automatu: PRESENT stank IF wyr NEXT stanl OUT [!]zm... OUT [!]zm ; IF wyr NEXT stanl OUT [!]zm... OUT [!]zm ; [ DEFAULT NEXT stanl OUT [!]zm... OUT [!]zm ; ] Podobnie jak w (C), poprzedzenie nazwy sygnału WY operatorem negacji oznacza jego ujemną polaryzację logiczną. Np. dla: PRESENT 'b'1 IF INA NEXT 'b'1 OUT Y; IF!INA NEXT 'b'11 OUT Z; zostanie dodany opis sygnałów Y, Z: APPEND Y.D =!Q1 & Q & INA; APPEND Z.D =!Q1 & Q &!INA;

12 J. Sugier WinCUPL instrukcja laboratoryjna 11 3 Praca w środowisku WinCUPL Aplikacja Wincupl.exe jest głównym interfejsem pracy ze środowiskiem. Umożliwia edycje tekstu plików źródłowych oraz wywołuje inne narzędzia pakietu, takie jak kompilator CUPL oraz symulator WinSim. Plikami źródłowymi (których tekst przygotowuje użytkownik) są: plik.pld dla kompilatora oraz plik.si dla symulatora. 3.1 Aplikacja WinCupl Za pomocą aplikacji WinCupl można tworzyć nowe projekty, wprowadzać tekst źródłowy, poddawać go kompilacji oraz wywoływać symulator. Opis kroków, które składają się na te operacje, podany jest w podpunkcie 3.3. Szczegóły dotyczące dostępnych poleceń menu dostępne są w systemie pomocy, ale standardowy interfejs okienkowy tej aplikacji jest na tyle prosty, że poruszanie się w nim nie powinno sprawiać problemu. Tekst źródłowy w pliku.pld należy przygotować zgodnie z opisem języka CUPL, podanym w rozdziale Aplikacja WinSim Aplikacja WinSim umożliwia symulację funkcjonalną projektu opisanego w języku CUPL. Do jej pracy konieczne jest utworzenie pliku.si, w którym zapisuje się pobudzenia testowe symulacji. Treść pliku.si składa się z dwóch części (por. przykładowe pliki w dodatku B na str. 16): blok nagłówka - ma postać identyczną jak nagłówek pliku.pld projektu; blok instrukcji - opisuje symulację układu. Instrukcja ORDER Instrukcja ORDER podaje, jakie sygnały projektu mają uczestniczyć w symulacji: ORDER: zm, zm, zm ; Dla grupy sygnałów indeksowych można użyć skrótowej notacji listowej, w tym przypadku bez pary nawiasów [ ], np.: ORDER: Clk, Reset, Q..7; Grupy sygnałów zapisane w notacji listowej są wyświetlane w oknie WinSim jako jeden sygnał (magistrala); aby zobaczyć poszczególne składowe należy zaznaczyć nazwę sygnału, kliknąć na nią prawym klawiszem myszy oraz wybrać opcję Bus Members. Instrukcja VECTORS Instrukcja VECTORS: rozpoczyna część pliku.si, w której podany jest ciąg wektorów z pobudzeniami testowymi. W wektorach należy podać odpowiedni symbol dla każdego sygnału z listy ORDER, zarówno wejściowego, jak i wyjściowego. Symbole dla sygnałów WE określają ich pobudzenia podczas symulacji, natomiast symbole dla sygnałów WY podają oczekiwane odpowiedzi. Symbole dla sygnałów wejściowych (zadawane pobudzenia): zadaj stan niski (Lo) 1 zadaj stan wysoki (Hi) C zadaj impuls dodatni (sekwencję stanów Lo - Hi Lo)

13 J. Sugier WinCUPL instrukcja laboratoryjna 12 Rysunek 1: Symulacja układu sekwencyjnego wykonana poleceniami C (kroki 1 1) oraz identyczny ciąg wejściowy zadany przy pobudzaniu sygnału zegarowego poleceniami / 1 (kroki 11 3). Trzy odpowiedzi układu Y = 1 nie są takie same, co widać dopiero w symulacji CLK = / 1. K zadaj impuls ujemny (sekwencję stanów Hi - Lo Hi) X brak pobudzenia danego WE Symbole dla sygnałów wyjściowych (testy odpowiedzi): L testuj stan niski (L) H testuj stan wysoki (H) Z testuj stan wysokiej impedancji X nie testuj stanu * wyznacz w symulacji stan sygnału i wstaw go do wektora Przykład: ORDER: WeA, WeB, WyC, WyS; VECTORS: ** 1** 11** 1** Symbole C oraz K są wygodne w tworzeniu pobudzeń sygnałów zegarowych, ale należy pamiętać, że generują one ciąg 3 stanów w symulacji, a na wykresie wyświetlany jest tylko jeden krok przedstawiający odpowiedzi. W niektórych przypadkach, kiedy potrzebna jest dokładna analiza przełączania się układu, może być konieczne zastąpienie ich ciągiem pobudzeń pojedynczych. Przykład takiej sytuacji ilustruje rysunek 1. Dyrektywy symulatora Dyrektywy można umieszczać w liniach za instrukcją VECTOR i służą do kontroli procesu symulacji. Wszystkie rozpoczynają się znakiem $ i kończą średnikiem. Pełna lista 6 dyrektyw podana jest w [1]. Szczególnie użyteczna może być dyrektywa $REPEAT n ; gdzie n jest liczbą z przedziału , która powoduje n krotne powtórzenie (jednego) zapisanego za nią wektora.

14 J. Sugier WinCUPL instrukcja laboratoryjna Przewodnik krok po kroku Poniższe 1 kroków opisuje pełną ścieżkę pracy w środowisku WinCUPL: od utworzenia nowego projektu po uzyskanie wyników symulacji. Wymagane polecenia opisano w najprostszej wersji, natomiast w zintegrowanym środowisku istnieją inne, niekiedy bardziej wygodne możliwości ich wykonania (np. symulator można uruchomić klikając dwukrotnie na nazwę pliku.si w oknie projektu WinCupl itp.). 1) Uruchom program WinCupl i wybierz polecenie File New Project. 2) W pierwszym oknie dialogowym wpisz informacje, jakie znajdą się w nagłówku pliku.pld; z informacji istotnych: jako Name podaj nazwę projektu, która będzie jednocześnie nazwą pliku (zaleca się, by nazwa nie miała więcej niż 8 znaków i spełniała wymagania nazw DOS); jako Device wpisz symbol układu (dla układów GAL: G16V8 lub G22V1). Układy PLD dostępne w bibliotece CUPL można przeglądać poleceniem Options Devices. 3) W kolejnych oknach dialogowych podaj parametry projektu: ilość wyprowadzeń WE, ilość wyprowadzeń WY oraz ilość węzłów wewnętrznych (w układach GAL węzły wewnętrzne nie występują). 4) Zostanie utworzony plik.pld z pustym szablonem; wpisz do niego deklaracje wyprowadzeń WE oraz WY (instrukcje PIN) oraz równania logiczne lub inny opis funkcjonalny układu. Podawane numery wyprowadzeń w deklaracji PIN muszą zgadzać się z rodzajem wyprowadzenia (WE, WY lub WE/WY) dla użytego układu; funkcje poszczególnych wyprowadzeń należy odczytywać z jego schematu logicznego. 5) Gdy opis układu będzie kompletny, wykonaj kompilację pliku PLD (polecenie Run Device Dependent Compile, skrót F9 lub klawisz ); gdy kompilacja przebiegnie bez błędów, możesz przejść dalej. 6) Uruchom symulator: polecenie Utilities WinSim lub klawisz. Nie należy uruchamiać symulatora bez uprzedniej kompilacji projektu; praca symulatora zależy od dodatkowych plików generowanych podczas kompilacji i ich brak będzie powodował błędy. Uwaga ta dotyczy także wprowadzania poprawek do projektu: należy pamiętać, aby po modyfikacji pliku.pld lub.si zawsze wykonać kompilację przed wywołaniem WinSim. 7) W symulatorze WinSim rozpocznij od utworzenia pliku.si poleceniem File New (Ctrl+N). W oknie dialogowym, zamiast wprowadzać ponownie takie same informacje jak dla pliku.pld (dane w nagłówkach obu plików muszą być identyczne), naciśnij klawisz Desing File i wskaż odpowiedni plik.pld. Po zatwierdzeniu danych w symulatorze pojawi się okno symulacji. 8) Dodaj śledzone sygnały poleceniem Signal Add Signal (klawisz ); w pliku.si zostanie dopisana instrukcja ORDER. Następnie zapisz plik poleceniem File Save (zostanie utworzony nowy plik). 9) Dodaj wektory testowe, tzn. instrukcję VECTORS. Można to wykonać poprzez interfejs graficzny (polecenie Signal Add Vector lub klawisz i następnie

15 J. Sugier WinCUPL instrukcja laboratoryjna 14 klikanie myszką w odpowiedni punkt wykresu), ale bardziej niezawodną i zalecaną metodą jest wpisanie ich jako tekst do pliku.si po otwarciu go poleceniem View Source. Pamiętaj o zapisaniu zmian w pliku.si. 1) Gdy plik.si jest gotowy, uruchom symulator poleceniem Simulator Run Simulator (klawisz ). Jeśli w plikach źródłowych nie było błędów, w oknie symulatora zostaną wyświetlone wykresy z przebiegami czasowymi w układzie. Literatura [1] CUPL Programmer's Reference Guide, Atmel Corporation (wersja elektroniczna w systemie pomocy aplikacji wincupl.exe). [2] T. Łuba, M.A. Markowski, B. Zbierzchowski, Komputerowe projektowanie układów cyfrowych w strukturach PLD, WKŁ. [3] Atmel WinCUPL User s manual, Atmel Corporation, dokument dostępny jako plik pdf na [4] Pliki pomocy aplikacji WinCupl oraz WinSim.

16 J. Sugier WinCUPL instrukcja laboratoryjna 15 Dodatek A: Środowisko CUPL Input file types:.pld Logic source file.si Simulation source file Output file types:.so Simulator Output with errors.hl HL Download file.hex Hex Download file.jed JEDEC file without test vectors JEDEC file with test vectors

17 J. Sugier WinCUPL instrukcja laboratoryjna 16 Dodatek B: Przykłady plików projektowych 1) HalfAdd.PLD: Name HalfAdd; PartNo ; Date ; Revision 1 ; Designer Engineer ; Company PWr ; Assembly None ; Location None; Device G16V8 ; /* *************** INPUT PINS *********************/ PIN 2 = A; PIN 3 = B; /* *************** OUTPUT PINS *********************/ PIN 15 = S; /* sum */ PIN 16 = C; /* carry */ S = A $ B; /* S = A XOR B */ C = A & B; /* C = A AND B */ HalfAdd.SI: Name _HAdd; PartNo ; Date ; Revision 1; Designer Engineer; Company PWr; Assembly None; Location None; Device G16V8; ORDER: A, B, C, S; VECTORS: ** 1** 11** 1**

18 J. Sugier WinCUPL instrukcja laboratoryjna 17 2) Johnson.PLD: Name Johnson ; PartNo ; Date ; Revision 1 ; Designer Engineer ; Company PWr ; Assembly None ; Location ; Device G22V1 ; /* *************** INPUT PINS *********************/ PIN 1 = Clk; /* clock */ PIN 2 = Reset; /* control */ /* *************** OUTPUT PINS *********************/ PIN [23..16] = [Q7..]; /* outputs */ Q.D =!Q7; Q1.D = Q; Q2.D = Q1; Q3.D = Q2; Q4.D = Q3; Q5.D = Q4; Q6.D = Q5; Q7.D = Q6; [Q..7].AR = Reset; Johnson.SI: Name Johnson; PartNo ; Date ; Revision 1; Designer Engineer; Company PWr; Assembly None; Location ; Device G22V1; ORDER: Reset, Clk, Q..7; VECTORS: 1C******** $REPEAT 11; C******** 1C******** 1C******** $REPEAT 3; C********

19 J. Sugier WinCUPL instrukcja laboratoryjna 18 3) 11_ML.PLD: Name 11_ML ; /* Detektor sekwencji 11 w wersji Mealy */ PartNo ; Date ; Revision 1 ; Designer Engineer ; Company PWr ; Assembly None ; Location ; Device G16V8 ; /* *************** INPUT PINS *********************/ PIN 1 = Clk; PIN 2 = X; /* WE */ /* *************** OUTPUT PINS *********************/ PIN [12, 13] =![Q1, Q]; /* Stan */ PIN 14 = Y; /* WY */ FIELD Stan = [Q1, Q]; $DEFINE StanA 'b' $DEFINE StanB 'b'1 $DEFINE StanC 'b'11 SEQUENCE Stan { PRESENT StanA IF!X NEXT StanB; IF X NEXT StanA; PRESENT StanB IF!X NEXT StanB; IF X NEXT StanC; PRESENT StanC IF!X NEXT StanB; IF X NEXT StanA; IF X OUT Y; } 11_ML.SI: Name 11_ML; PartNo ; Date ; Revision 1; Designer Engineer; Company PWr; Assembly None; Location ; Device G16V8;

20 J. Sugier WinCUPL instrukcja laboratoryjna 19 ORDER: Clk, X, Q1, Q, Y; VECTORS: C*** C*** C*** 4) 11_MR.PLD: Name 11_MR ; /* Detektor sekwencji 11 w wersji Moore */ PartNo ; Date ; Revision 1 ; Designer Engineer ; Company PWr ; Assembly None ; Location ; Device G16V8 ; /* *************** INPUT PINS *********************/ PIN 1 = Clk; PIN 2 = X; /* WE */ /* *************** OUTPUT PINS *********************/ PIN [12, 13] =![Q1, Q]; /* Stan */ PIN 14 = Y; /* WY */ FIELD Stan = [Q1, Q]; $DEFINE StanA 'b' $DEFINE StanB 'b'1 $DEFINE StanC 'b'11 $DEFINE StanD 'b'1 SEQUENCE Stan { PRESENT StanA IF!X NEXT StanB; IF X NEXT StanA; PRESENT StanB IF!X NEXT StanB; IF X NEXT StanC;

21 J. Sugier WinCUPL instrukcja laboratoryjna 2 } PRESENT StanC IF!X NEXT StanB; IF X NEXT StanD; PRESENT StanD IF!X NEXT StanB; IF X NEXT StanA; OUT Y; 11_MR.SI: Name 11_MR; PartNo ; Date ; Revision 1; Designer Engineer; Company PWr; Assembly None; Location ; Device G16V8; ORDER: Clk, X, Q1, Q, Y; VECTORS: C*** C*** C***

22 J. Sugier WinCUPL instrukcja laboratoryjna 21 Dodatek C: Rozszerzenia nazw w języku CUPL Uwaga: kolumna Poz. podaje, czy dany przyrostek występuje w równaniu przy nazwie znajdującej się po lewej (L) bądź po prawej (R) stronie znaku =. Nazwa Poz. Opis.AP L Asynchronous preset of flip-flop.ar L Asynchronous reset of flip-flop.apmux L Asynchronous preset multiplexer selection.armux L Asynchronous reset multiplexer selection.byp L Programmable register bypass.ca L Complement array.ce L CE input of enabled D-CE type flip-flop.ck L Programmable clock of flip-flop.ckmux L Clock multiplexer selection.d L D nput of D-type flip-flop.dfb R D registered feedback path selection.dq R Q output of D-type flip-flop.imux L Input multiplexer selection of two pins.int R Internal feedback path for registered macrocell.io R Pin feedback path selection.ioar L Asynchronous reset for pin feedback register.ioap L Asynchronous preset for pin feedback register.iock L Clock for pin feedback register.iod R Pin feedback path through D register.iol R Pin feedback path through latch.iosp L Synchronous preset for pin feedback register.iosr L Synchronous reset for pin feedback register.j L J input of JK-type output flip-flop.k L K input of JK-type output flip-flop.l L D input of transparent latch.le L Programmable latch enable.lemux L Latch enable multiplexer selection.lfb R Latched feedback path selection.lq R Q output of transparent input latch.obs L Programmable observability of buried nodes.oe L Programmable output enable.oemux L Tri-state multiplexer selection.pr L Programmable preload.r L R input of SR-type output flip-flop.s L S input of SR-type output flip-flop.sp L Synchronous preset of flip-flop.sr L Synchronous reset of flip-flop.t L T input of toggle output flip-flop.tec L Technology-dependent fuse selection.tfb R T registered feedback path selection.t1 L T1 input of 2-T flip-flop.t2 L T2 input of 2-T flip-flop

23 J. Sugier WinCUPL instrukcja laboratoryjna 22 Dodatek D: Schematy logiczne wybranych układów PALCE22V1 and PALCE22V1Z Families CLK/I 1 (2) AR 1 24 (28) V CC 9 D AR Q Q SP I/O 9 (27) D AR Q Q SP I/O 8 (26) I 1 2 (3) D AR Q Q SP I/O 7 (25) I 2 3 (4) D AR Q Q SP I/O 6 (24) I 3 4 ( 5 ) D AR Q Q SP I/O 5 (23) I 4 5 ( 6 ) D AR Q Q SP I/O 4 (21) I 5 6 ( 7 ) D AR Q Q SP I/O 3 (2) I 6 7 ( 9 ) D AR Q Q SP I/O 2 (19) I 7 8 ( 1 ) D AR Q Q SP I/O 1 (18) I 8 9 ( 11 ) D AR Q Q SP I/O (17) I 9 1 ( 12 ) 131 SP 1 I 1 G N D 11 ( 13 ) 12 ( 14 ) I 11 (16) 16564E-6

24 J. Sugier WinCUPL instrukcja laboratoryjna 23 Schemat blokowy układu PALCE22V1 Schemat logiczny makrokomórki Rozkład wyprowadzeń układu PALCE22V1

25 J. Sugier WinCUPL instrukcja laboratoryjna 24 PALCE16V V CC MC7 CL1=248 CL=212 PTD= MC6 CL1=249 CL=2121 PTD= MC5 CL1=25 CL=2122 PTD= MC4 CL1=251 CL=2123 PTD= MC3 CL1=252 CL=2124 PTD= MC2 CL1=253 CL=2125 PTD= MC1 CL1=254 CL=2126 PTD= MC CL1=255 CL=2127 PTD=

26 J. Sugier WinCUPL instrukcja laboratoryjna 25 Schemat blokowy układu PALCE16V8 Schemat logiczny makrokomórki Tryby konfiguracji

AHDL - Język opisu projektu. Podstawowe struktury języka. Komentarz rozpoczyna znak i kończy znak %. SUBDESIGN

AHDL - Język opisu projektu. Podstawowe struktury języka. Komentarz rozpoczyna znak i kończy znak %. SUBDESIGN AHDL - Język opisu projektu. Podstawowe struktury języka Przykładowy opis rewersyjnego licznika modulo 64. TITLE "Licznik rewersyjny modulo 64 z zerowaniem i zapisem"; %------------------------------------------------------------

Bardziej szczegółowo

Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki

Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki ĆWICZENIE Nr 1 (3h) Wprowadzenie do obsługi platformy projektowej Quartus II Instrukcja pomocnicza do laboratorium z przedmiotu

Bardziej szczegółowo

ĆWICZENIE 4 Zapoznanie ze środowiskiem CUPL Realizacja układów kombinacyjnych na układach PLD

ĆWICZENIE 4 Zapoznanie ze środowiskiem CUPL Realizacja układów kombinacyjnych na układach PLD Ć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

Bardziej szczegółowo

Programowanie w języku Python. Grażyna Koba

Programowanie w języku Python. Grażyna Koba Programowanie w języku Python Grażyna Koba Kilka definicji Program komputerowy to ciąg instrukcji języka programowania, realizujący dany algorytm. Język programowania to zbiór określonych instrukcji i

Bardziej szczegółowo

1 Podstawy c++ w pigułce.

1 Podstawy c++ w pigułce. 1 Podstawy c++ w pigułce. 1.1 Struktura dokumentu. Kod programu c++ jest zwykłym tekstem napisanym w dowolnym edytorze. Plikowi takiemu nadaje się zwykle rozszerzenie.cpp i kompiluje za pomocą kompilatora,

Bardziej szczegółowo

Bezpieczeństwo informacji oparte o kryptografię kwantową

Bezpieczeństwo informacji oparte o kryptografię kwantową WYŻSZA SZKOŁA BIZNESU W DĄBROWIE GÓRNICZEJ WYDZIAŁ ZARZĄDZANIA INFORMATYKI I NAUK SPOŁECZNYCH Instrukcja do laboratorium z przedmiotu: Bezpieczeństwo informacji oparte o kryptografię kwantową Instrukcja

Bardziej szczegółowo

Uwagi dotyczące notacji kodu! Moduły. Struktura modułu. Procedury. Opcje modułu (niektóre)

Uwagi dotyczące notacji kodu! Moduły. Struktura modułu. Procedury. Opcje modułu (niektóre) Uwagi dotyczące notacji kodu! Wyrazy drukiem prostym -- słowami języka VBA. Wyrazy drukiem pochyłym -- inne fragmenty kodu. Wyrazy w [nawiasach kwadratowych] opcjonalne fragmenty kodu (mogą być, ale nie

Bardziej szczegółowo

Układy VLSI Bramki 1.0

Układy VLSI Bramki 1.0 Spis treści: 1. Wstęp... 2 2. Opis edytora schematów... 2 2.1 Dodawanie bramek do schematu:... 3 2.2 Łączenie bramek... 3 2.3 Usuwanie bramek... 3 2.4 Usuwanie pojedynczych połączeń... 4 2.5 Dodawanie

Bardziej szczegółowo

Cyfrowe układy sekwencyjne. 5 grudnia 2013 Wojciech Kucewicz 2

Cyfrowe układy sekwencyjne. 5 grudnia 2013 Wojciech Kucewicz 2 Cyfrowe układy sekwencyjne 5 grudnia 2013 Wojciech Kucewicz 2 Układy sekwencyjne Układy sekwencyjne to takie układy logiczne, których stan wyjść zależy nie tylko od aktualnego stanu wejść, lecz również

Bardziej szczegółowo

Projektowanie Scalonych Systemów Wbudowanych VERILOG

Projektowanie Scalonych Systemów Wbudowanych VERILOG Projektowanie Scalonych Systemów Wbudowanych VERILOG OPIS BEHAWIORALNY proces Proces wątek sterowania lub przetwarzania danych, niezależny w sensie czasu wykonania, ale komunikujący się z innymi procesami.

Bardziej szczegółowo

Instrukcja podstawowego uruchomienia sterownika PLC LSIS serii XGB XBC-DR20SU

Instrukcja podstawowego uruchomienia sterownika PLC LSIS serii XGB XBC-DR20SU Instrukcja podstawowego uruchomienia sterownika PLC LSIS serii XGB XBC-DR20SU Spis treści: 1. Instalacja oprogramowania XG5000 3 2. Tworzenie nowego projektu i ustawienia sterownika 7 3. Podłączenie sterownika

Bardziej szczegółowo

Cwiczenie nr 1 Pierwszy program w języku C na mikrokontroler AVR

Cwiczenie nr 1 Pierwszy program w języku C na mikrokontroler AVR Cwiczenie nr 1 Pierwszy program w języku C na mikrokontroler AVR Zadanie polega na napisaniu pierwszego programu w języku C, jego poprawnej kompilacji i wgraniu na mikrokontroler. W tym celu należy zapoznać

Bardziej szczegółowo

Lista tematów na kolokwium z wykładu z Techniki Cyfrowej w roku ak. 2013/2014

Lista tematów na kolokwium z wykładu z Techniki Cyfrowej w roku ak. 2013/2014 Lista tematów na kolokwium z wykładu z Techniki Cyfrowej w roku ak. 2013/2014 Temat 1. Algebra Boole a i bramki 1). Podać przykład dowolnego prawa lub tożsamości, które jest spełnione w algebrze Boole

Bardziej szczegółowo

Podstawy Informatyki Elementarne podzespoły komputera

Podstawy Informatyki Elementarne podzespoły komputera Podstawy Informatyki alina.momot@polsl.pl http://zti.polsl.pl/amomot/pi Plan wykładu 1 Reprezentacja informacji Podstawowe bramki logiczne 2 Przerzutniki Przerzutnik SR Rejestry Liczniki 3 Magistrala Sygnały

Bardziej szczegółowo

Mathcad c.d. - Macierze, wykresy 3D, rozwiązywanie równań, pochodne i całki, animacje

Mathcad c.d. - Macierze, wykresy 3D, rozwiązywanie równań, pochodne i całki, animacje Mathcad c.d. - Macierze, wykresy 3D, rozwiązywanie równań, pochodne i całki, animacje Opracował: Zbigniew Rudnicki Powtórka z poprzedniego wykładu 2 1 Dokument, regiony, klawisze: Dokument Mathcada realizuje

Bardziej szczegółowo

1. ISE WebPack i VHDL Xilinx ISE Design Suite 10.1 VHDL Tworzenie projektu Project Navigator Xilinx ISE Design Suite 10.1 File

1. ISE WebPack i VHDL Xilinx ISE Design Suite 10.1 VHDL Tworzenie projektu Project Navigator Xilinx ISE Design Suite 10.1 File 1. ISE WebPack i VHDL Celem ćwiczenia jest szybkie zaznajomienie się ze środowiskiem projektowym Xilinx ISE Design Suite 10.1 oraz językiem opisu sprzętu VHDL. Tworzenie projektu Uruchom program Project

Bardziej szczegółowo

1 Podstawy c++ w pigułce.

1 Podstawy c++ w pigułce. 1 Podstawy c++ w pigułce. 1.1 Struktura dokumentu. Kod programu c++ jest zwykłym tekstem napisanym w dowolnym edytorze. Plikowi takiemu nadaje się zwykle rozszerzenie.cpp i kompiluje za pomocą kompilatora,

Bardziej szczegółowo

MentorGraphics ModelSim

MentorGraphics ModelSim MentorGraphics ModelSim 1. Konfiguracja programu Wszelkie zmiany parametrów systemu symulacji dokonywane są w menu Tools -> Edit Preferences... Wyniki ustawień należy zapisać w skrypcie startowym systemu

Bardziej szczegółowo

Altera Quartus II. Opis niektórych komponentów dostarczanych razem ze środowiskiem. Opracował: mgr inż. Leszek Ciopiński

Altera Quartus II. Opis niektórych komponentów dostarczanych razem ze środowiskiem. Opracował: mgr inż. Leszek Ciopiński Altera Quartus II Opis niektórych komponentów dostarczanych razem ze środowiskiem Opracował: mgr inż. Leszek Ciopiński Spis treści Opis wybranych zagadnień obsługi środowiska Altera Quartus II:...1 Magistrale:...

Bardziej szczegółowo

/* dołączenie pliku nagłówkowego zawierającego deklaracje symboli dla wykorzystywanego mikrokontrolera */ #include <aduc834.h>

/* dołączenie pliku nagłówkowego zawierającego deklaracje symboli dla wykorzystywanego mikrokontrolera */ #include <aduc834.h> Szablon programu: /* dołączenie pliku nagłówkowego zawierającego deklaracje symboli dla wykorzystywanego mikrokontrolera */ #include /* opcjonalne: deklaracja typów o rozmiarze jednego i dwóch

Bardziej szczegółowo

Wprowadzenie do programowania w języku Visual Basic. Podstawowe instrukcje języka

Wprowadzenie do programowania w języku Visual Basic. Podstawowe instrukcje języka Wprowadzenie do programowania w języku Visual Basic. Podstawowe instrukcje języka 1. Kompilacja aplikacji konsolowych w środowisku programistycznym Microsoft Visual Basic. Odszukaj w menu startowym systemu

Bardziej szczegółowo

Opis szybkiego uruchomienia programu APBSoft

Opis szybkiego uruchomienia programu APBSoft Opis szybkiego uruchomienia programu APBSoft www.telmatik.pl Program APBSoft należy instalować z otrzymanej płyty CD albo pobrać ze strony www.telmatik.pl. W drugim przypadku program dostarczany jest w

Bardziej szczegółowo

LABORATORIUM 3 ALGORYTMY OBLICZENIOWE W ELEKTRONICE I TELEKOMUNIKACJI. Wprowadzenie do środowiska Matlab

LABORATORIUM 3 ALGORYTMY OBLICZENIOWE W ELEKTRONICE I TELEKOMUNIKACJI. Wprowadzenie do środowiska Matlab LABORATORIUM 3 ALGORYTMY OBLICZENIOWE W ELEKTRONICE I TELEKOMUNIKACJI Wprowadzenie do środowiska Matlab 1. Podstawowe informacje Przedstawione poniżej informacje maja wprowadzić i zapoznać ze środowiskiem

Bardziej szczegółowo

przedmiot kilka razy, wystarczy kliknąć przycisk Wyczaruj ostatni,

przedmiot kilka razy, wystarczy kliknąć przycisk Wyczaruj ostatni, Baltie Zadanie 1. Budowanie W trybie Budowanie wybuduj domek jak na rysunku. Przedmioty do wybudowania domku weź z banku 0. Zadanie 2. Czarowanie sterowanie i powtarzanie W trybie Czarowanie z pomocą czarodzieja

Bardziej szczegółowo

Literatura. adów w cyfrowych. Projektowanie układ. Technika cyfrowa. Technika cyfrowa. Bramki logiczne i przerzutniki.

Literatura. adów w cyfrowych. Projektowanie układ. Technika cyfrowa. Technika cyfrowa. Bramki logiczne i przerzutniki. Literatura 1. D. Gajski, Principles of Digital Design, Prentice- Hall, 1997 2. C. Zieliński, Podstawy projektowania układów cyfrowych, PWN, Warszawa 2003 3. G. de Micheli, Synteza i optymalizacja układów

Bardziej szczegółowo

Krótkie wprowadzenie do ModelSim i Quartus2

Krótkie wprowadzenie do ModelSim i Quartus2 Krótkie wprowadzenie do ModelSim i Quartus2 wersja 04.2011 1 Plan Oprogramowanie Pliki źródłowe Scenariusze użycia 2 Programy Programy w wersji darmowej do pobrania ze strony www.altera.com ModelSim-Altera

Bardziej szczegółowo

WYKONANIE APLIKACJI OKIENKOWEJ OBLICZAJĄCEJ SUMĘ DWÓCH LICZB W ŚRODOWISKU PROGRAMISTYCZNYM. NetBeans. Wykonał: Jacek Ventzke informatyka sem.

WYKONANIE APLIKACJI OKIENKOWEJ OBLICZAJĄCEJ SUMĘ DWÓCH LICZB W ŚRODOWISKU PROGRAMISTYCZNYM. NetBeans. Wykonał: Jacek Ventzke informatyka sem. WYKONANIE APLIKACJI OKIENKOWEJ OBLICZAJĄCEJ SUMĘ DWÓCH LICZB W ŚRODOWISKU PROGRAMISTYCZNYM NetBeans Wykonał: Jacek Ventzke informatyka sem. VI 1. Uruchamiamy program NetBeans (tu wersja 6.8 ) 2. Tworzymy

Bardziej szczegółowo

Skrypty i funkcje Zapisywane są w m-plikach Wywoływane są przez nazwę m-pliku, w którym są zapisane (bez rozszerzenia) M-pliki mogą zawierać

Skrypty i funkcje Zapisywane są w m-plikach Wywoływane są przez nazwę m-pliku, w którym są zapisane (bez rozszerzenia) M-pliki mogą zawierać MatLab część III 1 Skrypty i funkcje Zapisywane są w m-plikach Wywoływane są przez nazwę m-pliku, w którym są zapisane (bez rozszerzenia) M-pliki mogą zawierać komentarze poprzedzone znakiem % Skrypty

Bardziej szczegółowo

Mikrokontroler ATmega32. Język symboliczny

Mikrokontroler ATmega32. Język symboliczny Mikrokontroler ATmega32 Język symboliczny 1 Język symboliczny (asembler) jest językiem niskiego poziomu - pozwala pisać programy złożone z instrukcji procesora. Kody instrukcji są reprezentowane nazwami

Bardziej szczegółowo

Język HDL - VERILOG. (Syntetyzowalna warstwa języka) Hardware Description Language Krzysztof Jasiński PRUS PRUS

Język HDL - VERILOG. (Syntetyzowalna warstwa języka) Hardware Description Language Krzysztof Jasiński PRUS PRUS Język HDL - VERLOG Hardware Description Language (Syntetyzowalna warstwa języka) RUS RUS VERLOG rzegląd zagadnień RUS RUS prowadzenie do języka Reprezentacja układu cyfrowego w Verilogu opis strukturalny

Bardziej szczegółowo

1 Wstęp. 2 Proste przykłady. 3 Podstawowe elementy leksykalne i typy danych. 6 Opis strukturalny. 7 Moduł testowy (testbench)

1 Wstęp. 2 Proste przykłady. 3 Podstawowe elementy leksykalne i typy danych. 6 Opis strukturalny. 7 Moduł testowy (testbench) Wstęp SYSTEMY WBUDOWANE Układy kombinacyjne c Dr inż. Ignacy Pardyka UNIWERSYTET JANA KOCHANOWSKIEGO w Kielcach Rok akad. 2011/2012 c Dr inż. Ignacy Pardyka (Inf.UJK) Systemy wbudowane Rok akad. 2011/2012

Bardziej szczegółowo

i pakietu programowego PALASM 4

i pakietu programowego PALASM 4 i pakietu programowego PALASM 4 - 2 -! "# logicznych PAL i GAL; $!# #% programowego PALASM 4.!" & "!&' (! ))!*+ $!," # (!) )# )!*+ -!," # (!!*+.!,% %(!!*! #!, #+ $!&# 0+ -!,%##nazwa.pds# # % '# #'"# %#+

Bardziej szczegółowo

Zaawansowane aplikacje internetowe - laboratorium

Zaawansowane aplikacje internetowe - laboratorium Zaawansowane aplikacje internetowe - laboratorium Web Services (część 3). Do wykonania ćwiczeń potrzebne jest zintegrowane środowisko programistyczne Microsoft Visual Studio 2005. Ponadto wymagany jest

Bardziej szczegółowo

1. Przypisy, indeks i spisy.

1. Przypisy, indeks i spisy. 1. Przypisy, indeks i spisy. (Wstaw Odwołanie Przypis dolny - ) (Wstaw Odwołanie Indeks i spisy - ) Przypisy dolne i końcowe w drukowanych dokumentach umożliwiają umieszczanie w dokumencie objaśnień, komentarzy

Bardziej szczegółowo

Podstawy programowania skrót z wykładów:

Podstawy programowania skrót z wykładów: Podstawy programowania skrót z wykładów: // komentarz jednowierszowy. /* */ komentarz wielowierszowy. # include dyrektywa preprocesora, załączająca biblioteki (pliki nagłówkowe). using namespace

Bardziej szczegółowo

Wydział Elektryczny. Katedra Automatyki i Elektroniki. Instrukcja do ćwiczeń laboratoryjnych z przedmiotu: PROGRAMOWALNE STRUKTURY LOGICZNE

Wydział Elektryczny. Katedra Automatyki i Elektroniki. Instrukcja do ćwiczeń laboratoryjnych z przedmiotu: PROGRAMOWALNE STRUKTURY LOGICZNE Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki Instrukcja do ćwiczeń laboratoryjnych z przedmiotu: PROGRAMOWALNE STRUKTURY LOGICZNE ES1C420 300 Ćwiczenie Nr 2 KOMPILACJA

Bardziej szczegółowo

Podstawy programowania w środowisku Totally Integration Automation Portal

Podstawy programowania w środowisku Totally Integration Automation Portal GRUPA MT Temat i Autor Podstawy programowania w środowisku Totally Integration Automation Portal Krzysztof Bodzek, Arkadiusz Domoracki, Grzegorz Jarek CEL ĆWICZENIA 1. Poznanie narzędzia Totally Integration

Bardziej szczegółowo

Robert Barański, AGH, KMIW MathScript and Formula Nodes v1.0

Robert Barański, AGH, KMIW MathScript and Formula Nodes v1.0 MathScript i Formula Nodes (MathScript and Formula Nodes) Formula Node w oprogramowaniu LabVIEW jest wygodnym, tekstowym węzłem, który można użyć do wykonywania skomplikowanych operacji matematycznych

Bardziej szczegółowo

Pracownia Informatyczna Instytut Technologii Mechanicznej Wydział Inżynierii Mechanicznej i Mechatroniki. Podstawy Informatyki i algorytmizacji

Pracownia Informatyczna Instytut Technologii Mechanicznej Wydział Inżynierii Mechanicznej i Mechatroniki. Podstawy Informatyki i algorytmizacji Pracownia Informatyczna Instytut Technologii Mechanicznej Wydział Inżynierii Mechanicznej i Mechatroniki Podstawy Informatyki i algorytmizacji wykład 1 dr inż. Maria Lachowicz Wprowadzenie Dlaczego arkusz

Bardziej szczegółowo

Instrukcja obsługi DHL KONWERTER 1.6

Instrukcja obsługi DHL KONWERTER 1.6 Instrukcja obsługi DHL KONWERTER 1.6 Opis: Niniejsza instrukcja opisuje wymogi użytkowania aplikacji oraz zawiera informacje na temat jej obsługi. DHL Konwerter powstał w celu ułatwienia oraz usprawnienia

Bardziej szczegółowo

Zmienne powłoki. Wywołanie wartości następuje poprzez umieszczenie przed nazwą zmiennej znaku dolara ($ZMIENNA), np. ZMIENNA=wartosc.

Zmienne powłoki. Wywołanie wartości następuje poprzez umieszczenie przed nazwą zmiennej znaku dolara ($ZMIENNA), np. ZMIENNA=wartosc. Zmienne powłoki Zmienne powłoki (shell variables) to tymczasowe zmienne, które mogą przechowywać wartości liczbowe lub ciągi znaków. Związane są z powłoką, Przypisania wartości do zmiennej następuje poprzez

Bardziej szczegółowo

Wydział Elektryczny. Katedra Automatyki i Elektroniki. Instrukcja do ćwiczeń laboratoryjnych z przedmiotu: TECHNIKA CYFROWA 2 TS1C300 020

Wydział Elektryczny. Katedra Automatyki i Elektroniki. Instrukcja do ćwiczeń laboratoryjnych z przedmiotu: TECHNIKA CYFROWA 2 TS1C300 020 Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki Instrukcja do ćwiczeń laboratoryjnych z przedmiotu: TEHNIKA YFOWA 2 T1300 020 Ćwiczenie Nr 6 EALIZAJA FUNKJI EJETOWYH W TUKTUAH

Bardziej szczegółowo

Laboratorium przedmiotu Technika Cyfrowa

Laboratorium przedmiotu Technika Cyfrowa Laboratorium przedmiotu Technika Cyfrowa ćw.3 i 4: Asynchroniczne i synchroniczne automaty sekwencyjne 1. Implementacja asynchronicznych i synchronicznych maszyn stanu w języku VERILOG: Maszyny stanu w

Bardziej szczegółowo

Synteza strukturalna automatów Moore'a i Mealy

Synteza strukturalna automatów Moore'a i Mealy Synteza strukturalna automatów Moore'a i Mealy Formalna definicja automatu: A = < Z, Q, Y, Φ, Ψ, q 0 > Z alfabet wejściowy Q zbiór stanów wewnętrznych Y alfabet wyjściowy Φ funkcja przejść q(t+1) = Φ (q(t),

Bardziej szczegółowo

Elżbieta Kula - wprowadzenie do Turbo Pascala i algorytmiki

Elżbieta Kula - wprowadzenie do Turbo Pascala i algorytmiki Elżbieta Kula - wprowadzenie do Turbo Pascala i algorytmiki Turbo Pascal jest językiem wysokiego poziomu, czyli nie jest rozumiany bezpośrednio dla komputera, ale jednocześnie jest wygodny dla programisty,

Bardziej szczegółowo

Definicja układu kombinacyjnego była stosunkowo prosta -tabela prawdy. Opis układu sekwencyjnego jest zadaniem bardziej złożonym.

Definicja układu kombinacyjnego była stosunkowo prosta -tabela prawdy. Opis układu sekwencyjnego jest zadaniem bardziej złożonym. 3.4. GRF UTOMTU, TBELE PRZEJŚĆ / WYJŚĆ Definicja układu kombinacyjnego była stosunkowo prosta -tabela prawdy. Opis układu sekwencyjnego jest zadaniem bardziej złożonym. Proste przypadki: Opis słowny, np.:

Bardziej szczegółowo

Liczniki, rejestry lab. 07 Układy sekwencyjne cz. 1

Liczniki, rejestry lab. 07 Układy sekwencyjne cz. 1 Liczniki, rejestry lab. 07 Układy sekwencyjne cz. 1 PODSTAWY TECHNIKI CYFROWEJ I MIKROPROCESOROWEJ EIP KATEDRA ENERGOELEKTRONIKI I AUTOMATYKI SYSTEMÓW PRZETWARZANIA ENERGII WWW.KEIASPE.AGH.EDU.PL AKADEMIA

Bardziej szczegółowo

I. Interfejs użytkownika.

I. Interfejs użytkownika. Ćwiczenia z użytkowania systemu MFG/PRO 1 I. Interfejs użytkownika. MFG/PRO w wersji eb2 umożliwia wybór użytkownikowi jednego z trzech dostępnych interfejsów graficznych: a) tekstowego (wybór z menu:

Bardziej szczegółowo

Po uruchomieniu programu nasza litera zostanie wyświetlona na ekranie

Po uruchomieniu programu nasza litera zostanie wyświetlona na ekranie Część X C++ Typ znakowy służy do reprezentacji pojedynczych znaków ASCII, czyli liter, cyfr, znaków przestankowych i innych specjalnych znaków widocznych na naszej klawiaturze (oraz wielu innych, których

Bardziej szczegółowo

Tworzenie nowego projektu w asemblerze dla mikroprocesora z rodziny 8051

Tworzenie nowego projektu w asemblerze dla mikroprocesora z rodziny 8051 Tworzenie nowego projektu w asemblerze dla mikroprocesora z rodziny 8051 Katedra Automatyki, Wydział EAIiE Akademia Górniczo-Hutnicza w Krakowie Marcin Piątek Kraków 2008 1. Ważne uwagi i definicje Poniższy

Bardziej szczegółowo

Wstęp do programowania. Wykład 1

Wstęp do programowania. Wykład 1 Wstęp do programowania Wykład 1 1 / 49 Literatura Larry Ullman, Andreas Signer. Programowanie w języku C++. Walter Savitch, Kenrick Mock. Absolute C++. Jerzy Grębosz. Symfonia C++. Standard. Stephen Prata.

Bardziej szczegółowo

Część 3. Układy sekwencyjne. Układy sekwencyjne i układy iteracyjne - grafy stanów TCiM Wydział EAIiIB Katedra EiASPE 1

Część 3. Układy sekwencyjne. Układy sekwencyjne i układy iteracyjne - grafy stanów TCiM Wydział EAIiIB Katedra EiASPE 1 Część 3 Układy sekwencyjne Układy sekwencyjne i układy iteracyjne - grafy stanów 18.11.2017 TCiM Wydział EAIiIB Katedra EiASPE 1 Układ cyfrowy - przypomnienie Podstawowe informacje x 1 x 2 Układ cyfrowy

Bardziej szczegółowo

Projektowanie Urządzeń Cyfrowych

Projektowanie Urządzeń Cyfrowych Projektowanie Urządzeń Cyfrowych Laboratorium 2 Przykład prostego ALU Opracował: mgr inż. Leszek Ciopiński Wstęp: Magistrale: Program MAX+plus II umożliwia tworzenie magistral. Magistrale są to grupy przewodów

Bardziej szczegółowo

LibreOffice Calc VBA

LibreOffice Calc VBA LibreOffice Calc VBA LibreOffice Calc umożliwia tworzenie własnych funkcji i procedur przy użyciu składni języka VBA. Dostęp do edytora makr: Narzędzia->Makra->Zarządaj makrami->libreoffice Calc Aby rozpocząć

Bardziej szczegółowo

System imed24 Instrukcja Moduł Analizy i raporty

System imed24 Instrukcja Moduł Analizy i raporty System imed24 Instrukcja Moduł Analizy i raporty Instrukcja obowiązująca do wersji 1.8.0 Spis treści 1. Moduł Analizy i Raporty... 3 1.1. Okno główne modułu Analizy i raporty... 3 1.1.1. Lista szablonów

Bardziej szczegółowo

Ukªady Kombinacyjne - cz ± I

Ukªady Kombinacyjne - cz ± I Ukªady Kombinacyjne - cz ± I Sebastian Kurczyk sebastian.kurczyk@polsl.pl Piotr Krauze piotr.krauze@polsl.pl 13 kwietnia 2013 Streszczenie Celem niniejszego laboratorium jest zapoznanie studentów z metodami

Bardziej szczegółowo

xx + x = 1, to y = Jeśli x = 0, to y = 0 Przykładowy układ Funkcja przykładowego układu Metody poszukiwania testów Porównanie tabel prawdy

xx + x = 1, to y = Jeśli x = 0, to y = 0 Przykładowy układ Funkcja przykładowego układu Metody poszukiwania testów Porównanie tabel prawdy Testowanie układów kombinacyjnych Przykładowy układ Wykrywanie błędów: 1. Sklejenie z 0 2. Sklejenie z 1 Testem danego uszkodzenia nazywa się takie wzbudzenie funkcji (wektor wejściowy), które daje błędną

Bardziej szczegółowo

Pliki. Operacje na plikach w Pascalu

Pliki. Operacje na plikach w Pascalu Pliki. Operacje na plikach w Pascalu ścieżka zapisu, pliki elementowe, tekstowe, operacja plikowa, etapy, assign, zmienna plikowa, skojarzenie, tryby otwarcia, reset, rewrite, append, read, write, buforowanie

Bardziej szczegółowo

Instrukcja obsługi Multiconverter 2.0

Instrukcja obsługi Multiconverter 2.0 Instrukcja obsługi Multiconverter 2.0 Opis: Niniejsza instrukcja opisuje wymogi użytkowania aplikacji oraz zawiera informacje na temat jej obsługi. DHL Multiconverter powstał w celu ułatwienia oraz usprawnienia

Bardziej szczegółowo

Programowanie w języku C++ Grażyna Koba

Programowanie w języku C++ Grażyna Koba Programowanie w języku C++ Grażyna Koba Kilka definicji: Program komputerowy to ciąg instrukcji języka programowania, realizujący dany algorytm. Język programowania to zbiór określonych instrukcji i zasad

Bardziej szczegółowo

Tab. 1 Tab. 2 t t+1 Q 2 Q 1 Q 0 Q 2 Q 1 Q 0

Tab. 1 Tab. 2 t t+1 Q 2 Q 1 Q 0 Q 2 Q 1 Q 0 Synteza liczników synchronicznych Załóżmy, że chcemy zaprojektować licznik synchroniczny o następującej sekwencji: 0 1 2 3 6 5 4 [0 sekwencja jest powtarzana] Ponieważ licznik ma 7 stanów, więc do ich

Bardziej szczegółowo

Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki. ĆWICZENIE Nr 8 (3h) Implementacja pamięci ROM w FPGA

Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki. ĆWICZENIE Nr 8 (3h) Implementacja pamięci ROM w FPGA Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki ĆWICZENIE Nr 8 (3h) Implementacja pamięci ROM w FPGA Instrukcja pomocnicza do laboratorium z przedmiotu Programowalne Struktury

Bardziej szczegółowo

Przykładowe pytania z części PSPICE. 1. Podaj zasady tworzenia pliku symulacyjnego. 2. Czy składnia PSPICE jest czuła na wielkość liter? 3.

Przykładowe pytania z części PSPICE. 1. Podaj zasady tworzenia pliku symulacyjnego. 2. Czy składnia PSPICE jest czuła na wielkość liter? 3. Przykładowe pytania z części PSPICE. 1. Podaj zasady tworzenia pliku symulacyjnego. 2. Czy składnia PSPICE jest czuła na wielkość liter? 3. Jak umieszcza się komentarze w pliku symulacyjnym PSPICE? 4.

Bardziej szczegółowo

Zakład Systemów Rozproszonych

Zakład Systemów Rozproszonych Zakład Systemów Rozproszonych Politechnika Rzeszowska Moduł 5: Wybrane programy użytkowe Edytor Vi Edytor Vi uruchamiany jest w oknie terminala. Przy jego pomocy możemy dokonywać następujących operacji:

Bardziej szczegółowo

Podręcznik użytkownika programu. Ceremonia 3.1

Podręcznik użytkownika programu. Ceremonia 3.1 Podręcznik użytkownika programu Ceremonia 3.1 1 Spis treści O programie...3 Główne okno programu...4 Edytor pieśni...7 Okno ustawień programu...8 Edycja kategorii pieśni...9 Edytor schematów slajdów...10

Bardziej szczegółowo

Produkcja by CTI. Proces instalacji, ważne informacje oraz konfiguracja

Produkcja by CTI. Proces instalacji, ważne informacje oraz konfiguracja Produkcja by CTI Proces instalacji, ważne informacje oraz konfiguracja Spis treści 1. Ważne informacje przed instalacją...3 2. Instalacja programu...4 3. Nawiązanie połączenia z serwerem SQL oraz z programem

Bardziej szczegółowo

Podstawy programowania w języku C i C++

Podstawy programowania w języku C i C++ Podstawy programowania w języku C i C++ Część czwarta Operatory i wyrażenia Autor Roman Simiński Kontakt roman.siminski@us.edu.pl www.us.edu.pl/~siminski Niniejsze opracowanie zawiera skrót treści wykładu,

Bardziej szczegółowo

Asynchroniczne statyczne układy sekwencyjne

Asynchroniczne statyczne układy sekwencyjne Asynchroniczne statyczne układy sekwencyjne Układem sekwencyjnym nazywany jest układ przełączający, posiadający przynajmniej jeden taki stan wejścia, któremu odpowiadają, zależnie od sygnałów wejściowych

Bardziej szczegółowo

Programowanie sterowników B&R

Programowanie sterowników B&R POLITECHNIKA POZNAŃSKA Programowanie sterowników B&R Instrukcja nr 2 Język Structured Text ST Arkadiusz Kubacki 2015-10-01 1. Tworzenie nowego projektu w Automation Studio Po uruchomieniu programu Automation

Bardziej szczegółowo

UKŁADY CYFROWE. Układ kombinacyjny

UKŁADY CYFROWE. Układ kombinacyjny UKŁADY CYFROWE Układ kombinacyjny Układów kombinacyjnych są bramki. Jedną z cech układów kombinacyjnych jest możliwość przedstawienia ich działania (opisu) w postaci tabeli prawdy. Tabela prawdy podaje

Bardziej szczegółowo

Bezpieczeństwo informacji oparte o kryptografię kwantową

Bezpieczeństwo informacji oparte o kryptografię kwantową WYŻSZA SZKOŁA BIZNESU W DĄBROWIE GÓRNICZEJ WYDZIAŁ ZARZĄDZANIA INFORMATYKI I NAUK SPOŁECZNYCH Instrukcja do laboratorium z przedmiotu: Bezpieczeństwo informacji oparte o kryptografię kwantową Instrukcja

Bardziej szczegółowo

Wydział Elektryczny. Katedra Automatyki i Elektroniki. Instrukcja do ćwiczeń laboratoryjnych z przedmiotu: PROGRAMOWALNE STRUKTURY LOGICZNE

Wydział Elektryczny. Katedra Automatyki i Elektroniki. Instrukcja do ćwiczeń laboratoryjnych z przedmiotu: PROGRAMOWALNE STRUKTURY LOGICZNE Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki Instrukcja do ćwiczeń laboratoryjnych z przedmiotu: PROGRAMOWALNE STRUKTURY LOGICZNE ES1C420 300 Ćwiczenie Nr 1 SYSTEM CAD

Bardziej szczegółowo

Układy programowalne, część 5

Układy programowalne, część 5 Układy programowalne, część 5 Każda próba systematyzacji nabywanej wiedzy budziła we mnie bunt: po co zaczynać prace od podstaw, skoro chciałbym od razu zająć się zagadnieniami poważnymi? Pewnie wśród

Bardziej szczegółowo

Projekt prostego układu sekwencyjnego Ćwiczenia Audytoryjne Podstawy Automatyki i Automatyzacji

Projekt prostego układu sekwencyjnego Ćwiczenia Audytoryjne Podstawy Automatyki i Automatyzacji WOJSKOWA AKADEMIA TECHNICZNA im. Jarosława Dąbrowskiego Projekt prostego układu sekwencyjnego Ćwiczenia Audytoryjne Podstawy Automatyki i Automatyzacji mgr inż. Paulina Mazurek Warszawa 2013 1 Wstęp Układ

Bardziej szczegółowo

Metody numeryczne Laboratorium 2

Metody numeryczne Laboratorium 2 Metody numeryczne Laboratorium 2 1. Tworzenie i uruchamianie skryptów Środowisko MATLAB/GNU Octave daje nam możliwość tworzenia skryptów czyli zapisywania grup poleceń czy funkcji w osobnym pliku i uruchamiania

Bardziej szczegółowo

LABORATORIUM UKŁADÓW PROGRAMOWALNYCH Wydziałowy Zakład Metrologii Mikro- i Nanostruktur SEMESTR LETNI 2017

LABORATORIUM UKŁADÓW PROGRAMOWALNYCH Wydziałowy Zakład Metrologii Mikro- i Nanostruktur SEMESTR LETNI 2017 LABORATORIUM UKŁADÓW PROGRAMOWALNYCH Wydziałowy Zakład Metrologii Mikro- i Nanostruktur SEMESTR LETNI 2017 Prowadzący: mgr inż. Maciej Rudek email: maciej.rudek@pwr.edu.pl Pierwszy projekt w środowisku

Bardziej szczegółowo

CoDeSys 3 programowanie w języku drabinkowym LD

CoDeSys 3 programowanie w języku drabinkowym LD Notatka Aplikacyjna NA 03004PL Spis treści 1. Wstęp... 2 1.1. Wymagania programowe... 2 2. Tworzenie projektu i dodawanie programu w LD... 3 3. Organizacja okien dla języka LD... 5 4. Składnia języka LD

Bardziej szczegółowo

Katedra Elektrotechniki Teoretycznej i Informatyki. wykład 12 - sem.iii. M. Czyżak

Katedra Elektrotechniki Teoretycznej i Informatyki. wykład 12 - sem.iii. M. Czyżak Katedra Elektrotechniki Teoretycznej i Informatyki wykład 12 - sem.iii M. Czyżak Język C - preprocesor Preprocesor C i C++ (cpp) jest programem, który przetwarza tekst programu przed przekazaniem go kompilatorowi.

Bardziej szczegółowo

Wprowadzania liczb. Aby uniknąć wprowadzania ułamka jako daty, należy poprzedzać ułamki cyfrą 0 (zero); np.: wpisać 0 1/2

Wprowadzania liczb. Aby uniknąć wprowadzania ułamka jako daty, należy poprzedzać ułamki cyfrą 0 (zero); np.: wpisać 0 1/2 Wprowadzania liczb Liczby wpisywane w komórce są wartościami stałymi. W Excel'u liczba może zawierać tylko następujące znaki: 0 1 2 3 4 5 6 7 8 9 + - ( ), / $ %. E e Excel ignoruje znaki plus (+) umieszczone

Bardziej szczegółowo

ĆWICZENIE 7. Wprowadzenie do funkcji specjalnych sterownika LOGO!

ĆWICZENIE 7. Wprowadzenie do funkcji specjalnych sterownika LOGO! ćwiczenie nr 7 str.1/1 ĆWICZENIE 7 Wprowadzenie do funkcji specjalnych sterownika LOGO! 1. CEL ĆWICZENIA: zapoznanie się z zaawansowanymi możliwościami mikroprocesorowych sterowników programowalnych na

Bardziej szczegółowo

Ćwiczenie MMLogic 002 Układy sekwencyjne cz. 2

Ćwiczenie MMLogic 002 Układy sekwencyjne cz. 2 Ćwiczenie MMLogic 002 Układy sekwencyjne cz. 2 TECHNIKA MIKROPROCESOROWA 3EB KATEDRA ENERGOELEKTRONIKI I AUTOMATYKI SYSTEMÓW PRZETWARZANIA ENERGII WWW.KEIASPE.AGH.EDU.PL AKADEMIA GÓRNICZO-HUTNICZA WWW.AGH.EDU.PL

Bardziej szczegółowo

Materiały pomocnicze do ćwiczeń laboratoryjnych. Projektowanie układów cyfrowych przy użyciu PLD i pakietu programowego PALASM 4

Materiały pomocnicze do ćwiczeń laboratoryjnych. Projektowanie układów cyfrowych przy użyciu PLD i pakietu programowego PALASM 4 Materiały pomocnicze do ćwiczeń laboratoryjnych Projektowanie układów cyfrowych przy użyciu PLD i pakietu programowego PALASM 4 - 2 - Cel ćwiczenia Celem ćwiczenia jest zapoznanie się z:. metodami projektowania

Bardziej szczegółowo

LICZNIKI LABORATORIUM. Elektronika AKADEMIA GÓRNICZO-HUTNICZA IM. STANISŁAWA STASZICA W KRAKOWIE. Wydział Informatyki, Elektroniki i Telekomunikacji

LICZNIKI LABORATORIUM. Elektronika AKADEMIA GÓRNICZO-HUTNICZA IM. STANISŁAWA STASZICA W KRAKOWIE. Wydział Informatyki, Elektroniki i Telekomunikacji AKADEMIA GÓRNICZO-HUTNICZA IM. STANISŁAWA STASZICA W KRAKOWIE Wydział Informatyki, Elektroniki i Telekomunikacji Katedra Elektroniki LABORATORIUM Elektronika LICZNIKI Rev.1.0 1. Wprowadzenie Celem ćwiczenia

Bardziej szczegółowo

INSTRUKCJA UŻYTKOWANIA

INSTRUKCJA UŻYTKOWANIA INSTRUKCJA UŻYTKOWANIA KOMPILATORA UKŁADÓW CYFROWYCH ACTIVE CAD Opis układów przy pomocy edytora schematów Opracował dr inż. Piotr Kawalec Warszawa, 2000 rok SPIS TREŚCI str. 1. WSTĘP... 3 2. TWORZENIE

Bardziej szczegółowo

TEMAT: PROJEKTOWANIE I BADANIE PRZERZUTNIKÓW BISTABILNYCH

TEMAT: PROJEKTOWANIE I BADANIE PRZERZUTNIKÓW BISTABILNYCH Praca laboratoryjna 2 TEMAT: PROJEKTOWANIE I BADANIE PRZERZUTNIKÓW BISTABILNYCH Cel pracy poznanie zasad funkcjonowania przerzutników różnych typów w oparciu o różne rozwiązania układowe. Poznanie sposobów

Bardziej szczegółowo

1. SFC W PAKIECIE ISAGRAF 2. EDYCJA PROGRAMU W JĘZYKU SFC. ISaGRAF WERSJE 3.4 LUB 3.5 1

1. SFC W PAKIECIE ISAGRAF 2. EDYCJA PROGRAMU W JĘZYKU SFC. ISaGRAF WERSJE 3.4 LUB 3.5 1 ISaGRAF WERSJE 3.4 LUB 3.5 1 1. SFC W PAKIECIE ISAGRAF 1.1. Kroki W pakiecie ISaGRAF użytkownik nie ma możliwości definiowania własnych nazw dla kroków. Z każdym krokiem jest związany tzw. numer odniesienia

Bardziej szczegółowo

Laboratorium WDEC. Opis posługiwania się pakietem AMPL

Laboratorium WDEC. Opis posługiwania się pakietem AMPL Laboratorium WDEC Opis posługiwania się pakietem AMPL Adam Krzemienowski, Grzegorz Płoszajski Instytut Automatyki i Informatyki Stosowanej Politechnika Warszawska Pakiet AMPL Pakiet AMPL jest narzędziem

Bardziej szczegółowo

Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki. ĆWICZENIE Nr 4 (3h) Przerzutniki, zatrzaski i rejestry w VHDL

Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki. ĆWICZENIE Nr 4 (3h) Przerzutniki, zatrzaski i rejestry w VHDL Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki ĆWICZENIE Nr 4 (3h) Przerzutniki, zatrzaski i rejestry w VHDL Instrukcja pomocnicza do laboratorium z przedmiotu Synteza układów

Bardziej szczegółowo

Lokalizacja jest to położenie geograficzne zajmowane przez aparat. Miejsce, w którym zainstalowane jest to urządzenie.

Lokalizacja jest to położenie geograficzne zajmowane przez aparat. Miejsce, w którym zainstalowane jest to urządzenie. Lokalizacja Informacje ogólne Lokalizacja jest to położenie geograficzne zajmowane przez aparat. Miejsce, w którym zainstalowane jest to urządzenie. To pojęcie jest używane przez schematy szaf w celu tworzenia

Bardziej szczegółowo

Język opisu sprzętu VHDL

Język opisu sprzętu VHDL Język opisu sprzętu VHDL dr inż. Adam Klimowicz Seminarium dydaktyczne Katedra Mediów Cyfrowych i Grafiki Komputerowej Informacje ogólne Język opisu sprzętu VHDL Przedmiot obieralny dla studentów studiów

Bardziej szczegółowo

Automat skończony FSM Finite State Machine

Automat skończony FSM Finite State Machine Automat skończony FSM Finite State Machine Projektowanie detektora sekwencji Laboratorium z Elektroniki Współczesnej A. Skoczeń, KOiDC, WFiIS, AGH, 2019 AGH, WFiIS, Elektronika Współczesna 1 Deterministyczny

Bardziej szczegółowo

Wprowadzenie do programowania w języku Visual Basic. Podstawowe instrukcje języka

Wprowadzenie do programowania w języku Visual Basic. Podstawowe instrukcje języka Wprowadzenie do programowania w języku Visual Basic. Podstawowe instrukcje języka 1. Kompilacja aplikacji konsolowych w środowisku programistycznym Microsoft Visual Basic. Odszukaj w menu startowym systemu

Bardziej szczegółowo

Użycie Visual Basic for Applications ("VBA")

Użycie Visual Basic for Applications (VBA) Użycie Visual Basic for Applications ("VBA") Przegląd SEE z modułem VBA Developer SEE używa języka programowania Visual Basic for Applications (VBA) pozwalającego tworzyć krótkie programy zwane "makrami".

Bardziej szczegółowo

Gromadzenie danych. Przybliżony czas ćwiczenia. Wstęp. Przegląd ćwiczenia. Poniższe ćwiczenie ukończysz w czasie 15 minut.

Gromadzenie danych. Przybliżony czas ćwiczenia. Wstęp. Przegląd ćwiczenia. Poniższe ćwiczenie ukończysz w czasie 15 minut. Gromadzenie danych Przybliżony czas ćwiczenia Poniższe ćwiczenie ukończysz w czasie 15 minut. Wstęp NI-DAQmx to interfejs służący do komunikacji z urządzeniami wspomagającymi gromadzenie danych. Narzędzie

Bardziej szczegółowo

5.2. Pierwsze kroki z bazami danych

5.2. Pierwsze kroki z bazami danych 5.2. Pierwsze kroki z bazami danych Uruchamianie programu Podobnie jak inne programy, OO Base uruchamiamy z Menu Start, poprzez zakładkę Wszystkie programy, gdzie znajduje się folder OpenOffice.org 2.2,

Bardziej szczegółowo

Magistrale na schematach

Magistrale na schematach Magistrale na schematach Jeśli w projektowanym układzie występują sygnały składające się z kilku powiązanych ze sobą logicznie linii (na przykład liczby wielobitowe) wskazane jest używanie magistrali (Bus).

Bardziej szczegółowo

I. Program II. Opis głównych funkcji programu... 19

I. Program II. Opis głównych funkcji programu... 19 07-12-18 Spis treści I. Program... 1 1 Panel główny... 1 2 Edycja szablonu filtrów... 3 A) Zakładka Ogólne... 4 B) Zakładka Grupy filtrów... 5 C) Zakładka Kolumny... 17 D) Zakładka Sortowanie... 18 II.

Bardziej szczegółowo