Projektowanie układów cyfrowych w strukturach FPGA

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

Download "Projektowanie układów cyfrowych w strukturach FPGA"

Transkrypt

1 Danuta OJRZEŃSKA-WÓJTER*, Krzysztof JASIŃSKI* Projektowanie układów cyfrowych w strukturach FPGA Niniejszy artykuł stanowi kontynuację tematu wykorzystania układów programowalnych FPGA do efektywnego projektowania i implementacji zintegrowanych systemów cyfrowych (SOPC System On Programmable Chip) przy użyciu narzędzi komputerowej syntezy logicznej i optymalizacji ([5]). Jego przedmiotem jest nowe podejście do projektowania systemów cyfrowych, realizowanych w architekturach układów programowalnych. Charakterystyczną cechą nowej metody projektowania jest koncepcja systemu wbudowanego i wirtualnych funkcji (rdzeni) IP cores. Punktem wyjścia rozważań jest model procesu projektowania, wykorzystujący ideę systemu wbudowanego i rdzeni IP. SYSTEMY WBUDOWANE Projektowanie systemów wbudowanych z użyciem FPGA wymaga zdefiniowania funkcji, które mogą być zrealizowane w sprzęcie lub implementowane jako program wykonywany przez procesor wbudowany. Z powodu wielowątkowego charakteru systemy wbudowane wymagają użycia konstrukcji z zakresu systemów cyfrowych, architektur komputerów, oprogramowania i projektowania mikroprocesorów. Ponadto implementacja systemów wbudowanych z użyciem FPGA wymaga wiedzy i umiejętności z zakresu układów programowalnych oraz języków opisu sprzętu HDL (np. AHDL, VHDL lub Verilog) i narzędzi do ich projektowania. Zagadnienia te zostały poruszone w niniejszym artykule w ograniczonym zakresie, gdyż uwzględnienie wszystkich aspektów przekracza ramy tego opracowania. Warto zaznaczyć, iż gruntowna wiedza w każdym z tematów nie jest niezbędna nawet projektantowi tych systemów. Artykuł zawiera podstawowe informacje potrzebne do zrozumienia procesu projektowania złożonych systemów wbudowanych i rdzeni IP. Projektowanie systemu wbudowanego, który stał się nowym trendem, posiłkuje się wbudowanymi rdzeniami i procesorami jako komponentami systemu cyfrowego. Projektant stosuje do specyfikacji połączenie programów wysokiego poziomu i opisu na poziomie RTL (Register Transfer Language). Komunikacja pomiędzy różnymi częściami systemu stała się ważnym problemem i musi być odpowiednio rozwiązana. Z punktu widzenia współczesnych zadań projektowania złożonych systemów wyraźnie widać, że dotychczas stosowane opisy na poziomie RTL stały się zbyt szczegółowe i obszerne. Aby tworzyć efektywne i niezawodne projekty, jest niezbędne przejście na wyższy poziom abstrakcji Electronic System Level (ESL). W tym języku projektanci opisują komponenty na bardzo wysokim poziomie funkcjonalnym i za pomocą narzędzi projektowych tłumaczą te opisy na bardziej szczegółowy poziom RTL lub bramek logicznych. Ze wzrostem złożoności projektów i ich różnorodności połączenia między komponentami stają się bardziej złożonymi interfejsami. Przechodząc od modelu bramkowego do poziomu RTL, połączenia między komponentami stają się bardziej złożonymi magistralami. Uwzględniając taką tendencję, już dziś widać, że połączenia wewnątrz systemu stają się równie złożone, jak * Instytut Telekomunikacji Politechniki Warszawskiej, dwojter@tele.pw.edu.pl, kjasio@tele.pw.edu.pl komponenty na poziomie RTL i przyjmują formę inteligentnych magistral systemowych, które mogą obsługiwać transfery bloków danych, mechanizmy arbitrażu i komunikacji typu master-slave. Umiejętność rozwiązania tego zagadnienia jest niezwykle istotna dla projektantów systemów. Podstawowymi wymaganiami stawianymi projektantom systemów sprzętowych są dziś: umiejętność tworzenia programów realizujących funkcje w sprzęcie, zrozumienie architektur procesorów wykonujących te programy, projektowanie sprzętu na poziomie RTL i tworzenie opisu połączeń między komponentami systemu. Elementy projektu systemu wbudowanego System cyfrowy jest systemem wbudowanym, jeżeli co najmniej jeden jego komponent to procesor realizujący funkcje sprzętowe. Taki procesor jest nazywany procesorem wbudowanym. Systemy wbudowane dają projektantom możliwość stosowania programów w języku C/C++ do specyfikacji i implementacji projektów złożonych funkcji sprzętowych. Programy na wysokim poziomie abstrakcji umożliwiają zastąpienie znacznie bardziej szczegółowych specyfikacji sprzętowych, zapisanych w kodzie HDL jako specjalizowanych funkcji lub gotowych elementó bibliotecznych. Warto zauważyć, że projekt systemu wbudowanego, zdefiniowanego powyżej, nie różni się zasadniczo od analogicznego projektu dla zwykłych mikrokontrolerów. Również sposób podejścia do projektowania jest w obu przypadkach niemal jednakowy. Cechą wyróżniającą systemy wbudowane jest znacznie większa elastyczność i możliwość wyspecjalizowania projektów. Narzędzia do projektowania systemów wbudowanych są wyposażone w metody syntezy na wyższym poziomie abstrakcji, które umożliwiają efektywną integrację procesorów wbudowanych z innymi komponentami. Wykorzystanie możliwości i zalet systemów wbudowanych wymaga opanowania nowej metodyki projektowania sprzętu. Jej podstawą jest tworzenie warstwy sprzętowej i programowej systemu przy użyciu tego samego zintegrowanego środowiska projektowego. W dalszej części artykułu będzie skoncentrowana uwaga na elementach projektu wbudowanego. Zostaną poruszone takie zagadnienia, jak metodologia, rola oprogramowania, rola języków opisu sprzętu (HDL), integracja systemowa sprzętu i oprogramowania oraz dostępne narzędzia i środowisko do projektowania systemów wbudowanych. Poziomy abstrakcji Projektowanie systemów cyfrowych na początku historii było oparte na modelach sieci tranzystorów i ewoluowało na poziom sieci bramek, a następnie na poziom opisu RTL przy użyciu języków HDL. Chociaż dostępne obecnie języki HDL i biblioteki konfigurowalnych megafunkcji są wystarczające do realizacji większości typowych projektów, to tworzenie bardzo złożonych systemów sprzętowych wymaga stosowania modeli na wyższym poziomie abstrakcji. Od tranzystorów do programów Pierwsze projekty układów cyfrowych wykorzystywały do realizacji funkcji sprzętowych sieci logiczne zbudowane z pojedyn- 878

2 czych tranzystorów. Taka ręczna metoda implementacji projektu polegała na rozmieszczeniu ad hoc tranzystorów o wybranych rozmiarach i wytyczeniu dróg połączeniowych, tak aby osiągnąć parametry optymalne dla zadanej funkcji. Wzrost złożoności projektowanych układów spowodował konieczność zmiany modelu, tak aby umożliwić efektywne projektowanie znacznie większych systemów. W rezultacie ewolucji model sieci tranzystorów został zastąpiony modelem bramkowym. Przejście na wyższy poziom abstrakcji pociągnęło za sobą problemy optymalizacji rozwiązań, które wymagały kompromisu pomiędzy częściowo sprzecznymi ze sobą parametrami, jak opóźnienia, użycie zasobów logicznych i pobierana energia. Nowe narzędzia do projektowania zostały wyposażone w odpowiednie mechanizmy optymalizacji i weryfikacji oraz transformacji wynikowych schematów na poziom sieci tranzystorów, które fizycznie realizują funkcje systemu. Następny etap ewolucji to przejście na poziom abstrakcji, który operuje modelem bardziej zintegrowanym (zwięzłym), niż model bramkowy. W tym modelu główna uwaga jest skupiona na mechanizmach transferu danych pomiędzy rejestrami, modułami logicznymi i magistralami. Stąd pochodzi nazwa RTL języka przesłań międzyrejestrowych. Narzędzia do projektowania systemów na poziomie RTL są wyposażone w zaawansowane funkcje tworzenia specyfikacji projektu, optymalizacji, weryfikacji i symulacji oraz transformacji na poziom sieci bramkowych. Analogiczny mechanizm wymusił ewolucję w projektowaniu na wyższy stopień abstrakcji niż RTL, poziom systemowy ESL. Na poziomie systemowym projektant zajmuje się jedynie warstwą funkcjonalną projektowanego systemu i opisuje algorytm, który zamierza implementować. Algorytm jest opisywany przy użyciu języka proceduralnego podobnego do języka C. Opis na tym poziomie nie zawiera zegara ani relacji czasowych jak w modelu bramkowym. pilowaniu opisu systemowego do postaci programu wykonywanego przez dany procesor. Powyższa metoda jest istotą tego, co rozumiemy pod określeniem projektowanie systemu wbudowanego. W odniesieniu do pierwszej metody jest używane również określenie C syntezy lub syntezy systemowej [2]. Nakreślona powyżej ewolucja metod projektowania i modele opisu stosowane na kolejnych jej etapach ilustruje rys. 1. ŁĄCZENIE POZIOMÓW OPISU Choć projektowanie na wyższym poziomie jest łatwiejsze i lepiej wspomagane przez bardziej wyrafinowane narzędzia, to projektanci często stosują mieszane metody na różnych poziomach abstrakcji. Wybór takiej strategii jest uzależniony od uwarunkowań konkretnego projektu i jego pracochłonności. W szczególnych przypadkach, gdy jest konieczna optymalizacja projektu na poziomie komórek, projektant może ingerować w jego strukturę na poziomie tranzystorów. Najczęściej stosowany jest wariant łączenia różnych poziomów w jednym projekcie, gdy do opisu z użyciem konstrukcji RTL są niezbędne niestandardowe funkcje na poziomie RTL, budowane z pojedynczych bramek logicznych. Projekty na poziomie systemowym w ogólnym przypadku są konstruowane jako połączenie komponentów opisanych i realizowanych w procesorach wbudowanych z komponentami sprzętowymi definiowanymi w języku RTL. Komponenty na poziomie RTL są konstruowane ręcznie w większym zakresie, niż procesory wbudowane, a w związku z tym są lepiej optymalizowane z uwzględnieniem najważniejszych kryteriów: zajmowanej powierzchni układu scalonego, opóźnień i szybkości działania oraz zużywanej energii. Projektanci sprzętu na poziomie systemowym powinni mieć możliwości stosowania strategii mieszanej z użyciem komponentów RTL i procesorów wbudowanych. Ten postulat jest już realizowany w dostępnych dziś narzędziach wspomagających, w które są wyposażane środowiska do projektowania, oferowane przez producentów układów FPGA (ALTERA, XILINX). Specyfikacja projektu Sposób specyfikacji zależy od poziomu abstrakcji zastosowanego modelu na poziomie tranzystorów i bramek podstawową formą wprowadzania projektu jest opis za pomocą schematu logicznego lub blokowego. Ta metoda specyfikacji projektu jest dostępna w większości środowisk do projektowania. Na poziomie RTL stosuje się języki opisu sprzętu, zapewniające jednoznaczność i zwartość (zwięzłość) specyfikacji projektu i jego sprzętowej implementacji. W specyfikacji systemu do opisu połączeń między komponentami stosuje się formę schematową, typową dla niższego poziomu reprezentacji systemu. Na poziomie systemowym typowym środkiem specyfikacji projektu jest język C/C++, przy czym do opisu połączeń między komponentami jest stosowana forma graficzna. Rys. 1. Poziomy abstrakcji modeli systemów cyfrowych Narzędzia do projektowania systemowego obejmują takie funkcje, jak: specyfikacja i wprowadzanie projektu, symulacja i generacja (synteza) funkcji sprzętowych. Ta ostatnia funkcja może być wykonana na dwa sposoby. Pierwszy sposób wymaga przetłumaczenia opisu systemowego w języku C-podobnym na poziom RTL, na którym odbywa się generowanie struktur sprzętowych. Drugi sposób jest realizowany bezpośrednio i polega na skom- Proces projektowania systemu wbudowanego Schemat ilustrujący etapy procesu projektowania systemu wbudowanego pokazano na rys. 2. Zawiera on dwie ścieżki implementacji funkcji sprzętowych: przy użyciu opisu HDL i języka programowania, których wyniki w kolejnym etapie są integrowane w jednolitej formie sprzętowej. Dekompozycja sprzętowo-programowa systemu Pierwszy krok w projektowaniu systemu wbudowanego polega na określeniu, które jego części będą implementowane jako komponenty sprzętowe specyfikowane w języku HDL lub w formie sieci bramek, a które będą realizowane w postaci programów wykonywanych przez procesor wbudowany. Ten etap projektowania jest określany terminem podziału albo dekompozycji sprzę- 879

