Przykład projektu pamięci AXI demonstracyjnej

Zalecane dla:

  • Urządzenie: nieznany

  • Quartus®: wersja 13.0

author-image

Według

W tym przykładzie projektowym pokazano interfejs podrzędny KSZTAŁT* AXI*-3 na prostym podzespołu niestandardowej pamięci Verilog dla systemów Qsys. Możesz wykorzystać ten przykład jako podstawę dla własnych niestandardowych interfejsów podrzędnych AXI. Komponent zawiera również opcjonalny interfejs Avalon® streamingu (Avalon-ST) oraz interfejs Avalon® Memory-Mapped (Avalon-MM), demonstrując, w jaki sposób można zastosować wiele standardów interfejsu w jednym komponentze.

Podręcznik Quartus® II wykorzystuje ten przykład do zilustrowania procesu pakowania komponentu własności intelektualnej (IP) za pomocą edytora komponentów i niestandardowych poleceń Tcl sprzętu. Pliki HDL można wykorzystać w tym przykładzie, aby dowiedzieć się, jak używać edytora komponentów do tworzenia własnego prostego pliku sprzętowego Tcl (_hw.tcl), zgodnie z opisem w sekcji Tworzenie komponentów Qsys (PDF). Można również zapoznać się z załączonym plikiem _hw.tcl, aby zobaczyć zaawansowane zastosowania poleceń sprzętowych Tcl, w tym parametry pochodne, zwrot walidacji oraz objaśnienie przywłaszczenie w celu dostosowania interfejsu UI parametrów w Qsys i obecnych interfejsów jako opcjonalne. Szczegółowe informacje na temat poleceń sprzętowych Tcl można znaleźć w sekcji Referencyjny interfejs komponentu (PDF).

Więcej informacji na temat korzystania z Qsys do tworzenia systemu zawierającego niestandardowe komponenty można znaleźć w sekcji Tworzenie systemu z Qsys (PDF) w podręczniku Quartus II.

Korzystanie z tego przykładu projektu

Pobierz plik demo_axi3_memory.zip i rozpakuj zawartość. W tym przykładzie projekt wymaga pakietu Altera® Complete Design Suite (ACDS) wersji 13.0 lub nowszej.

Plik ZIP zawiera następujące pliki komponentu IP w podkatalogu /ip:

  • Pliki projektowe demo_axi_memory.sv i single_clock_ram.sv

  • Niestandardowy plik Tcl sprzętu demo_axi_memory_hw.tcl, aby zapakować komponent do Qsys
  • Plik pakietu SystemVerilog używany do generowania komunikatów w symulacji wyjściowej/ /verification_lib/verbosity_pkg.sv (który można również znaleźć w katalogu instalacji oprogramowania Quartus II jako /ip/altera/sopc_builder_ip/verification/lib/verbosity_pkg.sv)

Aby wykorzystać ten komponent we własnym systemie Qsys, skopiuj podkatalog /ip z rozpakuwanego pliku ZIP do katalogu projektów Quartus II. Gdy tworzysz lub otwierasz system Qsys w projekcie, Qsys wykrywa komponent IP w podkatalogu /ip i dodaje komponent do listy w sekcji Projekt w bibliotece, w kategorii Pamięci i kontrolery pamięci/On-Chip.

Plik ZIP zawiera również następujące pliki do symulacji autonomicznego komponentu w podkatalogu /ip/symulacja:

  • Plik testbench tb_mem.sv
  • Skrypt run_sim.tcl do przeprowadzenia symulacji w programie Mentor Graphics® ModelSim* z plikiem mem.do, wyświetlającym przebiegi fali pokazujące działanie komponentu.

Aby przeprowadzić symulację w programie ModelSim, skonfiguruj swój katalog roboczy na podkatalog /ip/symulacja z rozpakowywanego pliku ZIP. Wpisz źródło run_sim.tcl.

