Wykład 1. Języki Opisu Sprzętu. Prowadzący: dr inż. Andrzej Skoczeń Współrzędne: D , tel. w ,

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

Download "Wykład 1. Języki Opisu Sprzętu. Prowadzący: dr inż. Andrzej Skoczeń Współrzędne: D , tel. w ,"

Transkrypt

1 Języki Opisu Sprzętu Prowadzący: dr inż. Andrzej Skoczeń Współrzędne: D , tel. w , Komputer, CPU Architektury obliczeniowe Wykład październik 2018 Poziomy abstrakcji Sprzęt a program Historia języków opisu sprzętu na tle rozwoju elektroniki Porównanie języków HDL Wprowadzenie do Veriloga AGH WFiIS Informatyka Stosowana Języki Opisu Sprzętu 1

2 Komputer Magistrala Danych CPU ROM RAM I/O µp lub µc Magistrala Adresowa Magistrala Sterująca Nie będziemy się tym zajmować 2

3 Jednostka Centralna CPU Magistrala Danych AC R1 R... Rn ALU PC IR SP Flags Magistrala Adresowa Układ Sterowania (dekoder komend) Magistrala Sterujaca Nie będziemy się tym zajmować 3

4 Lista rozkazów Podstawowe grupy rozkazów to: Arytmetyczne Logiczne Przesunięcia Przesłania wewnętrzne Przesłania do i z pamięci lub urządzeń wejścia-wyjścia Sterowanie programem Obsługa stosu Obsługa przerwań Nie będziemy się tym zajmować 4

5 Architektura obliczeniowa Architektura obliczeniowa A cs składa się z: Elementów (components) funkcjonalnych C i Połączeń (links) komunikacyjnych miedzy elementami L ij Procedur funkcjonalnych związanych z elementami i połączeniami P k A cs = {C i, L ij, P k } gdzie: i, j = 1, 2,, N k = 1, 2,, M N liczba elementów, M liczba procedur w systemie. 5

6 CSPP Systemy obliczeniowe Nazwa Architektura Implementacja Computing Systems with Programmable Procedure A CSPP = {C i, L ij, P~} µp RCS Reconfigurable Computing Systems A RCS = {C~, L~, P~} FPGA ASP Application-Specific Processors A ASP = {C i, L ij, P ij } ASIC CSPP RCS ASP Elastyczność Średnia Najwyższa Ograniczona Szybkość działania Ograniczona Wysoka Najwyższa Wydajność mocy Niska Wysoka Najwyższa Koszt produkcji masowej Względnie niski Względnie wysoki Względnie niski Czas projektowania systemu Względnie krótki Średni Względnie długi Najkorzystniejszy obszar zastosowań Algorytmiczne Obliczeniowe Obliczeniowe 6

7 Blok wejściowowyjściowy (I/O Block IOB) Pionowy kanał łączeniowy (Vertical Routing Channel) Konfigurowalny blok logiczny (Configurable Logic Block CLB) Element kluczujący (Switch Box - SB) Element łączący (Connection Box - CB) Poziomy kanał łączeniowy (Horizontal Routing Channel) Matryca (fabric) układu FPGA 7

8 Ogólna architektura RCS Zasoby konfigurowalne Magistrala danych wejściowych Magistrala danych wyjściowych Pamięć konfiguracyjna Nośnik z plikiem konfiguracyjnym Sterownik konfiguracji zasobów 8

9 Poziomy abstrakcji Jest w użyciu pięć poziomów abstrakcji gdy myślimy o zagadnieniu modelowania systemów cyfrowych: Czasu ciągłego Continuous Time time (ns) Zdarzeń (event-driven) Discrete Event event_1 event_3 event_4 event_7 event_2 event_5 event_6 events Cyklu zegara (cycle-based) Cycle Accurate cycle-1 (event_1) (event_2) (event_3) cycle-2 (event_4) (event_5) (event_6) (event_7) clock cycles Instrukcji Instruction Accurate mov r0,#5 ldr r1,[r0] add r2,r1,#3 mov r3,#0 instructions (cycle_1) (cycle_2) (cycle_2) (cycle_3) (cycle_4) (cycle_4) (cycle_5) (cycle_6) (cycle_5) (cycle_6) this book Transaction Accurate Transakcji load_mem ldr r1,[r0] add r2,r1,#3 mov r3,#0 write_mem str r3,[r2] cmp r1,r3 ble 0x500 nop transactions 9

10 Poziomy abstrakcji - 0 Model fizyki elementów elektronicznych i procesu technologicznego: Polega na rozwiązywaniu układu równań różniczkowych opisującego rozkład pól elektromagnetycznych i nośników ładunku w półprzewodniku (prawa Maxwella, równanie ciągłości). Podejście to nie ma zastosowania do modelowania obwodów elektrycznych analogowych a tym bardziej systemów cyfrowych. Jest konieczne do projektowania i analizy elementów elektronicznych i technologii elektronicznej. 10

11 Poziomy abstrakcji - 1 Model czasu ciągłego: Continuous Time Najniższy poziom modelowania polegający na rozwiązywaniu układu równań różniczkowych opisującego prądy i napięcia w obwodzie elektrycznym. Elementy elektroniczne są modelowane analitycznie z wykorzystaniem ogólnie przyjętych modeli (BSIM, EKV). Podejście to jest stosowane do analizy efektów analogowych i zawiera mnóstwo informacji niepotrzebnych z punktu widzenia projektu urządzenia cyfrowego. SPICE - Simulation Program with Integrated Circuit Emphasis jest otwartym (open source) symulatorem analogowych obwodów elektronicznych ogólnego przeznczenia. W 1972 na Wydziale Inżynierii Elektrycznej i Nauk Komputerowych na Uniwersytecie Kalifornijskim w Berkeley opracowano pierwszą wersję programu SPICE1.

12 Model zdarzeniowy: Poziomy abstrakcji - 2 Discrete-event Register Transfer Level RTL (Verilog, VHDL) Na tym poziomie modelowania aktywność układu jest skoncentrowana w dyskretnych punktach czasu. Zachowanie się systemu można rozłożyć na zbiór odrębnych chwil czasowych, w których zachodzą zdarzenia. Te chwile nazywamy zdarzeniami (event), a to co się wydarza to zmiany stanu (state change). Jest to podejście analogiczne do procesu próbkowania sygnału ciągłego. Symulacja zdarzeniowa jest szeroko stosowana do modelowania sprzętu cyfrowego na niskim poziomie abstrakcji. Metoda ta nie wymaga rozwiązywania równań różniczkowych a mimo to zachowuje całą informację o aktywności pomiędzy zboczami zegara (fałszywe impulsy, opóźnienia i in.).

