OPTYMALIZACJA MODELI SYMULACYJNYCH ZAMODELOWANYCH W JĘZYKU VERILOG HDL Z WYKORZYSTANIEM INTERFEJSU PLI

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

Download "OPTYMALIZACJA MODELI SYMULACYJNYCH ZAMODELOWANYCH W JĘZYKU VERILOG HDL Z WYKORZYSTANIEM INTERFEJSU PLI"

Transkrypt

1 OPTYMALIZACJA MODELI SYMULACYJNYCH ZAMODELOWANYCH W JĘZYKU VERILOG HDL Z WYKORZYSTANIEM INTERFEJSU PLI Arkadiusz Bukowiec Roman Drożdżyński mgr inż. Agnieszka Węgrzyn Instytut Informatyki i Elektroniki, Politechnika Zielonogórska 1. WSTĘP W ciągu ostatnich lat spotkano się z gwałtownym rozwojem elektroniki i informatyki. Przyczyniło się to do projektowania coraz bardziej złożonych i skomplikowanych układów cyfrowych. Wraz ze złożonością wykonywanych układów coraz większą rolę w ścieżce projektowej zaczęły odgrywać języki opisu sprzętu, a w szczególności VHDL i Verilog. Zaletą zastosowania takich języków jest możliwość weryfikacji projektu na każdym etapie oraz przeprowadzenie złożonych testów bez konieczności fizycznej realizacji układu. Drugą, bardzo ważną zaletą jest możliwość przetestowania współpracy naszego projektu z istniejącymi już układami cyfrowymi lub nawet analogowymi poprzez użycie symulacyjnych modeli tych że układów. Przywiązanie projektantów do popularnych i powszechnie znanych języków programowania (np. C), spowodowało powstanie różnego typu interfejsów. Interfejsy te umożliwiają wywoływanie funkcji napisanych za pomocą języków programowania w modułach projektowanych za pomocą języków opisu sprzętu,. Chociaż rozwiązanie takie powoduje różnego rodzaju ograniczenia (np. układ nie jest syntezowalny) to ma ono duże zastosowanie przy tworzeniu układów czysto symulacyjnych jak i różnego rodzaju modułów testowych. 2. INTERFEJSY PROGRAMOWE Istnieje wiele interfejsów programowych wspierających projektowanie w językach opisu sprzętu. Najbardziej popularnymi są FLI utworzony dla VHDL a i PLI [1] dla Veriloga. Interfejs FLI stworzony został przez firmę ModelTech dla potrzeb symulatora ModelSim. Główną wadą tego interfejsu jest to, że jest on zaimplementowany tylko w tym symulatorze. Natomiast interfejs stanowi część standardu Veriloga IEEE , co powoduje, że jest on dostępny we wszystkich popularnych symulatorach. Interfejs ten umożliwia zastosowanie funkcji napisanych w języku C podczas tworzenia modułów w Verilogu. Dla potrzeb interfejsu, jego twórcy utworzyli

2 specjalne biblioteki z funkcjami [2] umożliwiającymi komunikacje z symulatorem oraz przekazywanie danych pomiędzy modułami Veriloga a funkcjami C. Interfejs PLI może być wykorzystywany do wykonywania skomplikowanych obliczeń lub tworzenia statystyk projektu, jednak najbardziej przydatna może być możliwość tworzenia bardzo skomplikowanych modułów symulacyjnych lub rozbudowanych funkcji testujących. 3. SYMULACJA UKŁADÓW ZAMODELOWANYCH W VERILOGU Często podczas projektowania modeli symulacyjnych w językach HDL nie zwraca się uwagi na to ile zasobów systemowych będzie potrzebnych do przeprowadzenia symulacji danego modułu. Powoduje to, że chociaż specyfikacja układu jest całkowicie zgodna z założeniami lub zachowaniem fizycznego układu, to nie jest on optymalny pod kontem symulacji. Problem ten może być nie zauważalny gdy symuluje się tylko jeden moduł, jednak gdy połączy się go z rozbudowanym projektem może się okazać że symulacja będzie trwała bardzo długo. Ponieważ modułów syntezowalnych nie można poddać optymalizacji pod kątem symulacji, jedynym sposobem na skrócenie czasu symulacji całego projekt jest zoptymalizowanie modułów symulacyjnych. Różne symulatory na różne sposoby przydzielają pamięć podczas symulacji projektu napisanego w Verilogu. Jednak najczęściej cały projekt jest ładowany do pamięci komputera w momencie inicjalizacji symulacji i jest on tam przetrzymywany przez cały okres jej trwania. Drugim, poważny problem może stanowić to, że do zaalokowania jednego bitu danych symulatory potrzebują od kilku do kilkunastu bitów. Ze względu, że najczęściej wykorzystywanymi modelami symulacyjnymi, wraz z projektem przeznaczonym do syntezy, są pamięci, problem symulacji zostanie omówiony właśnie na przykładzie pamięci RAM (rys. 1). module ram (WE, DATA, Q, ADDR); endmodule parameter word_size = 8; parameter mem_size = 65536; parameter addr_size = 16; output [(word_size-1):0] Q; input [(word_size-1):0] DATA; input [(addr_size-1):0] ADDR; input WE; reg [(word_size-1):0] ram_mem [0:(mem_size-1)]; or ADDR or DATA) if (WE) ram_mem[addr] <= DATA; assign Q = ram_mem[addr]; Rys. 1. Moduł pamięci RAM w Verilogu

