Skrócona instrukcja postępowania
LABORATORIUM UKŁADÓW PROGRAMOWALNYCH
Instrukcja opisuje czynności niezbędne do wykonania: opisu VHDL/schematu, symulacji, syntezy, implementacji oraz zaprogramowania układu na płytce testowej XESS Corporation.
1) Wrowadzenie
projektu:
A) Uruchomić program Active-HDL 6.2. W oknie Getting Started wybrać opcję Create new workspace. Następnie podać nazwę utworznej przestrzeni roboczej np. „labPUC” W oknie New Design Wizard wybrać Create an empty design. Następnie wybrać Synthesis tool: Synopsys FPGA Express (Xilinx OEM), Implementation tool: Xilinx Foundation 4.x, Default Family Xilinx XC4000XL. W kolejnym oknie wpisać nazwę projektu i potwierdzić utworzenie nowego projektu.
B) W celu wprowadzenia projektu należy wydać polecenie File/New/VHDL source (lub Block Diagram w celu projektowania z użyciem schematu). Podać nazwę pliku i ewentualnie stworzyć listę sygnałów we/wy. Po potwierdzeniu, po prawej stronie pojawi się okno edytora projektu, w którym należy wprowadzić opis VHDL (lub schemat) układu cyfrowego. Klawisz F11 umożliwia kompilację kodu.
2) Symulacja funkcjonalna: Po wprowadzeniu kodu i poprawnej kompilacji należy wykonać symulację działania układu cyfrowego. W tym celu należy stworzyć plik testujący. Możliwa jest automatyczna generacja takiego pliku w sposób następujący: Menu Tools/Generate Test Bench, wybrać blok dla którego ma zostać stworzony test a następnie potwierdzać poszczególne okna z wartościami domyślnymi. Po zakończeniu tego etapu w oknie Design Browser pojawi się katalog TestBench, który (po rozwinięciu) zawiera plik testowy. Należy otworzyć ten plik i w sekcji -- Add your stimulus here ... dopisać pobudzenia sygnałów wejściowych testowanego bloku. Po prawidłowym skompilowaniu (F11) można przystąpić do symulacji. Najpierw należy wybrać architekturę pliku testującego (testbench) jako modułu głównego poleceniem Design/Settings/General/Top-Level Selection for Simulation. Następnie wywołać polecenie Simulation/Initialize Simulation, W oknie Design Browser uaktywni się widok Structure. Następnie należy wywołać opcję File/New/Waverofrm. Kliknąć prawym klawiszem myszki na nowo otwartym oknie wykresu czasowego i wybrać opcję Add signals. Następnie należy wybrać sygnały które chcemy oglądać i zamknąć okno. Symulację wykonuje się poprzez klikanie na niebieskie strzałki w menu głównym programu.
Symulację można wykonać także bez użycia pliku pobudzeń, wówczas jako Top-Level Selection for Simulation wybiera się bezpośrednio testowany moduł, natomiast jako pobudzenia można użyć stymulatorów wprowadzanych na przebiegu czasowym (poprzez kwiknięcie w kolumnie Stimulator).
3) Synteza i implementacja: Wybrać zakładkę design flow a następnie kliknąć na przycisk options umieszczony w pobliżu przycisku synthesis. W oknie opcji wybrać główny blok przeznaczony do syntezy (Top Level Unit) a w polu Device wybrać 4010XLPC84. Następnie wykonać syntezę (przycisk synthesis). Wybrać opcje implementacji. W zakładce Translate wskazać odpowiedni plik *.ucf. W zakadce Timing&Configure zaznaczyć opcję Generate Bit File. Wykonać implementację (przycisk implementation). W wyniku tej operacji w katalogu */implement/ver1/rev1 utworzony zostanie plik *.bit.
4) Programowanie układu XESS: Do kabla przyłączonego do portu LPT podłączyć płytkę prototypową. Doprowadzić zasilane. Uruchomić program GXLOAD a następnie przeciągnąć plik *.bit utworzony w pkt 3) do okna FPGA/CPLD, przycisnąć LOAD. W tym momencie płytka testowa zostaje zaprogramowana. W celu testowania poprawności działania projektu można użyć programu GXPORT ustawiającego stałe wartości logiczne na wybranych wyprowadzeniach układu programowalnego. Ustawione stany są aktywne po przyciśnięciu przycisku STROBE.