LiveDesign w praktyce, cz.2.pdf

(648 KB) Pobierz
ep_04_093-095_livedesign_cz2.indd
K U R S
LiveDesign w praktyce,
część 2
W poprzednim numerze EP wprowadziliśmy Czytelników do
projektowania układów programowalnych za pomocą systemu
DXP 2004 firmy Altium. Mając zainstalowane narzędzia i
środowisko LiveDesign gotowe do pracy, czas zabrać się za
pierwszy projekt na układzie FPGA.
Zanim utworzymy pierwszy do-
kument projektu, warto zapoznać
się z diagramem ( rys. 7 ), który po-
kazuje proces projektowania układu
FPGA, za pomocą narzędzi wcho-
dzących w skład systemu DXP 2004
firmy Altium. Diagram przedsta-
wia dość szeroki obszar projekto-
wania, ponieważ obok samego pro-
jektu warstwy sprzętowej ( *.PrjFpg ),
obejmuje również tworzenie opro-
gramowania dla systemu wbudowa-
nego ( *.PrjEmb ). To przypadek ogól-
ny, który ma miejsce podczas projek-
towania systemu mikroprocesorowe-
go, gdzie obok projektu układu lo-
gicznego (sprzęt), tworzymy oprogra-
mowanie dla mikroprocesora. Choć
obie części projektu mogą powsta-
wać osobno, to system DXP 2004
integruje tworzenie warstwy sprzę-
towej i programowej, co znakomicie
ułatwia uruchamianie układu, a po-
nadto pozwala na równoległe prowa-
dzenie projektu w obu wymiarach.
Trzeba pamiętać, że projektowanie
prawdziwego urządzenia nie kończy
się na układzie programowalnym.
Układ FPGA musi zostać osadzony
na płycie drukowanej, którą może-
my tworzyć niezależnie, ale korzy-
stając z narzędzi do PCB, wchodzą-
cych w skład systemu DXP 2004 fir-
my Altium, również w tym wymia-
rze mamy pełną integrację pomiędzy
projektem FPGA i PCB.
Kurs zaczynamy od prostego pro-
jektu układu licznika Johnsona, któ-
rego schemat pokazujemy na rys. 8 .
Dzisiaj skupimy się na początkowym
etapie projektowania, czyli tworzeniu
schematów z wykorzystaniem uniwer-
salnych elementów bibliotecznych,
które pozwolą nam na implementa-
cję projektu w dowolnym układzie
FPGA. Do realizacji tej części pro-
jektu wystarczy licencja Circuit Stu-
dio – najprostszy produkt z rodziny
DXP 2004.
W kolejnym odcinku pokażemy,
jak uruchomić i przetestować przy-
kładowy projekt na płycie urucho-
mieniowej z układem programowal-
nym. Pokażemy również przykład
wykorzystania opisu w języku VHDL.
W dalszych częściach przyjdzie czas
na systemy mikroprocesorowe ( SoC )
i tworzenie oprogramowania dla
Rys. 7. Diagram ilustrujący cykl projektowania układu FPGA
nich oraz integrację projektu FPGA z
PCB. Do realizacji tak kompleksowe-
go zakresu projektu, niezbędna jest
licencja Nexar-Protel, która obejmu-
je cały zakres funkcjonalny systemu
DXP2004.
Przykładowy projekt licznika John-
sona znajduje się w plikach dostarcza-
nych wraz z oprogramowaniem w ka-
talogu \Altium2004\Examples\Tutorials\
Getting Started with FPGA Design .
Zaczynamy…
… od utworzenia projektu. Nie-
zmienną zasadą w DXP jest, nieza-
leżnie od rodzaju projektu, że pracę
rozpoczynamy od utworzenia pliku
projektu. Plik projektu łączy wszyst-
kie dokumenty źródłowe i wyjściowe
oraz część informacji konfiguracyj-
nych. W przypadku układu progra-
mowalnego, musimy utworzyć Projekt
FPGA, który charakteryzuje się roz-
Elektronika Praktyczna 4/2005
93
27834832.051.png 27834832.056.png
K U R S
Rys. 8. Schemat licznika Johnsona projektowanego za pomocą DXP2004
szerzeniem nazwy *.PrjFpg . DXP2004
obsługuje jeszcze kilka innych typów
projektu, w tym PCB z rozszerze-
niem *.PrjPcb , czy projekt oprogra-
mowania wbudowanego - *.PrjEmb ,
do których wrócimy w przyszłości.
Uruchamiamy środowisko DXP
2004 i tworzymy nowy projekt, wybie-
rając z menu File>New>Project>FPGA
Project lub klikając opcję Blank Project
(FPGA) w sekcji New panelu Files . W
panelu Projects , pokazanym na rys. 9 ,
widać nowy plik projektu.
Zmieniamy nazwę utworzonego
właśnie projektu, wybierając z menu
File>Save Project As . Wybieramy loka-
lizację na dysku, gdzie ma zostać za-
pisany nasz plik, wpisujemy jego na-
zwę np . Licznik_Johnsona.PrjFpg i kli-
kamy przycisk Save . Należy unikać
spacji w nazwach plików, ponieważ
może to powodować problemy w dal-
szych etapach procesu projektowania.
Spacje w nazwach plików najlepiej
zastępować znakiem podkreślenia.
ty oraz pliki w języku opisu sprzę-
tu (HDL). System DXP2004 obsługu-
je język VHDL, a od wersji Service
Pack 2, również język Verilog. Mo-
żemy mieszać schematy z kodem
HDL, zależnie od potrzeb, jednak
schemat zawsze jest najwyższym ele-
mentem struktury w projekcie FPGA.
Części projektu opisane w języku
HDL, reprezentowane są przez sym-
bole arkusza na schemacie, podob-
nie jak klasyczne arkusze podrzędne
w projekcie hierarchicznym. W na-
szym przykładzie cały projekt two-
rzymy w formie jednego schematu,
natomiast później uzupełnimy go o
część spowalniającą działanie liczni-
ka, aby można było wizualnie zaob-
serwować jego efekt działania w po-
staci przemieszczającego się światła
na linijce LED na płycie uruchomie-
niowej. Część spowalniająca zostanie
zrealizowana raz w formie schema-
tu, a następnie w języku VHDL.
Tworzymy nowy dokument sche-
matu dla licznika Johnsona, wybie-
rając z menu File>New>Schematic
lub klikając opcję Schematic Sheet w
sekcji New panelu Files . Nowy plik
schematu, nazwany Sheet1.SchDoc ,
pojawi się w panelu Project . Zmie-
niamy nazwę nowego schematu, wy-
bierając z menu File>Save As . Wy-
bieramy lokalizację na dysku, gdzie
ma zostać zapisany plik, wpisujemy
jego nazwę np. Licznik_Johnsona.
SchDoc i klikamy przycisk Save .
Rys. 10. Widok panelu Libraries
ric mogą być stosowane bez wzglę-
du na typ układu FPGA, na któ-
rej zaimplementujemy nasz projekt.
Dzięki temu projekt jest przenośny,
a wybór konkretnego układu FPGA
możemy zostawić na koniec, a na-
wet przygotować kilka konfiguracji,
do implementacji na różne platfor-
my. Wraz z DXP 2004 otrzymujemy
również inne biblioteki, dedykowane
dla konkretnych układów, które znaj-
dziemy w podkatalogach pogrupowa-
nych wg nazw producentów w ka-
talogu \Program Files\Altium2004\Li-
brary . Wspomniane biblioteki mają
nazwy zbudowane według wzorca
( *FPGA.IntLib ) i są przeznaczone do
wykorzystania w projektach, w któ-
rych z góry zakładamy producenta i/
lub typ układu programowalnego. Ta-
Tworzymy schematy…
…które będą dokumentami źró-
dłowymi w naszym projekcie. Pro-
jekt FPGA bazuje na dwóch typach
dokumentów źródłowych – schema-
Jak kupić zestaw LiveDesign
Evaluation?
Zestaw ewaluacyjny LiveDesign jest dostępny za
pośrednictwem sieci dystrybucji firmy Altium na całym
świecie. Cena zestawu w Europie wynosi 99 EUR, dla
wersji z płytą ewaluacyjną z układem Altera lub Xilinx
oraz 49 EUR dla wersji z interfejsem JTAG, który
umożliwia podłączenie obcej płyty uruchomieniowej
do systemu DXP 2004. W obu przypadkach należy
doliczyć podatek VAT i koszty przesyłki.
Zestaw ewaluacyjny LiveDesign można zamówić
wypełniając formularz na stronie http://www.altium.
com/evaluation/ lub bezpośrednio kontaktując się z
firmą Evatronix – dane kontaktowe na http://www.
evatronix.com.pl/kontakt/ . Dostawa trwa około tygodnia
od potwierdzenia zamówienia i uregulowania należności.
Rys. 9. Panel Project
Układamy elementy…
… na nowym arkuszu schematu,
korzystając z podstawowej bibliote-
ki elementów, która znajduje się w
katalogu \Program Files\Altium2004\Li-
brary\FPGA\FPGA generic.IntLib . Ta bi-
blioteka jest zainstalowana domyślnie
i dostępna w panelu Libraries , wi-
docznym na rys. 10 .
Elementy z biblioteki FPGA Gene-
94
Elektronika Praktyczna 4/2005
27834832.057.png 27834832.058.png 27834832.001.png 27834832.002.png 27834832.003.png 27834832.004.png 27834832.005.png
K U R S
kie projekty mają ograniczoną prze-
noszalność, dlatego zaleca się ko-
rzystanie z tych bibliotek tylko w
uzasadnionych sytuacjach.
Nasz przykładowy licznik John-
sona składa się z kilku elemen-
tów. Wybieramy z rozwijanej li-
sty w panelu Libraries bibliote-
FPGA Generic.IntLib . Następnie
szukamy elementu SR8CLEDB , naj-
prościej wpisując część jego na-
zwy w okienku maski, poniżej
nazwy biblioteki. Wybieramy ele-
ment z listy i klikamy przycisk
Place SR8CLEDB lub przeciągamy
myszką wybrany element na ar-
kusz schematu. Kładziemy wybra-
ny element we właściwej części ar-
kusza, nie zwracając uwagi na usta-
wienia prawidłowej nazwy elemen-
tu. Oznaczenia elementów uzupełni-
my później.
W naszym układzie musimy zasto-
sować jeszcze element 8-bitowej ma-
istrali wejściowej ( J8B_8S ) , sześć in-
werterów ( INV ), jedną bramkę OR
( OR2N2S ) i dwa przerzutniki ( FJKC ).
Elementy wyszukujemy i umieszcza-
my w podobny sposób jak wcześniej.
Potrzebujemy jeszcze kilku por-
Rys. 11. Widok okna dialogowego PowerPort
ty zasilania, które dodajemy z
menu Place>Power Port lub kli-
kając ikonę GND na pasku narzę-
dziowym Wiring . Następnie przy
pomocy klawisza TAB uzyskuje-
my dostęp do okna dialogowego
Power Port , żeby zmienić wygląd
portu na symbol masy i upew-
nić się, że ma ustawioną etykietę
GND, jak na rys. 11 . Porty masy
umieszczamy w pobliżu wypro-
wadzenia CLR dolnego przerzutni-
ka FJKC oraz obok wyprowadzenia
CLR elementu SR8CLEDB . Ponadto,
podłączamy symbol masy z etykie-
GNDBUS[..] do wyprowadzenia
szyny D[7..0] układu SR8CLEDB .
Przygotowany arkusz schema-
tu zawiera już wszystkie elemen-
ty układu. Teraz pozostaje poprowa-
dzić połączenia w taki sposób, aby
otrzymać obwód wyglądający, jak na
schemacie z rys. 8. Niecierpliwym
Czytelnikom polecam samodzielne
eksperymentowanie, a wszystkich
zapraszam za miesiąc na kolejną
część cyklu, w której dokończymy
nasz projekt i przejdziemy do etapu
konfiguracji i uruchamiania układu.
Grzegorz Witek, Evatronix
tów, które zapewnią połączenie z
elementami na płycie uruchomienio-
wej. Pierwszą wersję projektu przy-
gotujemy dla płyty NanoBoard, więc
potrzebne elementy znajdziemy w
bibliotece FPGA NanoBoard Port-Plu-
gin.IntLib , która jest również domyśl-
nie zainstalowana w panelu Libra-
ries . Na koniec nadajemy numerację
elementów, korzystając z poleceń w
menu Tools>Quiet Annotate lub To-
ols>Force Annotate All . Oznaczenia
zostaną naniesione automatycznie.
Pozostaje jeszcze umieścić por-
Elektronika Praktyczna 4/2005
95
27834832.006.png 27834832.007.png 27834832.008.png 27834832.009.png 27834832.010.png 27834832.011.png 27834832.012.png 27834832.013.png 27834832.014.png 27834832.015.png 27834832.016.png 27834832.017.png 27834832.018.png 27834832.019.png 27834832.020.png 27834832.021.png 27834832.022.png 27834832.023.png 27834832.024.png 27834832.025.png 27834832.026.png 27834832.027.png 27834832.028.png 27834832.029.png 27834832.030.png 27834832.031.png 27834832.032.png 27834832.033.png 27834832.034.png 27834832.035.png 27834832.036.png 27834832.037.png 27834832.038.png 27834832.039.png 27834832.040.png 27834832.041.png 27834832.042.png 27834832.043.png 27834832.044.png 27834832.045.png 27834832.046.png 27834832.047.png 27834832.048.png 27834832.049.png 27834832.050.png 27834832.052.png 27834832.053.png 27834832.054.png 27834832.055.png
Zgłoś jeśli naruszono regulamin