• Nie Znaleziono Wyników

Pakiet Active-HDL

W dokumencie Index of /rozprawy2/10323 (Stron 45-49)

Kolejne generacje układów FPGA umożliwiają implementację coraz bardziej rozbudowanych systemów cyfrowych. Presja, wywoływana rynkową konkurencją wśród producentów sektora elektronicznego, znacznie skraca czas dostępny na zaprojektowanie i właściwe przetestowanie opracowywanych urządzeń. Czynniki te przekładają się na wysokie wymagania funkcjonalne oraz wydajnościowe stawiane narzędziom programistycznym EDA wspomagającym proces projektowania.

Jednym z wiodących producentów oprogramowania EDA dla inżynierów zajmujących się układami reprogramowalnymi jest firma Aldec-ADT. Jej flagowy produkt, pakiet Active-HDL, stanowi zintegrowane środowisko dostarczające pełnego zestawu narzędzi niezbędnych do projektowania i weryfikacji układów cyfrowych wykorzystujących technologie FPGA oraz ASIC. Kluczowe elementy oraz cechy funkcjonalne pakietu Active-HDL obejmują m.in. [4]:

narzędzia projektowe Design Entry,

 szybki symulator,

 zestaw narzędzia do analizy i weryfikacji funkcjonalnej (debugowanie oraz profiler),

 automatyczną generację modułów testujących,

 zaawansowane zarządzanie projektem oraz pełne dokumentowanie prac projektowych,

46 W skład grupy Design Entry wchodzą podstawowe narzędzia służące do opisu poszczególnych modułów realizowanego projektu, zarówno w formie tekstowej, jak i graficznej. Obecnie większość projektantów systemów cyfrowych wykorzystuje języki opisu sprzętu, a ze względu na wysoki stopień złożoności bardzo często łączone są ze sobą elementy zapisane w postaci kodu VHDL, Verilog, SystemVerilog, jak również SystemC. Użytkownicy w ramach jednego środowiska mogą korzystać ze wszystkich wyżej wymienionych modułów. Dodatkowo Active-HDL pozwala na konwersję kodu zapisanego w formie tekstowej do postaci graficznej [4].

Symulator wbudowany w pakiet Active-HDL charakteryzuje się wydajnym, uniwersalnym jądrem obsługującym wszystkie wspierane języki opisu sprzętu. Projektant ma możliwość symulowania funkcjonowania fragmentów kodu zapisanych w językach VHDL, Verilog oraz SystemC. Proces oceny poprawności funkcjonowania kodu ułatwia szereg narzędzi do debugowania, m.in.:

edytor przebiegów (ang. Waveform Editor) - moduł umożliwiający edytowanie

symulowanych przebiegów,

okno podglądu (ang. Watch Window) - umożliwia przeglądanie wartości symulowanych

obiektów, takich jak sygnały, zmienne, rejestry,

podgląd pamięci (ang. Memory View) - umożliwia obserwację zawartości komórek pamięci

symulowanego modułu,

stos wywołań (ang. Call Stack) - umożliwia śledzenie ścieżki wywołania kolejnych funkcji

testowanego modułu oraz śledzenie wartości parametrów na jakich operują funkcje.

Dokładne sterowanie procesem symulacji, a tym samym obserwowanie poszczególnych etapów działania testowanego modułu, możliwe jest dzięki śledzeniu wykonania kodu z wykorzystaniem modułów Watch Window, Memory View, Call Stack oraz dzięki punktom przerwań (ang. break point).

Szybkie weryfikowanie skomplikowanych projektów ułatwiają automatyczne generatory modułów testujących (ang. testbench) bazujących zarówno na wykresach utworzonych za pomocą edytora przebiegów czasowych, jak również wygenerowanych bezpośrednio w trakcie trwania symulacji. Podobnie dla automatów stanów istnieje możliwość automatycznego wygenerowania modułów testbench pokrywających wszystkie zdefiniowane na diagramie przejścia.

Active-HDL nie jest dedykowany jednej konkretnej grupie układów FPGA – jego uniwersalna

architektura pozwala na wykorzystanie tego pakietu przez inżynierów pracujących z układami FPGA różnych producentów. Projektant za pomocą funkcjonalności Design Flow Manager może bezpośrednio w programie uruchomić dowolne narzędzie syntezy i implementacji, zarówno w trybie interaktywnym GUI (ang. Graphical User Interface), jak również w trybie wsadowym (ang. Batch

mode). Active-HDL zawiera przekompilowane i gotowe do użycia biblioteki symulacyjne (VHDL

oraz Verilog) udostępniane przez wszystkich producentów układów programowalnych. Dodatkowo pakiet wyposażony został w bogaty zestaw bibliotek schematów dla układów firmy Xilinx [4].

