Języki Opisu Sprzętu

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

Download "Języki Opisu Sprzętu"

Transkrypt

1 Wykład 1 Elektronika IV rok Studium Zaoczne J.Kasperek P.J.Rajda

2 po co? 1G 256M 100M 10M 1M 100K 10K 4K 16K 256K 64K M 4M 1M M i??? Pentium i??? Wymogi pamięci: 1.50 na rok Wymogi CPU 1.35 na rok K

3 po co? Potrzeba narzędzia: INTEL projektantów 1 tys. tranzystorów INTEL INTEL PENTIUM ??? 20 projektantów 100 tys. tranzystorów 100 projektantów 3 mln tranzystorów 1000 projektantów 150 mln tranzystorów???? projektantów???? mln tranzystorów Współczesne wymagania: hardware-software codesign!!!

4 po co?

5 - organizacja zajęć 1. Wykład Wprowadzenie do układów PLD (Programmable Logical Devices) Języki opisu sprzętu: PALASM, ABEL, CUPL C, VHDL, VERILOG 2. Laboratorium Projekty Oprogramowanie 3. Zaliczenie 4. Egzamin Kontakt z prowadzącymi: C-3 p.502, tel. (617)3980 dr inż. Jerzy Kasperek kasperek@agh.edu.pl dr inż. Paweł J.Rajda pjrajda@agh.edu.pl

6 Program wykładu Wprowadzenie do układów PLD (Programmable Logic Devices) Klasyfikacja układów programowalnych Układy SPLD - przykłady struktur PAL i GAL Układy FPGA - przykład: seria Spartan2E Xilinx Język VHDL ( VHSIC Hardware Description Language ) Zakres zastosowania Przykłady kodu Pakiet Active HDL

7 Układy PLD Literatura Majewski, Łuba, Jasiński, Zbierzchowski, Programowalne moduły logiczne w syntezie układów cyfrowych Łuba, Markowski, Zbierzchowski, Komputerowe projektowanie układów cyfrowych w strukturach PLD Łuba, Jasiński, Zbierzchowski, Specjalizowane układy cyfrowe w strukturach PLD i FPGA Strony WWW producentów układów PLD Programmable Logic Jump Station

8 Układy PLD - klasyfikacja Source: Dataquest Logic Standard Logic ASIC Programmable Logic Devices (PLDs) Gate Arrays Cell-Based ICs Full Custom ICs SPLDs (PALs) CPLDs FPGAs SPLD Simple Programmable Logic Devices PAL (Programmable Array Logic, Vantis) GAL (Generic Array Logic, Lattice) PLA (Programmable Logic Array) CPLD Complex Programmable Logic Devices EPLD (Erasable Programmable Logic Device) PEEL (Programmable Electrically-Erasable Logic ) (ICT) EEPLD (Electrically-Erasable Programmable Logic Device) MAX (Multiple Array matrix, Altera) FPGA Field Programmable Gate Array fine grained, coarse grained

9 SPLD - Simple-Programmable Logic Devices PAL (Programmable Array Logic, AMD Vantis) PLA (Programmable Logic Array) GAL (Generic Array Logic, Lattice)

10 Podstawowa struktura układu typu PAL Układy typu PAL: programowalna matryca AND stała matryca OR

11 Układy PLD SPLD (Simple PLD) PAL (Programmable Array Logic) 16L8, 16R4, 16R6, 16R8 GAL (Generic Array Logic) 16V8, 20V8, 22V10, 26V12 PLA (Programmable Logic Array)

12 Układy PLD PAL16L8

13 Układy PLD PAL16L8

14 Układy PLD PAL16R8

15 Układy PAL rodziny 12,14,16,20 Technologia bipolarna Jednokrotne programowanie przez przepalenia fuse Rozkodowanie symbolu PAL xx Y z xx - liczba wejść Y - L-logika ujemna H-logika dodatnia C wyjścia komplementarne R wersja z przerzutnikami synchronicznymi RA wersja z przerzutnikami asynchronicznymi X, A wersja z układami arytmetycznymi S wersja z dzielonymi iloczynami z - liczba wyjść (kombinacyjnych lub rejestrowych)

16 Układy GAL - Generic Array Logic Rok 1985 Technologia E 2 CMOS Wielokrotne programowanie Czas kasowania 100ms GAL16V8 GAL 20V10 - światowy standard

17 Układy GAL ISP (In System Programmable) HDPLD High Density PLD

18 Układy PLD GAL22V10 W większych układach GAL liczba termów nie jest równa dla każdego pinu

19 Układy PLD GAL22V10 Makrocela układu GAL 22V10 Przerzutnik D z wejściami: Asynchronic Reset (AR) Synchronic Set (SR)

20 Makrocela układu GAL22V10

21 CUPL Compiler for Universal Programmable Logic Logical Devices, Inc.

22 Cykl projektowy PLD LST DOC MX ABS SI SO JED(1) JED(2) HEX opis projektu listing projektu (raport błędów) dokumentacja projektu rozwinięcie makr postać binarna projektu wektory testowe dla symulatora wyniki pracy symulatora JEDEC bez wektorów testowych JEDEC z wektorami testowymi ASCII hex

23 PRZYKŁAD cykl projektowy edycja (WAITGEN.PLD) kompilacja (WAITGEN.PLD) błąd? symulacja (WAITGEN.SI) błąd? programowanie układu

24 CUPL software

25 CSIM software

26 CUPL składnia języka Komendy preprocesora Liczby Listy Operatory logiczne Rozszerzenia zmiennych Równania logiczne Operatory porównania Tabele prawdy Automaty stanów Symulator

27 Case sensitive CUPL składnia języka Komentarz: /* to jest komentarz */ Każda linia, poza komentarzami i dyrektywami preprocesora, musi być zakończona przez średnik: każda linia; Równania logiczne: [!]variable[.extension] = expression; D0.OE = OUT_HIZ;!MEMW = MEM_SELECT;

28 CUPL liczby Liczba b 0 B 1101 O 663 D 92 h BA O [ ] H 7FXX Podstawa bin bin oct dec hex oct (zakres) hex (zakres) Dziesiętnie