3 Specyfikacja połączeń między blokami systemu Środkowa część diagramu (rys. 2) reprezentuje specyfikację bloku zależności pomiędzy częścią sprzętową i programową systemu. Blok ten może być prostą wiązką połączeń, magistralą danych lub złożoną strukturą komunikacyjną. Zwykle środowiska do projektowania systemów wbudowanych mają własną strukturę magistralową. Takie magistrale mogą realizować różne operacje, związane z przekazywaniem danych, takie jak: uzgadnianie przekazu (handshaking), realizacja warunków czasowych, transfer bloków danych i inne funkcje. Z punktu widzenia wysokiego poziomu takie magistrale są przezroczyste dla projektanta systemu, który nie musi ingerować w sposób ich realizacji. Rys. 2. Schemat procesu projektowania systemu wbudowanego towo-programowej. Czynność ta jest zwykle przeprowadzana bez wspomagania narzędziami komputerowymi i stanowi chyba najtrudniejszą fazęą procesu projektowania. Część sprzętową tworzony się z bloków sprzętowych opisanych w języku HDL lub predefiniowanych modułów dostępów jako elementy biblioteczne środowiska projektowego. Część programowa jest specyfikowana w postaci programów w języku C/C++, które po kompilacji są wprowadzane do pamięci procesora wbudowanego, który je wykonuje. Część sprzętowa systemu Część sprzętowa (ścieżka po prawej stronie rys. 2) projektowanego systemu może być połączeniem komponentów opisanych w języku VERILOG (VHDL) lub w formie schematów bramkowych. Wybór i użycie tych środków specyfikacji do opisu komponentów, niezależnie od środowiska projektowego, jest dokonywane przez projektanta według reguł i intuicyjnych przesłanek, opartych na jego własnych doświadczeniach. W środowiskach projektowych obecnie dostępnych w coraz większym zakresie są oferowane wirtualne funkcje, tzw. IP cores, które projektant może wykorzystywać w swoich projektach w sposób analogiczny jak konfigurowalne makrofunkcje, pochodzące z własnych bibliotek i realizujące standardowe funkcje sprzętowe. Część programowa systemu Implementację programowej części systemu pokazano na rys. 2 (ścieżka po lewej stronie). Tę część projektu realizuje się w postaci programu w języku wysokiego poziomu, który po kompilacji jest programem w języku procesora wbudowanego. Alternatywne rozwiązanie polega na stworzeniu programu w asemblerze lub bezpośrednio w kodzie maszynowym procesora. Komercyjne wersje procesorów wbudowanych są zwykle wyposażone w niezbędne narzędzia programowe i kompilatory oraz programy do weryfikacji (debugger); w większości tych rozwiązań do opisu algorytmów sprzętowych jest stosowany język C/C++. W przypadku, gdy projektant stosuje rdzeń procesora własnej konstrukcji, musi sam stworzyć program tłumaczący algorytmy w języku wysokiego poziomu na kod maszynowy, realizujący funkcje sprzętowe. Niezależnie od sposobu wykonania część programowa projektu może być traktowana tak jak inne bloki sprzętowe, zdefiniowane przy użyciu języka HDL. Symulacja sprzętowo-programowa W fazie poprzedzającej realizację części sprzętowej, programowej oraz bloku połączeń systemowych należy przeprowadzić funkcjonalno-czasową weryfikację projektu we wspólnym środowisku symulacyjnym. Część sprzętowa jest symulowana na poziomie opisu RTL, zaś część programowa na poziomie instrukcji. Środowiska do projektowania systemu są wyposażone w symulatory HDL do symulacji na poziomie RTL oraz symulatory ISS (Instruction Set Simulators) do symulacji programu. Środowiska do projektowania systemów wbudowanych umożliwiają weryfikację komponentów całego systemu we wzajemnym powiązaniu. Synteza sprzętowa Sprzętowa część systemu, opisana za pomocą języka VERI- LOG (lub VHDL) lub w formie schematów bramkowych, jest w procesie syntezy transformowana na sieć bramek (netlista) i prostych elementów logicznych. Program syntezy wymaga określenia dostępnych dla implementacji zasobów logicznych i ich specyfikacji (rys. 3). Rys. 3. Synteza sprzętowa Zasoby te są uzależnione od wyboru techniki implementacji (np. FPGA lub ASIC). W procesie syntezy logicznej jest generowana lista powiązań między komponentami, należącymi do biblioteki środowiska, które zwykle są opisane w języku netlist, VHDL, VERILOG lub innego formatu. Lista powiązań wraz ze szczegółami specyfikacji dostępnych zasobów tworzy pełny opis sprzętu po syntezie logicznej. Kompilacja programu Podobnie jak przy syntezie części sprzętowej należało określić specyfikację zasobów, tak w przypadku części programowej systemu jest konieczne określenie użytego procesora wbudowanego. Dla wybranego procesora dokonuje się kompilacji, w wyniku której otrzymuje się program w języku maszynowym tego procesora. Program ten wraz z architekturą sprzętową procesora tworzy kompletną implementację części programowej projektowanego systemu. Schemat procesu kompilacji przedstawiono na rys