13 Poziomy abstrakcji - 3 Model na poziomie okresu zegara: Cycle-accurate Ten rodzaj modelu nie ujmuje żadnych wydarzeń zachodzących pomiędzy zboczami przebiegu zegarowego: opóźnienia, propagacje, fałszywe impulsy (glitch). Jest to nieistotne gdy układ jest w pełni synchroniczny czyli wszystko co ma znaczenie wydarza się w chwilach wyznaczonych zboczami sygnału zegarowego. W takim modelu układy kombinacyjne działają natychmiastowo, a układy sekwencyjne po całkowitej liczbie okresów zegara. Dla badania związków między sprzętem a oprogramowaniem jest to wystarczająca dokładność.

14 Poziomy abstrakcji - 4 Model na poziomie rozkazów: Instruction-accurate simulators Ten rodzaj modelu wyraża aktywność systemu w krokach odpowiadających jednemu rozkazowi mikroprocesora. Każdy rozkaz to kilka okresów zegara pracy procesora. Symulatory na poziomie rozkazów stosowane są do weryfikacji dużych systemów programowych jak systemy operacyjne. Symulatory takie mierzą czas w liczbie instrukcji a nie okresów zegara.

15 Poziomy abstrakcji - 5 Model transakcyjny: Transaction Level Modeling TLM (SystemC) W tym rodzaju modelu zachowanie układu jest wyrażone w terminach interakcji (zwanych transakcjami) pomiędzy składnikami systemu. Modelowanie aplikacji, w której wielokrotnie występują odwołania do pamięci można znacząco uprościć i skoncentrować się na aktywności występującej pomiędzy tymi odwołaniami. W tym celu należy wszystkie instrukcje wykonywane w konkretnym odwołaniu do pamięci zgrupować w jedno wywołanie funkcji tzn. transakcję. Model transakcyjny jest ważny na wstępnym etapie projektu kiedy projektant jest zainteresowany w określeniu ogólnej charakterystyki projektu bez wchodzenia w wysiłek budowy szczegółów modelu.

16 EDA Electronic Design Automation CAE Computer Aided Engineering Narzędzia programowe stosowane do początkowych etapów projektu: symulacja za pomocą HDL, synteza logiczna i analiza czasowa, weryfikacja. CAD Computer Aided Design Narzędzia programowe stosowane do końcowych etapów projektu: rozmieszczanie i wyznaczanie tras połączeń (P&R - Place and Route), generacja topografii układu scalonego (layout generation). 16

17 Sprzęt W pierwszym przybliżeniu będziemy mieli na myśli: Układ cyfrowy, synchroniczny, z jednym zegarem zbudowany z logiki kombinacyjnej i przerzutników. module count (input clk, rst, output reg [7:0] q); clk) if(rst) q <= 8 b0; else q <= q + 1 b1; endmodule Istnieją inne formy sprzętu, które nie mogą być tak prosto analizowane: układy asynchroniczne, logika dynamiczna, wielofazowe zegary, wiele domen zegarowych, sprzęt na zatrzaskach...

18 Program W pierwszym przybliżeniu będziemy mieli na myśli: Jedno-wątkowy sekwencyjny program napisany w C lub asemblerze. int max; int findmax(int a[10]) { unsigned i; max = a[0]; for (i=1; i<10; i++) if (a[i] > max) max = a[i]; } Rejestr Zawiera (w sensie programu w C) r0 r1 r2 r3 ip Adres bazowy a[] czyli miejsca przechowywania a[0] a[i] Adres miejsca przechowywania max max Licznik i pętli inkrementowany instrukcją add ldr - load-register strgt - store-if-greater (dotyczy flagi ustawionej przez poprzednią instrukcję).text findmax: ldr r2,.l10 ldr r3, [r0, #0] str r3, [r2, #0] mov ip, #1.L7:.L11:.L10: ldr r1, [r0, ip, asl #2] ldr r3, [r2, #0] add ip, ip, #1 cmp r1, r3 strgt r1, [r2, #0] cmp ip, #9 movhi pc, lr b.l7.align 2.word max Wynik kompilacji dla procesora ARM Istnieją inne formy programów, które nie dają się analizować przy założeniu prostego wyobrażenia o mikroprocesorze: wielowątkowość, programowanie obiektowe, funkcjonalne...

19 module ffd (input clk, rst, d, output reg q); clk) if(rst) q <= 1 b0; else q <= d; endmodule Sprzęt module ffd ( clk, rst, d, q); Wynik syntezy dla FPGA Spartan-3AN input clk; input rst; input d; output q; wire clk_bufgp_1; wire d_ibuf_3; wire q_obuf_5; wire rst_ibuf_7; FDR q_1 (.C(clk_BUFGP_1),.D(d_IBUF_3),.R(rst_IBUF_7),.Q(q_OBUF_5)); IBUF rst_ibuf (.I(rst),.O(rst_IBUF_7)); IBUF d_ibuf (.I(d),.O(d_IBUF_3)); OBUF q_obuf (.I(q_OBUF_5),.O(q)); BUFGP clk_bufgp (.I(clk),.O(clk_BUFGP_1)); endmodule

20 Historia HDL 1952 pierwszy HDL skonstruowany przez Reed-a 1970 powstał język ISP (Rose, Drongowski) 1973 istnieje już 9 HDL-i i kilkanaście nowych zaproponowano Lata 1980 pojawiły się Verilog i VHDL i były stosowane do symulacji Lata 1990 rozwija się idea syntezy z opisu HDL zapoczątkowana w latach 60-tych Firma Synopsys wprowadziła pierwszy przemysłowo zaakceptowany system do syntezy automatycznej bazujący na RTL Verilog. Pojawiła się potrzeba automatycznego generowania ciągów testowych w celu weryfikacji dużych modeli. Osiągnięto to w językach do weryfikacji poprzez użycie ograniczonych zmiennych losowych (biased random variables). 20

21 Verilog HDL Stworzony w firmie Gateway Design Automation w 1983 roku przez Phila Moorby jako pionierski symulator na poziomie bramek. Pierwotny język był przeznaczony do współpracy z interpreterem symulatora elektronicznych układów cyfrowych o nazwie Verilog XL. Symulator ten zawierał słynny do dziś szybki algorytm o nazwie XL. Firmę wraz z Verilogiem przejęła firma Cadence w 1989 roku i uczyniła Veriloga otwartym standardem. Efektem prac w Cadence było stworzenie Verilog HDL i Verilog PLI (Programming Language Interface). W roku 1990 powstała otwarta organizacja Open Verilog International (OVI). Na jej łamach Cadence opublikował Verilog 1.0 Reference Manual, który był dokumentacją użytkownika najnowszej wersji Veriloga-XL. 21