29 Zmienne indeksowe: CUPL listy zmiennych Pin 2 = AD0; Pin 3 = AD1; Pin 4 = AD2; Pin [2..4] = [AD0..2]; Pola zmiennych: Pin 2 = stop; Pin 3 = dir; Pin 4 = clear; FIELD mode = [stop, dir, clear]; bit2 bit1 bit0

30 CUPL operatory logiczne Operator Funkcja Przykład Priorytet! NOT!A 1 & AND A & B 2 # OR A # B 3 $ XOR A $ B 4

31 CUPL automaty stanów!warunek warunek stan0 stan1 stan2 wyjście=1 SEQUENCE nazwa_sekwencji { PRESENT stan0 IF warunek NEXT stan1 OUT wyjście; DEFAULT NEXT stan0; PRESENT stan1 NEXT stan2;... }

32 PRZYKŁAD - schemat adres 3000h 2800h RESET CPU_CLK RAM1 (2k) RAM0 (2k) RDY CPU DATA ADDRESS!MEMR!MEMW RESET PLD READY!ROM_CS!RAM_CS1!RAM_CS0 A A!CS R/!W!CS A ROM RAM1 RAM0 R/!W!CS D D D 2000h 1000h ROM (8k) 0000h

33 PRZYKŁAD przebiegi CPU_CLK A WAŻNY ADRES!MEMR WAIT1 WAIT2!ROM_CS READY

34 PRZYKŁAD wyprowadzenia A15 A14 A13 A12 A11!MEMW!MEMR RESET CPU_CLK I I I I I I I I OE I/O I/O RO RO I/O I/O !ROM_CS READY WAIT1 WAIT2!RAM_CS1!RAM_CS0 11

35 PRZYKŁAD format pliku PLD Nagłówek Komentarz funkcjonalny Menu PLD Deklaracje we / wy Deklaracje pól bitowych i zmiennych pomocniczych Równania logiki

36 PRZYKŁAD deklaracje we/wy /** WEJŚCIA **/ PIN 1 = cpu_clk ; /* zegar CPU */ PIN [2..6] = [a15..11] ; /* Linie adresowe CPU */ PIN [7,8] =![memw,memr] ; /* Stroby zapisu i odczytu */ PIN 9 = reset ; /* Reset systemu */ PIN 11 =!oe ; /* Output Enable */ /** WYJŚCIA **/ PIN 19 =!rom_cs ; /* wybranie ROM */ PIN 18 = ready ; /* Sygnał READY CPU */ PIN 15 = wait1 ; /* Początek stanu Wait */ PIN 14 = wait2 ; /* Koniec stanu Wait */ PIN [13,12] =![ram_cs1..0]; /* wybranie RAM 0..1 */

37 PRZYKŁAD deklaracje, równania logiki /** DEKLARACJE PÓL BITOWYCH I ZMIENNYCH POMOCNICZYCH **/ FIELD memadr = [a15..11]; /* adres ROM / RAM */ memreq = memw # memr; /* zmienna pomocnicza */ /* dostęp do pamięci */ /* "memreq" */ /** RÓWNANIA SYMBOLICZNE **/ select_rom = memr & memadr:[ fff]; /* dekodowanie ROM */ ram_cs0 = memreq & memadr:[ ff]; /* dekodowanie RAM0 */ ram_cs1 = memreq & memadr:[ fff]; /* dekodowanie RAM1 */ ready.oe = select_rom; /* sterowanie buforem */ /* linii READY */

38 PRZYKŁAD opis przy pomocy automatu stanów!select_rom S0 rom_cs select_rom S1 rom_cs S2 rom_cs ready select_rom!select_rom Automat synchroniczny oczekuje w stanie S0 na wybór ROM przez CPU, po wybraniu ROM wstawia jeden cykl oczekiwania S1 i tam, przez sterowanie linią ready=0, zatrzymuje CPU tak, że dane z ROM mogą być przeczytane. Następnie przechodzi do S2 i po przeczytaniu danych przez CPU (nieaktywny select_rom) wraca do stanu S0.

39 PRZYKŁAD opis przy pomocy automatu stanów FIELD wait = [wait2,wait1]; /* pole bitowe "wait" */ $define S0 0 /* definicja symbolicznych nazw reprezentujących */ $define S1 1 /* aktualne stany bitów stanu */ $define S2 3 /* - dyrektywa preprocesora */ SEQUENCE wait { /* Definicja sekwencji */ PRESENT S0 IF select_rom OUT rom_cs; /* asynchroniczne sterowanie */ /* linią "rom_cs" */ IF select_rom NEXT S1; /* czekaj aż żądanie dostępu */ DEFAULT NEXT S0; /* do ROM */ PRESENT S1 OUT rom_cs; /* steruj dalej "rom_cs" */ NEXT S2; /* przejdź do następnego stanu */ PRESENT S2 OUT ready; /* ustaw READY -> CPU czyta ROM */ /* ready.oe = select_rom */ IF select_rom OUT rom_cs; /* asynchroniczne sterowanie */ /* linią "rom_cs" */ IF!select_rom NEXT S0; /* czekaj na następny dostęp */ DEFAULT NEXT S2; } /* czekaj aż CPU przeczyta */

40 PRZYKŁAD deklaracje, równania logiki!select_rom S0 rom_cs select_rom S1 rom_cs S2 rom_cs ready select_rom!select_rom PRESENT S0 IF select_rom OUT rom_cs; /* asynchroniczne sterowanie */ /* linią "rom_cs" */ IF select_rom NEXT S1; /* czekaj aż żądanie dostępu */ DEFAULT NEXT S0; /* do ROM */ CPU_CLK!ROM_CS READY

41 PRZYKŁAD deklaracje, równania logiki!select_rom S0 rom_cs select_rom S1 rom_cs S2 rom_cs ready select_rom!select_rom PRESENT S1 OUT rom_cs; /* steruj dalej "rom_cs" */ NEXT S2; /* przejdź do następnego stanu */ CPU_CLK!ROM_CS READY

