1 Literatura (w zakresie języka VHDL) Wzrost złoŜoności

Komentarze

Transkrypt

1 Literatura (w zakresie języka VHDL) Wzrost złoŜoności
Technika cyfrowa
Literatura (w zakresie ję
języka 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 opisu i projektowania układów cyfrowych.
Internet:
???
ale tu warto zacząć: http://www.vhdl.org (comp.lang.vhdl –> FAQ)
1
Technika cyfrowa
Wzrost zł
złoŜonoś
oności ukł
układó
adów scalonych
1G
256M
100M
64M
16M
i686 ?
10M
4M
i686 ?
Pentium
80486
1M
1M
256K
80386
64K
100K
80286
16K
4K
8086
10K
8085
8080
1K
4004
1970
1980
1990
1998
2
1
Technika cyfrowa
Zasoby w projektowaniu UC:
1970 – INTEL 4004
4 projektantów
1 tys. tranzystorów
1982 – INTEL 80286
20 projektantów
100 tys. tranzystorów
1992 – INTEL PENTIUM
100 projektantów
3 mln tranzystorów
2002 – INTEL PENTIUM 4
1000 projektantów
150 mln tranzystorów
200? – ???
Producenci narzę
narzędzi do projektowania
Aldec
Cadence
Compass
Mentor Graphics
Synopsys
Synplicity
Viewlogic
Model Technology
Cypress Semiconductor
Exemplar
Xilinx
3
Technika cyfrowa
Urzą
Urządzenia o ustalonej strukturze sprzę
sprzętowej
Mikroprocesory
Mikroprocesory
Komputery
x86
x86
68000
68000
Power
PowerPC
PC
Wbudowane
Wbudowane
sterowniki
sterowniki
Kontrolery
Układy logiki
i960
i960
TMS3xx
TMS3xx
68000
68000
Tradycyjna
Tradycyjna
logika
logika
cyfrowa
cyfrowa
SSI/MSI
SSI/MSI
PAL,
PAL,GAL,
GAL,itp.
itp.
4
2
Technika cyfrowa
Uproszczona zasad dział
działania tradycyjnego komputera
1
- Pobranie programu lub danych
2
- Zapis programu lub danych do pamię ci
Mikroprocesor
3
Program
Dane
1
4
2
ęć
Pami
3
- Ładowanie programu w celu przetwarzania
4
- Zapis/Odczyt danych do przetwarzania
5
Technika cyfrowa
Urzą
Urządzenia o rekonfigurowalnej strukturze sprzę
sprzętowej
Komputery
Mikroprocesory
Mikroprocesory
Komputery
Komputery
rekonfigurowalne
rekonfigurowalne
Kontrolery
Wbudowane
Wbudowane
sterowniki
sterowniki
Koprocesory
Koprocesory
rekonfigurowalne
rekonfigurowalne
Układy logiki
Tradycyjna
Tradycyjna
logika
logika
cyfrowa
cyfrowa
Logika
Logika
rekonfigurowalna
rekonfigurowalna
6
3
Technika cyfrowa
Koprocesory rekonfigurowalne
ęć
CPU
Pami
We/Wy
Struktura systemu bazują cego
na współpracy koprocesora
rekonfigurowalnego
z procesorem centralnym (CPU)
Koprocesor
Koprocesor
rekonfigurowalny
rekonfigurowalny
np.
np.FPGA
FPGA
Komputery
Mikroprocesory
Mikroprocesory
Komputery
Komputery
rekonfigurowalne
rekonfigurowalne
Kontrolery
Wbudowane
Wbudowane
sterowniki
sterowniki
Koprocesory
Koprocesory
rekonfigurowalne
rekonfigurowalne
Układy logiki
Tradycyjna
Tradycyjna
logika
logikacyfrowa
cyfrowa
Logika
Logika
rekonfigurowalna
rekonfigurowalna
We/Wy - Dane
Koprocesor
dedykowany
(JPEG, DSP)
We/Wy - Dane
7
Technika cyfrowa
Przykł
Przykładowa architektura koprocesora
rekonfigurowalnego
Mikroprocesor
Mikroprocesor
rekonfigurowalny
3
1
4
2
Program
Dane
ęć
Pami
8
4
Technika cyfrowa
Zastosowania ukł
układó
adów rekonfigurowalnych
Zakres zastosowań
Aplikacje
Mikroprocesory
Mikroprocesory
Komputery
Komputery
rekonfigurowalne
rekonfigurowalne
Kontrolery
Wbudowane
Wbudowane
sterowniki
sterowniki
Koprocesory
Koprocesory
rekonfigurowalne
rekonfigurowalne
Układy logiki
Tradycyjna
Tradycyjna
logika
logika
cyfrowa
cyfrowa
Logika
Logika
rekonfigurowalna
rekonfigurowalna
Komputery
•• Układy
Układy
wspomagania
wspomagania
ńń
oblicze
oblicze
•• Przyspieszanie
Przyspieszanie
aplikacji
aplikacji
programowych
programowych
ćć
•• Rzeczywisto
Rzeczywistośś
wirtualna
wirtualna
•• Diagnostyka
Diagnostyka
•• Logika
steruj
ca
Logika
sterująąca
9
Technika cyfrowa
Cechy ogó
ogólne ukł
układó
adów FPGA* rodziny XC4000
• pamięć typu Select-RAM TM:
• ultra szybka pamięć z synchronicznym zapisem
• pamięć dwuportowa
• gwarancja wymagań PCI
• przejrzysty generator funkcji
• wewnętrzna magistrala trójstanowa
• dedykowane linie szybkiego przeniesienia
• hierarchiczna organizacja linii połączeń
• moŜliwość uzyskania wewnętrznych magistral trójstanowych
• duŜa liczba przerzutników
*
Field Programmable Gate Array
10
5
Technika cyfrowa
Cechy ogó
ogólne ukł
układó
adów FPGA rodziny XC4000
• Wydajność systemu przekraczająca 80 MHz
• Przejrzysta struktura matryc
• Segmentacja połączeń o niskim poborze mocy
• Cechy zorientowane systemowo
• implementacja standardu IEEE 1149.1
• programowalna szybkość narastania napięcia
wyjściowego
• programowane wykorzystanie wejściowych rezystorów
podciągających
• Konfiguracja poprzez załadowanie pliku binarnego
• nieograniczona liczba cykli rekonfigurowania
11
Technika cyfrowa
Cechy ogó
ogólne ukł
układó
adów FPGA* rodziny XC4000
• MoŜliwość zwrotnego odczytu po konfiguracji układu
• weryfikacja programu
• testowanie węzłów wewnątrz układu
• Jednolite środowisko projektowe
• interfejsy do popularnych narzędzi projektowych
• automatyczny proces mapowania, rozmieszczania i
łączenia
• interaktywny edytor projektu umoŜliwiający jego
optymalizację
12
6
Technika cyfrowa
Architektura:
Konfigurowalny blok logiczny Configurable Logic Block (CLB)
Blok wejś cia/wyjś cia Input Output Block (IOB)
Blok programowalnych połą czeń Programmable Interconnect
13
Technika cyfrowa
A tak to wyglą
wygląd od środka:
Fragment układu po zaimplementowaniu
14
7
Technika cyfrowa
Przeglą
Przegląd ukł
układó
adów rodziny XC4000
ć
Iloś
komórek
logicznych
Maks.
liczba
bramek
XC4003E
XC4005E/XL
XC4006E
XC4008E
238
466
608
770
3,000
5,000
6,000
8,000
3,200
6,272
8,192
10,368
XC4010E/XL
XC4013E/XL
XC4020E/XL
XC4025E
XC4028EX/XL
XC4036EX/XL
XC4044XL
XC4052XL
XC4062XL
XC4085XL
950
1368
1862
2432
2432
3078
3800
4598
5472
7448
10,000
13,000
20,000
25,000
28,000
36,000
44,000
52,000
62,000
85,000
12,800
18,432
25,088
32,768
32,768
41,472
51,200
61,952
73,728
100,352
Urzą dzenie
Maks.
Rozmiar
ć
iloś bitów matrycy
RAM
komórek
Liczba
bloków
logiki
Maks.
liczba
we/wy
10x10
14x14
16x16
18x18
100
196
256
324
80
112
128
144
20x20
24x24
28x28
32x32
32x32
36x36
40x40
44x44
48x48
56x56
400
576
784
1,024
1,024
1,296
1,600
1,936
2,304
3,136
160
192
224
256
256
288
320
352
384
448
15
Technika cyfrowa
Budowa bloku logicznego (CLB):
16
8
Technika cyfrowa
Budowa bloku wejś
wejścia/wyjś
cia/wyjścia (IOB):
17
Technika cyfrowa
Programowalna sieć
czeń
ń
sieć połą
połącze
18
9
Technika cyfrowa
Spartan 3 – przeglą
przegląd
Low-cost, high-performance logic solution
for high-volume, consumer-oriented
applications
- Densities up to 74,880 logic cells
• SelectIO™ signaling
- Up to 784 I/O pins
- 622 Mb/s data transfer rate per I/O
- 18 single-ended signal standards
- 8 differential I/O standards including LVDS,
RSDS
- Termination by Digitally Controlled
Impedance
- Signal swing ranging from 1.14V to 3.45V
- Double Data Rate (DDR) support
- DDR, DDR2 SDRAM support up to 333 Mbps
• Logic resources
- Abundant logic cells with shift register
capability
- Wide, fast multiplexers
- Fast look-ahead carry logic
- Dedicated 18 x 18 multipliers
- JTAG logic compatible with IEEE
1149.1/1532
• SelectRAM™ hierarchical memory
- Up to 1,872 Kbits of total block RAM
- Up to 520 Kbits of total distributed
RAM
• Digital Clock Manager (up to four
DCMs)
- Clock skew elimination
- Frequency synthesis
- High resolution phase shifting
• Eight global clock lines and abundant
routing
• Fully supported by Xilinx ISE and
WebPACK development
systems
• MicroBlaze™ and PicoBlaze™
processor, PCI, PCI
Express PIPE endpoint, and other IP
cores
• Pb-free packaging options
• Automotive Spartan-3 XA Family
variant
19
Technika cyfrowa
Spartan 3 – przeglą
przegląd
20
10
Technika cyfrowa
Spartan 3 – przeglą
przegląd
21
Technika cyfrowa
Spartan 3 – przeglą
przegląd
22
11
Technika cyfrowa
Spartan 3 – przeglą
przegląd
23
Technika cyfrowa
Spartan 3 – przeglą
przegląd
24
12
Technika cyfrowa
Spartan 3 – przeglą
przegląd
25
Technika cyfrowa
Spartan 3 – przeglą
przegląd
26
13
Technika cyfrowa
Spartan 3 – przeglą
przegląd
27
Technika cyfrowa
Spartan 3 – przeglą
przegląd
28
14
Technika cyfrowa
Spartan 3 – przeglą
przegląd
29
Technika cyfrowa
Spartan 3 – przeglą
przegląd
30
15
Technika cyfrowa
Co to jest VHDL?
Very High Speed Integrated Circuits
Hardware
Description
Language
Do czego sł
słuŜy?
• NiezaleŜna od technologii specyfikacja projektu
• MoŜliwość współpracy pomiędzy róŜnymi producentami
• Łatwość zmian funkcjonalnych
• Automatyzacja projektowania (redukcja czasu i kosztów)
• Ułatwienie weryfikacji funkcjonalnej oraz implementacji
31
Technika cyfrowa
Historia VHDL
1980 Początek programu rozwijania technologii układów VHSIC (Very High Speed
Integrated Circuits)
1981 Konferencja na temat załoŜeń przyszłego standardu HDL
1987 IEEE wydaje opis VHDL 1076
1987 Oficjalny standard VHDL IEEE 1076
1992 Nowelizacja VHDL IEEE 1076-1993
2000 Errata IEEE 1076a-1993
32
16
Technika cyfrowa
Metodyka projektowania z wykorzystaniem VHDL
VHDL
Synteza
Symulacja
funkcjonalna
Weryfikacja
czasowa
Układ
33
Technika cyfrowa
Metodyka projektowania systemu
Specyfikacja systemu
Blok sprzę towy
Blok programowy
Specyfikacja
Symulator zbioru instrukcji
Specyfikacja
Projekt
Weryfikacja algorytmiczna
Projekt
Implementacja
Weryfikacja architekturalna
Implementacja
Prototyp
Weryfikacja czasowa
Program
Weryfikacja prototypu
34
17
Technika cyfrowa
Style opisu VHDL
VHDL
Behawioralny
Strukturalny
Czasowy
Równania
boolowskie
Poziom RTL
Przebieg
czasowy
c=avb
COMPONENT bramka_and
port( i1, i2: in std_logic;
o1: out std_logic);
END COMPONENT;
...
B0: bramka_and
port map ( i1 => a,
i2 => b,
o1 => c);
c <= a OR b;
c <= a OR b after 10 ns;
35
Technika cyfrowa
Entity – jednostka projektowa
KaŜdy moduł projektu w VHDL musi zawierać jednostkę
projektową entity.
Jednostka projektowa (entity) w VHDL oznacza konstrukcję
słuŜącą do specyfikacji interfejsu dokomunikacji ze światem
zewnętrznym.
ENTITY moj_projekt
Porty wejściowe
Nazwa
i0
i1
.
.
.
im
Porty wyjściowe
modułu
moj_projekt
o0
o1
.
.
.
on
36
18
Technika cyfrowa
Entity – jednostka projektowa
KaŜda jednostka projektowa (entity) w projekcie musi posiadać
unikalną nazwę
Wejścia i wyjścia w projekcie noszą nazwę portów (PORTS)
Typy portów:
in – port wejściowy
out – port wyjściowy
inout – port dwukierunkowy, wykorzystywany w sytuacji, gdy
dane przekazywane są przez moduł bez ich zmiany
37
Technika cyfrowa
Entity – jednostka projektowa
Deklaracja entity
entity moj_projekt is
port(
i0, i1, i2, i3: in bit;
o0, o1, o2: out bit
);
end moj_projekt;
ENTITY moj_projekt
Porty wejściowe
Porty wyjściowe
Nazwa
i0
i1
i2
i3
modułu
moj_projekt
o0
o1
o2
38
19
Technika cyfrowa
Generic – parametry ogó
ogólne
Wykorzystywana do parametryzacji projektu – jednostki
projektowej
Składa się z ogólnej listy interfejsu (generic interface list), w
której zdefiniowane są parametry jednostki projektowej
(formal generic constants)
Elementy składowe ogólnej listy interfejsu mogą być jedynie
stałymi rodzaju in (rodzaj jest pomijany w części
deklaracyjnej)
39
Technika cyfrowa
UŜycie generic
Składnia generic
Brak określenia
portu
entity projekt_testowy is
generic(N: integer);
port(
a_in, b_in: in bit_vector(N-1 downto 0);
stat: in bit;
y_out: out bit_vector (N-1 downto 0);
);
end projekt_testowy;
Deklaracja generic jest widoczna dla wszystkich architektur
opartych na danej jednostce projektowej (entity)
40
20
Technika cyfrowa
Architecture – implementacja jednostki projektowej
Ciało architektury (architecture) definiuje sposób działania
jednostki projektowej od pobrania danych z portów
wejściowych do wygenerowania danych na portach
wyjściowych.
Istnieje moŜliwość przyporządkowania wielu architektur do
jednej jednostki projektowej:
• cecha uŜyteczna w podejściu top down – dedykowana
architektura opisuje kolejne stopnie redefinicji na róŜnych
poziomach abstrakcji
• Potrzeba opisu róŜnych wariantów tego samego modułu
41
Technika cyfrowa
Architektura
Składnia architecture
architecture behaw of projekt_testowy is
signal a, b, c: bit;
begin
suma <= a XOR b;
end behaw;
42
21
Technika cyfrowa
Przykł
Przykład prostego projektu
43
22