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.