[2] Pierwsze kroki z FPGA – szkoła MAXimatora – pierwszy projekt z edytorem schematów

Wybieramy typy właściwe dla poszczególnych linii, w razie wątpliwości kierując się opisem symbolu bibliotecznego (rysunek 16 – kolumna Directions), który można wyświetlić klikając na symbol prawym przyciskiem myszy i wybierając opcję Properties>Ports. Na rysunku 17 pokazano planszę schematu z narysowanymi połączeniami i przypisanymi od nich symbolami wejść i wyjść zgodnie z kierunkami linii licznika 74169.

Rys. 16.
Rys. 16.
Rys. 17.
Rys. 17.

W kolejnym kroku nadamy własne nazwy liniom I/O. W tym celu należy dwukrotnie kliknąć na symbolu linii lub naciskając prawy przycisk myszy wybrać opcję Properties, co spowoduje wyświetlenie okna pokazanego na rysunku 18.

Rys. 18.
Rys. 18.

W linii Pin name(s) wprowadzamy nazwy poszczególnych linii, które powinny być łatwe do skojarzenia, są bowiem używane nie tylko podczas implementacji projektu w układzie FPGA, ale także analizie funkcjonalnej i czasowej projektu – chodzi o to, aby nazwa wyraźnie sugerowała funkcję i pochodzenie sygnału. Na rysunku 19 pokazano proponowane nazwy sygnałów.

Rys. 19.
Rys. 19.

Kolejnym krokiem jest wstępna kompilacja projektu, co jest niezbędne do weryfikacji poprawności przygotowanego opisu, a także wygenerowaniu przez narzędzie do syntezy logicznej listy sygnałów oraz linii I/O. Jest ona nam niezbędna do ustalenia przypisań linii I/O do fizycznych wyprowadzeń układu FPGA. Kompilację uruchamia przycisk pokazany na rysunku 20.

Rys. 20.
Rys. 20.
Rys. 21.
Rys. 21.

Przypisania linii I/O do fizycznych wyprowadzeń układu FPGA wykonuje się za pomocą specjalnego edytora o nazwie Pin Planner, który jest uruchamiany za pomocą dwukrotnego kliknięcia opcji Pin Planner (rysunek 21). Otwarte okno edytora przypisań pokazano na rysunku 22. Najważniejsza dla nas na tym etapie będzie tabela ulokowana w dolnej części okna, w której wylistowane są linie I/O, ich kierunkowość, przypisania do fizycznych wyprowadzeń zaproponowane wstępnie przez fitter (kolumna Fitter Location), domyślny standard napięciowy linii I/O, a także kilku innych parametrach mniej istotnych dla naszego projektu.

Rys. 22.
Rys. 22.

Modyfikacje poszczególnych opcji są możliwe po dwukrotnym kliknięciu w wybrane okno tabeli. Zaczynamy od ustalenia standardu napięciowego linii, zmieniając w każdym wierszu domyślną wartość 2,5V na 3,3-V LVTTL. Następnie w kolumnie Location przypisujemy wyprowadzenia implementowanego licznika w taki sposób, żeby wykorzystać przycisk zerujący oraz przycisk L (do zmiany kierunku zliczania) zamontowane na shieldzie, diody LED zamontowane na płytce MAXimatora do monitorowania stanów wyjść licznika, a sygnał zegarowy na jednej z wolnych linii I/O złącza Arduino.

Rys. 23.
Rys. 23.
Rys. 24.
Rys. 24.

Ustalenie oznaczeń fizycznych linii FPGA, do których będą przypisane sygnały projektu ułatwi mapa wyprowadzeń (rysunek 23) dostępna do pobrania na stronie maximator-fpga.org. Przypisania ustalone dla projektu przedstawiono na rysunku 24. Dodanie przypisań do fizycznych wyprowadzeń FPGA po ich wprowadzeniu staje się także widoczne na schemacie, jak to widać na rysunku 25.

Rys. 25.
Rys. 25.

O autorze