View
0
Download
0
Category
Preview:
Citation preview
Programowalne układy logiczne
kod kursu: ETD008270
Wprowadzenie do techniki FPGA
W1 – 1.03.2019
mgr inż. Maciej Rudek
Informacje…
Prowadzący:
mgr inż. Maciej Rudek
Konsultacje:
Wt: 015a/104b C2 g. 10-12
Cz: 015a/104b C2 g. 10-12
Strona kursu:
http://www.w12.pwr.wroc.pl/mikro/
Kontakt:
email: maciej.rudek@pwr.edu.pl
lab. 015a lub 104b w C2
tel. 71 320 3651
2
Kalendarz - wykład
Zajęcia od1marca do 17 maja Kolokwium 31 maja
3 Zajęcia połówkowe 8:00 – 9:30
Kalendarz - projekt
Zajęcia pełne TN
Oddanie projektu 4
Zajęcia pełne TP
Oddanie projektu
Wymagania wstępne … cel …
5
Zakładam, że podstawy już opanowane…
W tym roku ciąg dalszy techniki cyfrowej i VHDL-a… w praktyce
Tematyka kursu – wykład
6
Tematyka kursu - projekt
7
8 spotkań po 2 godz. (90 min) i 1 spotkanie 1 godz. (45 min)
/ Quatrus Prime - ?
Zaliczenie …
8
• Wykład: cykl 7 wykładów
– kolokwium zaliczeniowe -> test wyboru,
– termin: ostatni wykład tj. 31 maja 2019 godz. 8:15,
– poprawa: odpowiedź ustna (?)
• 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.
Zaliczenie … zajęcia projektowe
9
Realizacja projektu: od drugich zajęć
O jezyku Verilog i układach programowalnych FPGA:
[1] D. Kania, Układy logiki programowalnej, Podstawy syntezy i sposoby odwzorowania technologicznego,
Wydawnictwo PWN (2012)
[2] J. Majewski, P. Zbysiński, Układy FPGA w przykładach, Wydawnictwo BTC, 2007.
[3] P. Zbysiński, J. Pasierbiński, Układy programowalne pierwsze kroki, wydanie 2, BTC Warszawa, 2004
[4] J. Pasierbiński, P. Zbysiński, Układy programowalne w praktyce, Wydawnictwa Komunikacji i Łączności,
2001
[5] Z. Hajduk, Wprowadzenie do języka Verilog, Wydawnictwo BTC, 2009
[6] T. Łuba, B. Zbierzchowski, Komputerowe projektowanie układów cyfrowych, WKŁ, 2000
[7] Z. Hajduk, Wprowadzenie do języka Verilog, Wydawnictwo BTC, 2009
[8] P. Minns, E. Ian, FSM-based digital design using Verilog HDL, John Wiley & Sons, 2008
[9] P.P. Chu, FPGA prototyping by Verilog examples: Xilinx Spartan-3 version. John Wiley & Sons, 2011
[10] D. Donald, P. Moorby, The Verilog® Hardware Description Language, Vol. 2. Springer Science &
Business Media, 2002
Źródła internetowe:
[1] http://www.xilinx.com/training/free-video-courses.htm
[2] http://staff.uz.zgora.pl/rwisniew/instrukcje/inne/verilog/verilog_kurs.pdf
[3] http://fiona.dmcs.pl/~cmaj/Verilog/Kurs%20verilog.pdf
[4] https://neo.dmcs.pl/jhdl/private/verilog.pdf
[5] http://www.asic-world.com/verilog/veritut.html
[6] http://www.ece.umd.edu/class/enee359a/verilog_tutorial.pdf
[7] http://referencedesigner.com/tutorials/verilog/verilog_01.php
Literatura kursu
1
0
Prawo Moore’a
Prawo Moore’a
1965 –
przewiduje
wykładniczy
wzrost liczby
tranzystorów w
układach
scalonych co 12
– 18 miesięcy
… od tranzystora do FPGA
Pierwszy układ scalony, 1958
• 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 monolityczny układ
scalony,1959 12
Czym jest VLSI?
VLSI (Very-large-scale integration) – jest to proces łączenia ze sobą
tysięcy tranzysotrów w pojedynczym chipie krzemowym w celu
wykonania układu scalonego IC (integrated circuit). VLSI znane jest od
lat 70’ch i zanim się pojawiło układy elektroniczne pełniły tylko jedna
funkcję np. ROM, RAM, CPU. Wraz z pojawieniem się techniki VLSI
możliwe było wykonanie ich w pojedynczym chipie – jednym słowem
wspomaga procedurę projektową IC.
Skala integracji Liczba tranzystorów
SSI – Smal-Scale Integration 0 - 102
MSI – Medium-Scale In. 102-103
LSI – Large-Scale In. 103-105
VLSI – Very Large-Scale In. 105-107
ULSI – Ultra Large-Scale In. >= 107
Czym jest VLSI
Zasadniczo istnieją trzy typy zastosowania technologii VLSI:
• Analogowe – wzmacniacze, filtry, przetworniki danych,
pętle synchronizacji fazowych (PLL), sensory...
• ASIC – urządzenia które realizują ściśle określone
zadanie np.: procesory sygnałowe, układy graficzne,
kodeki dźwięku/grafiki…
• SoC (system on chip) kompletny układ cyfrowy, elementy
cyfrowe, analogowe, radiowe. Ze względu na złożoność
często poszczególne elementy pochodzą od różnych
dostawców
Procedura projektowa IC
Specyfikacja
Co ma dany układ wykonywać,
in/out
Architektura
Podstawowe zasoby, połączenia,
Rejestry-komunikacja
maszyny stanów, połączenia
Logika
Bramki, przełączniki, zatrzaski,
połączenia
Schemat
Tranzystory, elementy elektryczne,
połączenia
Weryfikacja
Realizacja - fabrykacja
Maski itp.
VLSI vs HDL vs ASICS vs FPGA
VHDL(VHSIC HDL czyli Very High Speed Integrated Circuit
Hardware Description Language) oraz VERILOG – są
językami programowania które pomagają w automatyzacji
projektowania IC. Umożliwiają projektowanie oraz
symulację, zanim zostanie wykonana fizyczna struktura.
Pozwala to na wykonanie układu na poziomie abstrakcji(?)
RTL (register transfer level) oraz pozwala na transfer „tego
czegoś” do postaci bramek logicznych oraz połączeń między
nimi – czyli przejście do wykonania schematu połączeń i
planowania rozmieszczenia elementów.
Co to takiego to RTL? I o co chodzi z
poziomami abstrakcji?
Poziomy abstrakcji
• Behavioral – najwyższy poziom abstrakcji, określa
zachowanie układu, lub jego otoczenie. Jego postać
zbliżona jest do algorytmu jak w programie
komputerowym, NIE jest syntezowalny.
• RTL – niższy poziom abstrakcji, Jest zdefiniowany przez
połączone ze sobą przerzutniki, multipleksery, zatrzaski
– określa sprzęt (hardware) który ma być wykorzystany
oraz sposób wymiany danych między tymi
komponentami. JEST syntezowalny.
• Gate level – najniższy poziom abstrakcji, z
wykorzystaniem elementów logicznych, bramek. Nie
musi być syntezowalny lub może być wynikiem syntezy.
VLSI vs HDL vs ASICS vs FPGA
Więc jaka jest różnica między VLSI a HDL?
• VLSI – są to duże układy oraz użyta
technologia do ich wytworzenia
• HDL – technika opisu sprzętu za pomocą
języka VHDL lub/i Verilog
VLSI vs HDL vs ASICS vs FPGA
FPGA vs ASIC
FPGA
• Krótszy czas wprowadzania produktu
• Brak początkowe wydatków na NRE (non-recurring
engineering)
• Prostsze cykl projektowania
• Bardziej przewidywalny cykl projektu
• Reprogramowalne pola
ASIC
• Pełna możliwość niestandardowej konfiguracji
• Niższe koszty jednostkowe (przy wielkich partiach
produkcyjnych)
• Small Form Factor – SSF – zmniejszanie rozmiarów
urządzenia do minimum
Producenci ukł. programowalnych
21 , 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ń.
22
Klasyfikacja układów logicznych
23
24
Cel stosowania
logicznych układów programowalnych
Załóżmy, że musimy powielić ten schemat 100 razy …
… a to jego fizyczna realizacja 30 lat temu
1 układ scalony
PAL - Programmable Logic Arrays
PLA - Programmable Array Logic
Szkic architektury układów PLD o strukturze PAL i PLA
Standardowy symbol bramki AND i jego odpowiednik w
diagramie struktury PLA, PAL zajrzyjmy do wnętrza …
25
GAL 16V8
PLD
26
Architektura układów CPLD i FPGA
Szkic architektury układów CPLD oraz FPGA
CPLD FPGA
CPLD – zapewnia stałe opóźnienie, przewidywalne czasy propagacji
Podział układów programowalnych
Procesory strukturalne Procesory proceduralne
ASIC/ASSP PLD
SPLD HCPLD
PROM CPLD
FPGA PLE PLA PAL
GAL
PLE – OR
PLA – AND
PAL – OR i AND
GAL – PAL + rekonfiguracja
Struktura wewnętrzna
PROCESOR,
MIKROKONTROLER
FPGA
28
Macierze połączeniowe
29
Technologia połączeń wewnętrznych
• FUSE – bezpieczniki
• ANTIFUSE – antybezpieczniki • 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
• 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 • 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 30
XILINX vs ALTERA
XILINX ALTERA MAX 10
XILINX vs ALTERA
XILINX vs ALTERA
configurable logic blocks CLB - XILINX
Logic array blocks LAB - ALTERA
Przykładowe pytania
1. Klasyfikacja układów programowalnych.
2. Wskazać zasadnicze różnice między układami PLA, PLE oraz PAL.
3. Wskazać różnice w budowie układów CPLD oraz FPGA.
4. Czym różni się VLS od FDL?
5. Czym różnią się układy HCPLD od SPLD?
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ę ?
9. Jakie są poziomy napięć akceptowane przez układy FPGA ?
35
Programowalne układy logiczne
kod kursu: ETD008270
Wprowadzenie do Altery
W1 – 22.02.2018
mgr inż. Maciej Rudek
Makieta - Altera
FPGA 10M08DAF256C8GES
• 8000 komórek LE
• 378 kb konfigurowalnej pamięci M9K
• 1376 kb wewnętrznej pamięci Flash dla
aplikacji użytkownika
• Flash
• Wewnętrzny generator
• 12-bitowy przetwornik ADC @1MSPS
• 24 sprzętowe multiplikatory
• 2 wewnętrzne generatory PLL
• sensor temperatury
• interfejsy LVDS
Makieta - Altera
• 5 kanałów ADC (12 bitów/1 MSPS) z ochroną nadnapięciową (zakres pomiarowy
0…+2,5 V)
• Interfejs HDMI (z warstwą fizyczną CEC oraz DDC)
• Interfejs wideo VGA
• Generator sygnału zegarowego 10 MHz
• 4 diody LED dla aplikacji użytkownika
• 2 diody LED sygnalizacyjne (zasilanie, konfiguracja FPGA)
• Potencjometr analogowy
• Gniazdo karty Flash MicroSD
• Złącze konwertera USB/UART
• Zasilacz na układach Altera Enpirion
• Przycisk globalnego zerowania
• Zasilanie z USB (z bezpiecznikiem polimerowym) lub napięciem 5 V z zewnętrznego
zasilacza
• Złącze JTAG zgodne z USB Blasterem
Wybór na stronie
https://www.altera.com/products/design-software/fpga-design/quartus-
prime/download.html
Wybór na stronie
Wybór na stronie
Pobieranie plików
Instalacja
Instalacja
Obsługa programu
10M08DAF256C8GES
Makieta
• Czujnik temperatury STLM20W87F
firmy STMicroelectronics
• Cztery wyświetlacze 7-segmentowe,
sterowane multipleksowo
• Dwie diody wielokolorowe (RGB)
typu WS2812B
• Wbudowane dwa przyciski
użytkownika oraz przycisk
zerowania
Programowalne układy logiczne
kod kursu: ETD008270
Wprowadzenie projektów
mgr inż. Maciej Rudek
Tematyka kursu - projekt
5
0
8 spotkań po 2 godz. (90 min) i 1 spotkanie 1 godz. (45 min)
TERMIN 2
5
1
1. Wybór tematu projektu (przemyśleć): • lista na stronie www,
• propozycja własna.
2. Założenia projektowe do wybranego tematu: • układ, urządzenie, peryferia,
• ogólna koncepcja, zasada działania, zastosowanie.
3. Proces realizacji: • schemat działania, diagram przepływu danych, algorytm
• opis symboli, bloków.
4. Zasoby sprzętowe: • ilość potrzebnych układów peryferyjnych,
• ocena możliwości implementacji w sprzęt.
Ocena na podstawie raportu *.doc, z powyższych punktów
TERMIN 3-6
5
2
1. Realizacja koncepcji projektowej • kod VHDL,
• diagramy, maszyna/y stanów itp…,
• ograniczenia.
2. Kodowanie • testy, głównie testbench,
• komponenty,
• schemat kodowy,
• troska o zasoby sprzętowe.
3. Implementacja • testy poszczególnych funkcjonalności ze sprzętem,
• testowanie peryferiów, np. DAC, ADC, DS18B20 itp.
Ocena na podstawie postępów – realizacji założeń
TERMIN 8
5
3
Oddanie projektu
Zaliczenie: na podstawie projektu oraz ocen cząstkowych:
waga oceny z projektu indywidualnego: 65%
Proszę brać pod uwagę fakt, że na realizacją projektu należy poświęcić
więcej czasu niż wynika to z ilości godzin przeznaczonych na projekt.
Dokumentacja:
Prezentacja ustna
- PPT 5 – 7 min
Test ze sprzętem
- implementacja
Dokumentacja projektu - zawartość
5
4
1. Temat projektu
2. Ogólny opis projektu z zaznaczeniem jego funkcji
3. Założenia projektowe, ograniczenia, koncepcja
4. Zastosowane urządzenia peryferyjne np. LCD, ADC, itp. lista wraz z
opisem zasady działania
5. Schematy maszyn stanów, diagramy przepływu danych, opis
realizowanych funkcji przez poszczególne bloki
6. Podział projektu na komponenty
7. Schemat projektu generowany z ISE
8. Symulacja – test bench
9. Raport z syntezy HDL, wykorzystane zasoby
10. Wynik implementacji
11. Wnioski
5
5
Lista tematów
1. Analizator stanów logicznych.
2. Cyfrowy regulator PID - sterowanie temperaturą.
3. Obsługa interfejsu VGA - wyświetlenie dowolnego tekstu na ekranie
monitora.
4. Obsługa interfejsu PS2 - odczyt danych z klawiatury komputera.
5. Obsługa wyświetlacza LCD ze sterownikiem HD44780.
6. Obsługa portu szeregowego - komunikacja z PC.
7. Częstotliwościomierz sygnałów okresowo zmiennych.
8. Generator sygnału sinusoidalnego o regulowanej częstotliwości.
9. Generator sygnałów arbitralnych.
10. Trójkanałowy sterownik PWM o regulowanych parametrach.
11. Realizacja maszyny stanów - pralka, automat do kawy itp...
12. Implementacja algorytmu szybkiej transformaty Fouriera - FFT.
5
6
Lista tematów
13. Odbiornik SDR - Software Defined Radio.
14. Obsługa interfejsu USB - komunikacja z PC.
15. Obsługa interfejsu ETHERNET - serwer lub klient, komunikacja.
16. Termometr DS18B20 - pogodynka
17. Organki – syntezer częstotliwości
18. Zegar czasu rzeczywistego – godziny, minuty, sekundy
19. Stoper – licznik czasu
20. Woltomierz, multimetr analogowy
21. Sterowane enkoderem źródło napięcia w zakresie działania
przetworników DAC
22. Modulator, modulacja amplitudowa sygnałów
23. Implementacja własnego procesora w strukturze programowalnej
24. Jednostka ALU – kalkulator
57
Obsługa portu szeregowego - komunikacja z PC
Projekt powinien zawierać: - informację na temat transmisji szeregowej
(wymagane linie, poziomy napięć),
- specyfikacja sprzętowa,
- budowa ramki danych,
- maszyna stanów,
- kod, symulacja
- implementacja
Obsługa portu szeregowego - komunikacja z PC
Projekt powinien zawierać: - testy komunikacji z PC np. przez Docklight, Terminal, Putty
58
Analizator stanów logicznych
59
Projekt powinien zawierać: - specyfikację, czyli informację o parametrach sygnałów wejściowych: poziomy logiczne,
możliwość identyfikacji standardowych ramek, pakietów danych
- specyfikacja sprzętowa, jak będzie prezentowany wynik analizy, ile kanałów będzie
obsługiwanych,
- sposób implementacji projektu,
- kod, testy
- implementacja
Prezentacja wyniku:
- wyświetlacz alfanumeryczny 2 x 16,
- wyświetlacz 4 x 7 segmentów,
- monitor,
- transmisja do PC
Termometr DS18B20 - pogodynka
60
Projekt powinien zawierać: - specyfikację, zakres mierzonych temperatur,
- schemat połączeniowy
- informacje na temat interfejsu 1-wire,
- sposób prezentacji wyniku,
- sposób implementacji projektu,
- kod, testy
- implementacja
Prezentacja wyniku:
- wyświetlacz alfanumeryczny 2 x 16,
- wyświetlacz 4 x 7 segmentów,
- monitor,
- transmisja do PC,
- diody LED
Woltomierz, multimetr analogowy
61
Prezentacja wyniku:
- wyświetlacz alfanumeryczny 2 x 16,
- wyświetlacz 4 x 7 segmentów,
- monitor,
- transmisja do PC,
- diody LED
Projekt powinien zawierać: - specyfikację, zakres mierzonych napięć,
- schemat połączeniowy, blokowy,
- informacje na temat wykorzystywanych układów peryferyjnych DAC, ADC itp..
- sposób prezentacji wyniku,
- sposób implementacji projektu,
- kod, testy
- implementacja
Zegar czasu rzeczywistego, stoper
62
Prezentacja wyniku:
- wyświetlacz alfanumeryczny 2 x 16,
- wyświetlacz 4 x 7 segmentów,
- monitor,
- transmisja do PC,
- diody LED
Projekt powinien zawierać: - specyfikację, czyli co i jak długo liczymy co wyświetlamy,
- schemat połączeniowy, blokowy
- sposób prezentacji wyniku,
- sposób implementacji projektu,
- kod, testy
- implementacja
Pytania …?
sugestie …?
uwagi …?
63
Wprowadzenie do środowiska
ISE WebPACK
Strona
https://www.xilinx.com/support/download/index.html/content/xilinx/en/downloadN
av/design-tools.html 65
Xilinx Ise WebPACK
66
Xilinx Ise WebPACK
67
Xilinx Ise WebPACK
68
Xilinx Ise WebPACK
Zintegrowane środowisko Xilinx Ise WebPACK:
- implementacja układów cyfrowych,
- oraz złożonych funkcjonalności.
69
Xilinx Ise WebPACK
70
Tworzenie opisu sprzętu na
podstawie:
- VHDL,
- Verilog,
- Schematu.
Testowanie funkcjonalności:
- Test Bench
Łączenie funkcjonalności:
- pakiety,
- moduły
- systemy wbudowane np.
PicoBlaze
Xilinx ISE – we/wy - Plan Ahead
Processes
User Constraints
I/O Pin Planning
Zintegrowane
środowisko
projektowania,
planowania rozkładu
pinów, analizy
czasowej , lokowania
zasobów 71
Plan Ahead - I/O Planner View
Rozmieszczenie pinów I/O układu,
- odwzorowanie rzeczywiste
Widok wnętrza struktury układu
FPGA, zasoby 72
Znaczenie symboli pinów I/O S
yg
nał
GN
D
Dystrybucja zegara: dedykowane linie i wejścia układu do dystrybucji szybkich
sygnałów zegarowych zapewniające minimalne nierównomierności czasów pojawienie
się zboczy zegara. Możliwy jest dostęp do linii zegarowych poprzez globalne bufory
z wyprowadzeń układu lub z linii połączeniowych ogólnego przeznaczenia
Zas
ila
nie
VC
C
Pin
og
óln
eg
o
prz
ezn
ac
zen
ia z
mo
żli
wo
ścią
dys
try
bu
cji
sy
gn
ału
zeg
aro
weg
o
Pin
og
óln
eg
o
prz
ezn
aczen
ia
Pin
ko
nfi
gu
racyjn
y
Pin
nie
po
dłą
czo
ny d
o
str
uktu
ry w
ew
nętr
zn
ej
Pin
in
terf
ejs
u J
TA
G
(TM
S,
TD
O,
TC
K,
TD
I)
73
Plan Ahead – RTL – diagram
Symboliczna reprezentacja zawartości
struktury programowalnej 74
Plan Ahead – konfiguracja I/O
Możliwe opcje konfiguracji portów, linii
wejścia/wyjścia
75
Poziomy logiczne I/O
Prąd wyjściowy dla
określonych standardów
76
Stany I/O
Możliwe opcje konfiguracji portów, linii
wejścia/wyjścia
Schemat połączeń wewnętrznych w
obrębie portów wejścia/wyjścia
Pin wejścia/wyjścia
- możliwość komunikacji ze
światem zewnętrznym
sterowalny „pull up”
sterowalny „pull down”
stan pływający
„weak keeper”
77
Opcje we/wy - Netlista
Wymagania dla projektu są zadawane w pliku UCF (User Constraints File):
- wyprowadzenia układu (który sygnał na której końcówce),
- wymagania czasowe (częstotliwość zegara, maksymalne opóźnienia),
- wymagania na rozmieszczenie komponentów. 78
Opcje we/wy - Netlista
79
Tworzenie netlisty: sieć połączeń wewnętrznych
NET – sygnał,
LOC – lokalizacja wewnątrz układu,
IOSTANDARD – standard sygnału wyjściowego itp.
PULLUP, PULDOWN … - sposób „podciągania” we/wy do potencjału
Xilinx ISE – programowanie - Impact
Konfiguracja
• polega na zapisie tzw. bitstream do
pamięci konfiguracyjnej układu FPGA,
• tryby konfiguracyjne: slave serial,
master serial, slave parallel oraz
boundary-scan,
• boundary-scan umożliwia zeskanowanie
wszystkich we/wy układu,
• odczyt konfiguracji z pamięci FLASH lub
PROM,
• wykorzystanie protokołu JTAG, IEEE 1149
• Readback – możliwość odczytania danych
konfiguracyjnych układu wraz ze stanem
wszystkich przerzutników, pamięci RAM,
LUT
80
Recommended