22 Verilog HDL W roku 1993 Cadence opublikował kolejną wersję tzn. Verilog 2.0 Reference Manual, która zawierała tylko drobne udoskonalenia (np. tablice konkretyzacji). OVI podjęła kroki do stworzenia formalnego standardu IEEE. Powstała grupa IEEE do spraw tego standardu, która zdecydowała o przyjęciu istniejącej dokumentacji Verilog-a 2.0 bez żadnych zmian jako standardu IEEE Było to w roku W roku 2000 powstała Accellera z połączenia Open Verilog International i VHDL. Na podstawie życzeń użytkowników i sugestii producentów oprogramowania powstał zrewidowany standard IEEE Od 2002 Accellera rozpoczęła proces gruntownych ulepszeń w Verilog-u. Efektem jest nowy język SystemVerilog, którego standard zatwierdzono w 2005 roku IEEE Równocześnie zakończono rozwój zwykłego Verilog-a publikując nową (i ostatnią) wersje standardu IEEE Ostatnia standaryzacja SystemVerilog a to IEEE

23 Standardy IEEE dla Verilog-a Standard Title Uwagi Licz. str. IEEE IEEE IEEE Verilog hardware description language Standard for Verilog Register Transfer Level Synthesis Standard for SystemVerilog Unified Hardware Design, Specification, and Verification Language Ostatnia wersja w 2005 nie rozwijany dalej 862 RTL 109 Nowy język poraz pierwszy standaryzowany w 2005 roku 1285 Brak standardów dla Verilog-A i Verilog-AMS 23

24 VHDL Powstał na militarne zamówienie jako element szerszego projektu zastosowania układów scalonych w amerykańskiej armii. Litera V w nazwie pochodzi VHISIC Very High Speed Integrated Circuit. Następnie projekt rozwijały trzy firmy: Intermetrics (twórca języka ADA), Texas Instrument i IBM. Głównym celem było stworzenie ścisłego i jednoznacznego sposobu dokumentowania sprzętu cyfrowego. Równocześnie z językiem opisowym powstał symulator. Standard powstał w 1987 roku i został zrewidowany w 1993 pod numerem IEEE Na początku 2009 zatwierdzono nową wersję IEEE Std , popularnie zwaną VHDL Jest to usprawniona wersja języka, zawierająca rozszerzoną składnię, większy zestaw operatorów, uporządkowane standardowe pakiety biblioteczne, dołączony interfejs proceduralny dla C/C++ (VHPI), podzbiór języka PSL,... 24

25 VHDL - wady Bardzo obszerna wielosłowna składnia wywodząca się z języka ADA ale także z nietrafionych decyzji projektowych (podział na entity i architecture). Nadmierna elastyczność zwłaszcza w definiowaniu typów powoduje konieczność wprowadzania dodatkowej standaryzacji pakietów np. IEEE 1164 library ieee; use ieee.std_logic_1164.all; 25

26 Język ADA W latach 70. departament obrony USA stworzył grupę roboczą High Order Language Working Group (HOLWG), która ogłosiła konkurs na stworzenie nowego języka. W 1978 roku wygrała firma CII Honeywell Bull, pod przewodnictwem Jeana Ichbiaha. Nowy język otrzymał nazwę Ada na cześć lady Augusty Ady Lovelace, uważanej za pierwszą programistkę w historii. Zwycięska propozycja czerpała pomysły z języka LIS, który Ichbiah i jego grupa zaprojektowali w latach 70. Pojawienie się Ady wywołało duże zainteresowanie wśród społeczności programistów w pierwszych latach swojego istnienia. Wśród zwolenników pojawiały się opinie, że może ona zostać głównym językiem programowania ogólnego przeznaczenia. Jean Ichbiah publicznie stwierdził, że w przeciągu 10 lat na rynku pozostaną jedynie dwa języki: Ada i Lisp. Język został standardem ANSI w 1983 roku. Nowy standard z 1995 roku Ada 95 sprawił, że język ten stał się pierwszym obiektowo zorientowanym, ustandaryzowanym językiem programowania. US Air Force sfinansowała prace nad kompilatorem GNAT. Obecnie GNAT jest częścią pakietu GNU Compiler Collection. Ostatnia standaryzacja miała miejsce w grudniu

27 Język ADA Jednym z problemów języka był zaproponowany model wielozadaniowości, który znacząco odbiegał od znanych rozwiązań. Z uwagi na obecność kluczowych mechanizmów bezpieczeństwa, Ada jest obecnie używana w aplikacjach, gdzie błąd programistyczny może mieć kosztowne konsekwencje. Przykłady: kontrola lotów, awionika samolotów, satelity, automatyczne systemy transportowe czy bankowość. W szczególności, oprogramowanie systemu Fly-by-wire w samolocie Boeing 777 zostało w całości napisane w Adzie. 27

28 Standardy IEEE dla VHDL-a Standard Title Uwagi Licz. str. IEEE IEEE IEEE IEEE IEEE IEEE IEEE Standard VHDL Language Reference Manual Standard VHDL Analog and Mixed-Signal Extensions Standard for VHDL Analog and Mixed-Signal Extensions Packages for Multiple Energy Domain Support Standard VHDL Mathematical Packages Standard VHDL Synthesis Packages VITAL ASIC modeling specification Standard Multivalue Logic System for VHDL Model Interoperability Opis pakietów MATH_REAL i MATH_COMPLEX Opis pakietów NUMERIC_BIT i NUMERIC_STD VITAL VHDL Initiative Towards ASIC Libraries Opis pakietu Std_logic_

