Synteza układów
Transkrypt
Synteza układów
Synteza układów 1. Synteza układów opisanych w języku VHDL Celem ćwiczenia jest szybkie zaznajomienie się ze środowiskiem projektowym Xilinx ISE Design Suite 10.1 oraz językiem opisu sprzętu VHDL, także przetwornikiem cyfrowo-analogowym na płycie z układem Spartan3E-500. 2. Obsługa przetwornika CA Aby projekt mógł skorzystać z przetwornika cyfrowo-analogowego należy do projektu dołączyć tzw. moduł, który jest opisany w języku VHDL. Moduł ten zawiera opis w jaki sposób obsługiwany jest przetwornik. Aby dołączyć moduł do projektu należy z menu Project wybrać Add source...: Synteza układów Następnie wybrać plik DAC.vhd I wybrać OK Synteza układów Aby komponent był zauważony przez syntezator języka należy zadeklarować użycie modułu jako tzw. component. Należy to zrobić przed definicją projektu, czyli przed begin: component DAC is Port ( START_CON : in std_logic; END_CON : out std_logic; RST : in std_logic; VALUE : in std_logic_vector(11 downto 0); CLK : in std_logic; SPI_MOSI : out STD_LOGIC; DAC_CS : out STD_LOGIC; DAC_CLR : out STD_LOGIC; SPI_SCK : out STD_LOGIC ); end component; W definiowanym projekcie wystarczy już tylko podłączyć sygnały do komponentu i jest on już w pełni funkcjonalny. pac: DAC port map (START_CON, END_CON, RST, VALUE, CLK, SPI_MOSI, DAC_CS, DAC_CLR, SPI_SCK); pac – nazwa komponentu, która używana będzie w projekcie DAC – komponent, który będzie używany pod nazwą pac port map – przekierowanie sygnałów z projektu pod poszczególne sygnały komponentu (kolejność jest istotna, bowiem w takiej kolejności w jakiej wymieniane są sygnały, w takiej będą podpinane pod sygnały komponentu) Synteza układów Poniższy przebieg pokazuje zasadę działania modułu obsługi przetwornika CA Resetowanie urządzenia następuje poprzez zadanie stanu wysokiego na sygnał RST. Wartość, która ma być przetworzona ustawiana jest na sygnale VALUE. Konwersja rozpoczyna się poprzez ustawienie sygnału START_CON na poziom wysoki. Zakończenie konwersji wartości zadanej oznajmiane jest sygnałem END_CON, który po zakończeniu konwersji przechodzi w stan wysoki. 3. Plik UCF Plik UCF jest jednym z istotniejszych plików w projekcie, zapewnia on, że sygnały z projektu będą odpowiednio podłączone do elementów płyty prototypowej. Aby stworzyć plik UCF należy wybrać Project->New Source..., a następnie w okienku wybrać Implementation Constraints File, a w File name wpisać nazwę tego pliku. Synteza układów By edytować ten plik należy zaznaczyć go w projekcie, a następnie rozwinąć User Constraints i wybrać Edit Constraints (Text). W zależność od tego jakie sygnały podłączamy musimy dokonać odpowiednich wpisów, wpisy te należy wziąć z instrukcji płyty . Np. chcemy użyć przycisku, który posłuż jako RESET w projekcie. Szukamy w instrukcji opis buttonów (str. 16), tam znajduje się opis przycisków Synteza układów oraz pokazane są sygnały z matrycy podłączone do odpowiednich komponentów płyty. Tak więc do sygnału oznaczonego BTN_NORTH, podpięty jest sygnał fizyczny oznaczony V4 itd. Przykład wpisu do pliku UCF znajdujący się na następnej stronie w instrukcji: Aby nasz RESET był podłączony do przycisku oznaczonego jako BTN_NORTH, to należy wpisać do pliku ucf drugą linijkę z powyższych z pewną modyfikacją, czyli: NET „RESET” LOC = „V4” | IOSTANDARD = LVTTL | PULLDOWN ; Gdzie RESET, to nazwa sygnału użyta w naszym projekcie, natomiast V4, to jego fizyczne położenie na nóżkach układu FPGA. Pamiętaj, aby wszystkie sygnały z projektu(entity głównego) były opisane w pliku UCF(podłączone do jakiegoś wyjścia/wejścia)!!!!!!! 4. Zadanie Podłącz projekt z poprzednich zajęć laboratoryjnych do przetwornika cyfrowo-analogowego, tak aby wygenerować przebieg trójkątny, który będzie widoczny na oscyloskopie. Wykonaj symulacje Post-Route – aby to zrobić podobnie jak dla symulacji behawioralnej należy stworzyć plik Test Bench następnie w okienku Sources wybrać Post-Route Simulation, reszta przebiega jak dla symulacji behawioralnej.