Transcript Jednostka projektowa
Slide 1
Tadeusz Łuba
Programowalne układy cyfrowe,
czyli fabryka na Twoim biurku
Wydział Elektroniki
i Technik Informacyjnych
1
Slide 2
Celem wykładu jest omówienie najnowszych
osiągnięć elektroniki, a w szczególności tych
osiągnięć, które już w najbliższej przyszłości
mogą okazać się wyjątkowo atrakcyjne w
karierze zawodowej przyszłych absolwentów
naszego wydziału.
Slide 3
Plan wykładu
•
•
•
•
Rozwój technologii układów scalonych
Technika układów programowalnych
Komputerowe systemy projektowania
Zastosowania w elektronice, informatyce
i telekomunikacji
• Produkcja pierwszego układu scalonego
Slide 4
. . . Rok 1958 . . .
Jack Kilby z Texas Instruments zbudował pierwszy układ scalony
za co otrzymał Nagrodę Nobla z fizyki w 2000.
Pierwsze układy scalone zawierały mniej niż 20 tranzystorów.
4
Slide 5
Już w latach 80. 20 wieku
Setki milionów tranzystorów!
5
Slide 6
…dzisiaj
miliony bramek logicznych
ASIC
Nowa jakość…
GA
L
PA L
FPGA
FLE
X
EPLD
…programowanie
połączeń
Programowalne moduły logiczne
(Programmable Logic Devices)
6
Slide 7
Programowalne moduły logiczne
(Programmable Logic Devices)
to układy scalone, których właściwości
funkcjonalne są definiowane nie przez
producenta, lecz przez końcowego
użytkownika. Najważniejszą cechą tych
układów jest możliwość nadawania im (przez
programowanie) określonych przez
użytkownika cech funkcjonalnych, w jego
laboratorium czy na biurku, a nie w fabryce.
PLD
PLD
7
Slide 8
Najnowsze struktury programowalne
FPGA (Field Programmable Gate Array)
NOWOŚĆ!
Elementy logiczne
Elementy logiczne nie są
bramkami
8
Slide 9
Układy programowalne wyrównują szanse…
9
Slide 10
Układ kryptograficzny
P
AS
LID
C
F@*q~
PLD
10
Slide 11
Komputerowe systemy projektowania
Ze względu na skomplikowaną budowę struktur
programowalnych ich realizacja nie może się odbywać bez…
GA
L
PA L
FPGA
FLE
X
EPLD
11
Slide 12
Komputerowe projektowanie…
Specyfikacja HDL
Synteza funkcjonalna
Synteza logiczna
Odwzorowanie
technologiczne
FPGA
12
12
Slide 13
Komputerowe projektowanie…
Specyfikacja HDL
Synteza funkcjonalna
Synteza logiczna
Odwzorowanie
technologiczne
FPGA
…aż do
zaprogramowania
układu!
13
13
Slide 14
Pierwszy produkt fabryki na biurku
Konwerter kodu binarnego na kod BCD
Konwerter współpracuje z dekoderami
wskaźników siedmiosegmentowych
Slide 15
Konwerter Bin2BCD
27BIN
0
0
0
1
1
0
1
1
Wejścia
Liczby dziesiętne
reprezentowane
binarnie
27BCD
BIN/BCD
0
0
1
0
0
1
1
1
Wyjścia
Cyfry podanej liczby
zakodowane binarnie
Slide 16
Edytor tekstowy
architecture behavior of bin2bcd_behavioral is
begin
process (clk)
variable cnt
: integer range 0 to 8;
variable bcd_a : std_logic_vector(3 downto 0);
variable bcd_b : std_logic_vector(3 downto 0);
variable binv : std_logic_vector(7 downto 0);
variable exec : std_logic;
ENTITY reg4 IS
PORT ( D
: IN STD_LOGIC_VECTOR(3 DOWNTO 0) ;
RST, Clock
: IN
STD_LOGIC ;
Q
: OUT
STD_LOGIC_VECTOR(3 DOWNTO 0) ) ;
END reg4 ;
begin
if rising_edge(clk) then
if start = '1' then
bcd_a
:= (others => '0');
bcd_b
:= (others => '0');
binv
:= ‘0’ & data;
cnt
:= 8;
ready
<= '0';
exec := '0';
else
16
Slide 17
Przetwarzanie projektu - kompilator
17
Slide 18
Programowanie
W tym układzie został zrealizowany
konwerter
18
Slide 19
Jakość realizacji
EPF10K
…w strukturach FPGA jakość określa
a) Liczba zajętych elementów logicznych
b) Szybkość – maksymalna liczba słów
przetwarzanych w ciągu 1 sek.
19
Slide 20
Projektowanie jest proste?
Język opisu
sprzętu
Język VHDL
Synteza automatyczna
Ależ to
bardzo
proste!
Moduł PLD
20
Slide 21
Niestety…
Jak je
skonfigurować
???
MILIONY BRAMEK !!!
21
Slide 22
Trudności odwzorowania technologicznego
f
Sieć wielopoziomowa
FPGA
Każdy układ cyfrowy – po procesie kompilacji jest
reprezentowany jako sieć bramek logicznych,
którą trzeba odpowiednio odwzorować na
elementy logiczne struktur programowalnych.
22
Slide 23
Metoda puzzli
23
Slide 24
Nowe procedury syntezy logicznej
Specyfikacja HDL
Synteza funkcjonalna
Nowe procedury
syntezy logicznej
Synteza logiczna
Odwzorowanie
technologiczne
FPGA
24
Slide 25
Porównanie realizacji BIN2BCD
Liczba elementów logicznych ─ liczba słów
Synteza behawioralna – 34 LE ─ 32 mln/s
Synteza logiczna:
system specjalizowany – 17 LE ─ 352 mln/s
Procesor AMD Athlon™ 64X2 Dual Core 4200+
2,2 GHz
– 9,17 mln/s
Slide 26
Struktury programowalne FPGA znalazły
ogromne zastosowania w układach
cyfrowego przetwarzania sygnałów
„FPGAs are on the verge of
revolutionizing digital signal processing
in the manner that programmable
digital signal processors (PDSPs) did
nearly two decades ago.”
26
Slide 27
Cyfrowe przetwarzanie sygnałów
ADC
Próbkowanie
Dyskretne próbki
sygnału
Kwantowanie
i kodowanie
Sygnał
analogowy
Dyskretne w czasie
i wartościach
Reprezentacja
cyfrowa
0 1 0 0 1 0, 0 1 1 0 0 1, …
Filtracja
Rekonstrukcja
Odtwarzanie
DAC
27
Slide 28
Cyfrowe przetwarzanie sygnałów
W formie cyfrowej znikają różnice pomiędzy różnymi
typami sygnałów, co znacznie upraszcza wszelkie
procesy związane z przechowywaniem,
przetwarzaniem i przesyłaniem różnych typów
informacji.
Sieć
telekomunikacyjna
28
Slide 29
Cyfrowe przetwarzanie sygnałów
W formie cyfrowej znikają różnice pomiędzy różnymi
typami sygnałów, co znacznie upraszcza wszelkie
procesy związane z przechowywaniem,
przetwarzaniem i przesyłaniem różnych typów
informacji.
Sieć
telekomunikacyjna
29
Slide 30
Zastosowania układów DSP
Telewizja wysokiej rozdzielczości HDTV
Telefonia komórkowa
Rozpoznawanie mowy i obrazów
Kompresja obrazów
Szyfratory kryptograficzne
Szyfratory baz danych
Diagnostyka medyczna
30
Slide 31
TELEFONIA KOMÓRKOWA
PRZETWARZANIE DŹWIĘKU
RADIOFONIA
I TELEWIZJA
Za pośrednictwem cyfrowego przetwarzania
sygnałów obszar zastosowań układów
programowalnych rozszerza się na wiele dziedzin
elektroniki, informatyki i telekomunikacji
RADIOOMUNIKACJA
TECHNIKA POMIAROWA
TELEMEDYCYNA
31
Slide 32
Produkty wirtualne – co to jest?
Struktury programowalne uzyskują fizyczną postać konkretnego
układu cyfrowego dopiero w trakcie zaprogramowania.
Z tej przyczyny układy te określa się mianem wirtualnych, gdyż
do momentu zaprogramowania istnieją tylko jako odpowiednie
pliki na dyskach komputerów (a nawet na kartce papieru).
32
Slide 33
Technika produktów wirtualnych
Rynek własności intelektualnej IP (Intellectual Property)
zawartej w układach zaprojektowanych i oferowanych do
sprzedaży w postaci kodów źródłowych języków HDL.
- ALTERA MEGAFUNCTION
PARTNERS PROGRAM
- XILINX ALLIANCE CORE
- COMMON LICENSE
CONSORTIUM
- IP CATALYST PROGRAM
- EXEMPLAR LOGIC-VENDOR
INCENTIVE PROGRAM (VIP)
- D & R DESIGN-REUSE.
W Polsce: EVATRONIX
- TILAB
- inSILICON CORPORATION
- SIBER CORE TECHNOLOGIES
- DIGITAL COMMUNICATION
TECHNOLOGIES
- ARC CORES
- VIRTUAL IP GROUP INC.
- IP SEMICONDUCTORS
- ALCATEL TECHNOLOGY
LICENSING
33
Slide 34
Evatronix S.A.
Sztuka komputerowego tworzenia
Rola wirtualnych komponentów w projektowaniu
systemów scalonych
Slide 35
Komponenty wirtualne firmy Evatronix
Mikrokontrolery oparte na architekturze 8051
Koprocesory arytmetyczne
Procesory sygnałowe
Kontrolery łączy interfejsowych i sieciowych
Kodery obrazów standardu JPEG2000
35
Slide 36
Komponenty wirtualne firmy Evatronix
W roku 2002 Evatronix S.A. opracowała wirtualny komponent
kontroler Ethernet MAC (Media Access Control) 10/100Mbit.
Komponent ten został zastosowany w...
...airbus A380
gdzie pełni rolę podstawowej arterii wymiany danych pomiędzy wszystkimi
urządzeniami sterującymi i kontrolnym samolotu A380.
36
Slide 37
Slide 38
Fabryka na biurku…
38
Slide 39
Podsumowanie
Układy programowalne umożliwiają
budowę systemów cyfrowych łatwo i tanio.
Ich uniwersalność i elastyczność
predestynuje je do wielu zastosowań.
Sytuacja ta czyni z układów
programowalnych jedną z najciekawszych
dziedzin techniki, której opanowanie może
być kluczem do sukcesu zawodowego
wielu specjalistów elektroniki, inżynierii
komputerowej i telekomunikacji.
39
Tadeusz Łuba
Programowalne układy cyfrowe,
czyli fabryka na Twoim biurku
Wydział Elektroniki
i Technik Informacyjnych
1
Slide 2
Celem wykładu jest omówienie najnowszych
osiągnięć elektroniki, a w szczególności tych
osiągnięć, które już w najbliższej przyszłości
mogą okazać się wyjątkowo atrakcyjne w
karierze zawodowej przyszłych absolwentów
naszego wydziału.
Slide 3
Plan wykładu
•
•
•
•
Rozwój technologii układów scalonych
Technika układów programowalnych
Komputerowe systemy projektowania
Zastosowania w elektronice, informatyce
i telekomunikacji
• Produkcja pierwszego układu scalonego
Slide 4
. . . Rok 1958 . . .
Jack Kilby z Texas Instruments zbudował pierwszy układ scalony
za co otrzymał Nagrodę Nobla z fizyki w 2000.
Pierwsze układy scalone zawierały mniej niż 20 tranzystorów.
4
Slide 5
Już w latach 80. 20 wieku
Setki milionów tranzystorów!
5
Slide 6
…dzisiaj
miliony bramek logicznych
ASIC
Nowa jakość…
GA
L
PA L
FPGA
FLE
X
EPLD
…programowanie
połączeń
Programowalne moduły logiczne
(Programmable Logic Devices)
6
Slide 7
Programowalne moduły logiczne
(Programmable Logic Devices)
to układy scalone, których właściwości
funkcjonalne są definiowane nie przez
producenta, lecz przez końcowego
użytkownika. Najważniejszą cechą tych
układów jest możliwość nadawania im (przez
programowanie) określonych przez
użytkownika cech funkcjonalnych, w jego
laboratorium czy na biurku, a nie w fabryce.
PLD
PLD
7
Slide 8
Najnowsze struktury programowalne
FPGA (Field Programmable Gate Array)
NOWOŚĆ!
Elementy logiczne
Elementy logiczne nie są
bramkami
8
Slide 9
Układy programowalne wyrównują szanse…
9
Slide 10
Układ kryptograficzny
P
AS
LID
C
F@*q~
PLD
10
Slide 11
Komputerowe systemy projektowania
Ze względu na skomplikowaną budowę struktur
programowalnych ich realizacja nie może się odbywać bez…
GA
L
PA L
FPGA
FLE
X
EPLD
11
Slide 12
Komputerowe projektowanie…
Specyfikacja HDL
Synteza funkcjonalna
Synteza logiczna
Odwzorowanie
technologiczne
FPGA
12
12
Slide 13
Komputerowe projektowanie…
Specyfikacja HDL
Synteza funkcjonalna
Synteza logiczna
Odwzorowanie
technologiczne
FPGA
…aż do
zaprogramowania
układu!
13
13
Slide 14
Pierwszy produkt fabryki na biurku
Konwerter kodu binarnego na kod BCD
Konwerter współpracuje z dekoderami
wskaźników siedmiosegmentowych
Slide 15
Konwerter Bin2BCD
27BIN
0
0
0
1
1
0
1
1
Wejścia
Liczby dziesiętne
reprezentowane
binarnie
27BCD
BIN/BCD
0
0
1
0
0
1
1
1
Wyjścia
Cyfry podanej liczby
zakodowane binarnie
Slide 16
Edytor tekstowy
architecture behavior of bin2bcd_behavioral is
begin
process (clk)
variable cnt
: integer range 0 to 8;
variable bcd_a : std_logic_vector(3 downto 0);
variable bcd_b : std_logic_vector(3 downto 0);
variable binv : std_logic_vector(7 downto 0);
variable exec : std_logic;
ENTITY reg4 IS
PORT ( D
: IN STD_LOGIC_VECTOR(3 DOWNTO 0) ;
RST, Clock
: IN
STD_LOGIC ;
Q
: OUT
STD_LOGIC_VECTOR(3 DOWNTO 0) ) ;
END reg4 ;
begin
if rising_edge(clk) then
if start = '1' then
bcd_a
:= (others => '0');
bcd_b
:= (others => '0');
binv
:= ‘0’ & data;
cnt
:= 8;
ready
<= '0';
exec := '0';
else
16
Slide 17
Przetwarzanie projektu - kompilator
17
Slide 18
Programowanie
W tym układzie został zrealizowany
konwerter
18
Slide 19
Jakość realizacji
EPF10K
…w strukturach FPGA jakość określa
a) Liczba zajętych elementów logicznych
b) Szybkość – maksymalna liczba słów
przetwarzanych w ciągu 1 sek.
19
Slide 20
Projektowanie jest proste?
Język opisu
sprzętu
Język VHDL
Synteza automatyczna
Ależ to
bardzo
proste!
Moduł PLD
20
Slide 21
Niestety…
Jak je
skonfigurować
???
MILIONY BRAMEK !!!
21
Slide 22
Trudności odwzorowania technologicznego
f
Sieć wielopoziomowa
FPGA
Każdy układ cyfrowy – po procesie kompilacji jest
reprezentowany jako sieć bramek logicznych,
którą trzeba odpowiednio odwzorować na
elementy logiczne struktur programowalnych.
22
Slide 23
Metoda puzzli
23
Slide 24
Nowe procedury syntezy logicznej
Specyfikacja HDL
Synteza funkcjonalna
Nowe procedury
syntezy logicznej
Synteza logiczna
Odwzorowanie
technologiczne
FPGA
24
Slide 25
Porównanie realizacji BIN2BCD
Liczba elementów logicznych ─ liczba słów
Synteza behawioralna – 34 LE ─ 32 mln/s
Synteza logiczna:
system specjalizowany – 17 LE ─ 352 mln/s
Procesor AMD Athlon™ 64X2 Dual Core 4200+
2,2 GHz
– 9,17 mln/s
Slide 26
Struktury programowalne FPGA znalazły
ogromne zastosowania w układach
cyfrowego przetwarzania sygnałów
„FPGAs are on the verge of
revolutionizing digital signal processing
in the manner that programmable
digital signal processors (PDSPs) did
nearly two decades ago.”
26
Slide 27
Cyfrowe przetwarzanie sygnałów
ADC
Próbkowanie
Dyskretne próbki
sygnału
Kwantowanie
i kodowanie
Sygnał
analogowy
Dyskretne w czasie
i wartościach
Reprezentacja
cyfrowa
0 1 0 0 1 0, 0 1 1 0 0 1, …
Filtracja
Rekonstrukcja
Odtwarzanie
DAC
27
Slide 28
Cyfrowe przetwarzanie sygnałów
W formie cyfrowej znikają różnice pomiędzy różnymi
typami sygnałów, co znacznie upraszcza wszelkie
procesy związane z przechowywaniem,
przetwarzaniem i przesyłaniem różnych typów
informacji.
Sieć
telekomunikacyjna
28
Slide 29
Cyfrowe przetwarzanie sygnałów
W formie cyfrowej znikają różnice pomiędzy różnymi
typami sygnałów, co znacznie upraszcza wszelkie
procesy związane z przechowywaniem,
przetwarzaniem i przesyłaniem różnych typów
informacji.
Sieć
telekomunikacyjna
29
Slide 30
Zastosowania układów DSP
Telewizja wysokiej rozdzielczości HDTV
Telefonia komórkowa
Rozpoznawanie mowy i obrazów
Kompresja obrazów
Szyfratory kryptograficzne
Szyfratory baz danych
Diagnostyka medyczna
30
Slide 31
TELEFONIA KOMÓRKOWA
PRZETWARZANIE DŹWIĘKU
RADIOFONIA
I TELEWIZJA
Za pośrednictwem cyfrowego przetwarzania
sygnałów obszar zastosowań układów
programowalnych rozszerza się na wiele dziedzin
elektroniki, informatyki i telekomunikacji
RADIOOMUNIKACJA
TECHNIKA POMIAROWA
TELEMEDYCYNA
31
Slide 32
Produkty wirtualne – co to jest?
Struktury programowalne uzyskują fizyczną postać konkretnego
układu cyfrowego dopiero w trakcie zaprogramowania.
Z tej przyczyny układy te określa się mianem wirtualnych, gdyż
do momentu zaprogramowania istnieją tylko jako odpowiednie
pliki na dyskach komputerów (a nawet na kartce papieru).
32
Slide 33
Technika produktów wirtualnych
Rynek własności intelektualnej IP (Intellectual Property)
zawartej w układach zaprojektowanych i oferowanych do
sprzedaży w postaci kodów źródłowych języków HDL.
- ALTERA MEGAFUNCTION
PARTNERS PROGRAM
- XILINX ALLIANCE CORE
- COMMON LICENSE
CONSORTIUM
- IP CATALYST PROGRAM
- EXEMPLAR LOGIC-VENDOR
INCENTIVE PROGRAM (VIP)
- D & R DESIGN-REUSE.
W Polsce: EVATRONIX
- TILAB
- inSILICON CORPORATION
- SIBER CORE TECHNOLOGIES
- DIGITAL COMMUNICATION
TECHNOLOGIES
- ARC CORES
- VIRTUAL IP GROUP INC.
- IP SEMICONDUCTORS
- ALCATEL TECHNOLOGY
LICENSING
33
Slide 34
Evatronix S.A.
Sztuka komputerowego tworzenia
Rola wirtualnych komponentów w projektowaniu
systemów scalonych
Slide 35
Komponenty wirtualne firmy Evatronix
Mikrokontrolery oparte na architekturze 8051
Koprocesory arytmetyczne
Procesory sygnałowe
Kontrolery łączy interfejsowych i sieciowych
Kodery obrazów standardu JPEG2000
35
Slide 36
Komponenty wirtualne firmy Evatronix
W roku 2002 Evatronix S.A. opracowała wirtualny komponent
kontroler Ethernet MAC (Media Access Control) 10/100Mbit.
Komponent ten został zastosowany w...
...airbus A380
gdzie pełni rolę podstawowej arterii wymiany danych pomiędzy wszystkimi
urządzeniami sterującymi i kontrolnym samolotu A380.
36
Slide 37
Slide 38
Fabryka na biurku…
38
Slide 39
Podsumowanie
Układy programowalne umożliwiają
budowę systemów cyfrowych łatwo i tanio.
Ich uniwersalność i elastyczność
predestynuje je do wielu zastosowań.
Sytuacja ta czyni z układów
programowalnych jedną z najciekawszych
dziedzin techniki, której opanowanie może
być kluczem do sukcesu zawodowego
wielu specjalistów elektroniki, inżynierii
komputerowej i telekomunikacji.
39