3 Ze względu na rozmiar, pamięci takie nie są implementowalne do struktur FPGA, jednak często wykorzystywane są przez układy projektowane za pomocą języków opisu sprzętu. W celu przyspieszenia ścieżki projektowej w trakcie symulacji tych projektów wykorzystuje się modele symulacyjne istniejących modeli pamięci. Pamięć taka również bardzo dobrze ilustruje przedstawione powyżej problemy związane z symulacją, chociaż dotyczą one wszystkich modułów opisanych w Verilogu. Do przeprowadzenia testów wykorzystano symulatory ModelSim, Active-HDL oraz Cadence. Jak można zauważyć moduł testowy jest typową 64 KB pamięcią RAM. Do przeprowadzenia symulacji wykorzystano moduł zawierający wymuszenia testowe napisany w Verilogu. Poprzez wymuszenia testowe dokonywano najpierw 255 zapisów do pamięci a następnie 255 odczytów. Podczas symulacji za pomocą różnych symulatorów zauważono, że projekt zajmował do 83 MB pamięci operacyjnej komputera. Wynik taki nie może być zadawalający. Jednocześnie gdy posiadany komputer dysponuje mniejszą ilością pamięci RAM system operacyjny zaczyna wykorzystywać plik wymiany utworzony na dysku co znacznie spowalnia czas symulacji. Zjawisko takie zaobserwowano po zwiększeniu pamięci opisanej w modelu testowym. Podobna sytuacja ma również miejsce gdy rozpocznie się symulacje systemu wykorzystującego ten lub podobny model pamięci. Zjawisko takie może więc znacznie spowolnić projektowanie układów cyfrowych, które w czasie symulacji wykorzystują nie zoptymalizowane symulacyjne modele wchodzące w skład przyszłego systemu. 4. WYKORZYSTANIE INTERFEJSU PLI Najbardziej nie pożądanym zjawiskiem, przedstawionym w poprzednim rozdziale, jest alokowanie kilku bitów dla jednego bitu zmiennej. Jednocześnie powszechnie wiadome jest, że języki programowania alokują jedne bit pamięci operacyjnej komputera dla jednego bitu zmiennej. Nasuwa się więc proste rozwiązanie aby zamodelować modele symulacyjne za pomocą języka programowania. Rozwiązanie takie umożliwia interfejs PLI zaimplementowany w symulatorach Veriloga. Jednocześnie dużą zaletą tego interfejsu jest to, że jest on u standaryzowany i ten sam kod można wykorzystać w różnych symulatorach. Przedstawiony kod testowy (Rys. 1) został zoptymalizowany poprzez przeniesienie deklaracji pamięci do kodu napisanego w języku C z wykorzystaniem biblioteki PLI. Jak można zauważyć pamięć została zastąpiona jednowymiarową tablicą 8-bitowych liczb naturalnych (Rys. 2). #define mem_sizes int8 ram_mem[mem_sizes]; Rys. 2. Deklaracja tablicy w kodzie C Jednemu słowu pamięci odpowiada więc jeden element tablicy. W przypadku tym wstępuje również zgodność adresowania gdyż tablice w języku C jest indeksowana od 0 do mem_size-1. Rozwiązanie to jest wręcz idealne dla wektorów i pamięci o standardowej długości słowa 8-, 16-, 32- i 64-bity, gdyż w tych

4 przypadkach można zastosować typy o odpowiedniej ilości bitów np. odpowiednio int8, int16, int32, int64. Dla innej, nie typowej, długości słowa można użyć typu o większej ilości bitów i nadmiarowe bity pozostawić nieużyteczne. Drugim sposobem jest stworzenie mniejszej tablicy i w jednym jej elemencie zapisywanie jednego słowo i części następnego (Rys. 3). ELEMENT 1 ELEMENT 2 ELEMENT 3 ELEMENT 4 SŁOWO 1 SŁOWO SŁOWO 2 SŁOWO 3 SŁOWO 4 SŁOWO SŁOWO 5 SŁOWO 6 Rys. 3. Schemat tablicy dla pamięci Przy rozwiązaniu takim dodatkowo należy napisać funkcje konwertującą adres pamięci na indeks tablicy. Wymaganie jest również utworzenie funkcji, która będzie maskowała odpowiednie bity w odczytanych elementach tablicy i ewentualnie składała je w jedno słowo. Rozwiązanie takie ma również jedną wadę jest ono wolniejsze gdyż wymaga dostępu do dwóch elementów tablicy podczas każdorazowego zapisu i odczytu. Może mieć ono jednak zastosowanie podczas tworzenia bardzo dużych pamięci. Zastosowanie pamięci zamodelowanej w PLI wymusza napisanie funkcji, które będą przekazywały dane to modułu Veriloga. Funkcje takie nie są skomplikowane, a przy ich pisaniu wykorzystuje się standardowe funkcje z biblioteki PLI, które umożliwiają taką komunikację. W przedstawionym przykładzie napisano dwie taki funkcje. Jedną do odczytu danych z pamięci Read_mem, a drugą do zapisu danych do pamięci Write_mem (Rys. 4). int Read_mem() { tf_putp(0, ram_mem[tf_getp(1)]); return 0; } static Write_mem() { ram_mem[tf_getp(1)] = tf_getp(2); return 0; } Rys. 4. Funkcje do komunikacji z modułem Veriloga Do przeprowadzenia testów utworzono drugi moduł (Rys. 5) pamięci w którym zamiast zapisu do pamięci umieszczono wywołanie funkcji Read_mem, a w miejsce odczytu wywołnie funkcji Write_mem.

5 module ram_pli (WE, DATA, Q, ADDR); parameter word_size = 8; parameter addr_size = 17; output [(word_size-1):0] Q; reg [(word_size-1):0] Q; input [(word_size-1):0] DATA; input [(addr_size-1):0] ADDR; input WE; or ADDR or DATA) if (WE) $write_mem(addr, DATA); or ADDR or DATA) Q = $read_mem(addr); endmodule Rys. 5. Moduł pamięci z wykorzystaniem funkcji PLI Podczas symulacji modułu wykorzystującego interfejs PLI wykryto, że wykorzystanie pamięci operacyjnej komputera spadło do 117 kb. Zauważyć można, że wyniki taki jest nieporównanie mniejszy (Rys. 6) m oduł bez PLI m oduł z PLI 0 RAM Rys. 6. Obszar alokowanej pamięci przez symulator (w KB) Spowodowało to, że nawet symulacja bardzo rozbudowanych modeli nie wymaga od systemu wykorzystania pliku wymiany co przyczynia się do skrócenia czasu symulacji. Jednocześnie zaobserwowano, że czas ładowania projektu do pamięci komputera zmniejszył się przynajmniej o połowę. Zjawiska te były zauważalne przy wszystkich testowanych symulatorach. Zastosowanie interfejsu PLI w modułach symulacyjnych znacznie zmniejsza zużycie zasobów systemowych oraz czas trwania procesu symulacji. Oszczędności te mogą umożliwić symulację bardziej rozbudowanych projektów, a co za tym idzie przyspieszyć proces ich projektowanie oraz zmniejszyć ryzyko błędu poprzez emulację środowiska pracy opisanego w modelach symulacyjnych z zastosowaniem interfejsu PLI.