4 Rys. 4. Kompilacja programu Sprzętowa realizacja powiązań miedzy komponentami Połączenie między częściami programową i sprzętową systemu realizuje blok powiązań. Jak wspomniano wcześniej, blok ten może być elementem bibliotecznym środowiska do projektowania systemowego i jest wygenerowany automatycznie. Problem może powstać, kiedy korzysta się z własnego procesora wbudowanego nieobsługiwanego przez standardowe środowisko. Wówczas blok powiązań musi być zaprojektowany i zrealizowany analogicznie jak pozostałe sprzętowe bloki funkcjonalne. Integracja projektu Ostatnią fazą projektowania systemu wbudowanego jest scalenie elementów, występujących w różnorodnych formatach w części: sprzętowej, programowej i struktury powiązań. Moduł integratora, pokazany na rys. 2, generuje kompletną listę połączeń między komórkami dedykowanego układu, np. FPGA. Lista ta, wraz z zawartościami pamięci procesora wbudowanego, jest odwzorowywana w dedykowanym układzie, będącym fizyczną realizacją systemu wbudowanego [3]. SOPC INNE SPOJRZENIE NA SYSTEM W FPGA Pojawienie się układów programowalnych FPGA o dużej pojemności, które oprócz elementów logicznych (komórek) i wyspecjalizowanych funkcji sprzętowych (PLL, DSP, interfejsy transmisyjne) zawierają bloki pamięci wbudowanej (od kilkunastu do nawet kilkuset bloków po 4 kbity), stworzyło projektantom systemów cyfrowych nowe możliwości. Szczególnie atrakcyjnym i ważnym kierunkiem wykorzystania tych środków jest rozwój techniki wirtualnych komponentów IP, dostarczanych wraz z kompletnymi środowiskami do projektowania systemów i ich zastosowanie do realizacji kompletnego systemu w jednym układzie programowalnym SOPC (System on a Programmable Chip). W najnowszej literaturze przedmiotu termin SOPC jest używany równolegle z określeniem systemu wbudowanego, a zakresy definicji obu terminów w znacznej części się pokrywają. Koncepcja SOPC obejmuje jednoukładowe realizacje systemu cyfrowego, zbudowanego z komponentów typu IP core i konfigurowalnych bloków funkcji standardów przemysłowych. Ważną rolę w strategii rozwoju zintegrowanych systemów cyfrowych odgrywają implementacje zawierające procesory wbudowane. W dalszej części artykułu zostanie skupiona uwaga na omówieniu konkretnych rozwiązań komercyjnych w zakresie tworzenia aplikacji z użyciem firmowych rdzeni procesorów w środowiskach projektowych, dostarczanych przez ich producentów. Rdzenie procesorów wbudowanych Rdzenie procesorów wbudowanych występują w dwóch odmianach technologicznych: wersji hardcore i softcore. Te określe- nia odnoszą się do własności przypisywanych tym obiektom elastyczności i konfigurowalności. Procesor w wersji hardcore jest procesorem wbudowanym w fizyczne podłoże krzemowe układu scalonego i stanowi składnik jego zasobów, zintegrowany z innymi elementami funkcjonalnymi za pomocą programowalnych połączeń. Połączenie procesora z elementami logicznymi w jednym układzie FPGA stanowi hybrydową konstrukcję, której parametry aplikacyjne są kompromisowe w porównaniu z osiąganymi w rozwiązaniach tradycyjnych FPGA i ASIC. Układy programowalne z wbudowanym fizycznie procesorem są oferowane przez kilku producentów. Jednym z pierwszych była firma ALTE- RA, która zaproponowała rdzeń procesora typu ARM, wbudowany do układów z rodziny APEX 20KE, o nazwie firmowej EXCA- LIBUR [6]. Z kolei firma XILINX wyposażyła swoje układy FPGA z rodziny VIRTEX-II Pro [7] w rdzeń złożony nawet z kilku procesorów typu PowerPC (do 4). Innym przykładem implementacji procesora wbudowanego na podłożu układu FPGA jest, oferowany przez firmę Cypress Semiconductor, układ o nazwie PSoC, w którym rdzeń procesora M8C został scalony z konfigurowalnymi blokami logicznymi o wyspecjalizowanych funkcjach, jak: konwertery analogowo-cyfrowe i cyfrowo-analogowe, liczniki, timery i interfejsy UART. Procesor w wersji softcore jest procesorem istniejącym wirtualnie, podobnie jak rozmaite funkcje konfigurowalne zdefiniowane w językach opisu sprzętu, który dopiero po kompilacji i zaprogramowaniu układu FPGA przyjmuje fizyczną postać procesora wbudowanego. Taki procesor jest skonstruowany z elementów logicznych i pamięci wbudowanej standardowego układu FPGA. Przykładami najbardziej popularnych rdzeni procesorów wbudowanych softcore są: NIOS II (ALTERA) [6] i MicroBlaze (XILINX) [7]. Tabela 1. Charakterystyka komercyjnych procesorów softcore dla FPGA Własności NIOS II 5.0 MicroBlaze 4.0 Ścieżka danych 32 bity 32 bity Poziomy przetwarzania (potokowego) Częstotliwość do 200 MHz do 200 MHz Liczba bramek Rejestry 32 ogólnego 32 ogólnego przeznaczenia przeznaczenia 6 specjalnego 32 specjalnego Długość instrukcji 32 bity 32 bity Cache opcja opcja Sprzętowe mnożenie i dzielenie opcja opcja W tabeli 1 scharakteryzowano oba bogato wyposażone i elastyczne procesory, mające konfigurowalną architekturę i parametry modyfikowalne w procesie kompilacji, np. rozmiary pamięci i jej pojemność, funkcje jednostki ALU, liczbę i typy urządzeń peryferyjnych itp. Te zalety procesorów softcore są opłacone pogorszeniem szybkości działania i większym poborem energii w porównaniu z równoważnymi funkcjonalnie odpowiednikami w wersji hardcore. Do każdego procesora wbudowanego są dostarczane specjalizowane narzędzia wspomagające proces projektowania systemu na etapie konfigurowania funkcji i parametrów takich jak: liczba i rozmiary rejestrów, długość słowa, sprzętowe operacje mnożenia i dzielenia, sprzętowa arytmetyka zmiennoprzecinkowa oraz układy we/wy. Takie narzędzia syntetyzują architekturę procesora, której wejściowa specyfikacja jest wyrażona w języku VHDL lub VE- RILOG. Również etap tworzenia oprogramowania danego procesora wbudowanego jest wspomagany narzędziami dostarczonymi przez producenta, które zwykle umożliwiają weryfikację i kompilację programów zapisanych w języku C lub C

5 Narzędzia i proces projektowania systemu SOPC Tradycyjnie proces projektowania systemów cyfrowych, realizowanych w układach FPGA, przy użyciu komercyjnych narzędzi wspomagających, prowadzi ścieżką: od opisu funkcjonalnego w języku HDL lub graficznej formy schematu blokowego, przez kompilację, która obejmuje syntezę i optymalizację logiczną oraz syntezę topologiczną place and route, następnie weryfikację symulacyjną, na programowaniu fizycznym układu programowalnego kończąc. Rys. 5. Schemat i narzędzia do projektowania systemu SOPC Rozwinięty schemat procesu projektowania SOPC, uwzględniający procesor stosowania softcore i związane z nim narzędzia, jest pokazany na rys. 5. Dla uproszczenia przyjęto, że pamięć programu i pamięć danych są zrealizowane przy użyciu zasobów pamięci wbudowanej układu FPGA. Standardowymi narzędziami, realizującymi wymienione wcześniej etapy projektowania systemu w FPGA, są oferowane przez głównych producentów środowiska projektowe QUARTUS II (ALTERA) i ISE (XILINX). Obecnie, oprócz oferty komercyjnej procesorów softcore są dostępne bezpłatne tzw. predefiniowane procesory softcore, które można importować ze stron internetowych kilku organizacji, zrzeszających projektantów takich procesorów. Procesory dostarczane przez producentów układów FPGA są zwykle ręcznie optymalizowane dla określonych rodzin układów i są znacznie efektywniejsze niż niekomercyjne rozwiązania, np. realizacje projektów studenckich. Słabą stroną takich niekomercyjnych produktów jest brak odpowiednich narzędzi wspomagających projektowanie, w szczególności kompilatorów wysokiego poziomu i programów do konfiguracji architektury tych procesorów. W przypadku produktu np. firmy ALTERA środowisko wspomagające projektowanie jest wyposażone w moduł konfiguracji z przyjaznym interfejsem graficznym (GUI), który umożliwia projektantowi kształtowanie architektury i parametrów procesora odpowiednio do wymagań konkretnego projektu. Za pomocą interfejsu konfiguracyjnego można programować takie funkcje i parametry, jak: szerokość ścieżki danych, rozmiary pamięci i przestrzeni adresowej, obsługę urządzeń peryferyjnych (w tym dowolne definiowanie rejestrów I/O ogólnego przeznaczenia), interfejs UART, kontrolery eternetu, pamięci kontrolerów etc. Po skonfigurowaniu procesora jest generowany moduł procesora w postaci pliku HDL. W dalszym etapie ten plik jest dołączony i zintegrowany z pozostałymi komponentami, tworzącymi kompletny projekt sprzętowy, a następnie poddawany tradycyjnemu przetwarzaniu realizującemu syntezę i optymalizację logiczną oraz syntezę topologiczną place and route. W ostatniej fazie procesu projektowania warstwy sprzęto- wej systemu są generowane pliki z danymi dla programatora, które służą do zaprogramowania pamięci konfiguracyjnej układu FPGA zawierającego system SOPC. Następnym krokiem jest tworzenie części programowej systemu SOPC. Zgodnie ze schematem działania, pokazanym na rys. 5 (prawa strona), faza ta polega na stworzeniu programu w języku C /C++, który w formie programu źródłowego jest poddawany kompilacji. Do kompilacji są niezbędne również informacje o konfiguracji sprzętowej procesora, dostarczane do kompilatora w postaci plików, w tym plików nagłówkowych C. Kompilator C/C++, dostosowany do danego procesora, generuje program wynikowy w formie kodu binarnego, który w kolejnej fazie jest ładowany do pamięci programu i pamięci danych procesora. Ładowanie programu i danych do pamięci może być wykonane w różny sposób, w zależności od dostępnej pamięci. W przypadku niezbyt dużych programów aplikacyjnych można wykorzystać bloki pamięci wbudowanej (on-chip) układu FPGA. Inicjalizacja programu następuje po zaprogramowaniu pamięci konfiguracyjnej i jest wykonywana przy użyciu standardowego środowiska projektowego, np. QUARTUS II (ALTERA) czy ISE (XILINX). W przypadku tworzenia prototypu systemu program aplikacji jest często modyfikowany. W związku z tym jest konieczne wyposażenie projektanta w odpowiednie narzędzie do przekazywania kodu programu z komputera PC do pamięci procesora. Funkcja ładowania pamięci (bootloader lub boot monitor) może być implementowana w postaci programowej lub sprzętowej. Bootloader zawiera kod programu, który jest ładowany do pamięci on- -chip i uruchamiany po włączeniu zasilania. Podstawową funkcją programu umieszczonego w pamięci on-chip jest odebranie kodu aplikacji (plik binarny) przez port szeregowy (lub inny interfejs PC) i załadowanie go do zewnętrznej pamięci procesora, a następnie uruchomienie procesora z tą aplikacją. Metoda ta umożliwia zapisanie nowych programów aplikacji do pamięci zewnętrznej w trakcie działania systemu bez konieczności zmiany pamięci konfiguracyjnej układu FPGA. Przykładowo firma Altera do wyposażenia procesora NIOS II dołącza bootloader o nazwie GERMS. Sprzętowa implementacja bootloadera realizuje podobne funkcje, jak wersja programowa. Taka implementacja korzysta z zasobów dostępnych w ramach rdzenia procesora. Zwykle wykonanie funkcji bootloadera wiąże się ze wstrzymaniem pracy procesora, aby umożliwić bezpośredni dostęp do pamięci lub rejestrów w ścieżce danych procesora. Sprzętowy bootloader może uruchomić i zatrzymać prace procesora, a także sterować ładowaniem programu przez interfejs szeregowy do wskazanej pamięci lub wybranych jej obszarów. Sprzętowy bootloader w procesorze Nios II jest umieszczany w module JTAG i używa jego interfejsu do odbioru kodu aplikacji, który następnie zapisuje do odpowiedniej pamięci. Ostatnią czynnością bootloadera w procesorze Nios II jest ustawienie jego licznika programu w pozycji adresu początkowego załadowanego kodu aplikacji i ponowne uruchomienie procesora. Kod programu aplikacji może być przechowywany w zewnętrznej pamięci EEPROM, Flash lub innej pamięci trwałej. Pamięć programu może być zapisana bezpośrednio lub przy użyciu bootloadera. Rozwiązanie z użyciem zewnętrznej pamięci programu jest stosowane do aplikacji, w których szybkość ich działania nie jest istotna. Jeżeli jest wymagana duża szybkość działania, do reali- Rys. 6. System SOPC z zewnętrznymi pamięciami 882

