K U R S
Układy FPGA w przykładach,
część 3
Kontynuujemy prezentację zasobów dostępnych w układach FPGA cymi strukturę logiczną zaprojek-
towaną przez użytkownika (patrz
z rodziny Spartan 3. W tej przedostatniej teoretycznej części
EP11/2006) z otoczeniem.
kursu omawiamy budowę komórek I/O oraz zasady dystrybucji
Jak widać na rys. 12, komór-
sygnałów zegarowych w układach FPGA.
ka IOB składa się z trzech ścieżek
przepływu danych: ścieżki stero-
Komórki wejścia wyjścia ści) rozwiązania spotykane w mi- wania bufora HiZ (trójstanowego),
IOB krokontrolerach i innych układach ścieżki wyjściowej i ścieżki wej-
Budowa komórek I/O w układach cyfrowych. ściowej. Podstawowym zadaniem
Spartan 3 jest dość skomplikowana Zadaniem komórek IOB (Input ścieżki sterowania bufora HiZ jest
(rys. 12), ale możliwości oferowane Output Block) jest zapewnienie wytwarzanie sygnałów sterujących
przez nie przewyższają (pod wzglę- dwukierunkowej wymiany danych pracą wyjściowego bufora trójstano-
dem elastyczności i funkcjonalno- pomiędzy komórkami CLB tworzą- wego, który znajduje się w ścieżce
wyjściowej. Jej zadaniem jest z kolei
formowanie sygnałów wyjściowych,
podawanych na fizyczne wyprowa-
dzenie układu. Elementy zintegrowa-
ne w ścieżce wejściowej odpowiada-
ją między innymi za uformowanie
sygnałów podawanych z zewnątrz
do układu FPGA. Ponieważ linie
I/O w układach z rodziny Spartan 3
są przystosowane do współpracy
z różnymi standardami napięciowy-
mi, mogą one pracować także jako
wejścia różnicowe (symetryczne), to
w torach wejściowych zastosowano
analogowe komparatory napięcia. Je-
den z nich porównuje napięcie na
linii I/O z napięciem na linii VREF
(linia wspólna dla grup I/O), dru-
gi jest wykorzystany do
konwersji sygnału różni-
cowego (symetrycznego)
na asymetryczny, przy
czym trzeba pamiętać,
że w takim trybie pracy
wykorzystywane są dwie
linie I/O sąsiadujących
ze sobą komórek IOB.
Wszystkie ścieżki ko-
mórki IOB mają wbudo-
wane po dwa konfiguro-
walne przerzutniki, któ-
re można wykorzystać
m.in. podczas transmisji
danych w trybie DDR
(Double Data Rate), czy-
li z taktowaniem oby-
dwoma zboczami sygna-
łu zegarowego.
K a ż d y b l o k I O B
wyposażono w rezy-
story podciągające pull up i pull
down, które użytkownik może
Rys. 12. Budowa komórki IOB indywidualnie uaktywniać i odłą-
Elektronika Praktyczna 12/2006
100
K U R S
Rys. 13. Konfigurację linii I/O umożliwia m.in. edytor wymu-
szeń XilinxPACE
czać. Ponadto, każda linia I/O wyprowadzeń układu. Po-
jest wyposażona w tzw. pin keeper, niżej pokazano jedną linię
czyli przerzutnik utrzymujący na linii z pliku *.ucf, która opisuje
ostatni wymuszony z zewnątrz stan parametry linii I/O wypro-
logiczny, dzięki któremu nie ma ko- wadzającej sygnał o nazwie
nieczności dołączania do zewnętrzne- na_probe. Sygnał ten jest
go potencjału niewykorzystanych linii dołączony do wyprowadze-
I/O. Można go stosować wymiennie nia numer 87, jest zgod-
z rezystorami pull up i pull down. ny ze standardem napię-
Sterowanie dołączaniem rezystorów ciowym LVCMOS 3,3 V,
jest możliwe zarówno z poziomu opi- wydajność prądowa linii
su HDL jak i (co jest zdecydowanie I/O wynosi 16 mA, dołą-
łatwiejsze do opanowania i wygod- czony jest do niej pin ke-
niejsze w stosowaniu) z poziomu pli- eper. Dodatkowo ustalono,
ku wymuszeń UCF (User Constraints że prędkość zmian sygnału
File), w którym znajdują się także na wyjściu będzie miała
przypisania sygnałów do konkretnych maksymalną dopuszczalną
wartość (dyrektywa SLE-
W=FAST):
Plan kursu
NET na_probe LOC = P87
1. Wprowadzenie | IOSTANDARD = LVCMOS33 |
DRIVE = 16 | KEEPER | SLEW
" Budowa zestawu uruchomie-
= FAST;
niowego
Edycję pliku *.ucf Rys. 14. Możliwe konfiguracje I/O z aktywnym
" Programowanie i konfiguracja
można wykonać za pomo- modułem DCI
układu XC3S200
cą edytora tekstowego lub
" Tryby konfiguracji układu
w wielu przypadkach jest to wy- zasilanymi napięciem wyższym niż
XC3S200
" Zasilanie układu XC3S200 godniejsze za pomocą edytora wy- 3,3 V powinni zastosować konwerte-
" Linie I/O w układzie muszeń XilinxPACE, zintegrowanego ry poziomów (w konwerterach jedno-
XC3S200
w pakiecie WebPack ISE (rys. 13). kierunkowych układy TTL z rodziny
" JTAG jako uniwersalny
Jak widać na rys. 12, każda li- LVC/LCX) lub (zdecydowanie gor-
interfejs do programowania
nia I/O została zabezpieczona przed sze rozwiązanie) rezystory włączone
i konfigurowania
uszkodzeniem ESD za pomocą diod w szereg z linią I/O, ograniczające na-
2. Budowa, cechy funkcjonalne
włączonych szeregowo zaporowo. Po- tężenie prądu wpływającego/wypływa-
i parametry układów FPGA
woduje to ograniczenie maksymalne- jącego do/z linii I/O.
z rodziny Spartan 3
go napięcia na wejściu do wartości
" CLB
FPGA co trzeba o nich wiedzieć tip #7
z przedziału ok. VCCO 0,5 V&
" IOB
Sygnały globalne
VCCO + 0,5 V, nie ma więc moż-
" Globalne sygnały zegarowe Do dystrybucji sygnałów taktujących
liwości bezpośredniej współpracy ze
w układach FPGA jest zalecane
" DCM
standardowymi układami TTL lub
wykorzystywanie globalnych linii zegarowych.
" Sprzętowe multiplikatory
CMOS zasilanymi napięciem 5 V. Należy do nich dołączać możliwie duże grupy
" Pamięć BlockRAM
elementów taktowanych tym samym sygnałem
Użytkownicy zamierzający łączyć ze
3. Projekty przykładowe
zegarowym.
sobą układy Spartan 3 z układami
Elektronika Praktyczna 12/2006
101
K U R S
(funkcje alternatywne wybranych linii
List. 3. Sposób wykorzystania
I/O). Możliwe konfiguracje bufora wyj-
w projekcie globalnego bufora
ściowego z aktywnym DCI pokazano
sygnału zegarowego BUFG (prede-
na rys. 14. Odpowiednia konfiguracja
finiowany przez producenta)
BUFG_inst : BUFG
DCI jest uaktywniana automatycznie
port map (
po wybraniu trybu pracy I/O, co tak- O => moje_wyjscie,
I => moje_wejscie
że pokazano na rys. 14.
);
Globalne linie zegarowe
Sporo problemów sprawia począt- cześnie rolę buforów separujących
kującym użytkownikom układów PLD zródło sygnału zegarowego od tak-
zrozumienie koncepcji sygnałów glo- towanej logiki. Inne wymienione
balnych, dlatego postaramy się ją tu sygnały często traktowane w PLD
nieco rozjaśnić. jako globalne (tzn. zerujący/ustawia-
W typowych projektach występu- jący i zezwalający dla buforów trój-
ją trzy rodzaje sygnałów potrzebnych stanowych) w układach Spartan 3
jednocześnie w wielu miejscach ukła- nie zostały wyprowadzone na ze-
du FPGA (takie sygnały są nazywane wnątrz układów.
globalnymi), są to sygnały: zegarowe, Wykorzystanie w projekcie glo-
Rys. 15. Dystrybucja sygnałów zega- zerujący/ustawiający i sygnał zezwala- balnych linii zegarowych jest moż-
rowych połączeniami segmentowa- jący na pracę buforów trójstanowych liwe na kilka sposobów, z których
nymi powoduje m.in. zmniejszenie (szczególnie istotny w systemach opie- dwa są najbardziej popularne:
maksymalnej częstotliwości taktowa- rających się na komunikacji magistra- przypisanie linii rozprowadzają-
nia projektu lowej). Ponieważ standardowe zasoby cej sygnały taktujące wewnątrz
połączeniowe (pomiędzy CLB) w ukła- FPGA do wyprowadzenia GCLKx
Interesującym wyposażeniem ko- dach Spartan 3 jak na układy jest informacją dla syntezera, że
mórek IOB jest także blok DCI (Dy- FPGA przystało są podzielone na użytkownik chce wykorzystać
namically Controlled Impedance), któ- krótkie segmenty, to dystrybucja nimi globalną linię zegarową,
rego zadaniem jest dopasowanie falo- sygnałów potrzebnych w wielu miej- w opisie projektu (zarówno pi-
we (ma więc znaczenie dla sygnałów scach jednocześnie powoduje zajęcie sanego w HDL list. 3, jak
o dużej częstotliwości) linii I/O do ob- znacznej ich części przez niewielką i w postaci schematu rys. 17)
ciążenia. Impedancję wyjściową (sze- liczbę sygnałów (rys. 15). Dodatkową, można zastosować predefiniowa-
regową i równoległą) linii I/O dobiera negatywną konsekwencją segmento- ny bufor BUFG.
się za pomocą zewnętrznych rezysto- wych tras przesyłania sygnałów jest Skuteczność obydwu przedsta-
rów (po dwa na każdy zespół DCI), znaczne ich rozmycie w funkcji cza- wionych sposobów jest taka sama.
dołączonych do linii VRN i VRP su: czasy przebiegu silnie zależą od Jacek Majewski
trasy, a te zależą zarówno jacek.majewski@pwr.wroc.pl
od sposobu opisu HDL jak Piotr Zbysiński, EP
i algorytmów optymalizacyj- piotr.zbysinski@ep.com.pl
nych syntezera logicznego.
Jakkolwiek dystrybucja sy-
gnałów globalnych za po-
mocą połączeń lokalnych
jest możliwa, to nie jest
w praktyce możliwe uzy-
skanie stabilnej pracy tak
zaprojektowanego układu
z częstotliwościami taktowa-
nia bliskimi częstotliwości
maksymalnej, wynikającej
z parametrów czasowych
układu FPGA.
Generalna zasada
Układy Spartan 3 wy-
posażono w 8 globalnych
linii służących do dystry-
bucji niezależnych sygna-
łów zegarowych (rys. 16),
które są dołączane do
linii przesyłowych za Rys. 17. Atrybut globalności można
Rys. 16. Budowa systemu dystrybucji sygnałów pomocą multiplekserów nadać wybranej linii sygnałowej
zegarowych w układach Spartan 3 2/1 spełniających jedno- także w edytorze schematów
Elektronika Praktyczna 12/2006
102
Wyszukiwarka
Podobne podstrony:
uklady fpga w przykladachuklady fpga w przykladach 1uklady fpga w przykladachMacierze i układy równań przykładyUklady mikroprocesorowe Przyklady rozwiazan ukmiprUKŁADY PRZESTRZENNE PRZYKŁADOWE ZADANIA NA KOLOKWIUMUkłady hydrauliczne przykłady 1Mudry energetyczne układy dłoni(1)cw6 arkusz obliczeniowy przykladprzykładowy test AprzykladowyJrkusz150UM[1] drukowOEiM AiR Przykladowy EgzaminZnaczenie korytarzy ekologicznych dla funkcjonowania obszarów chronionych na przykładzie Gorcówprzykladowe zadania redokswięcej podobnych podstron