29 Historia FPGA Steve Casselman zbudował komputer z reprogramowalnych bramek. Casselman od roku 1992 jest właścicielem patentu. Ross Freeman jest uważany za wynalazcę FPGA. Bernard Vonderschmitt wprowadził model biznesowy pozbawiony linii technologicznej. Ross Freeman i Bernard Vonderschmitt współzałożyciele firmy Xilinx. W roku 1985 wprowadzili pierwszy komercyjnie opłacalny układ FPGA o symbolu XC2064. Układ XC2064 posiadał 64 CLB (Configurable Logic Block) z dwoma trójwejściowymi LUT (two threeinput LookUp Tables). Rynek FPGA w roku 2010: Intel (Altera) 31%, Microsemi (Actel) -10%, Xilinx 36%. Pozostali to: Atmel, Cypress, Lattice Semiconductor, QuickLogic. Fabless manufacturing is the design and sale of hardware devices and semiconductor chips while outsourcing the fabrication or "fab" of the devices to a specialized manufacturer called a semiconductor foundry. Foundries are typically but not exclusively located in China and Taiwan TSMC - Taiwan Semiconductor Manufacturing Company - world's largest dedicated independent semiconductor foundry GLOBALFOUNDRIES - is a semiconductor foundry headquartered in, California, United States. GlobalFoundries was created by the divestiture of the manufacturing arm of Advanced Micro Devices (AMD) on March 2, 2009, 29

30 Pierwszy komercyjnie dostępny FPGA to XC2064 w 1985 raku. Zawierał 64 CLB z dwama trójwejściowymi LUT-ami. Objaśnienia: SG LC ELC VS System Gate Logic Cell Equivqlent Logic Cell Virtex-5 Slices Historia FPGA Rok Rozmiar technologi [nm] Rodzina układów Virtex 180 Virtex-E 150 Virtex-II 130 Virtex-II Pro Spartan Virtex-4 90 Spartan-3E Spartan-3A Rozmiar najbardziej zaawansowanego układu 1400k SG ELC Virtex VS Spartan LC Virtex Artix-7, Kinetix-7, Virtex-7, Zynq UltraScale UltraScale+ 30

31 Porównanie języków HDL System Verilog System C Obszary zastsowań Architektura Wspólna symulacja hardwaru i softwaru System Verilog MatLab SPV SystemStudio Python Behawioralna symulacja Weryfikacja funkcjonalna RTL Poziom bramek Verilog Verilog VHDL VHDL OpenVera e Sugar ForSpec PSL Poziom tranzystorów 31

32 Moduł module nazwa_modułu #(parameter lista) (deklaracje_lista_portów); Deklaracje wire-ów, reg-ów i innych zmiennych wewnętrznych Konkretyzacja modułów niższego poziomu (gate level) Polecenia przepływu danych assign (data flow level) Polecenia behawioralne always initial (behavioral level) Zadania task... endtask i funkcje function... endfunction endmodule 32

33 Moduł module <nazwa> (<końcówki>);... //wnętrze modułu... endmodule Definicja modułu opisuje jak działa moduł i jak się on kontaktuje ze światem. Definicja modułu wykorzystuje inne moduły poprzez ich urealnianie. Nie wolno zagnieżdżać definicji modułów. 33

34 Połączona deklaracja typu portu i typu danych module register (q, d, clk, rst_n); parameter SIZE=8; output [SIZE-1:0] q; input [SIZE-1:0] d; input clk, rst_n; reg [SIZE-1:0] q; Verilog-1995 clk or negedge rst_n) if (!rst_n) q <= 0; else q <= d; endmodule Verilog-2001 module register2001 #(parameter SIZE=8) (output reg [SIZE-1:0] q, input [SIZE-1:0] d, input clk, rst_n); clk, negedge rst_n) if (!rst_n) q <= 0; else q <= d; endmodule 34

35 Porty Port (terminal, końcówka) Obiekt danych odnoszący się do sygnału wejścia/wyjścia w deklaracji interfejsu modułu do otoczenia. Przez analogię można rozumieć go jako zacisk (końcówka) realnego układu. Lista portów input output inout [numer_msb:numer_lsb] <końcówki>:=[<typ> <typ_danych> <rozmiar> <nazwa>],[],... reg integer real wire tri trireg wand... 35

36 Porty Lista portów Moduł szczytowy Top a b c_in Sumator 4-bitowy fulladd4 sum c_out module fulladd4(sum, c_out, a, b, c_in); module Top; 36

37 Porty Deklaracja portów Wszystkie porty z listy muszą być zadeklarowane w module. Są trzy typy portów: Słowo kluczowe input output inout Kierunek sygnału Wejściowy Wyjściowy Dwukierunkowy module fulladd4(output [3:0] sum, output c_out, input [3:0] a, b, input c_in);... <wnętrze modułu>... endmodule 37

38 Porty Domyślnie porty są typu wire. Jeśli potrzebujemy port innego typu to trzeba go zadeklarować. Zwykle port wyjściowy output projektujemy jako utrzymujący wartość, więc potrzebny jest typ rejestrowy reg. Natomiast porty input i inout nie mogą być zadeklarowane jako reg gdyż wejścia muszą po prostu powtarzać sygnały zewnętrzne, do których są podłączone. module DFF(output reg q, input d, clk, reset); //wyjście przerzutnika utrzymuje wartość... <wnętrze modułu>... endmodule 38

39 Konwencje językowe Verilog-a Podstawowe konwencje są takie same jak w C. Elementami języka są: komentarze, ograniczniki, liczby, stringi, identyfikatory i słowa kluczowe. Verilog rozróżnia małe i duże litery. Słowa kluczowe pisane są małymi literami. Spacje Spacje \b, tabulatory \t i zakończenia linii \n. Są ignorowane za wyjątkiem sytuacji gdy rozdzielają elementy języka. Wewnątrz ciągów znaków nie są ignorowane. Komentarze Jedna linia zaczyna się od // Wiele linii od /* do */. Nie mogą być zagnieżdżane. Operatory Jednoargumentowe, dwuargumentowe, trójargumentowe Wartość sygnału 0 zero logiczne fałsz 1 jedynka logiczna prawda x wartość nieznana z wysoka impedancja, nie podłączone a = ~b; A = b && c; A = b? C : d; 39

40 Konwencje językowe Liczby (1 z 3) Z rozmiarem: <rozmiar> <format><liczba> <rozmiar> - liczba dziesiętna określająca ilość bitów w liczbie <format> - D lub d dziesiętny H lub h szesnastkowy B lub b dwójkowy O lub o ósemkowy <liczba> - sekwencja znaków od 1 do f. Małe i duże litery są nierozróżnialne. 4 b1111 //czterobitowa liczba dwójkowa 12 habc //dwunastobitowa liczba szesnastkowa 16 d255 //szesnastobitowa liczba dziesiętna Bez rozmiaru: Jeżeli nie podajemy <rozmiar> to liczba ma 32 bity długości (lub więcej o ile pozwala na to symulator i maszyna) Jeżeli nie podajemy <format> to liczba jest dziesiętna //32-bitowa liczba dziesiętna habc //32-bitowa liczba szesnastkowa o255 //32-bitowa liczba ósemkowa 40