6 zacji można wykorzystać pamięć on-chip i dwie pamięci zewnętrzne (rys. 6). Mechanizm zwiększający szybkość działania polega na wykorzystaniu szybkiej pamięci ulotnej (SDRAM) do wykonywania programu procesora. W fazie początkowej do pamięci tej jest zapisywany program aplikacji, pierwotnie przechowywany w pamięci nieulotnej (Flash lub EEPROM). Bootloader znajdujący się w pamięci on-chip układu FPGA, inicjalizuje system, odczytuje program z pamięci nieulotnej i przenosi go do szybkiej pamięci ulotnej, z której jest uruchamiany. Opisany mechanizm zapewnia wykorzystanie zalet pamięci trwałej, większą szybkość działania i łatwą modyfikację programu aplikacji. Jedynym minusem tego rozwiązania jest koszt dodatkowej pamięci ulotnej. IMPLEMENTACJE SYSTEMÓW CYFROWYCH PORÓWNANIE RÓŻNYCH TECHNIK Implementacja systemu cyfrowego według koncepcji SOPC ma zarówno zalety jak i wady w porównaniu z dotychczasowymi realizacjami: techniką ASIC i procesorami scalonymi (tabela 2). Najsilniejszą stroną implementacji SOPC jest rekonfigurowalność, elastyczność i krótki cykl projektowania. Te zalety są okupione kompromisem w postaci obniżonych 'osiągów', wyższych kosztów jednostkowych przy produkcji i relatywnie większego poboru energii. Istotne korzyści wynikające z elastycznej struktury polegają Tabela 2. Porównanie implementacji systemów SOPC, ASIC i procesora scalonego Cecha SOPC ASIC Procesor scalony Elastyczność programowa Elastyczność sprzętowa o o Rekonfigurowalność o o Czas/koszt opracowania o Koszt peryferiów o Osiągi Koszt produkcji Efektywność zasilania o Ocena jakości: dobra; średnia (przeciętna); o niska między innymi na możliwości modyfikowania projektu w trakcie pełnego cyklu tworzenia. Taka ingerencja może być spowodowana potrzebami rozszerzenia funkcji systemu, zmiany protokołów lub specyfikacji wynikających z aktualizacji standardów, np. USB 2.0. W tradycyjnych technikach (ASIC, procesory scalone) tego rodzaju zmiany mogą spowodować poważne konsekwencje w projektowaniu układu ASIC, wyborze procesora i płyty obwo- du drukowanego. Ponieważ architektura sprzętowa jest zwykle definiowana we wczesnej fazie procesu projektowania, dokonywanie zmian w dalszych etapach powoduje zwykle opóźnienie ostatecznej realizacji i często zwiększenie łącznych kosztów. Elastyczna infrastruktura systemu SOPC może przynieść znaczące korzyści w postaci wydłużenia czasu życia produktu. Rekonfigurowalność struktury funkcjonalnej systemu umożliwia takie zaprojektowanie płyty PCB, która umożliwiałaby różnicowanie produktów np. powszechnego użytku, bez konieczności zmian sprzętowych. * * * Intencją autorów było przedstawienie najnowszych tendencji w projektowaniu zintegrowanych systemów cyfrowych. Istotą zachodzących obecnie przemian w podejściu do realizacji systemów sprzętowych w strukturach FPGA jest uwzględnienie roli implementacji programowych. Ta koncepcja przyjęła formę modelu systemu wbudowanego lub systemu zintegrowanego w jednym układzie scalonym (SOPC), którego co najmniej jednym z komponentów jest procesor. Istnieją dwa sposoby realizacji takich procesorów: wirtualny tzw. softcore i fizycznie wbudowany hardcore. Z dotychczasowych doświadczeń aplikacyjnych można sądzić, że dalszy rozwój tej techniki należy wiązać przede wszystkim z wykorzystaniem procesorów softcore. Uzasadnieniem tej prognozy jest możliwość elastycznego kształtowania ich struktury i dostosowywania do konkretnych wymagań funkcjonalnych przy jednoczesnej eliminacji niewykorzystanych elementów architektury. LITERATURA [1] Navabi Zainalabedin: VHDL: Modular Design and Synthesis of Cores and Systems, McGraw-Hill, 2007 [2] Navabi Zainalabedin: Embedded Core design with FPGAs, McGraw- Hill, 2007 [3] Hamblen J. O., Hall T. S., Furman M. D.: Rapid Prototyping of Digital Systems SOPC Edition, Springer, 2008 [4] Ojrzeńska-Wójter D., Jasiński K.: Nowe tendencje w układach FPGA i ich wykorzystaniu, Intertelecom Łódź, 8 9 kwiecień 2008 [5] Ojrzeńska-Wójter D., Jasiński K.: Układy FPGA możliwości powszechnego zastosowania, Przegląd Telekomunikacyjny i Wiadomości Telekomunikacyjne, [6] http: //www. altera. com materiały i noty katalogowe, noty aplikacyjne, seminaria firmowe, program uniwersytecki [7] http: //www. xilinx. com noty katalogowe, noty aplikacyjne, white paper [8] http: //pld. zpt. tele. pw. edu. pl Artykuł recenzowany (Artykuł nadesłano do red. maj 2008) Prosimy pamiętać o prenumeracie Przeglądu TelekomunikacyjnegoT i Wiadomości W TelekomunikacyjnychT w 2008 roku 883

Systemy na Chipie. Robert Czerwiński

Systemy na Chipie. Robert Czerwiński Systemy na Chipie Robert Czerwiński Cel kursu Celem kursu jest zapoznanie słuchaczy ze współczesnymi metodami projektowania cyfrowych układów specjalizowanych, ze szczególnym uwzględnieniem układów logiki

Bardziej szczegółowo

Systemy wbudowane. Paweł Pełczyński ppelczynski@swspiz.pl

Systemy wbudowane. Paweł Pełczyński ppelczynski@swspiz.pl Systemy wbudowane Paweł Pełczyński ppelczynski@swspiz.pl 1 Program przedmiotu Wprowadzenie definicja, zastosowania, projektowanie systemów wbudowanych Mikrokontrolery AVR Programowanie mikrokontrolerów

Bardziej szczegółowo

METODY ZINTEGROWANEGO PROJEKTOWANIA SPRZĘTU I OPROGRAMOWANIA Z WYKORZYSTANIEM NOWOCZESNYCH UKŁADÓW PROGRAMOWALNYCH

METODY ZINTEGROWANEGO PROJEKTOWANIA SPRZĘTU I OPROGRAMOWANIA Z WYKORZYSTANIEM NOWOCZESNYCH UKŁADÓW PROGRAMOWALNYCH METODY ZINTEGROWANEGO PROJEKTOWANIA SPRZĘTU I OPROGRAMOWANIA Z WYKORZYSTANIEM NOWOCZESNYCH UKŁADÓW PROGRAMOWALNYCH Arkadiusz Bukowiec mgr inż. Agnieszka Węgrzyn Instytut Informatyki i Elektroniki, Uniwersytet

Bardziej szczegółowo

Programowanie niskopoziomowe. dr inż. Paweł Pełczyński ppelczynski@swspiz.pl

Programowanie niskopoziomowe. dr inż. Paweł Pełczyński ppelczynski@swspiz.pl Programowanie niskopoziomowe dr inż. Paweł Pełczyński ppelczynski@swspiz.pl 1 Literatura Randall Hyde: Asembler. Sztuka programowania, Helion, 2004. Eugeniusz Wróbel: Praktyczny kurs asemblera, Helion,

Bardziej szczegółowo

Katedra Mikroelektroniki i Technik Informatycznych

Katedra Mikroelektroniki i Technik Informatycznych Katedra Mikroelektroniki i Technik Informatycznych Bloki obieralne na kierunku Mechatronika rok akademicki 2013/2014 ul. Wólczańska 221/223, budynek B18 www.dmcs.p.lodz.pl Nowa siedziba Katedry 2005 2006

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

Opracował: Jan Front

Opracował: Jan Front Opracował: Jan Front Sterownik PLC PLC (Programowalny Sterownik Logiczny) (ang. Programmable Logic Controller) mikroprocesorowe urządzenie sterujące układami automatyki. PLC wykonuje w sposób cykliczny

Bardziej szczegółowo

MIKROKONTROLERY I MIKROPROCESORY

MIKROKONTROLERY I MIKROPROCESORY PLAN... work in progress 1. Mikrokontrolery i mikroprocesory - architektura systemów mikroprocesorów ( 8051, AVR, ARM) - pamięci - rejestry - tryby adresowania - repertuar instrukcji - urządzenia we/wy

Bardziej szczegółowo

LEKCJA TEMAT: Zasada działania komputera.

LEKCJA TEMAT: Zasada działania komputera. LEKCJA TEMAT: Zasada działania komputera. 1. Ogólna budowa komputera Rys. Ogólna budowa komputera. 2. Komputer składa się z czterech głównych składników: procesor (jednostka centralna, CPU) steruje działaniem

Bardziej szczegółowo

Mechatronika i inteligentne systemy produkcyjne. Modelowanie systemów mechatronicznych Platformy przetwarzania danych

Mechatronika i inteligentne systemy produkcyjne. Modelowanie systemów mechatronicznych Platformy przetwarzania danych Mechatronika i inteligentne systemy produkcyjne Modelowanie systemów mechatronicznych Platformy przetwarzania danych 1 Sterowanie procesem oparte na jego modelu u 1 (t) System rzeczywisty x(t) y(t) Tworzenie