6 5. PODSUMOWANIE W referacie przedstawiono optymalizacji symulacji za pomocą wykorzystania interfejsu PLI oraz ukazano przewagę tego rozwiązania nad standardowym, nie wykorzystującym funkcji napisanych w PLI. Podkreśla również duże znaczenie symulacji modeli opisanych w językach HDL oraz realizację ich z wykorzystaniem interfejsów wspomagających projektowanie. Projekt realizowany był w ramach prac Koła Naukowego fantasic oraz praktyki studenckiej odbytej w firmie Aldec Inc. Dalsze prace związane z wykorzystaniem interfejsu PLI będą dążyły do utworzenia funkcji emulujących zachowanie całego środowiska pracy oraz rozbudowanych funkcji ułatwiających testowanie modeli zaprojektowanych w języku Verilog. LITERATURA I MATERIAŁY 1. Institute of Electrical and Electronics Engineers, IEEE standard IEEE Standard Hardware Description Language Based on the Verilog Hardware Description Language, New York, Swapnajit Mittra, Principles of Verilog PLI, Kluwer Academic Publishers,

Realizacja bezpiecznego programowalnego sterownika logicznego z wykorzystaniem języków HDL

Realizacja bezpiecznego programowalnego sterownika logicznego z wykorzystaniem języków HDL Realizacja bezpiecznego programowalnego sterownika logicznego z wykorzystaniem języków HDL Arkadiusz Bukowiec 1 Radosław Gąsiorek 2 Agnieszka Węgrzyn 3 Prezentowany referat przedstawia ogólną koncepcję

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

Projektowanie układów VLSI-ASIC techniką od ogółu do szczegółu (top-down) przy użyciu pakietu CADENCE

Projektowanie układów VLSI-ASIC techniką od ogółu do szczegółu (top-down) przy użyciu pakietu CADENCE Katedra Elektroniki Akademia Górniczo-Hutnicza w Krakowie Projektowanie układów VLSI-ASIC techniką od ogółu do szczegółu (top-down) przy użyciu pakietu CADENCE opis układu w Verilog, kompilacja i symulacja

Bardziej szczegółowo

Kompilator języka C na procesor 8051 RC51 implementacja

Kompilator języka C na procesor 8051 RC51 implementacja Kompilator języka C na procesor 8051 RC51 implementacja Implementowane typy danych bit 1 bit char lub char signed 8 bitów char unsigned 8 bitów int lub signed int 16 bitów unsigned int 16 bitów long lub

Bardziej szczegółowo

Projektowanie scalonych systemów wbudowanych VERILOG. VERLIOG - historia

Projektowanie scalonych systemów wbudowanych VERILOG. VERLIOG - historia Projektowanie scalonych systemów wbudowanych VERILOG VERLIOG - historia Początki lat 80 XX w. Phil Moorby Gateway Design Automation symulator Verilog XL 1987 Synopsys Verilog jako język specyfikacji projektu

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

Technika mikroprocesorowa. Systemy operacyjne czasu rzeczywistego

Technika mikroprocesorowa. Systemy operacyjne czasu rzeczywistego System operacyjny czasu rzeczywistego (RTOS Real Time Operating System) jest programem bazowym ułatwiającym tworzenie programu użytkowego systemu mikroprocesorowego. System operacyjny czasu rzeczywistego

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 Język VERLOG w praktyce RUS RUS VERLOG Specyfikacja układów kombinacyjnych RUS RUS Operator warunkowy Conditional_expression?

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

Lab 9 Podstawy Programowania

Lab 9 Podstawy Programowania Lab 9 Podstawy Programowania (Kaja.Gutowska@cs.put.poznan.pl) Wszystkie kody/fragmenty kodów dostępne w osobnym pliku.txt. Materiały pomocnicze: Wskaźnik to specjalny rodzaj zmiennej, w której zapisany

Bardziej szczegółowo

Niezwykłe tablice Poznane typy danych pozwalają przechowywać pojedyncze liczby. Dzięki tablicom zgromadzimy wiele wartości w jednym miejscu.

Niezwykłe tablice Poznane typy danych pozwalają przechowywać pojedyncze liczby. Dzięki tablicom zgromadzimy wiele wartości w jednym miejscu. Część XIX C++ w Każda poznana do tej pory zmienna może przechowywać jedną liczbę. Jeśli zaczniemy pisać bardziej rozbudowane programy, okaże się to niewystarczające. Warto więc poznać zmienne, które mogą

Bardziej szczegółowo

Projektowanie Scalonych Systemów Wbudowanych VERILOG

Projektowanie Scalonych Systemów Wbudowanych VERILOG Projektowanie Scalonych Systemów Wbudowanych VERILOG VERLIOG - historia Początki lat 80 XX w. Phil Moorby Gateway Design Automation symulator Verilog XL 1987 Synopsys Verilog jako język specyfikacji projektu

Bardziej szczegółowo

Projektowanie Scalonych Systemów Wbudowanych VERILOG

Projektowanie Scalonych Systemów Wbudowanych VERILOG Projektowanie Scalonych Systemów Wbudowanych VERILOG VERLIOG - historia Początki lat 80 XX w. Phil Moorby Gateway Design Automation symulator Verilog XL 1987 Synopsys Verilog jako język specyfikacji projektu

Bardziej szczegółowo

Podstawy programowania 2. Przygotował: mgr inż. Tomasz Michno

Podstawy programowania 2. Przygotował: mgr inż. Tomasz Michno Instrukcja laboratoryjna 2 Podstawy programowania 2 Temat: Zmienne dynamiczne tablica wskaźników i stos dynamiczny Przygotował: mgr inż. Tomasz Michno 1 Wstęp teoretyczny 1.1 Tablice wskaźników Tablice

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

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

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

Szkolenia specjalistyczne

