Logo Katedry
Strona główna
Katedra Systemów Mikroelektronicznych, Wydział Elektroniki, Telekomunikacji i Informatyki, Politechnika Gdańska Logo Wydziału
English English version

Generacja i używanie pamięci ROM

Pamięć ROM użytą w ćwiczeniu należy wygenerować przy użyciu programu Xilinx ISE 8.1i Core Generator, który można uruchomić z menu system Windows przez wybranie Start/Programy/Xilinx ISEXXX/Accessories/Core Generator. Po uruchomieniu programu należy postępować następująco:
  1. W prawym oknie nacisnąć Create new project i wskazać katalog do którego będą wpisywane wygenerowane bloki.
  2. Otworzy się okno dialogowe w którym należy wpisać wymagane główne parametry modułów. Należy wypełnić wg załączonego obrazka.
  3. coregenerator

  4. Następnie, poprzez naciskanie znaku "+" należy rozwinąć Menu jak na rysunku poniżej i podwójnie kliknąć na Single Port Block Memory 6.2.
  5. coregenerator

  6. Pojawi się dodatkowe okno, w którym, na kolejnych 4 stronach należy wpisać parametry generowanej pamięci (wg poniższych rysunków), a następnie wcisnąć klawisz Generate.
  7. coregenerator coregenerator coregenerator coregenerator

  8. Po chwili od wciśnięcia Generate w katalogu wskazanym w pkt. a. zostaną utworzone pliki generowanego bloku pamięci.
  9. W pkt. d., na ostatnim rysunku należało podać plik "vga_bmp.coe". W pliku tym zawarty jest plik "vga_bmp.bmp" w formacie zgodnym z programem Core Generator.
  10. Z katalogu wskazanego w pkt. a. należy skopiować do katalogu /src projektu pliki *.edn, *.vhd, *.mif. W pliku *.vho umieszczony jest przykład wstawienia wygenerowanego bloku jako komponent VHDL. Pliki *.vhd oraz *.mif służą wyłącznie do symulacji funkcjonalnej bloku (są używane w symulatorze) natomiast plik *.edn jest listą połączeń używaną w czasie implementacji projektu.
  11. W programie Active HDL należy dołączyć skopiowane wcześniej pliki do projektu (Menu Design / Add Files to Design... Dodatkowo, plik *.vhd należy wyłączyć z syntezy (w menu opcji syntezy).
  12. Wygenerowana wg powyższych wskazówek pamięć, jest pamięcią synchroniczną ROM. W celu jej odczytu należy podać adres (wyprowadzenie addr) odczytywanej komórki oraz ustawić sygnał zezwalający (wyprowadzenie en) w stan wysoki. Po pojawieniu się narastającego zbocza sygnału zegarowego (wyprowadzenie clk) do wyjścia (wyprowadzenie dout) zostanie wpisana zawartość odczytywanej komórki.