[PIERWSZY PROJEKT] Pierwsze kroki z zestawem FPGA Lattice MachXO2 Pico Development Kit [2]
Mając gotowy kod opisujący działanie projektowanego systemu możemy przystąpić do wykonania operacji syntezy logicznej i implementacji projektu. Wcześniej można jeszcze z menu Project -> Synthesis Tool wybrać jedno z trzech dostępnych narzędzi syntezy (Synplify Pro, Precision, Lattice LSE) oraz określić parametry procesu poprzez edycję tzw. strategii (w lewej części okna aplikacji Diamond zakładka File list, folder Strategies, wytłuszczona opcja Stategy1 – rysunek 13). Teraz w zakładce Process wystarczy dwukrotnie kliknąć opcję Synthesize Design aby wykonać operację syntezy projektu lub od razu opcję translacji projektu Translate Design. Na tym etapie można przypisać fizyczne numery końcówek układu programowalnego do portów wejścia/wyjścia naszego pliku głównego (nadrzędnego w hierarchii) projektu. Najwygodniej jest to zrobić wykorzystując wbudowane narzędzie arkusza kalkulacyjnego – menu Tools -> Spreadsheet View, zakładka Port Assignments – tak jak pokazano to na rysunku 15. W naszym przypadku port RST przypisano do wyprowadzenia N3 (przycisk znajdujący się na płytce zestawu), a port LED do wyprowadzenia D1 (końcówka nr 29 zewnętrznego złącza) wybranego układu programowalnego. Przesuwając w prawo belkę poziomą można uzyskać dostęp do opcji buforów wejścia wyjścia, takich jak np. standard w którym ma pracować port, opcje podciągania (pull mode), szybkość narastania napięcia wyjściowego (slew rate) itp. Analogiczną operację przypisania numerów wyprowadzeń do portów projektu można przeprowadzić edytując bezpośrednio plik wymuszeń projektanta (zakładka File List, folder Constraint Files, plik Flashing_led.lpf).
Dokończenie procesu implementacji można wykonać klikając bezpośrednio polecenie Export Files w zakładce Process, zaznaczając jednak wcześniej opcję eksportu pliku do formatu JEDEC. W przypadku gdy mamy już zdefiniowany plik wymuszeń projektanta z przypisaniami wyprowadzeń do portów, dokonaliśmy zmiany w kodzie źródłowym projektu i chcemy ponownie przeprowadzić proces implementacji wówczas wystarczy wybrać tylko polecenie Export Files.
Rys. 16. Okno programatora
Ostatnim etapem jest programowanie docelowego układu PLD. Z menu Tools należy w tym celu wybrać opcję Programmer lub kliknąć odpowiednią ikonę na pasku narzędzi. Otwarte zostanie okno pokazane na rysunku 16. W przypadku pierwszego uruchomienia programatora konieczny będzie wybór typu przewodu programującego (Cable type) i portu (Port). Parametry te można wybrać z rozwijanej listy lub wykonać auto detekcję i skanowanie w poszukiwaniu podłączonych układów PLD. Istotne jest również zaznaczenie opcji Save to XCF file w sekcji XCF File. Załadowanie konfiguracji do pamięci Flash układu PLD następuje po wykonaniu polecenia Download.