41 Konwencje językowe Liczby (2 z 3) Wartości x lub z: Modelowanie rzeczywistych obwodów wymaga dwóch specjalnych wartości: x wartość nieokreślona (nieznana) (można także stosować?), z wartość wysokiej impedancji. Symbole te określają: 4-bity w zapisie szesnastkowym, 3 w ósemkowym, 1 w dwójkowym. Jeżeli wartości 0, x, z występują na najbardziej znaczącym miejscu, to liczba jest rozszerzana na wyższe bity także przez 0, x, z odpowiednio. 12 h13x //12-bitowa liczba szesnastkowa z 4 ostatnimi //bitami nieokreślonymi 6 hx 32 bz //6-bitowa liczba szesnastkowa nieznanej wartości //32-bitowa liczba o wysokiej impedancji 41

Wykład 2. Języki Opisu Sprzętu. Prowadzący: dr inż. Andrzej Skoczeń Współrzędne: D , tel. w ,

Wykład 2. Języki Opisu Sprzętu. Prowadzący: dr inż. Andrzej Skoczeń Współrzędne: D , tel. w , Języki Opisu Sprzętu Prowadzący: dr inż. Andrzej Skoczeń Współrzędne: D-10 222, tel. w. 28-72, e-mail: skoczen@fis.agh.edu.pl Sprzęt a program Wykład 2 2017 18 październik 2017 Historia języków opisu sprzętu

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

Wykład 1. Języki Opisu Sprzętu. Prowadzący: dr inż. Andrzej Skoczeń Współrzędne: D , tel. w ,

Wykład 1. Języki Opisu Sprzętu. Prowadzący: dr inż. Andrzej Skoczeń Współrzędne: D , tel. w , Języki Opisu Sprzętu Prowadzący: dr inż. Andrzej Skoczeń Współrzędne: D-10 222, tel. w. 28-72, e-mail: skoczen@fis.agh.edu.pl Komputer, CPU Sprzęt a program Wykład 1 2017 11 październik 2017 Opcje projektowe

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

Liczniki z zastosowaniem

Liczniki z zastosowaniem Liczniki z zastosowaniem FPGA i µc Fizyka Medyczna, studia II stopnia, Dozymetria i elektronika w medycynie 1 Liczniki Rodzaje implementacji: Układy średniej skali integracji MSI Mikrokontroler Układ FPGA

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

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

Synteza logiczna APSC

Synteza logiczna APSC Jest to proces tłumaczenia opisu projektu przygotowanego na wysokim poziomie abstrakcji na zoptymalizowaną reprezentację na poziomie bramek logicznych w oparciu o zadaną technologiczną bibliotekę komórek

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

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

Języki opisu sprzętu VHDL Mariusz Rawski

Języki opisu sprzętu VHDL Mariusz Rawski CAD Języki opisu sprzętu VHDL rawski@tele.pw.edu.pl http://rawski.zpt.tele.pw.edu.pl/ Języki opisu sprzętu System cyfrowy może być opisany na różnych poziomach abstrakcji i z wykorzystaniem różnych sposobów

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

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

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

Ochrona własności intelektualnej projektów w układach FPGA poprzez szyfrowanie danych konfiguracyjnych

Ochrona własności intelektualnej projektów w układach FPGA poprzez szyfrowanie danych konfiguracyjnych Ochrona własności intelektualnej projektów w układach FPGA poprzez szyfrowanie danych konfiguracyjnych (Na przykładzie projektowania układów sterujacych) Grzegorz Łabiak i Marek Węgrzyn Instytut Informatyki

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

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

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

Systemy wbudowane. Projektowanie systemów wbudowanych na bazie układów CPLD/FPGA Język opisu sprzętu Verilog cz.1

Systemy wbudowane. Projektowanie systemów wbudowanych na bazie układów CPLD/FPGA Język opisu sprzętu Verilog cz.1 Systemy wbudowane Projektowanie systemów wbudowanych na bazie układów CPLD/FPGA Język opisu sprzętu Verilog cz.1 System Quartus II Opis projektu Tekstowy (język opisu sprzętu np. Verilog) Graficzny Wykresy

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

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

napięcie-częstotliwość

napięcie-częstotliwość Przetwornik napięcie-częstotliwość Czytnik TLD Fizyka Medyczna, studia II stopnia, Dozymetria i elektronika w medycynie 1 Czytnik TLD RA 94 2 Czytnik TLD RA 94 FOT PIF ZWN PLT PTW Fotopowielacz Przetwornik

Bardziej szczegółowo

Opisy efektów kształcenia dla modułu

Opisy efektów kształcenia dla modułu Karta modułu - Języki opisu sprzętu 1 / 8 Nazwa modułu: Języki opisu sprzętu Rocznik: 2012/2013 Kod: JIS-1-013-s Punkty ECTS: 5 Wydział: Fizyki i Informatyki Stosowanej Poziom studiów: Studia I stopnia

Bardziej szczegółowo

Pojedyncze wartości zadeklarowanego typu Ustawiane przed rozpoczęciem symulacji bez moŝliwości

Pojedyncze wartości zadeklarowanego typu Ustawiane przed rozpoczęciem symulacji bez moŝliwości Stałe - constant Pojedyncze wartości zadeklarowanego typu Ustawiane przed rozpoczęciem symulacji bez moŝliwości późniejszych zmian Deklarowane w ciele architektury Widoczne dla całej architektury architecture

Bardziej szczegółowo

Rok akademicki: 2013/2014 Kod: EEL s Punkty ECTS: 2. Poziom studiów: Studia I stopnia Forma i tryb studiów: Stacjonarne

Rok akademicki: 2013/2014 Kod: EEL s Punkty ECTS: 2. Poziom studiów: Studia I stopnia Forma i tryb studiów: Stacjonarne Nazwa modułu: Technika mikroprocesorowa Rok akademicki: 2013/2014 Kod: EEL-1-616-s Punkty ECTS: 2 Wydział: Elektrotechniki, Automatyki, Informatyki i Inżynierii Biomedycznej Kierunek: Elektrotechnika Specjalność:

Bardziej szczegółowo

Specyfika projektowania Mariusz Rawski

Specyfika projektowania Mariusz Rawski CAD Specyfika projektowania Mariusz Rawski rawski@tele.pw.edu.pl http://rawski.zpt.tele.pw.edu.pl/ System cyfrowy pierwsze skojarzenie Urządzenia wprowadzania danych: klawiatury czytniki urządzenia przetwarzania