42 PRZYKŁAD deklaracje, równania logiki!select_rom S0 rom_cs select_rom S1 rom_cs S2 rom_cs ready select_rom!select_rom PRESENT S2 OUT ready; /* ustaw READY -> CPU czyta ROM */ /* ready.oe = select_rom */ IF select_rom OUT rom_cs; /* asynchroniczne sterowanie */ /* linią "rom_cs" */ IF!select_rom NEXT S0; /* czekaj na następny dostęp */ DEFAULT NEXT S2; } /* czekaj aż CPU przeczyta */ CPU_CLK!ROM_CS READY

43 PRZYKŁAD deklaracje, równania logiki!select_rom S0 rom_cs select_rom S1 rom_cs S2 rom_cs ready select_rom!select_rom PRESENT S2 OUT ready; /* ustaw READY -> CPU czyta ROM */ /* ready.oe = select_rom */ IF select_rom OUT rom_cs; /* asynchroniczne sterowanie */ /* linią "rom_cs" */ IF!select_rom NEXT S0; /* czekaj na następny dostęp */ DEFAULT NEXT S2; } /* czekaj aż CPU przeczyta */ CPU_CLK!ROM_CS READY

44 CPLD kontra FPGA typu PAL więcej logiki kombinacyjnej mała / średnia wielokrotna struktura 22V10 do 200 MHz przewidywalne opóźnienia ARCHITEKTURA GĘSTOŚĆ SZYBKOŚĆ typu Gate Array więcej przerzutników średnia / duża do kilku milionów bramek do 200 MHz opóźnienia zależne macierz łączeniowa POŁĄCZENIA połączenia odcinkami

45 Architektura FPGA Bloki we/wy (Input Output Block) Bloki logiki (Configurable Logic Block) Zasoby połączeniowe

46 Architektura FPGA

47 Cechy użytkowe układów FPGA Idealna technologia dla aplikacji dedykowanych (Fast Time-to-Market) Zalety integracji (niski koszt, mały pobór mocy, małe wymiary, System on Chip) Niższe koszty i mniejsze ryzyko niż układy ASIC (no NRE, minimum order size, or inventory risk, no long delay in design and testing) Bardzo szybkie przetwarzanie danych massively parallel operation much faster than DSP engines Reprogramowalne w każdym z etapów produkcji i użytkowania in design, in manufacturing, after installation allows unlimited product differentiation Technika Cyfrowa J.Kasperek P.J.Rajda 2002 Katedra Elektroniki AGH Kraków

48 Rozwój układów FPGA Bigger, Faster, Cheaper FPGAs Miliony bramek (8M dla XC2V800) Miliony bitów RAM dla aplikacji (3M w 18kb blokach dla XC2V800) >200 MHz częstotliwość zegara systemu 800 Mbps I/O transfer danych cena od 0.3 to 3 za blok Logic Cell (LUT plus flip-flop ) najniższa dla serii SpartanXL Najwyższa dla serii Virtex-II FPGAs have evolved from glue logic to system platforms Technika Cyfrowa J.Kasperek P.J.Rajda 2002 Katedra Elektroniki AGH Kraków

49 Xilinx Spartan2E

50 Kit Digilent D2E Układ XC2S200E-PQ208: macierz CLB 28 x 42 (1,176 CLBs, 5,292 LCs) 146 sygnałów dla użytkownika 75,264 bity pamięci rozproszonej 56K pamięci blokowej (14 bloków) Płyta D2E: sygnałów dla użytkownika UV, 3.3V, GND na każdym złączu JTAG & RS232 header, MODE jumper Program Enable switch

51 Kit Digilent DIO1 & DIO2

52 Xilinx Spartan2E coarse grain 50, ,000 system gates 200+ MHz system performance clock DLLs pamięć użytkowa Select RAM+ rozproszona do 220 Kb blokowa do 280 Kb (bloki 4Kb) zewnętrzna: ZBT, DDR, QDR... pamięć konfiguracji SRAM (4 tryby + ReadBack) port JTAG (testowanie + konfiguracja) zasilanie: CLBs 2,5V IOBs 3,3V max.

53 Spartan2E - CLB Configurable Logic Block przerzutnik / zatrzask Clock Enable SS / SR / AP / AC LUT (Look-Up-Table)

54 Spartan2E - CLB LUT: 4-wejściowy generator funkcji SinglePort / DualPort RAM 16-stopniowy rejestr przesuwny

55 Spartan2E CLB Multipleksery: MUXF5 dowolne funkcje 5 zmiennych multiplekser 4:1 wybrane funkcje 6 9 zmiennych MUXF6 dowolne funkcje 6 zmiennych multiplekser 8:1 wybrane funkcje 7 19 zmiennych

56 Spartan2E - IOB Programowalne: pull-up pull-down weak-keeper clamp diode

57 Spartan2E Zasoby połączeniowe Lokalne (Local Routing): pomiędzy LUT / FF / GRM, sprzężenia zwrotne, bezpośrednie połączenia poziome. Ogólne (General Purpose Routing) GRM (Global Routing Matrix), 4 kierunki po 6 linii typu single, 4 kierunki po 24 linie hex sterowanie na jednym z końców, odbiór na drugim końcu lub w połowie, 1/3 dwukierunkowych, 12 linii long (dwukierunkowe, pionowe i poziome, przez całą strukturę).

58 Połączenia I/O (I/O Routing - VersaRing) Dedykowane (Dedicated Routing) 4 dzielone linie 3-stanowe, 2 linie carry Globalne (Global Routing) primary: 4 ścieżki zegarowe (Clock Routing) secondary: 24 backbone lines, sterują 12 pion. długimi liniami Spartan2E Zasoby połączeniowe

59 Spartan2E Zasoby pamięciowe

60 Spartan2E Distributed RAM SinglePort RAM 16x1 SinglePort RAM 32x1

61 Spartan2E Distributed RAM DualPort RAM 16x1 ShiftRegister 32x1

62 Spartan2E Block RAM

63 Spartan2E konfiguracja Tryby konfiguracji: Slave Serial Master Serial Slave Parallel (SelectMAP) Boundary Scan (JTAG) ReadBack: weryfikacja pamięci konfiguracji oraz stanów przerzutników i zawartości pamięci (debug)