Ponadto plik ZIP zawiera następujące pliki oprogramowania Quartus® II:

  • Prosty test Qsys system test.qsys, aby zilustrować tworzenie informacji komponentu w systemie Qsys
  • Atammy plik projektu oprogramowania Quartus II, dzięki któremu można opcjonalnie wygenerować i skompilować testowy system Qsys: test.qpf, test.qsf, test.sdc

Aby wyświetlić komponent powstał w ramach testowego systemu Qsys, otwórz plik projektu test.qpf w oprogramowaniu Quartus II i otwórz plik test.qsys w Qsys. Kliknij dwukrotnie na komponent w kolumnie Nazwa lub opis w zakładce Zawartość systemu (lub kliknij prawym przyciskiem myszy komponent i wybierz Edytuj),by wyświetlić edytor parametrów.

Użytkowanie tego projektu podlega warunkom umowy licencyjnej Intel® Design Example Agreementoraz podlega jej postanowień.

Szczegóły projektu

Przykładowy komponent Qsys zawiera następujące interfejsy:

Interfejs podrzędny AXI-3

Interfejs podrzędny AXI to interfejs mapowany w pamięci do bloku pamięci na chipie. Interfejs ten powinien być kontrolowany przez interfejs nadrzędny AXI lub Avalon-MM, który może zapisywać i odczytywać z bloku pamięci. Parametry określają szerokości sygnału AXI ID, szerokość adresu podrzędnego i szerokość danych.

Interfejs Avalon-ST

Podczas tworzenia inaulacji tego komponentu w Qsys, możesz włączyć lub wyłączyć opcjonalny interfejs Avalon-ST. Interfejs ten został zainspirowany aplikacjami telefonii, w których dźwięki (DTMF, zajęty, dial tone, ringback itp.) są przechowywane jako powtarzające się strumienie bajtów, które można przełączyć w razie potrzeby na konkretny port. Port Avalon-ST zapewnia jeden taki strumień, który jest zdefiniowany przez adres startowy, adres stop i dane przechowywane w pamięci RAM między tymi dwoma adresami włącznie. Wyrazy są wyjściowe w kolejności od adresu startowego do adresu stop; każde słowo najpierw wysyła MSB. W tej wersji demonstracyjnej przyjęto, że adres stop jest większy niż adres początkowy.

Weźmy na przykład poniższą zawartość pamięci:
adres startowy: 0xbeef_0742
0xdace_32f7
adres stop: 0xb0de_13ef
Wynikowy strumień bajtowy: be-ef-07-42-da-ce-32-f7-b0-de-13-ef-be-ef-07 ...

Interfejs csr Avalon-MM

Interfejs Avalon-MM to prosty interfejs rejestru stanu i stanu (CSR), który umożliwia sterowanie opisanym powyżej portem streamingu. Interfejs ten jest wymagany tylko wtedy, gdy interfejs Avalon-ST jest włączony i jest wyłączony, gdy interfejs Avalon-ST jest wyłączony. Parametry określają szerokość adresu podrzędnego Avalon® i szerokość danych.

Rejestry sterowania znajdują się w zakresie adresów odrębnym od zakresu adresów pamięci, a adres podstawowy mogą być przypisane w dowolnym miejscu wygodnym na mapie pamięci systemowej. Poniższa tabela zawiera wykaz celów dla każdego rejestru kontrolowego:

Edytor parametrów Qsys

Poniższy zrzut ekranu ukazuje interfejs użytkownika edytora parametrów dla komponentu pamięci Demo AXI w Qsys.

Materiały zawarte na tej stronie są tłumaczeniem z języka angielskiego, wykonanym częściowo przez człowieka, a częściowo automatycznie. Materiały te są udostępnione dla Twojej wygody i należy je traktować jedynie jako ogólne źródło informacji. Nie ma jednak gwarancji, że są one kompletne bądź poprawne. Jeśli istnieje jakakolwiek rozbieżność między wersją angielską tej strony a jej tłumaczeniem, wersja angielska jest wersją obowiązującą i ma rozstrzygające znaczenie. Wyświetl anglojęzyczną wersję tej strony.