Szkolenia specjalistyczne Szkolenia specjalistyczne AGENDA Język VHDL w implementacji układów cyfrowych w FPGA/CPLD poziom podstawowy GRYFTEC Embedded Systems ul. Niedziałkowskiego 24 71-410 Szczecin info@gryftec.com Szczecin 2014

Bardziej szczegółowo

ZASADY PROGRAMOWANIA KOMPUTERÓW

ZASADY PROGRAMOWANIA KOMPUTERÓW POLITECHNIKA WARSZAWSKA Instytut Automatyki i i Robotyki ZASADY PROGRAMOWANIA KOMPUTERÓW Język Język programowania: C/C++ Środowisko programistyczne: C++Builder 6 Wykład 9.. Wskaźniki i i zmienne dynamiczne.

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

Efekt kształcenia. Ma uporządkowaną, podbudowaną teoretycznie wiedzę ogólną w zakresie algorytmów i ich złożoności obliczeniowej.

Efekt kształcenia. Ma uporządkowaną, podbudowaną teoretycznie wiedzę ogólną w zakresie algorytmów i ich złożoności obliczeniowej. Efekty dla studiów pierwszego stopnia profil ogólnoakademicki na kierunku Informatyka w języku polskim i w języku angielskim (Computer Science) na Wydziale Matematyki i Nauk Informacyjnych, gdzie: * Odniesienie-

Bardziej szczegółowo

Czym są właściwości. Poprawne projektowanie klas

Czym są właściwości. Poprawne projektowanie klas Z akcesorów get i set korzysta każdy kto programuje w C#. Stanowią one duże udogodnienie w programowaniu obiektowym. Zapewniają wygodę, bezpieczeństwo i znacząco skracają kod. Akcesory są ściśle związane

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

Prezentacja systemu RTLinux

Prezentacja systemu RTLinux Prezentacja systemu RTLinux Podstawowe założenia RTLinux jest system o twardych ograniczeniach czasowych (hard real-time). Inspiracją dla twórców RTLinux a była architektura systemu MERT. W zamierzeniach

Bardziej szczegółowo

Architektura komputerów

Architektura komputerów Architektura komputerów Tydzień 12 Wspomaganie systemu operacyjnego: pamięć wirtualna Partycjonowanie Pamięć jest dzielona, aby mogło korzystać z niej wiele procesów. Dla jednego procesu przydzielana jest

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

PLC1: Programowanie sterowników logicznych SIEMENS SIMATIC S7-300/400 - kurs podstawowy

PLC1: Programowanie sterowników logicznych SIEMENS SIMATIC S7-300/400 - kurs podstawowy PLC1: Programowanie sterowników logicznych SIEMENS SIMATIC S7-300/400 - kurs podstawowy DZIEŃ 1 Idea sterowania procesu lub maszyny: Sterowanie za pomocą przekaźników Sterowanie dedykowane Sterowanie za

Bardziej szczegółowo

Podstawy programowania. Wykład Funkcje. Krzysztof Banaś Podstawy programowania 1

Podstawy programowania. Wykład Funkcje. Krzysztof Banaś Podstawy programowania 1 Podstawy programowania. Wykład Funkcje Krzysztof Banaś Podstawy programowania 1 Programowanie proceduralne Pojęcie procedury (funkcji) programowanie proceduralne realizacja określonego zadania specyfikacja

Bardziej szczegółowo

Wskaźniki. Informatyka

Wskaźniki. Informatyka Materiały Wskaźniki Informatyka Wskaźnik z punktu widzenia programisty jest grupą komórek pamięci (rozmiar wskaźnika zależy od architektury procesora, najczęściej są to dwa lub cztery bajty ), które mogą

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

Adam Kotynia, Łukasz Kowalczyk

Adam Kotynia, Łukasz Kowalczyk Adam Kotynia, Łukasz Kowalczyk Dynamiczna alokacja pamięci Alokacja pamięci oraz dezalokacja pamięci jest to odpowiednio przydział i zwolnienie ciągłego obszaru pamięci. Po uruchomieniu, proces (program)

Bardziej szczegółowo

Podstawy programowania. Wykład: 12. Struktury, unie, pola bitowe. dr Artur Bartoszewski -Podstawy programowania, sem 1 - WYKŁAD

Podstawy programowania. Wykład: 12. Struktury, unie, pola bitowe. dr Artur Bartoszewski -Podstawy programowania, sem 1 - WYKŁAD Podstawy programowania Wykład: 12 Struktury, unie, pola bitowe 1 dr Artur Bartoszewski -Podstawy programowania, sem 1 - WYKŁAD Podstawy programowania Struktury 2 Struktury Struktury to złożone typy danych

Bardziej szczegółowo

Wykład 3 Składnia języka C# (cz. 2)

Wykład 3 Składnia języka C# (cz. 2) Wizualne systemy programowania Wykład 3 Składnia języka C# (cz. 2) 1 dr Artur Bartoszewski -Wizualne systemy programowania, sem. III- WYKŁAD Wizualne systemy programowania Metody 2 Metody W C# nie jest

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

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

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

Struktura i działanie jednostki centralnej

Struktura i działanie jednostki centralnej Struktura i działanie jednostki centralnej ALU Jednostka sterująca Rejestry Zadania procesora: Pobieranie rozkazów; Interpretowanie rozkazów; Pobieranie danych Przetwarzanie danych Zapisywanie danych magistrala

Bardziej szczegółowo

Instytut Mechaniki i Inżynierii Obliczeniowej Wydział Mechaniczny Technologiczny Politechnika Śląska

Instytut Mechaniki i Inżynierii Obliczeniowej  Wydział Mechaniczny Technologiczny Politechnika Śląska Instytut Mechaniki i Inżynierii Obliczeniowej www.imio.polsl.pl fb.com/imiopolsl @imiopolsl Wydział Mechaniczny Technologiczny Politechnika Śląska Języki programowania z programowaniem obiektowym Laboratorium

Bardziej szczegółowo

Podstawy Programowania C++

Podstawy Programowania C++ Wykład 3 - podstawowe konstrukcje Instytut Automatyki i Robotyki Warszawa, 2014 Wstęp Plan wykładu Struktura programu, instrukcja przypisania, podstawowe typy danych, zapis i odczyt danych, wyrażenia:

Bardziej szczegółowo

Laboratorium Projektowania Systemów VLSI-ASIC Katedra Elektroniki Akademia Górniczo-Hutnicza

Laboratorium Projektowania Systemów VLSI-ASIC Katedra Elektroniki Akademia Górniczo-Hutnicza Laboratorium Projektowania Systemów VLSI-ASIC Katedra Elektroniki Akademia Górniczo-Hutnicza Projektowanie układów VLSI-ASIC za pomocą techniki komórek standardowych przy użyciu pakietu Cadence Programowanie,

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

Wstęp do programowania INP003203L rok akademicki 2018/19 semestr zimowy. Laboratorium 2. Karol Tarnowski A-1 p.

Wstęp do programowania INP003203L rok akademicki 2018/19 semestr zimowy. Laboratorium 2. Karol Tarnowski A-1 p. Wstęp do programowania INP003203L rok akademicki 2018/19 semestr zimowy Laboratorium 2 Karol Tarnowski karol.tarnowski@pwr.edu.pl A-1 p. 411B Plan prezentacji Komentarze Funkcja printf() Zmienne Łańcuchy

Bardziej szczegółowo

PMiK Programowanie Mikrokontrolera 8051

PMiK Programowanie Mikrokontrolera 8051 PMiK Programowanie Mikrokontrolera 8051 Wykład 3 Mikrokontroler 8051 PMiK Programowanie mikrokontrolera 8051 - wykład S. Szostak (2006) Zmienna typu bit #define YES 1 // definicja stałych #define NO 0

Bardziej szczegółowo

Java EE produkcja oprogramowania

Java EE produkcja oprogramowania Java EE produkcja oprogramowania PPJ PODSTAWY PROGRAMOWANIA W JAVIE PODSTAWY JĘZYKA JAVA 1 Warszawa, 2016Z 2 Ogólna charakterystyka języka Java 3 Java 1/2 Język programowania Java został opracowany przez

Bardziej szczegółowo

Programowalne układy logiczne kod kursu: ETD Układy kombinacyjne, przypisania, blokujące i nieblokujące cz.2 W

Programowalne układy logiczne kod kursu: ETD Układy kombinacyjne, przypisania, blokujące i nieblokujące cz.2 W Programowalne układy logiczne kod kursu: ETD008270 Układy kombinacyjne, przypisania, blokujące i nieblokujące cz.2 W4 23.03.2018 mgr inż. Maciej Rudek UKŁADY KOMBINACYJNE Układy kombinacyjne Układ kombinacyjny

Bardziej szczegółowo

Laboratorium Podstaw Techniki Cyfrowej

Laboratorium Podstaw Techniki Cyfrowej Laboratorium Podstaw Techniki Cyfrowej Ćwiczenie 5: Wprowadzenie do języków opisu sprzętu 1. Języki opisu sprzętu Języki opisu sprzętu(hdl Hardware Description Language) to języki słuŝące do opisu układów

Bardziej szczegółowo

Podstawy programowania. Wykład 6 Wskaźniki. Krzysztof Banaś Podstawy programowania 1

Podstawy programowania. Wykład 6 Wskaźniki. Krzysztof Banaś Podstawy programowania 1 Podstawy programowania. Wykład 6 Wskaźniki Krzysztof Banaś Podstawy programowania 1 Adresy zmiennych Język C pozwala na operowanie adresami w pamięci stąd, między innymi, kwalifikowanie C jako języka relatywnie

Bardziej szczegółowo

znajdowały się różne instrukcje) to tak naprawdę definicja funkcji main.

znajdowały się różne instrukcje) to tak naprawdę definicja funkcji main. Część XVI C++ Funkcje Jeśli nasz program rozrósł się już do kilkudziesięciu linijek, warto pomyśleć o jego podziale na mniejsze części. Poznajmy więc funkcje. Szybko się przekonamy, że funkcja to bardzo

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

Algorytm. a programowanie -

Algorytm. a programowanie - Algorytm a programowanie - Program komputerowy: Program komputerowy można rozumieć jako: kod źródłowy - program komputerowy zapisany w pewnym języku programowania, zestaw poszczególnych instrukcji, plik

Bardziej szczegółowo

Modelowanie logiki rewersyjnej w języku VHDL

Modelowanie logiki rewersyjnej w języku VHDL PNIEWSKI Roman 1 Modelowanie logiki rewersyjnej w języku VHDL WSTĘP Konwencjonalne komputery wykorzystują dwuwartościową logikę Boole a. Funkcje opisujące układ cyfrowy wykorzystują najczęściej dwa operatory

Bardziej szczegółowo

Język C zajęcia nr 11. Funkcje

Język C zajęcia nr 11. Funkcje Język C zajęcia nr 11 Funkcje W języku C idea podprogramów realizowana jest wyłącznie poprzez definiowanie i wywołanie funkcji. Każda funkcja musi być przed wywołaniem zadeklarowana. Deklaracja funkcji

Bardziej szczegółowo

WYKŁAD. Jednostka prowadząca: Wydział Techniczny. Kierunek studiów: Elektronika i telekomunikacja. Nazwa przedmiotu: Język programowania C++

WYKŁAD. Jednostka prowadząca: Wydział Techniczny. Kierunek studiów: Elektronika i telekomunikacja. Nazwa przedmiotu: Język programowania C++ Jednostka prowadząca: Wydział Techniczny Kierunek studiów: Elektronika i telekomunikacja Nazwa przedmiotu: Język programowania C++ Charakter przedmiotu: podstawowy, obowiązkowy Typ studiów: inŝynierskie

Bardziej szczegółowo

Komunikacja między sterownikami przez protokół ADS

Komunikacja między sterownikami przez protokół ADS Komunikacja między sterownikami przez protokół ADS Poziom trudności: łatwy Wersja dokumentacji: 1.0 Aktualizacja: 20.03.2015 Beckhoff Automation Sp. z o. o. Spis treści 1. Komunikacja ADS... 3 2. Konfiguracja

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

Podstawy programowania komputerów

Podstawy programowania komputerów Podstawy programowania komputerów Wykład 10: Sterowanie pamięcią w C Pamięć na stosie!każdy program napisany w języku C ma dostęp do dwóch obszarów pamięci - stosu i sterty, w których może być przechowywana