64 VHDL co to jest? Definicja VHDL - VHSIC Hardware Description Language Very High Speed Integrated Circuit It is "a formal notation intended for use in all phases of the creation of electronic systems.... it supports the development, verification, synthesis, and testing of hardware designs, the communication of hardware design data..." [IEEE Standard VHDL Language Reference Manual]

65 VHDL jak, gdzie, kiedy? Zakres stosowania Modelowanie A(1..0) A= 01? Z Z <= 1 when A = 01 else 0 ;

66 VHDL jak, gdzie, kiedy? Zakres stosowania Symulacja A(1) A(0) Z

67 VHDL jak, gdzie, kiedy? Zakres stosowania Synteza (automatyczna) translacja opisu w języku HDL na strukturę w postaci listy połączeń elementarnych bloków funkcyjnych docelowej platformy sprzętowej (bramek, przerzutników, pamięci i innych) A(0) A(1) Z

68 VHDL jak, gdzie, kiedy? Projektowanie systemu

69 VHDL jak, gdzie, kiedy? Proces projektowania

70 VHDL jednostki projektowe Jednostki projektowe Biblioteki entity architecture configuration package kompilator VHDL entity architecture configuration package

71 VHDL jak, gdzie, kiedy? Jednostki projektowe entity name entity COMPARE is port (A,B: in bit; C: out bit); end COMPARE; architecture style of name architecture BEHAVIORAL of COMPARE is begin process (A,B) begin if (A=B) then C <= 1 ; else C <= 0 ; end if; end process; end arch_behavioral;

72 VHDL przykłady Dekoder entity DECODER is port(d: in bit_vector (0 to 3); ZERO: out boolean; ONE: out boolean; EIGHT: out boolean; NINE: out boolean); end DECODER; architecture FIRST of DECODER is begin NINE <= (D= 1001 ); EIGHT <= (D= 1000 ); ONE <= (D= 0001 ); ZERO <= (D= 0000 ); end FIRST;

73 VHDL przykłady Komparator entity COMPARE is port(a,b: in bit_vector (0 to 7); EQL: out bit_vector (0 to 7)); end COMPARE; architecture SECOND of COMPARE is begin EQL <= not (A xor B); end SECOND; Gdzie na tym schemacie jest błąd?

74 VHDL przykłady Multiplekser entity MPLEXER is port(d: in bit_vector (0 to 7); A: in integer range 0 to 7; X: out bit); end MPLEXER; architecture THIRD of MPLEXER is begin X <= D(A); end THIRD;

75 VHDL przykłady Sumator use IEEE.STD_LOGIC_UNSIGNED.all; entity SUM is port(a,b: in std_logic_vector (0 to 2); Cin: in std_logic; S: out std_logic_vector (0 to 2); Cout: out std_logic); end SUM; architecture FOURTH of SUM is signal V: std_logic_vector (0 to 3); begin V <= A + B + Cin; S <= V(0 to 2); Cout <= V(3); end FOURTH;

76 VHDL przykłady Licznik architecture FIFTH of COUNT is begin process (C, CLR) begin if CLR='1' then Q := 0; elsif C='1' and C'event then if CE='1' then if Q = 9 then Q := 0; else Q := Q + 1; end if; end if; end if; end process; end FIFTH;

77 VHDL przykłady Powielanie logiki entity loop_stmt is port (a: bit_vector (0 to 3); m: out bit_vector (0 to 3)); end loop_stmt; architecture example of loop_stmt is begin process (a) variable b: bit; begin b := '1'; for i in 0 to 3 loop b := a(3-i) and b; m(i) <= b; end loop; end process; end example;

78 VHDL i co z tego? Zalety Specyfikacja projektu niezależna od technologii możliwość współpracy z wieloma producentami uniknięcie problemów z wycofywanymi technologiami łatwe ulepszenia i poprawy Automatyzacja projektowania niskiego poziomu krótszy czas projektowania redukcja kosztów eliminacja błędów niskiego poziomu Poprawa jakości projektu łatwe sprawdzanie opcjonalnych technologii weryfikacja działania na wysokim poziomie łatwa weryfikacja implementacji modularność projektu łatwa wymiana do innych celów

79 VHDL - wczoraj 1980 DoD USA początek programu rozwijania technologii układów VHSIC (Very High Speed Integrated Circuits) 1981 Woods Hole, Massachusetts - konferencja na temat założeń przyszłego standardu HDL 1983 DoD ustala założenia VHDL: VHSIC Hardware Description Language kontrakt otrzymują : Intermetrics, TI i IBM 1984 gotowa wersja zwolnienie z restrykcji ITAR (US International Traffic and Arm Regulation), VHDL 7.2 wraz z referencjami przekazany do IEEE celem standaryzacji i dalszego rozwoju 1987 wydany opis IEEE Std wydana nowelizacja IEEE Std wydana errata IEEE Std 1076a-1993

80 VHDL - jutro VHDL Analysis and Standardization Group (VASG) VHDL 200x TextIO enhancements/improvements Direct C/C++, Verilog calls / interface Performance XMR (Signal Spy)

81 VHDL literatura A Guide to VHDL, S. Mazor, P. Langstraat VHDL Analysis and Modelling of Digital Systems, Z. Navabi VHDL Hardware Description and Design, R. Lipsett, C. Schaefer, C. Ussery The VHDL Cookbook, P. J. Ashenden VHDL programming: with advanced topics, L. Baker VHDL starter's guide, S. Yalamanchili VHDL for designers, S. Sjoholm, L. Lindh VHDL made easy!, D. Pellerin, D. Taylor VHDL answers to frequently asked questions, B. Cohen VHDL and AHDL digital systems implementation, F. A. Scarpino VHDL: język opisu i projektowania układów cyfrowych, W. Wrona Active-VHDL Series BOOK#2 EVITA Interactive Tutorial, J. Mirkowski, M. Kapustka, Z. Skowroński, A. Biniszkiewicz VHDL: a logic synthesis approach, D. Naylor, S. Jones

82 VHDL literatura Kevin Skahill Józef Kalisz Marek Zwoliński Włodzimierz Wrona