Bardziej szczegółowo

Systemy Czasu Rzeczywistego FPGA

Systemy Czasu Rzeczywistego FPGA 01. Systemy Czasu Rzeczywistego FPGA 1 Systemy Czasu Rzeczywistego FPGA laboratorium: 03 autor: mgr inż. Mateusz Baran 01. Systemy Czasu Rzeczywistego FPGA 2 1 Spis treści FPGA... 1 1 Spis treści... 2

Bardziej szczegółowo

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

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

Bardziej szczegółowo

Opisy efektów kształcenia dla modułu

Opisy efektów kształcenia dla modułu Karta modułu - Projektowanie Systemów Cyfrowych 1 / 8 Nazwa modułu: Projektowanie Systemów Cyfrowych Rocznik: 2012/2013 Kod: JIS-2-205-s Punkty ECTS: 5 Wydział: Fizyki i Informatyki Stosowanej Poziom studiów:

Bardziej szczegółowo

FPGA, CPLD, SPLD. Synteza systemów reprogramowalnych 1/27. dr inż. Mariusz Kapruziak mkapruziak@wi.ps.pl pok. 107, tel. 449 55 44

FPGA, CPLD, SPLD. Synteza systemów reprogramowalnych 1/27. dr inż. Mariusz Kapruziak mkapruziak@wi.ps.pl pok. 107, tel. 449 55 44 Synteza systemów reprogramowalnych /27 dr inż. Mariusz Kapruziak mkapruziak@wi.ps.pl pok. 07, tel. 449 55 44 FPGA, CPLD, SPLD 945 950 955 960 965 970 975 980 985 990 995 2000 0 D CLK update v cur Q Q 0

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

Sterowniki Programowalne (SP)

Sterowniki Programowalne (SP) Sterowniki Programowalne (SP) Wybrane aspekty procesu tworzenia oprogramowania dla sterownika PLC Podstawy języka funkcjonalnych schematów blokowych (FBD) Politechnika Gdańska Wydział Elektrotechniki i

Bardziej szczegółowo

Liczniki z zastosowaniem

Liczniki z zastosowaniem Liczniki z zastosowaniem FPGA i µc Fizyka Medyczna, studia II stopnia, Dozymetria i elektronika w medycynie 1 Zliczanie impulsów Źródło impulsów Kondycjonowanie Licznik Wyświetlacz Układ czasowy 2 Liczniki

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

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

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

Wykład 4. Języki Opisu Sprzętu

Wykład 4. Języki Opisu Sprzętu Języki Opisu Sprzętu Prowadzący: dr inż. Andrzej Skoczeń Współrzędne: D-10 222, tel. w. 28-72, e-mail: skoczen@fis.agh.edu.pl Wprowadzenie do Veriloga Przypisania proceduralne (c. d.) Wykład 4 2017 8 listopad

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

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

Wykład 2. Języki Opisu Sprzętu. Prowadzący: dr inż. Andrzej Skoczeń Współrzędne: D , tel. w ,

Wykład 2. Języki Opisu Sprzętu. Prowadzący: dr inż. Andrzej Skoczeń Współrzędne: D , tel. w , Języki Opisu Sprzętu Prowadzący: dr inż. Andrzej Skoczeń Współrzędne: D-10 222, tel. w. 28-72, e-mail: skoczen@fis.agh.edu.pl Dwa oblicza systemu cyfrowego Opcje projektowe dla systemu cyfrowego Wykład

Bardziej szczegółowo

Programowalne Układy Logiczne. Wykład I dr inż. Paweł Russek

Programowalne Układy Logiczne. Wykład I dr inż. Paweł Russek Programowalne Układy Logiczne Wykład I dr inż. Paweł Russek Literatura www.actel.com www.altera.com www.xilinx.com www.latticesemi.com Field Programmable Gate Arrays J.V. Oldfield, R.C. Dorf Field Programable

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

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

Programowanie Układów Logicznych kod kursu: ETD6203 W dr inż. Daniel Kopiec. Pamięć w układach programowalnych

Programowanie Układów Logicznych kod kursu: ETD6203 W dr inż. Daniel Kopiec. Pamięć w układach programowalnych Programowanie Układów Logicznych kod kursu: ETD623 Pamięć w układach programowalnych W6 6.4.26 dr inż. Daniel Kopiec Plan wykładu Pamięć w układach programowalnych Zasada działania, podział pamięci Miara

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 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

Laboratorium przedmiotu Technika Cyfrowa

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

Bardziej szczegółowo

Systemy wbudowane. Poziomy abstrakcji projektowania systemów HW/SW. Wykład 9: SystemC modelowanie na różnych poziomach abstrakcji

Systemy wbudowane. Poziomy abstrakcji projektowania systemów HW/SW. Wykład 9: SystemC modelowanie na różnych poziomach abstrakcji Systemy wbudowane Wykład 9: SystemC modelowanie na różnych poziomach abstrakcji Poziomy abstrakcji projektowania systemów HW/SW 12/17/2011 S.Deniziak:Systemy wbudowane 2 1 Model czasu 12/17/2011 S.Deniziak:Systemy

Bardziej szczegółowo

Sprzęt komputera - zespół układów wykonujących programy wprowadzone do pamięci komputera (ang. hardware) Oprogramowanie komputera - zespół programów

Sprzęt komputera - zespół układów wykonujących programy wprowadzone do pamięci komputera (ang. hardware) Oprogramowanie komputera - zespół programów Sprzęt komputera - zespół układów wykonujących programy wprowadzone do pamięci komputera (ang. hardware) Oprogramowanie komputera - zespół programów przeznaczonych do wykonania w komputerze (ang. software).

Bardziej szczegółowo

Układy reprogramowalne i SoC Implementacja w układach FPGA

Układy reprogramowalne i SoC Implementacja w układach FPGA Układy reprogramowalne i SoC Implementacja w układach FPGA Prezentacja jest współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego w projekcie pt. Innowacyjna dydaktyka bez

Bardziej szczegółowo

Sumatory H D L. dr inŝ. Paweł Tomaszewicz Instytut Telekomunikacji Politechnika Warszawska