Bardziej szczegółowo

LABORATORIUM TECHNIKA CYFROWA. Pamięci. Rev.1.35

LABORATORIUM TECHNIKA CYFROWA. Pamięci. Rev.1.35 LABORATORIUM TECHNIKA CYFROWA Pamięci Rev.1.35 1. Cel ćwiczenia Praktyczna weryfikacja wiedzy teoretycznej z projektowania modułów sterowania oraz kontroli pamięci 2. Kolokwium Kolokwium wstępne sprawdzające

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

METODY I JĘZYKI PROGRAMOWANIA PROGRAMOWANIE STRUKTURALNE. Wykład 02

METODY I JĘZYKI PROGRAMOWANIA PROGRAMOWANIE STRUKTURALNE. Wykład 02 METODY I JĘZYKI PROGRAMOWANIA PROGRAMOWANIE STRUKTURALNE Wykład 02 NAJPROSTSZY PROGRAM /* (Prawie) najprostszy przykład programu w C */ /*==================*/ /* Między tymi znaczkami można pisać, co się

Bardziej szczegółowo

Zarządzanie pamięcią w systemie operacyjnym

Zarządzanie pamięcią w systemie operacyjnym Zarządzanie pamięcią w systemie operacyjnym Cele: przydział zasobów pamięciowych wykonywanym programom, zapewnienie bezpieczeństwa wykonywanych procesów (ochrona pamięci), efektywne wykorzystanie dostępnej

Bardziej szczegółowo

Wstęp do programowania INP001213Wcl rok akademicki 2018/19 semestr zimowy. Wykład 4. Karol Tarnowski A-1 p.

Wstęp do programowania INP001213Wcl rok akademicki 2018/19 semestr zimowy. Wykład 4. Karol Tarnowski A-1 p. Wstęp do programowania INP001213Wcl rok akademicki 2018/19 semestr zimowy Wykład 4 Karol Tarnowski karol.tarnowski@pwr.edu.pl A-1 p. 411B Plan prezentacji Tablice Wskaźniki Adresy pamięci Operator adresu

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

Uniwersytet Mikołaja Kopernika. Wydział Matematyki i Informatyki Wydział Fizyki, Astronomii i Informatyki Stosowanej

Uniwersytet Mikołaja Kopernika. Wydział Matematyki i Informatyki Wydział Fizyki, Astronomii i Informatyki Stosowanej Uniwersytet Mikołaja Kopernika Wydział Matematyki i Informatyki Wydział Fizyki, Astronomii i Informatyki Stosowanej Marcin HENRYKOWSKI Nr albumu: 158069 Praca magisterska na kierunku Informatyka Archiwizacja

Bardziej szczegółowo

Języki i techniki programowania Ćwiczenia 2

Języki i techniki programowania Ćwiczenia 2 Języki i techniki programowania Ćwiczenia 2 Autor: Marcin Orchel Spis treści: Język C++... 5 Przekazywanie parametrów do funkcji... 5 Przekazywanie parametrów w Javie.... 5 Przekazywanie parametrów w c++...

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

dr inż. Jarosław Forenc

dr inż. Jarosław Forenc Informatyka 2 Politechnika Białostocka - Wydział Elektryczny Elektrotechnika, semestr III, studia stacjonarne I stopnia Rok akademicki 2010/2011 Wykład nr 7 (24.01.2011) dr inż. Jarosław Forenc Rok akademicki

Bardziej szczegółowo

Rozdział 4 KLASY, OBIEKTY, METODY

Rozdział 4 KLASY, OBIEKTY, METODY Rozdział 4 KLASY, OBIEKTY, METODY Java jest językiem w pełni zorientowanym obiektowo. Wszystkie elementy opisujące dane, za wyjątkiem zmiennych prostych są obiektami. Sam program też jest obiektem pewnej

Bardziej szczegółowo

Wprowadzenie do informatyki i użytkowania komputerów. Kodowanie informacji System komputerowy

Wprowadzenie do informatyki i użytkowania komputerów. Kodowanie informacji System komputerowy 1 Wprowadzenie do informatyki i użytkowania komputerów Kodowanie informacji System komputerowy Kodowanie informacji 2 Co to jest? bit, bajt, kod ASCII. Jak działa system komputerowy? Co to jest? pamięć

Bardziej szczegółowo

dokument DOK 02-05-12 wersja 1.0 www.arskam.com

dokument DOK 02-05-12 wersja 1.0 www.arskam.com ARS3-RA v.1.0 mikro kod sterownika 8 Linii I/O ze zdalną transmisją kanałem radiowym lub poprzez port UART. Kod przeznaczony dla sprzętu opartego o projekt referencyjny DOK 01-05-12. Opis programowania

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

Część 4 życie programu

Część 4 życie programu 1. Struktura programu c++ Ogólna struktura programu w C++ składa się z kilku części: część 1 część 2 część 3 część 4 #include int main(int argc, char *argv[]) /* instrukcje funkcji main */ Część

Bardziej szczegółowo

Dla człowieka naturalnym sposobem liczenia jest korzystanie z systemu dziesiętnego, dla komputera natomiast korzystanie z zapisu dwójkowego

Dla człowieka naturalnym sposobem liczenia jest korzystanie z systemu dziesiętnego, dla komputera natomiast korzystanie z zapisu dwójkowego Arytmetyka cyfrowa Dla człowieka naturalnym sposobem liczenia jest korzystanie z systemu dziesiętnego, dla komputera natomiast korzystanie z zapisu dwójkowego (binarnego). Zapis binarny - to system liczenia

Bardziej szczegółowo

Jeśli chcesz łatwo i szybko opanować podstawy C++, sięgnij po tę książkę.

Jeśli chcesz łatwo i szybko opanować podstawy C++, sięgnij po tę książkę. Języki C i C++ to bardzo uniwersalne platformy programistyczne o ogromnych możliwościach. Wykorzystywane są do tworzenia systemów operacyjnych i oprogramowania użytkowego. Dzięki niskiemu poziomowi abstrakcji

Bardziej szczegółowo