83 VHDL zasoby w Internecie Grupa dyskusyjna: comp.lang.vhdl EDA Industry Working Groups homepage: Accellera: Programmable Logic Jump Station: Design Automation Cafe: The Hamburg VHDL archive: Doulos High Level Design Web site: RASSP WWW site: ESA (European Space Agency): University of Cincinnati: ftp://ftp.ececs.uc.edu/pub/vhdl Leroy's Engineering Web Site: or VHDL-online, University of Erlangen-Nürnberg: VHDL info pages of the Microelectronics Department (University of Ulm, Germany):

84 VHDL tutoriale An Introductory VHDL Tutorial, Green Mountain Computing Systems: VHDL Synthesis Tutorial by Bob Reese, Electrical Engineering Department Mississippi State University: Introduction to VITAL '95 by Steve Schulz: VHDL-Modelling And Synthesis Of The DLXS RISC Processor by Martin Gumm, University of Stuttgart: ftp://ftp.informatik.uni-stuttgart.de/pub/vhdl/vlsi_course/ Doulos High Level Design Web site; A Hardware Engineers Guide to VHDL: VHDL Synthesis Tutorial from APS: Interactive VHDL Tutorial from Aldec, Inc.: FPGA Synthesis by Scott E. Harrington: VHDL Tutorial by Ulrich Heinkel, Thomas Bürner and Martin Padeffke (in English and German): VHDL-FSM-Tutorial by Martin Padeffke: VHDL Verification Course by Stefan Doll: A small VHDL-Tutorial: MicroLab VLSI Design course:

85 VHDL free IP cores OpenIP home page: The Free-IP Project Home Page: Free behavioral models from Alatek: The Hamburg VHDL archive: RASSP www site: Doulos High Level Design Web site; Monthly-updated Original Models (developed by Doulos): EDIF LPM - Library of Parameterized Modules: Micron Technology, Inc. (memories): A VHDL synthesizable model for the MICROCHIP PIC 16C5X microcontroller by Tom Coonan: VHDL Library of Arithmetic Units developed by R. Zimmermann: CMOSexod:

86 VHDL firmy (produkty) Accolade Design Automation, (PeakFPGA) Aldec, (Active-HDL) Cadence Design Systems Cypress Semiconductor (Warp) Data I/O Corporation (Synario) Green Mountain Computing Systems, (VHDL Studio) Model Technology, (V-System, ModelSim) Exemplar (LeonardoSpectrum) Synplicity (SynplifyPro) Synopsys (FPGA Compiler, FPGA Express) InnovEDA, (dawniej: Viewlogic Systems) Xilinx, (XST)

87 VHDL Aldec / Alatec Produkty Software (ActiveCAD, ActiveHDL) Hardware-based Simulation Accelerators IP Cores Donacja dla laboratorium: Komputery 8 PC Oprogramowanie (ActiveHDL) 20 sites license (professional) Student Edition Oddział Kraków!

88 VHDL Aldec / Alatec Praktyki studenckie Prace dyplomowe (IP Cores) µp/µc: PIC17C4x, PIC16C5x, 8051-SoC peryferia: 8251-SIO, 8255-PIO, 8257-DMA, 8259-INT interfejsy: CAN, UART/IrDA, USB, I2S, PS/2 telekom: Reed-Solomon, Viterbi, Utopia, DTMF, MP3, ADPCM i wiele nowych! Praca zawodowa

89 ActiveHDL moduły

90 ActiveHDL moduły

91 ActiveHDL Design Flow

92 ActiveHDL HDL

93 ActiveHDL BDE

94 ActiveHDL FSM

95 ActiveHDL Design Browser

96 ActiveHDL Waveform Viewer

97 ActiveHDL List Viewer

98 ActiveHDL Library Manager

99 Ciąg dalszy nastąpi...

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

Kierunek Inżynieria Akustyczna, V rok Programowalne Układy Cyfrowe. Platforma sprzętowa. Rajda & Kasperek 2014 Katedra Elektroniki AGH 1

Kierunek Inżynieria Akustyczna, V rok Programowalne Układy Cyfrowe. Platforma sprzętowa. Rajda & Kasperek 2014 Katedra Elektroniki AGH 1 Kierunek Inżynieria Akustyczna, V rok Programowalne Układy Cyfrowe Platforma sprzętowa Rajda & Kasperek 2014 Katedra Elektroniki AGH 1 Program wykładu Architektura układów FPGA Rodzina Xilinx Spartan-6

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

Technika Cyfrowa 2 wykład 1: programowalne struktury logiczne - wprowadzenie

Technika Cyfrowa 2 wykład 1: programowalne struktury logiczne - wprowadzenie Technika Cyfrowa 2 wykład 1: programowalne struktury logiczne - wprowadzenie Dr inż. Jacek Mazurkiewicz Katedra Informatyki Technicznej e-mail: Jacek.Mazurkiewicz@pwr.edu.pl Sprawy formalne konsultacje,

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

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

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

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

Układy programowalne. Wykład z ptc część 5

Układy programowalne. Wykład z ptc część 5 Układy programowalne Wykład z ptc część 5 Pamięci ROM Pamięci stałe typu ROM (Read only memory) umożliwiają jedynie odczytanie informacji zawartej w strukturze pamięci. Działanie: Y= X j *cs gdzie j=linia(a).

Bardziej szczegółowo

Kierunek Elektronika, III rok Języki Opisu Sprzętu. Platforma sprzętowa. Rajda & Kasperek 2016 Katedra Elektroniki AGH 1

Kierunek Elektronika, III rok Języki Opisu Sprzętu. Platforma sprzętowa. Rajda & Kasperek 2016 Katedra Elektroniki AGH 1 Kierunek Elektronika, III rok Języki Opisu Sprzętu Platforma sprzętowa Rajda & Kasperek 2016 Katedra Elektroniki AGH 1 Program wykładu Architektura układów FPGA Rodzina Xilinx Spartan-6 Platforma Digilent

Bardziej szczegółowo

Układy FPGA. Programowalne Układy Cyfrowe dr inż. Paweł Russek