Sumatory H D L. dr inŝ. Paweł Tomaszewicz Instytut Telekomunikacji Politechnika Warszawska Sumatory 1 Sumator 1-bitowy full adder Równanie boolowskie sumy: s k = a k XOR b k XOR c k = a k b k c k Równanie boolowskie przeniesienia: c k+1 = (a k AN b k ) OR (a k AN c k ) OR (b k AN c k ) = (a

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

Podział układów cyfrowych. rkijanka

Podział układów cyfrowych. rkijanka Podział układów cyfrowych rkijanka W zależności od przyjętego kryterium możemy wyróżnić kilka sposobów podziału układów cyfrowych. Poniżej podam dwa z nich związane ze sposobem funkcjonowania układów cyfrowych

Bardziej szczegółowo

Projektowanie układów FPGA. Żródło*6+.

Projektowanie układów FPGA. Żródło*6+. Projektowanie układów FPGA Żródło*6+. Programowalne układy logiczne W elektronice cyfrowej funkcjonują dwa trendy rozwoju: Specjalizowane układy scalone ASIC (ang. Application Specific Integrated Circuits)

Bardziej szczegółowo

Modelowanie złożonych układów cyfrowych (1)

Modelowanie złożonych układów cyfrowych (1) Modelowanie złożonych układów cyfrowych () funkcje i procedury przykłady (przerzutniki, rejestry) style programowania kombinacyjne bloki funkcjonalne bufory trójstanowe multipleksery kodery priorytetowe

Bardziej szczegółowo

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

OPTYMALIZACJA MODELI SYMULACYJNYCH ZAMODELOWANYCH W JĘZYKU VERILOG HDL Z WYKORZYSTANIEM INTERFEJSU PLI 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,

Bardziej szczegółowo

Podstawy działania układów cyfrowych...2 Systemy liczbowe...2 Kodowanie informacji...3 Informacja cyfrowa...4 Bramki logiczne...

Podstawy działania układów cyfrowych...2 Systemy liczbowe...2 Kodowanie informacji...3 Informacja cyfrowa...4 Bramki logiczne... Podstawy działania układów cyfrowych...2 Systemy liczbowe...2 Kodowanie informacji...3 Informacja cyfrowa...4 Bramki logiczne...4 Podział układów logicznych...6 Cyfrowe układy funkcjonalne...8 Rejestry...8

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

Język Verilog w projektowaniu układów FPGA

Język Verilog w projektowaniu układów FPGA POLITECHNIKA ZIELONOGÓRSKA Wydział Elektryczny Język Verilog w projektowaniu układów FPGA Jacek Bieganowski Grzegorz Wawrzyniak Promotor: dr inż. Marek Węgrzyn Zielona Góra, czerwiec 2001 Spis treści 1.

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

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

Systemy Czasu Rzeczywistego FPGA

Systemy Czasu Rzeczywistego FPGA 01. Systemy Czasu Rzeczywistego FPGA 1 Systemy Czasu Rzeczywistego FPGA laboratorium: 04 autor: mgr inż. Mateusz Baran 01. Systemy Czasu Rzeczywistego FPGA 2 1 Spis treści FPGA... 1 1 Spis treści... 2

Bardziej szczegółowo

Technika mikroprocesorowa

Technika mikroprocesorowa Technika mikroprocesorowa zajmuje się przetwarzaniem danych w oparciu o cyfrowe programowalne układy scalone. Systemy przetwarzające dane w oparciu o takie układy nazywane są systemami mikroprocesorowymi

Bardziej szczegółowo

Programowalne układy logiczne

Programowalne układy logiczne Programowalne układy logiczne Układy synchroniczne Szymon Acedański Marcin Peczarski Instytut Informatyki Uniwersytetu Warszawskiego 26 października 2015 Co to jest układ sekwencyjny? W układzie sekwencyjnym,

Bardziej szczegółowo

Inwerter logiczny. Ilustracja 1: Układ do symulacji inwertera (Inverter.sch)

Inwerter logiczny. Ilustracja 1: Układ do symulacji inwertera (Inverter.sch) DSCH2 to program do edycji i symulacji układów logicznych. DSCH2 jest wykorzystywany do sprawdzenia architektury układu logicznego przed rozpoczęciem projektowania fizycznego. DSCH2 zapewnia ergonomiczne

Bardziej szczegółowo

Projektowanie Urządzeń Cyfrowych

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

Bardziej szczegółowo

Architektura komputerów Wykład 2

Architektura komputerów Wykład 2 Architektura komputerów Wykład 2 Jan Kazimirski 1 Elementy techniki cyfrowej 2 Plan wykładu Algebra Boole'a Podstawowe układy cyfrowe bramki Układy kombinacyjne Układy sekwencyjne 3 Algebra Boole'a Stosowana

Bardziej szczegółowo

PRZERZUTNIKI: 1. Należą do grupy bloków sekwencyjnych, 2. podstawowe układy pamiętające

PRZERZUTNIKI: 1. Należą do grupy bloków sekwencyjnych, 2. podstawowe układy pamiętające PRZERZUTNIKI: 1. Należą do grupy bloków sekwencyjnych, 2. podstawowe układy pamiętające Zapamiętywanie wartości wybranych zmiennych binarnych, jak również sekwencji tych wartości odbywa się w układach

Bardziej szczegółowo

LABORATORIUM ELEKTRONIKA Projektowanie koderów, transkoderów i dekoderów w języku VHDL

LABORATORIUM ELEKTRONIKA Projektowanie koderów, transkoderów i dekoderów w języku VHDL LABORATORIUM ELEKTRONIKA Projektowanie koderów, transkoderów i dekoderów w języku VHDL 1. Cel ćwiczenia W ćwiczeniu student projektuje i implementuje w strukturze układu FPGA (Field Programmable Gate Array)

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

Architektura typu Single-Cycle

Architektura typu Single-Cycle Architektura typu Single-Cycle...czyli budujemy pierwszą maszynę parową Przepływ danych W układach sekwencyjnych przepływ danych synchronizowany jest sygnałem zegara Elementy procesora - założenia Pamięć

Bardziej szczegółowo

Wydział Elektryczny. Katedra Automatyki i Elektroniki. Instrukcja do ćwiczeń laboratoryjnych z przedmiotu: SYNTEZA UKŁADÓW CYFROWYCH ES2D100005

Wydział Elektryczny. Katedra Automatyki i Elektroniki. Instrukcja do ćwiczeń laboratoryjnych z przedmiotu: SYNTEZA UKŁADÓW CYFROWYCH ES2D100005 Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki Instrukcja do ćwiczeń laboratoryjnych z przedmiotu: SYNTEZA UKŁADÓW CYFROWYCH ES2D100005 Ćwiczenie Nr 8 Implementacja prostego

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

Adresowanie obiektów. Adresowanie bitów. Adresowanie bajtów i słów. Adresowanie bajtów i słów. Adresowanie timerów i liczników. Adresowanie timerów

Adresowanie obiektów. Adresowanie bitów. Adresowanie bajtów i słów. Adresowanie bajtów i słów. Adresowanie timerów i liczników. Adresowanie timerów Adresowanie obiektów Bit - stan pojedynczego sygnału - wejście lub wyjście dyskretne, bit pamięci Bajt - 8 bitów - wartość od -128 do +127 Słowo - 16 bitów - wartość od -32768 do 32767 -wejście lub wyjście

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

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

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

Bardziej szczegółowo

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

(przykład uogólniony)

(przykład uogólniony) Serial Peripheral Interface (przykład uogólniony) Brak standardu. Inne stosowane nazwy: Synchronous Serial Port (SSP), 4 wire SSI (Synchronous Serial Interface, Texas Instrument), Microwire (National Semiconductor).

Bardziej szczegółowo

Cyfrowe układy scalone

Cyfrowe układy scalone Ryszard J. Barczyński, 2 25 Politechnika Gdańska, Wydział FTiMS, Katedra Fizyki Ciała Stałego Materiały dydaktyczne do użytku wewnętrznego Układy cyfrowe stosowane są do przetwarzania informacji zakodowanej

Bardziej szczegółowo

LABORATORIUM ELEKTRONIKI I TEORII OBWODÓW

LABORATORIUM ELEKTRONIKI I TEORII OBWODÓW POLITECHNIKA POZNAŃSKA FILIA W PILE LABORATORIUM ELEKTRONIKI I TEORII OBWODÓW numer ćwiczenia: data wykonania ćwiczenia: data oddania sprawozdania: OCENA: 6 21.11.2002 28.11.2002 tytuł ćwiczenia: wykonawcy:

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

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

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

Programowalne układy logiczne

Programowalne układy logiczne Programowalne układy logiczne Mikroprocesor Szymon Acedański Marcin Peczarski Instytut Informatyki Uniwersytetu Warszawskiego 6 grudnia 2014 Zbudujmy własny mikroprocesor Bardzo prosty: 16-bitowy, 16 rejestrów

Bardziej szczegółowo

Instrukcje sekwencyjne

Instrukcje sekwencyjne nstrukcje sekwencyjne nstrukcje sekwencyjne są stosowane w specyfikacji behawioralnej (behavioral description) rzede wszystkim w tzw. procesach (process) roces nstrukcja F nstrukcja CASE Z 1 rocesy Konstrukcja

Bardziej szczegółowo

JĘZYKI PROGRAMOWANIA STEROWNIKÓW

JĘZYKI PROGRAMOWANIA STEROWNIKÓW JĘZYKI PROGRAMOWANIA STEROWNIKÓW dr inż. Wiesław Madej Wstęp Języki programowania sterowników 15 h wykład 15 h dwiczenia Konsultacje: - pokój 325A - środa 11 14 - piątek 11-14 Literatura Tadeusz Legierski,

Bardziej szczegółowo

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

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

Bardziej szczegółowo

Układy reprogramowalne i SoC Język VHDL (część 4)

Układy reprogramowalne i SoC Język VHDL (część 4) Język VHDL (część 4) Prezentacja jest współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego w projekcie pt. Innowacyjna dydaktyka bez ograniczeń - zintegrowany rozwój Politechniki

Bardziej szczegółowo

Laboratorium 10 Temat: Zaawansowane jednostki testowe. Operacje na plikach. Funkcje.

Laboratorium 10 Temat: Zaawansowane jednostki testowe. Operacje na plikach. Funkcje. Laboratorium 10 Temat: Zaawansowane jednostki testowe. Operacje na plikach. Funkcje. 1. W języku VHDL zdefiniowano mechanizm odczytywania i zapisywania danych z i do plików. Pliki te mogą być wykorzystywane

Bardziej szczegółowo

Układy cyfrowe w Verilog HDL. Elementy języka z przykładami. wersja: cz.3

Układy cyfrowe w Verilog HDL. Elementy języka z przykładami. wersja: cz.3 Układy cyfrowe w Verilog Elementy języka z przykładami wersja: 10.2009 cz.3 1 Układy sekwencyjne Układy sekwencyjne mają pamięć Układy synchroniczne najczęściej spotykane wszystkie elementy są kontrolowane

Bardziej szczegółowo

Wykład 4. Języki Opisu Sprzętu. Prowadzący: dr inż. Andrzej Skoczeń Współrzędne: D , tel. w ,

Wykład 4. Języki Opisu Sprzętu. Prowadzący: dr inż. Andrzej Skoczeń Współrzędne: D , tel. w , Języki Opisu Sprzętu Prowadzący: dr inż. Andrzej Skoczeń Współrzędne: D-10 222, tel. w. 28-72, e-mail: skoczen@fis.agh.edu.pl Przypisania nieblokujące Stosowanie opóźnień w przypisaniach Wykład 4 2018

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

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

Architektura komputera. Cezary Bolek. Uniwersytet Łódzki. Wydział Zarządzania. Katedra Informatyki. System komputerowy

Architektura komputera. Cezary Bolek. Uniwersytet Łódzki. Wydział Zarządzania. Katedra Informatyki. System komputerowy Wstęp do informatyki Architektura komputera Cezary Bolek cbolek@ki.uni.lodz.pl Uniwersytet Łódzki Wydział Zarządzania Katedra Informatyki System komputerowy systemowa (System Bus) Pamięć operacyjna ROM,

Bardziej szczegółowo

1.Wprowadzenie do projektowania układów sekwencyjnych synchronicznych

1.Wprowadzenie do projektowania układów sekwencyjnych synchronicznych .Wprowadzenie do projektowania układów sekwencyjnych synchronicznych.. Przerzutniki synchroniczne Istota działania przerzutników synchronicznych polega na tym, że zmiana stanu wewnętrznego powinna nastąpić

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

Programowanie w C++ Wykład 2. Katarzyna Grzelak. 5 marca K.Grzelak (Wykład 1) Programowanie w C++ 1 / 41

Programowanie w C++ Wykład 2. Katarzyna Grzelak. 5 marca K.Grzelak (Wykład 1) Programowanie w C++ 1 / 41 Programowanie w C++ Wykład 2 Katarzyna Grzelak 5 marca 2018 K.Grzelak (Wykład 1) Programowanie w C++ 1 / 41 Reprezentacje liczb w komputerze K.Grzelak (Wykład 1) Programowanie w C++ 2 / 41 Reprezentacje

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