LABORATORIUM PROCESORY SYGNAŁOWE W AUTOMATYCE PRZEMYSŁOWEJ. Zasady arytmetyki stałoprzecinkowej oraz operacji arytmetycznych w formatach Q

LABORATORIUM PROCESORY SYGNAŁOWE W AUTOMATYCE PRZEMYSŁOWEJ. Zasady arytmetyki stałoprzecinkowej oraz operacji arytmetycznych w formatach Q LABORAORIUM PROCESORY SYGAŁOWE W AUOMAYCE PRZEMYSŁOWEJ Zasady arytmetyki stałoprzecinkowej oraz operacji arytmetycznych w formatach Q 1. Zasady arytmetyki stałoprzecinkowej. Kody stałopozycyjne mają ustalone

Bardziej szczegółowo

Instrukcja do ćwiczeń nr 4 typy i rodzaje zmiennych w języku C dla AVR, oraz ich deklarowanie, oraz podstawowe operatory

Instrukcja do ćwiczeń nr 4 typy i rodzaje zmiennych w języku C dla AVR, oraz ich deklarowanie, oraz podstawowe operatory Instrukcja do ćwiczeń nr 4 typy i rodzaje zmiennych w języku C dla AVR, oraz ich deklarowanie, oraz podstawowe operatory Poniżej pozwoliłem sobie za cytować za wikipedią definicję zmiennej w informatyce.

Bardziej szczegółowo

Uniwersytet Zielonogórski Instytut Sterowania i Systemów Informatycznych. Ćwiczenie 3 stos Laboratorium Metod i Języków Programowania

Uniwersytet Zielonogórski Instytut Sterowania i Systemów Informatycznych. Ćwiczenie 3 stos Laboratorium Metod i Języków Programowania Uniwersytet Zielonogórski Instytut Sterowania i Systemów Informatycznych Ćwiczenie 3 stos Laboratorium Metod i Języków Programowania Celem ćwiczenia jest zapoznanie studentów z najprostszą dynamiczną strukturą

Bardziej szczegółowo

Projekt prostego procesora

Projekt prostego procesora Projekt prostego procesora Opracowany przez Rafała Walkowiaka dla zajęć z PTC 2012/2013 w oparciu o Laboratory Exercise 9 Altera Corporation Rysunek 1 przedstawia schemat układu cyfrowego stanowiącego

Bardziej szczegółowo

Dariusz Brzeziński. Politechnika Poznańska, Instytut Informatyki

Dariusz Brzeziński. Politechnika Poznańska, Instytut Informatyki Dariusz Brzeziński Politechnika Poznańska, Instytut Informatyki zaprojektowany jako rozszerzenie języka C o obiektowe mechanizmy abstrakcji danych jest to język pozwalający na programowanie zarówno proceduralne

Bardziej szczegółowo

Rok akademicki: 2013/2014 Kod: JIS s Punkty ECTS: 5. Poziom studiów: Studia I stopnia Forma i tryb studiów: -

Rok akademicki: 2013/2014 Kod: JIS s Punkty ECTS: 5. Poziom studiów: Studia I stopnia Forma i tryb studiów: - Nazwa modułu: Języki opisu sprzętu Rok akademicki: 2013/2014 Kod: JIS-1-015-s Punkty ECTS: 5 Wydział: Fizyki i Informatyki Stosowanej Kierunek: Informatyka Stosowana Specjalność: - Poziom studiów: Studia

Bardziej szczegółowo

Programowanie Niskopoziomowe

Programowanie Niskopoziomowe Programowanie Niskopoziomowe Wykład 2: Reprezentacja danych Dr inż. Marek Mika Państwowa Wyższa Szkoła Zawodowa im. Jana Amosa Komeńskiego W Lesznie Plan Kilka ciekawostek Zapisy binarny, oktalny, decymalny

Bardziej szczegółowo

Programowanie obiektowe. Dr hab. Inż. Marta Gładysiewicz-Kudrawiec Pokój 229 A1 Operatory new delete pliki-odczyt

Programowanie obiektowe. Dr hab. Inż. Marta Gładysiewicz-Kudrawiec Pokój 229 A1 Operatory new delete pliki-odczyt Programowanie obiektowe Dr hab. Inż. Marta Gładysiewicz-Kudrawiec Pokój 229 A1 Operatory new delete pliki-odczyt Operator new, new[] Operator new oraz new[] służy do rezerwacji obszarów z zapasie pamięci

Bardziej szczegółowo

Strona główna. Strona tytułowa. Programowanie. Spis treści. Sobera Jolanta 16.09.2006. Strona 1 z 26. Powrót. Full Screen. Zamknij.

Strona główna. Strona tytułowa. Programowanie. Spis treści. Sobera Jolanta 16.09.2006. Strona 1 z 26. Powrót. Full Screen. Zamknij. Programowanie Sobera Jolanta 16.09.2006 Strona 1 z 26 1 Wprowadzenie do programowania 4 2 Pierwsza aplikacja 5 3 Typy danych 6 4 Operatory 9 Strona 2 z 26 5 Instrukcje sterujące 12 6 Podprogramy 15 7 Tablice

Bardziej szczegółowo

Ćwiczenie nr 6. Programowanie mieszane

Ćwiczenie nr 6. Programowanie mieszane Ćwiczenie nr 6 Programowanie mieszane 6.1 Wstęp Współczesne języki programowania posiadają bardzo rozbudowane elementy językowe, co pozwala w większości przypadków na zdefiniowanie całego kodu programu

Bardziej szczegółowo

Jak napisać program obliczający pola powierzchni różnych figur płaskich?

Jak napisać program obliczający pola powierzchni różnych figur płaskich? Część IX C++ Jak napisać program obliczający pola powierzchni różnych figur płaskich? Na początku, przed stworzeniem właściwego kodu programu zaprojektujemy naszą aplikację i stworzymy schemat blokowy

Bardziej szczegółowo

Optimizing Programs with Intended Semantics

Optimizing Programs with Intended Semantics Interaktywna optymalizacja programów 26 kwietnia 2010 Spis treści Spis treści Wstęp Omówienie zaproponowanego algorytmu na przykładzie Wewnętrzna reprezentacja reguł dotyczących optymalizacji Wybrane szczegóły