Układy FPGA. Programowalne Układy Cyfrowe dr inż. Paweł Russek Układy FPGA Programowalne Układy Cyfrowe dr inż. Paweł Russek Program wykładu Geneza Technologia Struktura Funktory logiczne, sieć połączeń, bloki we/wy Współczesne układy FPGA Porównanie z ASIC Literatura

Bardziej szczegółowo

Projektowanie automatów z użyciem VHDL

Projektowanie automatów z użyciem VHDL Projektowanie automatów z użyciem VHDL struktura automatu i jego modelu w VHDL przerzutnik T jako automat przykłady automatów z wyjściami typu: Moore'a Mealy stanu kodowanie stanów automatu Wykorzystano

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

Literatura (w zakresie języka j

Literatura (w zakresie języka j Literatura (w zakresie języka j VHDL) KsiąŜki: Ashenden P.: Designers Guide to VHDL, MKP, 2002. Ashenden P.: The VHDL Cookbook (internet) Skahill K.: Język VHDL, WNT, Warszawa 2001. Wrona W.: VHDL język

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

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

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

Układy programowalne. Wykład z ptc część 5

Układy programowalne. Wykład z ptc część 5 Układy programowalne Wykład z ptc część 5 Pamięci ROM Pamięci stałe typu ROM (Read only memory) umożliwiają jedynie odczytanie informacji zawartej w strukturze pamięci. Działanie: Y= X j *cs gdzie j=linia_pamięci(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

Technika Cyfrowa 2. Wykład 1: Programowalne układy logiczne

Technika Cyfrowa 2. Wykład 1: Programowalne układy logiczne Technika Cyfrowa Wykład : Programowalne układy logiczne dr inż Jarosław Sugier JaroslawSugier@pwrwrocpl II pok C- J Sugier TC - Treść wykładu w tym semestrze: I Programowalne układy logiczne II Architektura

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

Układy FPGA w przykładach, część 2

Układy FPGA w przykładach, część 2 Układy FPGA w przykładach, część 2 W drugiej części artykułu zajmiemy się omówieniem wyposażenia (po mikrokontrolerowemu : peryferiów) układów FPGA z rodziny Spartan 3, co ułatwi ich wykorzystywanie w

Bardziej szczegółowo

i pakietu programowego PALASM 4

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

Bardziej szczegółowo

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

Programowalne scalone układy cyfrowe PLD, CPLD oraz FPGA

Programowalne scalone układy cyfrowe PLD, CPLD oraz FPGA Programowalne scalone układy cyfrowe PLD, CPLD oraz FPGA Ogromną rolę w technice cyfrowej spełniają układy programowalne, często określane nazwą programowalnych modułów logicznych lub krótko hasłem FPLD

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

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

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

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

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 7 (2h) Obsługa urządzenia peryferyjnego z użyciem pamięci w VHDL. Instrukcja do zajęć laboratoryjnych z przedmiotu

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

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

Systemy wbudowane. Układy programowalne

Systemy wbudowane. Układy programowalne Systemy wbudowane Układy programowalne Układy ASIC Application Specific Integrated Circuits Podstawowy rozdział cyfrowych układów scalonych: Wielkie standardy: standardowe, uniwersalne elementy o strukturze

Bardziej szczegółowo

Cyfrowe układy scalone

Cyfrowe układy scalone Cyfrowe układy scalone Ryszard J. Barczyński, 2010 2015 Politechnika Gdańska, Wydział FTiMS, Katedra Fizyki Ciała Stałego Materiały dydaktyczne do użytku wewnętrznego Cyfrowe układy scalone Układy cyfrowe

Bardziej szczegółowo

Programowalne układy logiczne

Programowalne układy logiczne Programowalne układy logiczne Przerzutniki Szymon Acedański Marcin Peczarski Instytut Informatyki Uniwersytetu Warszawskiego 20 maja 2013 Przerzutnik synchroniczny Układ synchroniczny wyzwalany ustalonym

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

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

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 hierarchiczne Mariusz Rawski

Projektowanie hierarchiczne Mariusz Rawski CAD Projektowanie hierarchiczne rawski@tele.pw.edu.pl http://rawski.zpt.tele.pw.edu.pl/ Zamek elektroniczny: Elektroniczny zamek kod 4 cyfrowy kod wprowadzony z klawiatury ready sygnalizacja gotowości

Bardziej szczegółowo

Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki

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

Bardziej szczegółowo

Analiza i Synteza Układów Cyfrowych

Analiza i Synteza Układów Cyfrowych 1/16 Analiza i Synteza Układów Cyfrowych Wykład 1 Katedra Mikroelektroniki i Technik Informatycznych Rok akademicki 2012/2013 2/16 Organizacja zajęć Tematyka wykładu Literatura Część I Wstęp do wykładu

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

Cyfrowe układy scalone

Cyfrowe układy scalone Cyfrowe układy scalone Ryszard J. Barczyński, 2012 Politechnika Gdańska, Wydział FTiMS, Katedra Fizyki Ciała Stałego Materiały dydaktyczne do użytku wewnętrznego Publikacja współfinansowana ze środków

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

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

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

Bardziej szczegółowo

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

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

LABORATORIUM OPTOELEKTRONIKA I SENSORYKA Oprogramowanie bariery podczerwieni w układzie CPLD

LABORATORIUM OPTOELEKTRONIKA I SENSORYKA Oprogramowanie bariery podczerwieni w układzie CPLD LABORATORIUM OPTOELEKTRONIKA I SENSORYKA Oprogramowanie bariery podczerwieni w układzie CPLD 1. Wstęp i cel ćwiczenia W ćwiczeniu student tworzy barierę podczerwieni złożoną z diody nadawczej IR (Infra

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

Elektrotechnika II Stopień (I stopień / II stopień) Ogólno akademicki (ogólno akademicki / praktyczny)

Elektrotechnika II Stopień (I stopień / II stopień) Ogólno akademicki (ogólno akademicki / praktyczny) Załącznik nr 7 do Zarządzenia Rektora nr 10/12 z dnia 21 lutego 2012r. KARTA MODUŁU / KARTA PRZEDMIOTU Kod modułu Nazwa modułu Nazwa modułu w języku angielskim Obowiązuje od roku akademickiego 2012/2013

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

WOJSKOWA AKADEMIA TECHNICZNA im. Jarosława Dąbrowskiego LABORATORIUM UKŁADÓW PROGRAMOWALNYCH I SPECJALIZOWANYCH

WOJSKOWA AKADEMIA TECHNICZNA im. Jarosława Dąbrowskiego LABORATORIUM UKŁADÓW PROGRAMOWALNYCH I SPECJALIZOWANYCH WOJSKOWA AKADEMIA TECHNICZNA im. Jarosława Dąbrowskiego LABORATORIUM UKŁADÓW PROGRAMOWALNYCH I SPECJALIZOWANYCH SPRAWOZDANIE Temat: Projekt notesu elektronicznego w języku VHDL przy użyciu układów firmy

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

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

PROGRAMMABLE DEVICES UKŁADY PROGRAMOWALNE

PROGRAMMABLE DEVICES UKŁADY PROGRAMOWALNE Paweł Bogumił BRYŁA IV rok Koło Naukowe Techniki Cyfrowej Dr inŝ. Wojciech Mysiński opiekun naukowy PROGRAMMABLE DEVICES UKŁADY PROGRAMOWALNE Keywords: PAL, PLA, PLD, CPLD, FPGA, programmable device, electronic

Bardziej szczegółowo

Układy reprogramowalne i SoC Wprowadzenie

Układy reprogramowalne i SoC Wprowadzenie Wprowadzenie 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

Układy reprogramowalne i SoC Specjalizowane moduły FPGA

Układy reprogramowalne i SoC Specjalizowane moduły FPGA Specjalizowane moduły FPGA Prezentacja jest współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego w projekcie pt. Innowacyjna dydaktyka bez ograniczeń - zintegrowany rozwój

Bardziej szczegółowo

Systemy Czasu Rzeczywistego FPGA

Systemy Czasu Rzeczywistego FPGA 01. Systemy Czasu Rzeczywistego FPGA 1 Systemy Czasu Rzeczywistego FPGA laboratorium: 05 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

Kierunek EiT Specjalność Sieci i usługi, V rok Programowalne Układy Cyfrowe. Synteza logiczna. Rajda & Kasperek 2015 Katedra Elektroniki AGH 1

Kierunek EiT Specjalność Sieci i usługi, V rok Programowalne Układy Cyfrowe. Synteza logiczna. Rajda & Kasperek 2015 Katedra Elektroniki AGH 1 Kierunek EiT Specjalność Sieci i usługi, V rok Programowalne Układy Cyfrowe Synteza logiczna Rajda & Kasperek 2015 Katedra Elektroniki AGH 1 Program wykładu Wstęp do syntezy Sprzętowa reprezentacja obiektów

Bardziej szczegółowo

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

Programowalne Układy Logiczne. Wykład III FPGA dr inż. Paweł Russek Programowalne Układy Logiczne Wykład III FPGA dr inż. Paweł Russek Układy FPGA Cechy architektury Virtex II Fast look-ahead carry Wide functions Block Select RAM Distributed RAM 18 bitowe układy mnożące

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

Zaliczenie Termin zaliczenia: Sala IE 415 Termin poprawkowy: > (informacja na stronie:

Zaliczenie Termin zaliczenia: Sala IE 415 Termin poprawkowy: > (informacja na stronie: Zaliczenie Termin zaliczenia: 14.06.2007 Sala IE 415 Termin poprawkowy: >18.06.2007 (informacja na stronie: http://neo.dmcs.p.lodz.pl/tm/index.html) 1 Współpraca procesora z urządzeniami peryferyjnymi

Bardziej szczegółowo

PROTOTYPOWANIE UKŁADÓW ELEKTRONICZNYCH Programowalne układy logiczne FPGA Maciej Rosół, Katedra Automatyki AGH, e-mail: mr@ia.agh.edu.

PROTOTYPOWANIE UKŁADÓW ELEKTRONICZNYCH Programowalne układy logiczne FPGA Maciej Rosół, Katedra Automatyki AGH, e-mail: mr@ia.agh.edu. DATA: Ćwiczenie nr 4 PROTOTYPOWANIE UKŁADÓW ELEKTRONICZNYCH Programowalne układy logiczne FPGA Maciej Rosół, Katedra Automatyki AGH, e-mail: mr@ia.agh.edu.pl 1. Cel ćwiczenia Celem ćwiczenia jest zapoznanie

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

XC4000: LUT jako ROM Układy Cyfrowe i Systemy Wbudowane 2 Układy FPGA cz. 2 ROM32X1 VHDL inference example ROM 16x2b type

XC4000: LUT jako ROM Układy Cyfrowe i Systemy Wbudowane 2 Układy FPGA cz. 2 ROM32X1 VHDL inference example ROM 16x2b type Układy Cyfrowe i Systemy Wbudowane 2 XC4000: LUT jako ROM Układy FPGA cz. 2 dr inż. Jarosław Sugier Jaroslaw.Sugier@pwr.edu.pl W-4/K-9, pok. 227 C-3 FPGA(2) - 1 FPGA(2) - 2 ROM32X1 VHDL inference example

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

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

MMfpga01. MMfpga11. Instrukcja konfiguracji środowiska, przykładowy projekt oraz programowanie układu

MMfpga01. MMfpga11. Instrukcja konfiguracji środowiska, przykładowy projekt oraz programowanie układu MMfpga01 MMfpga11 Instrukcja konfiguracji środowiska, przykładowy projekt oraz programowanie układu 1 Spis treści 1. Instalacja aplikacji QUARTUS II Web Edition...3 2. Instalacja programu QUARTUS II Web

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

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

Technika cyfrowa projekt: Sumator 4 bitowy równoległy

Technika cyfrowa projekt: Sumator 4 bitowy równoległy Technika cyfrowa projekt: Sumator 4 bitowy równoległy Autorzy: Paweł Bara Robert Boczek Przebieg prac projektowych: Zadany układ dostaje na wejściu dwie czterobitowe liczby naturalne, sumuje je, po czym

Bardziej szczegółowo

Cyfrowe układy scalone c.d. funkcje

Cyfrowe układy scalone c.d. funkcje Cyfrowe układy scalone c.d. funkcje Ryszard J. Barczyński, 206 Politechnika Gdańska, Wydział FTiMS, Katedra Fizyki Ciała Stałego Materiały dydaktyczne do użytku wewnętrznego Kombinacyjne układy cyfrowe

Bardziej szczegółowo

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

LABORATORIUM UKŁADÓW PROGRAMOWALNYCH Wydziałowy Zakład Metrologii Mikro- i Nanostruktur SEMESTR LETNI 2016 LABORATORIUM UKŁADÓW PROGRAMOWALNYCH Wydziałowy Zakład Metrologii Mikro- i Nanostruktur SEMESTR LETNI 2016 Prowadzący: dr inż. Daniel Kopiec email: daniel.kopiec@pwr.edu.pl Pierwszy projekt w środowisku

Bardziej szczegółowo

SPIS TREŚCI. 2. Arytmetyka rozproszona Symulacja układu programowalnego Realizacja algorytmu cyfrowego filtrowania

SPIS TREŚCI. 2. Arytmetyka rozproszona Symulacja układu programowalnego Realizacja algorytmu cyfrowego filtrowania SPIS TREŚCI 1. Wstęp... 5 2. Arytmetyka rozproszona... 6 2.1. Symulacja układu programowalnego... 7 3. Realizacja algorytmu cyfrowego filtrowania... 9 4....... 10 5....... 12 6. Podsumowanie... 13 Literatura...

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

Przestrzeń pamięci. Układy dekoderów adresowych

Przestrzeń pamięci. Układy dekoderów adresowych Zakres przedmiotu 1. Wstęp do systemów mikroprocesorowych. 2. Współpraca procesora z pamięcią. Pamięci półprzewodnikowe. 3. Architektura systemów mikroprocesorowych. 4. Współpraca procesora z urządzeniami

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

Temat: Pamięci. Programowalne struktury logiczne.

Temat: Pamięci. Programowalne struktury logiczne. Temat: Pamięci. Programowalne struktury logiczne. 1. Pamięci są układami służącymi do przechowywania informacji w postaci ciągu słów bitowych. Wykonuje się jako układy o bardzo dużym stopniu scalenia w

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

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

mgr inż. Maciej Rudek opracował: dr inż. Daniel Kopiec

mgr inż. Maciej Rudek opracował: dr inż. Daniel Kopiec Programowanie Układów Logicznych kod kursu: ETD623 Pamięć w układach programowalnych W6 4.4.28 mgr inż. Maciej Rudek opracował: dr inż. Daniel Kopiec Plan wykładu Powtórka wiadomości Pamięć w układach

Bardziej szczegółowo

Wygląd okna aplikacji Project Navigator.

Wygląd okna aplikacji Project Navigator. Laboratorium przedmiotu Podstawy Techniki Cyfrowej ćw.1: Układy kombinacyjne Wprowadzenie: Wszelkie realizacje układowe projektów w ramach laboratorium z przedmiotu Podstawy Techniki Cyfrowej będą tworzone

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

Bramki logiczne Podstawowe składniki wszystkich układów logicznych

Bramki logiczne Podstawowe składniki wszystkich układów logicznych Układy logiczne Bramki logiczne A B A B AND NAND A B A B OR NOR A NOT A B A B XOR NXOR A NOT A B AND NAND A B OR NOR A B XOR NXOR Podstawowe składniki wszystkich układów logicznych 2 Podstawowe tożsamości

Bardziej szczegółowo

Projektowanie z użyciem bloków funkcjonalnych w układach programowalnych firmy Xilinx

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

Bardziej szczegółowo

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

Symulacja systemu z procesorem MicroBlaze w środowisku ActiveHDL

Symulacja systemu z procesorem MicroBlaze w środowisku ActiveHDL Symulacja systemu z procesorem MicroBlaze w środowisku ActiveHDL wersja 6.06.2007 Zespół Rekonfigurowalnych Systemów Obliczeniowych AGH Kraków http://www.fpga.agh.edu.pl/ Poniższe ćwiczenie jest kontynuacją

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

Quartus. Rafał Walkowiak IIn PP Wer

Quartus. Rafał Walkowiak IIn PP Wer Quartus Rafał Walkowiak IIn PP Wer 1.1 10.2013 Altera Quartus Narzędzie projektowe dla FPGA I CPLD Umożliwia: wprowadzenie projektu, syntezę logiczną i symulację funkcjonalną, przydział do układów logicznych

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 10 (3h) Implementacja interfejsu SPI w strukturze programowalnej Instrukcja pomocnicza do laboratorium z przedmiotu

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

LABORATORIUM TECHNIKA CYFROWA LICZNIKI I REJESTRY. Rev.1.1

LABORATORIUM TECHNIKA CYFROWA LICZNIKI I REJESTRY. Rev.1.1 LABORATORIUM TECHNIKA CYFROWA LICZNIKI I REJESTRY Rev.1.1 1. Cel ćwiczenia Praktyczna weryfikacja wiedzy teoretycznej z zakresu projektowania układów kombinacyjnych oraz arytmetycznych 2. Projekty Przy

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

5. PROGRAMOWALNE UKŁADY LOGICZNE

5. PROGRAMOWALNE UKŁADY LOGICZNE 5. PROGRAMOWALNE UKŁADY LOGICZNE 5.1. Wstęp: Cyfrowe układy scalone Dwa podstawowe kryteria klasyfikacji ilość bramek w układzie (złożoność układu, tzw. stopień integracji), technologia wykonania. 5.1.1.

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

Architektura komputerów

Architektura komputerów Wykład jest przygotowany dla IV semestru kierunku Elektronika i Telekomunikacja. Studia I stopnia Dr inż. Małgorzata Langer Architektura komputerów Prezentacja multimedialna współfinansowana przez Unię

Bardziej szczegółowo

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

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

Bardziej szczegółowo

Ukªady Kombinacyjne - cz ± I

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

Bardziej szczegółowo

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