Dwukanałowy wzmacniacz fazoczuły sterowany cyfrowo

Transkrypt

Dwukanałowy wzmacniacz fazoczuły sterowany cyfrowo
Programowanie Układów Logicznych
kod kursu: ETD6203
Wprowadzenie do techniki FPGA
W1 – 24.02.2016
dr inż. Daniel Kopiec
Informacje…
Prowadzący:
dr inż. Daniel Kopiec
Konsultacje:
WT: 015a/C2 g. 12-14
PT: 015a/C2 g. 13-15
Strona kursu:
http://www.w12.pwr.wroc.pl/mikro/
Kontakt:
email: [email protected]
lab. 015a/C2
tel. 71 320 3651
2
Wymagania wstępne … cel …
Zakładam, że podstawy już opanowane…
W tym roku ciąg dalszy techniki cyfrowej i VHDL-a… w praktyce
3
Tematyka kursu – wykład
4
Tematyka kursu - projekt
7 spotkań po 3 godz. (180 min) i 1 spotkanie 2 godz. (90 min)
5
Zaliczenie …
• Wykład: cykl 15 wykładów
– kolokwium zaliczeniowe -> test wyboru,
– termin: ostatni wykład tj. 8 czerwca 2016 godz. 13:15,
– poprawa: odpowiedź ustna 13 czerwca 2016 godz. 13:15.
• Możliwe zaliczenie na wykładzie 
– każdy wykład kończy się przykładowymi pytaniami od 5 – 10,
– w trakcie następnego wykładu możliwa kartkówka z
poprzedniego wykładu,
– do zdobycia 40 punktów = 5.0,
– ewentualnie 1/3 punktów doliczona zostaje do kolokwium.
6
Zaliczenie …
… przykładowy test
7
Zaliczenie … zajęcia projektowe
• Projekt: 8 spotkań,
– praca na zajęciach – kilka zadań realizowanych w czasie zajęć,
– projekt indywidualny:
•
•
•
•
•
•
wybór tematu,
założenia projektowe,
kod programu,
uruchomienie,
szczegółowa dokumentacja projektu,
prezentacja.
Realizacja projektu: od drugich zajęć
8
Literatura kursu
W ramach powtórzenia techniki cyfrowej:
[1] K. M. Noga, M. Radwański, Multisim, Technika cyfrowa w przykładach, Wydawnictwo BTC, 2009
[2] B. Wilkinson, Układy cyfrowe, Wydawnictwa Komunikacji i Łączności, 2003
O jezyku VHDL, Verilog i układach programowalnych FPGA:
[1] D. Kania, Układy logiki programowalnej, Podstawy syntezy i sposoby odwzorowania technologicznego,
Wydawnictwo PWN (2012)
[2] K. Skahill, Język VHDL: projektowanie programowalnych układów logicznych, Wydawnictwa NaukowoTechniczne, 2004
[3] M. Zwolinski, Projektowanie układów cyfrowych z wykorzystaniem języka VHDL, Wydawnictwa
Komunikacji i Łączności, 2002
[4] J. Majewski, P. Zbysiński, Układy FPGA w przykładach, Wydawnictwo BTC, 2007.
[5] P. Zbysiński, J. Pasierbiński, Układy programowalne pierwsze kroki, wydanie 2, BTC Warszawa, 2004
[6] W. Wrona, VHDL: język opisu i projektowania układów cyfrowych, Wydawnictwo Pracowni Komputerowej
Jacka Skalmierskiego, 1998
[7] J. Pasierbiński, P. Zbysiński, Układy programowalne w praktyce, Wydawnictwa Komunikacji i Łączności,
2001
[8] Z. Hajduk, Wprowadzenie do języka Verilog, Wydawnictwo BTC, 2009
9
Źródła internetowe:
[1] http://www.xilinx.com/training/free-video-courses.htm
[2] http://www.digilentinc.com/data/textbooks/intro_digital_design-digilent-vhdl_online.pdf
[3] http://www.fpga4fun.com/
[4] http://www.eng.auburn.edu/department/ee/mgc/vhdl.html
[5] http://www.ics.uci.edu/~alexv/154/VHDL-Cookbook.pdf
Coś dla entuzjastów elektroniki …
• Możliwość realizacji własnych projektów w
zespołach 2 – 5 osobowych.
• Możliwość pozyskania narzędzi, zestawów
uruchomieniowych o łącznej wartości $100.
• Możliwość zdobycia nagrody głównej o
wartości $5000.
Zgłoszenia przyjmowane są tylko do:
29 lutego 2016 roku.
Więcej informacji na oficjalnej stronie Texas
Instruments:
10
http://www.ti.com/ww/eu/TIIC2016/enter.html
… od tranzystora do FPGA
•
•
•
•
•
•
•
•
•
•
•
•
•
•
11
1947 pierwszy tranzystor ostrzowy skonstruowany w laboratoriach firmy Bell
Telephone Laboratories przez Johna Bardeena oraz Waltera Housera Brattaina,
1949 pierwszy tranzystor złączowy Shockley,
1958 pierwszy układ scalony, Jack Kilby, Texas Instruments, (Kilby zastosował
german i połączenia drucikami)
1959 pierwszy monolityczny krzemowy prototyp układu scalonego Robert Noyce,
Fairchild Sem.
1961 pierwsze planarne układy scalone, Fairchild Sem. i Texas Instruments
Prawo Moore’a 1965 – przewiduje wykładniczy wzrost liczby tranzystorów w
układach scalonych co 12 – 18 miesięcy
1967 Micromosaic – precursoc ASIC, (Application-Specific Integrated Circuit - ASIC)
1970 – pamięć statyczna RAM (256 bitów) – Fairchild, symbol 4100,
1970 – pamięć dynamiczna RAM (1024 bity) – Intel, symbol 1103,
1971 – opracowanie pierwszego mikroprocesora 4-bitowego Intel 4004, (2300
tranzystorów, 34 rozkazy, 60k rozkazów/s), rok później Intel 8008 (8-bit, 45
rozkazów, 300k rozkazów/s)
1975 – prekursor PLD opracowany przez firmę Signetics – układ o strukturze PLA
1978 – opracowanie układu o strukturze PAL przez firmę Monolithic Memoriec
1980 – technologia CMOS, dominują układy BiCMOS i SOI, pierwszy milion
tranzystorów w jednym układzie
1985 – narodziny FPGA firma Xilinx
Pierwszy tranzystor, 1947
Pierwszy układ scalony, 1958
Pierwszy monolityczny układ
scalony,1959
Producenci ukł. programowalnych
12
, Altium Designer
Definicja układu programowalnego
• Układ programowalny to układ scalony, którego właściwości
funkcjonalne nie są definiowane przez producenta, lecz przez
końcowego użytkownika.
• Najważniejszą cechą jest możliwość nadawania im określonych
cech funkcjonalnych przez programistę.
• Układ programowalny jest wytwarzany z pełnym zestawem
połączeń usuwanych w trakcie programowania w specjalnym
programatorze wg. zaprojektowanej maski przepaleń.
13
Klasyfikacja układów logicznych
14
Cel stosowania
logicznych układów programowalnych
Załóżmy, że musimy powielić ten schemat 100 razy …
1 układ scalony
… a to jego fizyczna realizacja 30 lat temu
15
PLD
PAL - Programmable Logic Arrays
PLA - Programmable Array Logic
GAL 16V8
zajrzyjmy do wnętrza …
16
Standardowy symbol bramki AND i jego odpowiednik w
diagramie struktury PLA, PAL
Szkic architektury układów PLD o strukturze PAL i PLA
Architektura układów CPLD i FPGA
Szkic architektury układów CPLD oraz FPGA
CPLD
17
FPGA
CPLD – zapewnia stałe opóźnienie, przewidywalne czasy propagacji
Struktura wewnętrzna
18
PROCESOR,
MIKROKONTROLER
FPGA
Macierze połączeniowe
19
Technologia połączeń wewnętrznych
•
•
FUSE – bezpieczniki
ANTIFUSE – antybezpieczniki
•
•
•
•
•
•
•
•
•
•
•
•
•
EPROM – kasowalne światłem UV
EEPROM – kasowalne elektrycznie (reprogramowalna)
FLASH
•
•
•
•
•
programowanie wielokrotne,
zawartość pamięci nieulotna
droższe ze względu na integrację pamięci FLSAH, skomplikowany proces technologiczny
większy pobór mocy
SRAM
•
•
•
20
przewodzi po przepaleniu
programowane jednokrotnie
dane o konfiguracji nie są przenoszone poza układ, „revers enginering” praktycznie niemożliwy
brak wewnętrznych tranzystorów
stosowane w lotnictwie i aeronautyce – niezawodne, odporne na promieniowanie
20% mniejsze zużycie mocy
mniejsza powierzchni układu
szybsze działanie – brak pojemności tranzystorów
droższe w produkcji,
nie nadają się do budowy prototypów
•
•
programowane wielokrotnie
oparte na technologii CMOS
SRAM ulotne, konieczność ponownego programowanie po wyłączeniu zasilania, ładownie z
zewnętrznej pamięci EPROM lub FLASH
opóźniony start urządzenia – ze względu na czas ładowania programu
rozmiar fizyczny komórki SRAM o rząd większe niż rozmiary złącza programowalnego
VHDL – język opisu sprzętu
• Język VHDL jest jednym z nowszych języków opisu i projektowania układów
cyfrowych. Już w lipcu 1983 roku zespół złożony z przedstawicieli firm
Intermetrics, IBM oraz Texas Instruments rozpoczął pierwszy etap pracy
nad nowym językiem opisu i projektowania układów VLSI. Po roku pracy
zaimplementowano dany język, dzięki czemu w grudniu 1985 otrzymano
pierwszą wersję narzędzia napisanego w języku Ada dla komputerów klasy
VA 11/780 i IBM 370.
• Projekt VHDL był częścią programu Departamentu Obrony USA o nazwie
VHSIC, którego zadaniem było opracowanie metod projektowania oraz
wykorzystanie najbardziej złożonych i bardzo szybkich układów scalonych.
W roku 1987 VHDL stał się obowiązującym standardem w dziedzinie języków
opisu i projektowania układów VLSI. Ulepszona wersja języka pojawiła się
dopiero w 1993 roku i obecnie jest stosowana przez większość projektantów
układów cyfrowych na świecie.
21
Przykładowe pytania
1. Klasyfikacja układów programowalnych.
2. Wskazać zasadnicze różnice między układami PLA oraz PAL.
3. Wskazać różnice w budowie układów CPLD oraz FPGA.
4. Co to są trakty połączeniowe ?
5. Który typ połączenia traktów zapewnia największą niezawodność ?
6. Wskazać różnicę między mikrokontrolerem a procesorem.
7. Czy układy CPLD/FPGA realizują operacje sekwencyjnie czy równolegle ?
8. Na jakie parametry układu CPLD/FPGA należy zwrócić uwagę ?
22
9. Jakie są poziomy napięć akceptowane przez układy FPGA ?