Bardziej szczegółowo

Architektura komputerów II - opis przedmiotu

Architektura komputerów II - opis przedmiotu Architektura komputerów II - opis przedmiotu Informacje ogólne Nazwa przedmiotu Architektura komputerów II Kod przedmiotu 11.3-WI-INFP-AK-II Wydział Kierunek Wydział Informatyki, Elektrotechniki i Automatyki

Bardziej szczegółowo

Typy złożone. Struktury, pola bitowe i unie. Programowanie Proceduralne 1

Typy złożone. Struktury, pola bitowe i unie. Programowanie Proceduralne 1 Typy złożone Struktury, pola bitowe i unie. Programowanie Proceduralne 1 Typy podstawowe Typy całkowite: char short int long Typy zmiennopozycyjne float double Modyfikatory : unsigned, signed Typ wskaźnikowy

Bardziej szczegółowo

Podstawy informatyki. Informatyka stosowana - studia niestacjonarne. Grzegorz Smyk. Wydział Inżynierii Metali i Informatyki Przemysłowej

Podstawy informatyki. Informatyka stosowana - studia niestacjonarne. Grzegorz Smyk. Wydział Inżynierii Metali i Informatyki Przemysłowej Podstawy informatyki Informatyka stosowana - studia niestacjonarne Grzegorz Smyk Wydział Inżynierii Metali i Informatyki Przemysłowej Akademia Górniczo Hutnicza im. Stanisława Staszica w Krakowie, rok

Bardziej szczegółowo

Programowalne układy logiczne kod kursu: ETD Podstawy języka Verilog W

Programowalne układy logiczne kod kursu: ETD Podstawy języka Verilog W Programowalne układy logiczne kod kursu: ETD008270 Podstawy języka Verilog W2 2.03.2018 mgr inż. Maciej Rudek 2 Tematyka kursu wykład Poziom abstrakcji systemów opisu sprzętu Historia Verilog został stworzony

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

Projektowanie systemów za pomocą języków wysokiego poziomu ESL

Projektowanie systemów za pomocą języków wysokiego poziomu ESL Akademia Górniczo Hutnicza im. Stanisława Staszica w Krakowie Wydział IET Katedra Elektroniki Projektowanie systemów za pomocą języków wysokiego poziomu ESL Ćwiczenie 2 Implementacja funkcji Hash z użyciem

Bardziej szczegółowo

Kod IEEE754. IEEE754 (1985) - norma dotycząca zapisu binarnego liczb zmiennopozycyjnych (pojedynczej precyzji) Liczbę binarną o postaci

Kod IEEE754. IEEE754 (1985) - norma dotycząca zapisu binarnego liczb zmiennopozycyjnych (pojedynczej precyzji) Liczbę binarną o postaci Kod IEEE754 IEEE Institute of Electrical and Electronics Engineers IEEE754 (1985) - norma dotycząca zapisu binarnego liczb zmiennopozycyjnych (pojedynczej precyzji) Liczbę binarną o postaci (-1) s 1.f

Bardziej szczegółowo

Testy jednostkowe Wybrane problemy testowania metod rekurencyjnych

Testy jednostkowe Wybrane problemy testowania metod rekurencyjnych Testy jednostkowe Wybrane problemy testowania metod rekurencyjnych Artykuł przeznaczony jest dla osób związanych z testowaniem, programowaniem, jakością oraz wytwarzaniem oprogramowania, wymaga jednak

Bardziej szczegółowo

Instytut Mechaniki i Inżynierii Obliczeniowej Wydział Mechaniczny Technologiczny Politechnika Śląska

Instytut Mechaniki i Inżynierii Obliczeniowej  Wydział Mechaniczny Technologiczny Politechnika Śląska Instytut Mechaniki i Inżynierii Obliczeniowej www.imio.polsl.pl fb.com/imiopolsl @imiopolsl Wydział Mechaniczny Technologiczny Politechnika Śląska Języki programowania z programowaniem obiektowym Laboratorium

Bardziej szczegółowo

Programowanie mikroprocesorów jednoukładowych

Programowanie mikroprocesorów jednoukładowych Programowanie mikroprocesorów jednoukładowych MPU Mariusz Naumowicz Programowanie mikroprocesorów jednoukładowych 2 stycznia 2017 1 / 21 Plan MPU Nakładanie regionów Tło regionów Rejestry MPU Inicjalizacja

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

Maciej Oleksy Zenon Matuszyk

Maciej Oleksy Zenon Matuszyk Maciej Oleksy Zenon Matuszyk Jest to proces związany z wytwarzaniem oprogramowania. Jest on jednym z procesów kontroli jakości oprogramowania. Weryfikacja oprogramowania - testowanie zgodności systemu

Bardziej szczegółowo

System pamięci. Pamięć wirtualna

System pamięci. Pamięć wirtualna System pamięci Pamięć wirtualna Pamięć wirtualna Model pamięci cache+ram nie jest jeszcze realistyczny W rzeczywistych systemach działa wiele programów jednocześnie Każdy może używać tej samej przestrzeni

Bardziej szczegółowo

Technologie obiektowe

Technologie obiektowe WYKŁAD dr inż. Paweł Jarosz Instytut Informatyki Politechnika Krakowska mail: pjarosz@pk.edu.pl LABORATORIUM dr inż. Paweł Jarosz (3 grupy) mgr inż. Piotr Szuster (3 grupy) warunki zaliczenia Obecność

Bardziej szczegółowo

PLAN WYNIKOWY PROGRAMOWANIE APLIKACJI INTERNETOWYCH. KL III TI 4 godziny tygodniowo (4x30 tygodni =120 godzin ),

PLAN WYNIKOWY PROGRAMOWANIE APLIKACJI INTERNETOWYCH. KL III TI 4 godziny tygodniowo (4x30 tygodni =120 godzin ), PLAN WYNIKOWY PROGRAMOWANIE APLIKACJI INTERNETOWYCH KL III TI 4 godziny tygodniowo (4x30 tygodni =120 godzin ), Program 351203 Opracowanie: Grzegorz Majda Tematyka zajęć 1. Wprowadzenie do aplikacji internetowych

Bardziej szczegółowo