Bardziej szczegółowo

Logiczny model komputera i działanie procesora. Część 1.

Logiczny model komputera i działanie procesora. Część 1. Logiczny model komputera i działanie procesora. Część 1. Klasyczny komputer o architekturze podanej przez von Neumana składa się z trzech podstawowych bloków: procesora pamięci operacyjnej urządzeń wejścia/wyjścia.

Bardziej szczegółowo

Wykład I. Podstawowe pojęcia. Studia Podyplomowe INFORMATYKA Architektura komputerów

Wykład I. Podstawowe pojęcia. Studia Podyplomowe INFORMATYKA Architektura komputerów Studia Podyplomowe INFORMATYKA Architektura komputerów Wykład I Podstawowe pojęcia 1, Cyfrowe dane 2 Wewnątrz komputera informacja ma postać fizycznych sygnałów dwuwartościowych (np. dwa poziomy napięcia,

Bardziej szczegółowo

Większe możliwości dzięki LabVIEW 2009: programowanie równoległe, technologie bezprzewodowe i funkcje matematyczne w systemach czasu rzeczywistego

Większe możliwości dzięki LabVIEW 2009: programowanie równoległe, technologie bezprzewodowe i funkcje matematyczne w systemach czasu rzeczywistego Większe możliwości dzięki LabVIEW 2009: programowanie równoległe, technologie bezprzewodowe i funkcje matematyczne w systemach czasu rzeczywistego Dziś bardziej niż kiedykolwiek narzędzia używane przez

Bardziej szczegółowo

Szybkie prototypowanie w projektowaniu mechatronicznym

Szybkie prototypowanie w projektowaniu mechatronicznym Szybkie prototypowanie w projektowaniu mechatronicznym Systemy wbudowane (Embedded Systems) Systemy wbudowane (ang. Embedded Systems) są to dedykowane architektury komputerowe, które są integralną częścią

Bardziej szczegółowo

WPROWADZENIE Mikrosterownik mikrokontrolery

WPROWADZENIE Mikrosterownik mikrokontrolery WPROWADZENIE Mikrosterownik (cyfrowy) jest to moduł elektroniczny zawierający wszystkie środki niezbędne do realizacji wymaganych procedur sterowania przy pomocy metod komputerowych. Platformy budowy mikrosterowników:

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

ZL10PLD. Moduł dippld z układem XC3S200

ZL10PLD. Moduł dippld z układem XC3S200 ZL10PLD Moduł dippld z układem XC3S200 Moduły dippld opracowano z myślą o ułatwieniu powszechnego stosowania układów FPGA z rodziny Spartan 3 przez konstruktorów, którzy nie mogą lub nie chcą inwestować

Bardziej szczegółowo

ZASTOSOWANIA UKŁADÓW FPGA W ALGORYTMACH WYLICZENIOWYCH APPLICATIONS OF FPGAS IN ENUMERATION ALGORITHMS

ZASTOSOWANIA UKŁADÓW FPGA W ALGORYTMACH WYLICZENIOWYCH APPLICATIONS OF FPGAS IN ENUMERATION ALGORITHMS inż. Michał HALEŃSKI Wojskowy Instytut Techniczny Uzbrojenia ZASTOSOWANIA UKŁADÓW FPGA W ALGORYTMACH WYLICZENIOWYCH Streszczenie: W artykule przedstawiono budowę oraz zasadę działania układów FPGA oraz

Bardziej szczegółowo

PUKP Programowanie urządzeń kontrolno-pomiarowych. ztc.wel.wat.edu.pl

PUKP Programowanie urządzeń kontrolno-pomiarowych. ztc.wel.wat.edu.pl PUKP Programowanie urządzeń kontrolno-pomiarowych Zbigniew Jachna zbigniew.jachna@wat.edu.pl p. 124/45 ztc.wel.wat.edu.pl PUKP, 2016 1 Plan przedmiotu PUKP semestr forma zajęć, liczba godzin/rygor (x egzamin,

Bardziej szczegółowo

Elektronika i techniki mikroprocesorowe

Elektronika i techniki mikroprocesorowe Elektronika i techniki mikroprocesorowe Technika cyfrowa ZłoŜone one układy cyfrowe Katedra Energoelektroniki, Napędu Elektrycznego i Robotyki Wydział Elektryczny, ul. Krzywoustego 2 PLAN WYKŁADU idea

Bardziej szczegółowo

Wykorzystanie standardu JTAG do programowania i debugowania układów logicznych

Wykorzystanie standardu JTAG do programowania i debugowania układów logicznych Politechnika Śląska w Gliwicach Wydział Automatyki Elektroniki i Informatyki Wykorzystanie standardu JTAG do programowania i debugowania układów logicznych Promotor dr inż. Jacek Loska Wojciech Klimeczko

Bardziej szczegółowo

Architektury akceleratorów kryptograficznych opartych o układy programowalne. Marcin Rogawski

Architektury akceleratorów kryptograficznych opartych o układy programowalne. Marcin Rogawski Architektury akceleratorów kryptograficznych opartych o układy programowalne. Marcin Rogawski rogawskim@prokom.pl Plan referatu: Budowa akceleratora kryptograficznego; Struktura programowalna element fizyczny;

Bardziej szczegółowo

Podstawy Projektowania Przyrządów Wirtualnych. Wykład 9. Wprowadzenie do standardu magistrali VMEbus. mgr inż. Paweł Kogut

Podstawy Projektowania Przyrządów Wirtualnych. Wykład 9. Wprowadzenie do standardu magistrali VMEbus. mgr inż. Paweł Kogut Podstawy Projektowania Przyrządów Wirtualnych Wykład 9 Wprowadzenie do standardu magistrali VMEbus mgr inż. Paweł Kogut VMEbus VMEbus (Versa Module Eurocard bus) jest to standard magistrali komputerowej

Bardziej szczegółowo

Metody optymalizacji soft-procesorów NIOS

Metody optymalizacji soft-procesorów NIOS POLITECHNIKA WARSZAWSKA Wydział Elektroniki i Technik Informacyjnych Instytut Telekomunikacji Zakład Podstaw Telekomunikacji Kamil Krawczyk Metody optymalizacji soft-procesorów NIOS Warszawa, 27.01.2011

Bardziej szczegółowo

Wstęp...9. 1. Architektura... 13

Wstęp...9. 1. Architektura... 13 Spis treści 3 Wstęp...9 1. Architektura... 13 1.1. Schemat blokowy...14 1.2. Pamięć programu...15 1.3. Cykl maszynowy...16 1.4. Licznik rozkazów...17 1.5. Stos...18 1.6. Modyfikowanie i odtwarzanie zawartości

Bardziej szczegółowo

Budowa komputera. Magistrala. Procesor Pamięć Układy I/O

Budowa komputera. Magistrala. Procesor Pamięć Układy I/O Budowa komputera Magistrala Procesor Pamięć Układy I/O 1 Procesor to CPU (Central Processing Unit) centralny układ elektroniczny realizujący przetwarzanie informacji Zmiana stanu tranzystorów wewnątrz

Bardziej szczegółowo

Historia modeli programowania

Historia modeli programowania Języki Programowania na Platformie.NET http://kaims.eti.pg.edu.pl/ goluch/ goluch@eti.pg.edu.pl Maszyny z wbudowanym oprogramowaniem Maszyny z wbudowanym oprogramowaniem automatyczne rozwiązywanie problemu

Bardziej szczegółowo

Spis treści. Wykaz ważniejszych skrótów Wprowadzenie Rdzeń Cortex-M Rodzina mikrokontrolerów XMC

Spis treści. Wykaz ważniejszych skrótów Wprowadzenie Rdzeń Cortex-M Rodzina mikrokontrolerów XMC Wykaz ważniejszych skrótów... 8 1. Wprowadzenie... 9 1.1. Wstęp... 10 1.2. Opis zawartości książki... 12 1.3. Korzyści płynące dla Czytelnika... 13 1.4. Profil Czytelnika... 13 2. Rdzeń Cortex-M0...15

Bardziej szczegółowo

o Instalacja środowiska programistycznego (18) o Blink (18) o Zasilanie (21) o Złącza zasilania (22) o Wejścia analogowe (22) o Złącza cyfrowe (22)

o Instalacja środowiska programistycznego (18) o Blink (18) o Zasilanie (21) o Złącza zasilania (22) o Wejścia analogowe (22) o Złącza cyfrowe (22) O autorze (9) Podziękowania (10) Wstęp (11) Pobieranie przykładów (12) Czego będę potrzebował? (12) Korzystanie z tej książki (12) Rozdział 1. Programowanie Arduino (15) Czym jest Arduino (15) Instalacja

Bardziej szczegółowo

Spis treúci. Księgarnia PWN: Krzysztof Wojtuszkiewicz - Urządzenia techniki komputerowej. Cz. 1. Przedmowa... 9. Wstęp... 11

Spis treúci. Księgarnia PWN: Krzysztof Wojtuszkiewicz - Urządzenia techniki komputerowej. Cz. 1. Przedmowa... 9. Wstęp... 11 Księgarnia PWN: Krzysztof Wojtuszkiewicz - Urządzenia techniki komputerowej. Cz. 1 Spis treúci Przedmowa... 9 Wstęp... 11 1. Komputer PC od zewnątrz... 13 1.1. Elementy zestawu komputerowego... 13 1.2.

Bardziej szczegółowo

Spis treści 1. Wstęp 2. Ćwiczenia laboratoryjne LPM

Spis treści 1. Wstęp 2. Ćwiczenia laboratoryjne LPM Spis treści 1. Wstęp... 9 2. Ćwiczenia laboratoryjne... 12 2.1. Środowisko projektowania Quartus II dla układów FPGA Altera... 12 2.1.1. Cel ćwiczenia... 12 2.1.2. Wprowadzenie... 12 2.1.3. Przebieg ćwiczenia...

Bardziej szczegółowo

Elementy cyfrowe i układy logiczne

Elementy cyfrowe i układy logiczne Elementy cyfrowe i układy logiczne Wykład 5 Legenda Procedura projektowania Podział układów VLSI 2 1 Procedura projektowania Specyfikacja Napisz, jeśli jeszcze nie istnieje, specyfikację układu. Opracowanie

Bardziej szczegółowo

Opis efektów kształcenia dla modułu zajęć

Opis efektów kształcenia dla modułu zajęć Nazwa modułu: Programowanie mikrokontroleroẃ i mikroprocesoroẃ Rok akademicki: 2017/2018 Kod: EIT-1-408-s Punkty ECTS: 4 Wydział: Elektrotechniki, Automatyki, Informatyki i Inżynierii Biomedycznej Kierunek:

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

Projektowanie. Projektowanie mikroprocesorów

Projektowanie. Projektowanie mikroprocesorów WYKŁAD Projektowanie mikroprocesorów Projektowanie układ adów w cyfrowych - podsumowanie Algebra Boole a Bramki logiczne i przerzutniki Automat skończony System binarny i reprezentacja danych Synteza logiczna

Bardziej szczegółowo

Lista zadań nr 1. Zagadnienia stosowanie sieci Petriego (ang. Petri net) jako narzędzia do modelowania algorytmów sterowania procesami

Lista zadań nr 1. Zagadnienia stosowanie sieci Petriego (ang. Petri net) jako narzędzia do modelowania algorytmów sterowania procesami Warsztaty Koła Naukowego SMART dr inż. Grzegorz Bazydło G.Bazydlo@iee.uz.zgora.pl, staff.uz.zgora.pl/gbazydlo Lista zadań nr 1 Zagadnienia stosowanie sieci Petriego (ang. Petri net) jako narzędzia do modelowania

Bardziej szczegółowo

PRZEWODNIK PO PRZEDMIOCIE

PRZEWODNIK PO PRZEDMIOCIE Nazwa przedmiotu: Jednostki obliczeniowe w zastosowaniach mechatronicznych Kierunek: Mechatronika Rodzaj przedmiotu: dla specjalności Systemy Sterowania Rodzaj zajęć: Wykład, laboratorium Computational

Bardziej szczegółowo

Projektowanie układów na schemacie

Projektowanie układów na schemacie Projektowanie układów na schemacie Przedstawione poniżej wskazówki mogą być pomocne przy projektowaniu układach na poziomie schematu. Stałe wartości logiczne Aby podłączyć wejście do stałej wartości logicznych

Bardziej szczegółowo

Projektowanie Systemów Wbudowanych

Projektowanie Systemów Wbudowanych Projektowanie Systemów Wbudowanych Podstawowe informacje o płycie DE2 Autorzy: mgr inż. Dominik Bąk i mgr inż. Leszek Ciopiński 1. Płyta DE2 Rysunek 1. Widok płyty DE2 z zaznaczonymi jej komponentami.

Bardziej szczegółowo

Programowanie sterowników przemysłowych / Jerzy Kasprzyk. wyd. 2 1 dodr. (PWN). Warszawa, Spis treści

Programowanie sterowników przemysłowych / Jerzy Kasprzyk. wyd. 2 1 dodr. (PWN). Warszawa, Spis treści Programowanie sterowników przemysłowych / Jerzy Kasprzyk. wyd. 2 1 dodr. (PWN). Warszawa, 2017 Spis treści Przedmowa 11 ROZDZIAŁ 1 Wstęp 13 1.1. Rys historyczny 14 1.2. Norma IEC 61131 19 1.2.1. Cele i

Bardziej szczegółowo

PROGRAMOWALNE STEROWNIKI LOGICZNE

PROGRAMOWALNE STEROWNIKI LOGICZNE PROGRAMOWALNE STEROWNIKI LOGICZNE I. Wprowadzenie Klasyczna synteza kombinacyjnych i sekwencyjnych układów sterowania stosowana do automatyzacji dyskretnych procesów produkcyjnych polega na zaprojektowaniu

Bardziej szczegółowo

Wprowadzenie. Wprowadzenie

Wprowadzenie. Wprowadzenie 5 PicoBlaze udostępniany przez firmę Xilinx jest procesorem, którego opis w językach HDL (ang. Hardware Description Language język opisu sprzętu) opracował Ken Chapman, inżynier tej firmy. Jest to bardzo

Bardziej szczegółowo

POLITECHNIKA WARSZAWSKA Wydział Elektroniki i Technik Informacyjnych. Instytut Telekomunikacji Zakład Podstaw Telekomunikacji

POLITECHNIKA WARSZAWSKA Wydział Elektroniki i Technik Informacyjnych. Instytut Telekomunikacji Zakład Podstaw Telekomunikacji POLITECHNIKA WARSZAWSKA Wydział Elektroniki i Technik Informacyjnych Instytut Telekomunikacji Zakład Podstaw Telekomunikacji Kamil Krawczyk Metody optymalizacji soft-procesorów NIOS Opiekun naukowy: dr

Bardziej szczegółowo

Projektowanie z użyciem procesora programowego Nios II

Projektowanie z użyciem procesora programowego Nios II Projektowanie z użyciem procesora programowego Nios II WSTĘP Celem ćwiczenia jest nauczenie projektowania układów cyfrowych z użyciem wbudowanych procesorów programowych typu Nios II dla układów FPGA firmy

Bardziej szczegółowo

Systemy wbudowane Mikrokontrolery

Systemy wbudowane Mikrokontrolery Systemy wbudowane Mikrokontrolery Budowa i cechy mikrokontrolerów Architektura mikrokontrolerów rodziny AVR 1 Czym jest mikrokontroler? Mikrokontroler jest systemem komputerowym implementowanym w pojedynczym

Bardziej szczegółowo

DLA SEKTORA INFORMATYCZNEGO W POLSCE

DLA SEKTORA INFORMATYCZNEGO W POLSCE DLA SEKTORA INFORMATYCZNEGO W POLSCE SRK IT obejmuje kompetencje najważniejsze i specyficzne dla samego IT są: programowanie i zarządzanie systemami informatycznymi. Z rozwiązań IT korzysta się w każdej

Bardziej szczegółowo

Budowa i zasada działania komputera. dr Artur Bartoszewski

Budowa i zasada działania komputera. dr Artur Bartoszewski Budowa i zasada działania komputera 1 dr Artur Bartoszewski Jednostka arytmetyczno-logiczna 2 Pojęcie systemu mikroprocesorowego Układ cyfrowy: Układy cyfrowe służą do przetwarzania informacji. Do układu

Bardziej szczegółowo

2. Architektura mikrokontrolerów PIC16F8x... 13

2. Architektura mikrokontrolerów PIC16F8x... 13 Spis treści 3 Spis treœci 1. Informacje wstępne... 9 2. Architektura mikrokontrolerów PIC16F8x... 13 2.1. Budowa wewnętrzna mikrokontrolerów PIC16F8x... 14 2.2. Napięcie zasilania... 17 2.3. Generator

Bardziej szczegółowo

Zał nr 4 do ZW. Dla grupy kursów zaznaczyć kurs końcowy. Liczba punktów ECTS charakterze praktycznym (P)

Zał nr 4 do ZW. Dla grupy kursów zaznaczyć kurs końcowy. Liczba punktów ECTS charakterze praktycznym (P) Zał nr 4 do ZW WYDZIAŁ PODSTAWOWYCH PROBLEMÓW TECHNIKI KARTA PRZEDMIOTU Nazwa w języku polskim : Systemy Wbudowane Nazwa w języku angielskim : Embedded Systems Kierunek studiów : Informatyka Specjalność

Bardziej szczegółowo

POLITECHNIKA WARSZAWSKA Wydział Elektroniki i Technik Informacyjnych Instytut Telekomunikacji Zakład Podstaw Telekomunikacji.

POLITECHNIKA WARSZAWSKA Wydział Elektroniki i Technik Informacyjnych Instytut Telekomunikacji Zakład Podstaw Telekomunikacji. POLITECHNIKA WARSZAWSKA Wydział Elektroniki i Technik Informacyjnych Instytut Telekomunikacji Zakład Podstaw Telekomunikacji Kamil Krawczyk Koło Naukowe Układów Cyfrowych Układy cyfrowe (dlaczego?) Idea

Bardziej szczegółowo

Pamięć wirtualna. Przygotował: Ryszard Kijaka. Wykład 4

Pamięć wirtualna. Przygotował: Ryszard Kijaka. Wykład 4 Pamięć wirtualna Przygotował: Ryszard Kijaka Wykład 4 Wstęp główny podział to: PM- do pamięci masowych należą wszelkiego rodzaju pamięci na nośnikach magnetycznych, takie jak dyski twarde i elastyczne,

Bardziej szczegółowo

Podstawy programowania

Podstawy programowania Podstawy programowania Część pierwsza Od języka symbolicznego do języka wysokiego poziomu Autor Roman Simiński Kontakt roman.siminski@us.edu.pl www.us.edu.pl/~siminski Niniejsze opracowanie zawiera skrót

Bardziej szczegółowo

Sprzęt komputerowy 2. Autor prezentacji: 1 prof. dr hab. Maria Hilczer

Sprzęt komputerowy 2. Autor prezentacji: 1 prof. dr hab. Maria Hilczer Sprzęt komputerowy 2 Autor prezentacji: 1 prof. dr hab. Maria Hilczer Budowa komputera Magistrala Procesor Pamięć Układy I/O 2 Procesor to CPU (Central Processing Unit) centralny układ elektroniczny realizujący

Bardziej szczegółowo

Architektura komputerów

Architektura komputerów Architektura komputerów Wykład 12 Jan Kazimirski 1 Magistrale systemowe 2 Magistrale Magistrala medium łączące dwa lub więcej urządzeń Sygnał przesyłany magistralą może być odbierany przez wiele urządzeń

Bardziej szczegółowo

Architektura Systemu. Architektura systemu umożliwia kontrolowanie iteracyjnego i przyrostowego procesu tworzenia systemu.

Architektura Systemu. Architektura systemu umożliwia kontrolowanie iteracyjnego i przyrostowego procesu tworzenia systemu. Architektura Systemu Architektura systemu umożliwia kontrolowanie iteracyjnego i przyrostowego procesu tworzenia systemu. Architektura jest zbiorem decyzji dotyczących: organizacji systemu komputerowego,

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 3 (4h) Konwersja i wyświetlania informacji binarnej w VHDL Instrukcja do zajęć laboratoryjnych z przedmiotu Synteza

Bardziej szczegółowo

Programowanie Strukturalne i Obiektowe Słownik podstawowych pojęć 1 z 5 Opracował Jan T. Biernat

Programowanie Strukturalne i Obiektowe Słownik podstawowych pojęć 1 z 5 Opracował Jan T. Biernat Programowanie Strukturalne i Obiektowe Słownik podstawowych pojęć 1 z 5 Program, to lista poleceń zapisana w jednym języku programowania zgodnie z obowiązującymi w nim zasadami. Celem programu jest przetwarzanie

Bardziej szczegółowo

Podstawy techniki cyfrowej i mikroprocesorowej - opis przedmiotu

Podstawy techniki cyfrowej i mikroprocesorowej - opis przedmiotu Podstawy techniki cyfrowej i mikroprocesorowej - opis przedmiotu Informacje ogólne Nazwa przedmiotu Podstawy techniki cyfrowej i mikroprocesorowej Kod przedmiotu 06.5-WE-AiRP-PTCiM Wydział Kierunek Wydział

Bardziej szczegółowo

Programowanie Układów Logicznych kod kursu: ETD6203. Szczegóły realizacji projektu indywidualnego W dr inż.

Programowanie Układów Logicznych kod kursu: ETD6203. Szczegóły realizacji projektu indywidualnego W dr inż. Programowanie Układów Logicznych kod kursu: ETD6203 Szczegóły realizacji projektu indywidualnego W1 24.02.2016 dr inż. Daniel Kopiec Projekt indywidualny TERMIN 1: Zajęcia wstępne, wprowadzenie TERMIN

Bardziej szczegółowo

Szkolenia specjalistyczne

Szkolenia specjalistyczne Szkolenia specjalistyczne AGENDA Programowanie mikrokontrolerów w języku C na przykładzie STM32F103ZE z rdzeniem Cortex-M3 GRYFTEC Embedded Systems ul. Niedziałkowskiego 24 71-410 Szczecin info@gryftec.com

Bardziej szczegółowo

Narzędzia uruchomieniowe dla systemów Embedded firmy Total Phase

Narzędzia uruchomieniowe dla systemów Embedded firmy Total Phase 1 Narzędzia uruchomieniowe dla systemów Embedded firmy Total Phase Narzędzia uruchomieniowe dla systemów Embedded firmy Total Phase Jednym z głównych aspektów procesu programowania systemów wbudowanych

Bardziej szczegółowo

Lista zadań nr 5. Ścieżka projektowa Realizacja każdego z zadań odbywać się będzie zgodnie z poniższą ścieżką projektową (rys.

Lista zadań nr 5. Ścieżka projektowa Realizacja każdego z zadań odbywać się będzie zgodnie z poniższą ścieżką projektową (rys. Sterowanie procesami dyskretnymi laboratorium dr inż. Grzegorz Bazydło G.Bazydlo@iee.uz.zgora.pl, staff.uz.zgora.pl/gbazydlo Lista zadań nr 5 Zagadnienia stosowanie skończonych automatów stanów (ang. Finite

Bardziej szczegółowo

Arduino dla początkujących. Kolejny krok Autor: Simon Monk. Spis treści

Arduino dla początkujących. Kolejny krok Autor: Simon Monk. Spis treści Arduino dla początkujących. Kolejny krok Autor: Simon Monk Spis treści O autorze Podziękowania Wstęp o Pobieranie przykładów o Czego będę potrzebował? o Korzystanie z tej książki Rozdział 1. Programowanie

Bardziej szczegółowo

Budowa komputera Komputer computer computare

Budowa komputera Komputer computer computare 11. Budowa komputera Komputer (z ang. computer od łac. computare obliczać) urządzenie elektroniczne służące do przetwarzania wszelkich informacji, które da się zapisać w formie ciągu cyfr albo sygnału

Bardziej szczegółowo

Systemy uruchomieniowe

Systemy uruchomieniowe Systemy uruchomieniowe Przemysław ZAKRZEWSKI Systemy uruchomieniowe (1) 1 Środki wspomagające uruchamianie systemów mikroprocesorowych Symulator mikroprocesora Analizator stanów logicznych Systemy uruchomieniowe:

Bardziej szczegółowo

SigmaDSP - zestaw uruchomieniowy dla procesora ADAU1701. SigmaDSP - zestaw uruchomieniowy dla procesora ADAU1701.

SigmaDSP - zestaw uruchomieniowy dla procesora ADAU1701. SigmaDSP - zestaw uruchomieniowy dla procesora ADAU1701. SigmaDSP - zestaw uruchomieniowy. SigmaDSP jest niedrogim zestawem uruchomieniowym dla procesora DSP ADAU1701 z rodziny SigmaDSP firmy Analog Devices, który wraz z programatorem USBi i darmowym środowiskiem

Bardziej szczegółowo

<Nazwa firmy> <Nazwa projektu> Specyfikacja dodatkowa. Wersja <1.0>

<Nazwa firmy> <Nazwa projektu> Specyfikacja dodatkowa. Wersja <1.0> Wersja [Uwaga: Niniejszy wzór dostarczony jest w celu użytkowania z Unified Process for EDUcation. Tekst zawarty w nawiasach kwadratowych i napisany błękitną kursywą

Bardziej szczegółowo

Programowanie komputerów

Programowanie komputerów Programowanie komputerów Wykład 1-2. Podstawowe pojęcia Plan wykładu Omówienie programu wykładów, laboratoriów oraz egzaminu Etapy rozwiązywania problemów dr Helena Dudycz Katedra Technologii Informacyjnych

Bardziej szczegółowo

Budowa komputera. Magistrala. Procesor Pamięć Układy I/O

Budowa komputera. Magistrala. Procesor Pamięć Układy I/O Budowa komputera Magistrala Procesor Pamięć Układy I/O 1 Procesor to CPU (Central Processing Unit) centralny układ elektroniczny realizujący przetwarzanie informacji Zmiana stanu tranzystorów wewnątrz

Bardziej szczegółowo

System zarządzający grami programistycznymi Meridius

System zarządzający grami programistycznymi Meridius System zarządzający grami programistycznymi Meridius Instytut Informatyki, Uniwersytet Wrocławski 20 września 2011 Promotor: prof. Krzysztof Loryś Gry komputerowe a programistyczne Gry komputerowe Z punktu

Bardziej szczegółowo

Sposoby projektowania systemów w cyfrowych

Sposoby projektowania systemów w cyfrowych Sposoby projektowania systemów w cyfrowych Top-down Idea całości projektu Dekompozycja na mniejsze bloki Projekt i rafinacja podbloków Łączenie bloków w całość PRZYKŁAD (sumator kaskadowy) zdefiniowanie

Bardziej szczegółowo

Metodyka projektowania komputerowych systemów sterowania

Metodyka projektowania komputerowych systemów sterowania Metodyka projektowania komputerowych systemów sterowania Andrzej URBANIAK Metodyka projektowania KSS (1) 1 Projektowanie KSS Analiza wymagań Opracowanie sprzętu Projektowanie systemu Opracowanie oprogramowania

Bardziej szczegółowo

Embedded Solutions Automaticon 2012. Efektywne pomiary i sterowanie przy użyciu systemu wbudowanego MicroDAQ

Embedded Solutions Automaticon 2012. Efektywne pomiary i sterowanie przy użyciu systemu wbudowanego MicroDAQ Embedded Solutions Automaticon 2012 Efektywne pomiary i sterowanie przy użyciu systemu wbudowanego MicroDAQ Grzegorz Skiba info@embedded-solutions.pl 1 Plan seminarium Budowa systemu MicroDAQ Zastosowanie

Bardziej szczegółowo

Struktura systemu operacyjnego. Opracował: mgr Marek Kwiatkowski

Struktura systemu operacyjnego. Opracował: mgr Marek Kwiatkowski Struktura systemu operacyjnego Schemat budowy systemu operacyjnego model warstwowy Schemat budowy systemu operacyjnego części składowe Większość systemów operacyjnych opiera się o koncepcję jądra, która

Bardziej szczegółowo

Systemy operacyjne i sieci komputerowe Szymon Wilk Superkomputery 1

Systemy operacyjne i sieci komputerowe Szymon Wilk Superkomputery 1 i sieci komputerowe Szymon Wilk Superkomputery 1 1. Superkomputery to komputery o bardzo dużej mocy obliczeniowej. Przeznaczone są do symulacji zjawisk fizycznych prowadzonych głównie w instytucjach badawczych:

Bardziej szczegółowo

Modułowy programowalny przekaźnik czasowy firmy Aniro.

Modułowy programowalny przekaźnik czasowy firmy Aniro. Modułowy programowalny przekaźnik czasowy firmy Aniro. Rynek sterowników programowalnych Sterowniki programowalne PLC od wielu lat są podstawowymi systemami stosowanymi w praktyce przemysłowej i stały

Bardziej szczegółowo

Liczniki, rejestry lab. 08 Mikrokontrolery WSTĘP

Liczniki, rejestry lab. 08 Mikrokontrolery WSTĘP Liczniki, rejestry lab. 08 PODSTAWY TECHNIKI CYFROWEJ I MIKROPROCESOROWEJ EIP KATEDRA ENERGOELEKTRONIKI I AUTOMATYKI SYSTEMÓW PRZETWARZANIA ENERGII WWW.KEIASPE.AGH.EDU.PL AKADEMIA GÓRNICZO-HUTNICZA WWW.AGH.EDU.PL

Bardziej szczegółowo

ZL19PRG. Programator USB dla układów PLD firmy Altera

ZL19PRG. Programator USB dla układów PLD firmy Altera ZL19PRG Programator USB dla układów PLD firmy Altera Nowoczesny programator i konfigurator układów PLD produkowanych przez firmę Altera, w pełni zgodny ze standardem USB Blaster, dzięki czemu współpracuje

Bardziej szczegółowo

Wykład 4. Przegląd mikrokontrolerów 16-bit: - PIC24 - dspic - MSP430

Wykład 4. Przegląd mikrokontrolerów 16-bit: - PIC24 - dspic - MSP430 Wykład 4 Przegląd mikrokontrolerów 16-bit: - PIC24 - dspic - MSP430 Mikrokontrolery PIC Mikrokontrolery PIC24 Mikrokontrolery PIC24 Rodzina 16-bitowych kontrolerów RISC Podział na dwie podrodziny: PIC24F

Bardziej szczegółowo

LITEcompLPC1114. Zestaw ewaluacyjny z mikrokontrolerem LPC1114 (Cortex-M0) Sponsorzy:

LITEcompLPC1114. Zestaw ewaluacyjny z mikrokontrolerem LPC1114 (Cortex-M0) Sponsorzy: LITEcompLPC1114 Zestaw ewaluacyjny z mikrokontrolerem LPC1114 (Cortex-M0) Bezpłatny zestaw dla Czytelników książki Mikrokontrolery LPC1100. Pierwsze kroki LITEcompLPC1114 jest doskonałą platformą mikrokontrolerową

Bardziej szczegółowo

Rys. 1. Schemat ideowy karty przekaźników. AVT 5250 Karta przekaźników z interfejsem Ethernet

Rys. 1. Schemat ideowy karty przekaźników. AVT 5250 Karta przekaźników z interfejsem Ethernet Głównym elementem jest mikrokontroler PIC18F67J60, który oprócz typowych modułów sprzętowych, jak port UART czy interfejs I2C, ma wbudowany kompletny moduł kontrolera Ethernet. Schemat blokowy modułu pokazano

Bardziej szczegółowo

prowadzący: mgr inż. Piotr Prystupiuk

prowadzący: mgr inż. Piotr Prystupiuk prowadzący: mgr inż. Piotr Prystupiuk Instytut Tele- i Radiotechniczny WARSZAWA Zaawansowane technologie teleinformatyczne i systemy informatyczne do budowy zintegrowanych platform obsługi inteligentnych

Bardziej szczegółowo

Zagadnienia egzaminacyjne INFORMATYKA. stacjonarne. I-go stopnia. (INT) Inżynieria internetowa STOPIEŃ STUDIÓW TYP STUDIÓW SPECJALNOŚĆ

Zagadnienia egzaminacyjne INFORMATYKA. stacjonarne. I-go stopnia. (INT) Inżynieria internetowa STOPIEŃ STUDIÓW TYP STUDIÓW SPECJALNOŚĆ (INT) Inżynieria internetowa 1.Tryby komunikacji między procesami w standardzie Message Passing Interface. 2. HTML DOM i XHTML cel i charakterystyka. 3. Asynchroniczna komunikacja serwerem HTTP w technologii

Bardziej szczegółowo

Technika mikroprocesorowa. Struktura programu użytkownika w systemie mikroprocesorowym

Technika mikroprocesorowa. Struktura programu użytkownika w systemie mikroprocesorowym Struktura programu użytkownika w systemie mikroprocesorowym start inicjalizacja niekończaca się pętla zadania niekrytyczne czasowo przerwania zadania krytyczne czasowo 1 Znaczenie problematyki programowania

Bardziej szczegółowo

Organizacja typowego mikroprocesora

Organizacja typowego mikroprocesora Organizacja typowego mikroprocesora 1 Architektura procesora 8086 2 Architektura współczesnego procesora 3 Schemat blokowy procesora AVR Mega o architekturze harwardzkiej Wszystkie mikroprocesory zawierają

Bardziej szczegółowo

Budowa Mikrokomputera

Budowa Mikrokomputera Budowa Mikrokomputera Wykład z Podstaw Informatyki dla I roku BO Piotr Mika Podstawowe elementy komputera Procesor Pamięć Magistrala (2/16) Płyta główna (ang. mainboard, motherboard) płyta drukowana komputera,

Bardziej szczegółowo

Sprawozdanie z projektu MARM. Część druga Specyfikacja końcowa. Prowadzący: dr. Mariusz Suchenek. Autor: Dawid Kołcz. Data: r.

Sprawozdanie z projektu MARM. Część druga Specyfikacja końcowa. Prowadzący: dr. Mariusz Suchenek. Autor: Dawid Kołcz. Data: r. Sprawozdanie z projektu MARM Część druga Specyfikacja końcowa Prowadzący: dr. Mariusz Suchenek Autor: Dawid Kołcz Data: 01.02.16r. 1. Temat pracy: Układ diagnozujący układ tworzony jako praca magisterska.

Bardziej szczegółowo

Elektronika cyfrowa i mikroprocesory. Dr inż. Aleksander Cianciara

Elektronika cyfrowa i mikroprocesory. Dr inż. Aleksander Cianciara Elektronika cyfrowa i mikroprocesory Dr inż. Aleksander Cianciara Sprawy organizacyjne Warunki zaliczenia Lista obecności Kolokwium końcowe Ocena końcowa Konsultacje Poniedziałek 6:-7: Kontakt Budynek

Bardziej szczegółowo

Projektowanie z użyciem softprocesora picoblaze w układach programowalnych firmy Xilinx

Projektowanie z użyciem softprocesora picoblaze w układach programowalnych firmy Xilinx Projektowanie z użyciem softprocesora picoblaze w układach programowalnych firmy Xilinx CEL ĆWICZENIA Celem ćwiczenia jest utrwalenie wiedzy dotyczącej budowy, działania i własności programowalnych układów

Bardziej szczegółowo

Rejestr HKEY_LOCAL_MACHINE

Rejestr HKEY_LOCAL_MACHINE Rejestr HKEY_LOCAL_MACHINE Poddrzewo HKEY_LOCAL_MACHINE zawiera dane konfiguracyjne lokalnego systemu. Informacje tutaj przechowywane są wykorzystywane przez aplikacje i sterowniki urządzeń, a także przez

Bardziej szczegółowo

Układy logiczne układy cyfrowe

Układy logiczne układy cyfrowe Układy logiczne układy cyfrowe Jak projektować układy cyfrowe (systemy cyfrowe) Układy arytmetyki rozproszonej filtrów cyfrowych Układy kryptograficzne X Selektor ROM ROM AND Specjalizowane układy cyfrowe

Bardziej szczegółowo

Spis treœci. Co to jest mikrokontroler? Kody i liczby stosowane w systemach komputerowych. Podstawowe elementy logiczne

Spis treœci. Co to jest mikrokontroler? Kody i liczby stosowane w systemach komputerowych. Podstawowe elementy logiczne Spis treści 5 Spis treœci Co to jest mikrokontroler? Wprowadzenie... 11 Budowa systemu komputerowego... 12 Wejścia systemu komputerowego... 12 Wyjścia systemu komputerowego... 13 Jednostka centralna (CPU)...

Bardziej szczegółowo

Podsumowanie wyników ankiety

Podsumowanie wyników ankiety SPRAWOZDANIE Kierunkowego Zespołu ds. Programów Kształcenia dla kierunku Informatyka dotyczące ankiet samooceny osiągnięcia przez absolwentów kierunkowych efektów kształcenia po ukończeniu studiów w roku

Bardziej szczegółowo

Vinculum scalony host USB

Vinculum scalony host USB Vinculum scalony host USB Układy USB firmy FTDI zdobyły w ciągu ostatnich kilku lat dużą popularność głównie dzięki łatwości ich stosowania i dostępności sterowników. Firma ta może pochwalić się kolejnym

Bardziej szczegółowo

PROJEKT I OPTYMALIZACJA STRUKTURY LOGICZNEJ DYDAKTYCZNEGO SYSTEMU MIKROPROCESOROWEGO DLA LABORATORIUM PROJEKTOWANIA ZINTEGROWANEGO

PROJEKT I OPTYMALIZACJA STRUKTURY LOGICZNEJ DYDAKTYCZNEGO SYSTEMU MIKROPROCESOROWEGO DLA LABORATORIUM PROJEKTOWANIA ZINTEGROWANEGO II Konferencja Naukowa KNWS'05 "Informatyka- sztuka czy rzemios o" 15-18 czerwca 2005, Z otniki Luba skie PROJEKT I OPTYMALIZACJA STRUKTURY LOGICZNEJ DYDAKTYCZNEGO SYSTEMU MIKROPROCESOROWEGO DLA LABORATORIUM

Bardziej szczegółowo

PR172012 15 kwietnia 2012 Automatyka budynkowa, Technologia sterowania Oprogramowanie Strona 1 z 5

PR172012 15 kwietnia 2012 Automatyka budynkowa, Technologia sterowania Oprogramowanie Strona 1 z 5 Automatyka budynkowa, Technologia sterowania Oprogramowanie Strona 1 z 5 System TwinCAT BACnet/IP pomaga spełniać wszelkie wymagania automatyki budynkowej, pozostając w zgodzie ze standardem BACnet Sterowniki

Bardziej szczegółowo

Terminal TR01. Terminal jest przeznaczony do montażu naściennego w czystych i suchych pomieszczeniach.

Terminal TR01. Terminal jest przeznaczony do montażu naściennego w czystych i suchych pomieszczeniach. Terminal TR01 Terminal jest m, umożliwiającym odczyt i zmianę nastaw parametrów, stanów wejść i wyjść współpracujących z nim urządzeń automatycznej regulacji wyposażonych w port komunikacyjny lub i obsługujących

Bardziej szczegółowo

Architektura systemów komputerowych. dr Artur Bartoszewski

Architektura systemów komputerowych. dr Artur Bartoszewski Architektura systemów komputerowych dr Artur Bartoszewski Układy otoczenia procesora (chipset) Rozwiązania sprzętowe CHIPSET Podstawą budowy płyty współczesnego komputera PC jest Chipset. Zawiera on większość

Bardziej szczegółowo

Wykorzystanie układów FPGA w implementacji systemów bezpieczeństwa sieciowego typu Firewall

Wykorzystanie układów FPGA w implementacji systemów bezpieczeństwa sieciowego typu Firewall Grzegorz Sułkowski, Maciej Twardy, Kazimierz Wiatr Wykorzystanie układów FPGA w implementacji systemów bezpieczeństwa sieciowego typu Firewall Plan prezentacji 1. Architektura Firewall a załoŝenia 2. Punktu

Bardziej szczegółowo