47

3.3. Płyta testowo-uruchomieniowa Digilab 2E firmy Digilent

Płyta FPGA Digilab 2E (D2E) firmy Digilent [21], przedstawiona na rysunku 3.1, jest ekonomiczną platformą testowo-uruchomieniową, wyposażoną w dużą liczbę złącz zewnętrznych interfejsów wejścia-wyjścia, niezbędnych do opracowywania różnorodnych układów cyfrowych.

Rys. 3.1. Umiejscowienie kluczowych komponentów na płycie FPGA Digilab D2E.

Charakteryzuje się ona następującymi parametrami:

 układ FPGA Spartan 2E XC2S200E firmy Xilinx [132],

jeden port równoległy EPP (ang. Enhanced Parallel Port) oraz jeden szeregowy RS-232,

 sześć 40-nóżkowych złączy rozszerzeń wejścia-wyjścia ogólnego przeznaczenia

(ang. general puropse I/O expansion connectors).

Schemat blokowy płyty D2E przedstawiono na rysunku 3.2. Większość dostępnych wyprowadzeń układu FPGA podłączonych zostało do portów rozszerzeń. Takie podejście z jednej strony zapewnia dużą elastyczność oraz zmniejsza cenę urządzenia, które w swej podstawowej konfiguracji zawiera jedynie elementy niezbędne do poprawnego funkcjonowania układu FPGA (zasilanie, układ programowania JTAG, rezonator kwarcowy, itp.). Z drugiej zaś strony użytkownik

48 zmuszony jest zakupić bądź zbudować we własnym zakresie niezbędne karty rozszerzeń, realizujące określone specyfiką danego projektu funkcje (porty komunikacyjne, sygnalizacja, sterowanie).

Port rozszerzeń E Gniazdo zasilające 5-9V DC Stabilizator 2.5 V Stabilizator 3.3 V Konwerter RS-232 Port RS-232 Bufor Port równoległy Przełącznik trybu programowania Port JTAG Port równoległy EPP lub SPP

Xilinx Spartan2E XC2S200E-PQ208 Port szeregowy Rezonator 50 MHz Port rozszerzeń A Port rozszerzeń F Port rozszerzeń B Port rozszerzeń D Przycisk kontrolny Dioda sygnalizacyjna LED Port rozszerzeń C

Rys. 3.2. Schemat blokowy płyty FPGA Digilab 2E (na podstawie [21]).

Płyta Digilab D2E wyposażona jest w jedno złącze DB-25 poru równoległego EPP współdzielone z portem programowania układu Spartan2E JTAG współpracującym z narzędziami firmy Xilinx (np. Xilinx Parallel III cable oraz ISE WebPack). Złącze zgodne ze standardem IEEE 1284 jest podłączone bezpośrednio do układu FPGA. Do przełączania trybu pracy złącza z EPP do JTAG służy dwupozycyjny przełącznik SW-1, sterujący dodatkowym układem buforów trójstanowych. Dołączony kabel programowania JTAG wymaga posiadania w komputerze jednego wolnego portu równoległego.

Na płycie zamontowano 8-nóżkowy 50 MHz rezonator kwarcowy. Dzięki łatwej wymianie elementu oscylatora płyta zapewnia szeroki zakres częstotliwości pracy zegara systemowego: od około 30 kHz do 100 MHz. Wykorzystując bloki funkcjonalne DLL układu Spartan2E, możliwe jest doprowadzenie do implementowanych układów sygnału zegarowego o częstotliwości do 200 MHz.

Dla kart rozszerzeń użytkownika na platformie D2E dostępnych jest 6 portów wejścia-wyjścia ogólnego przeznaczenia w standardowych 40-nóżkowych obudowach rozmieszczonych na krawędziach płyty, zgodnie ze schematem zamieszczonym na rysunku 3.3. Złącza zorganizowane są parami: A & B, C & D, E & F. Linie sygnałowe dla portów A & B oraz E & F są podłączone do układu FPGA w sposób symetryczny tak, że pary A & E oraz B & F współdzielą te same linie

49 sygnałowe. Porty C oraz D podłączone są do układu FPGA w sposób niezależny. W każdym z portów, oprócz linii sygnałowych, udostępnione zostały napięcie zasilające 3,3 V oraz masa płyty GND.

F E D B C A D B -9 D B -2 5 Xilinx Spartan2E XC2S200E -PQ208 11

W dokumencie Index of /rozprawy2/10323 (Stron 45-49)

Powiązane dokumenty