This shows you the differences between two versions of the page.
ac-is:tutoriale:5-ise-programare [2021/09/20 18:36] 127.0.0.1 external edit |
ac-is:tutoriale:5-ise-programare [2021/10/03 14:17] (current) eduard.ciurezu |
||
---|---|---|---|
Line 1: | Line 1: | ||
- | = Programarea FPGA-ului folosind Xilinx ISE = | + | ====== Programarea FPGA-ului folosind Xilinx ISE ====== |
+ | /* | ||
<note tip> | <note tip> | ||
Tutorialul este disponibil și sub formă de slideshow apăsând pe imaginea de mai jos. | Tutorialul este disponibil și sub formă de slideshow apăsând pe imaginea de mai jos. | ||
Line 6: | Line 7: | ||
{{gallery>.:5-ise-programare?lightbox&0&~1}} | {{gallery>.:5-ise-programare?lightbox&0&~1}} | ||
</note> | </note> | ||
+ | */ | ||
* Treceți în modul implementare apasând butonul //Implementation//. | * Treceți în modul implementare apasând butonul //Implementation//. | ||
+ | |||
{{ .:5-ise-programare:01.jpg?direct&400 |}} | {{ .:5-ise-programare:01.jpg?direct&400 |}} | ||
+ | |||
* Selectați modulul **top-level** din ierarhia proiectului și rulați procesul //Generate Programming File//, aflat în lista de procese, pentru a genera fișierul necesar programării FPGA-ului. Trebuie să aveți definit un fișier de constrângeri care să facă legătura între porturile modulului top-level și pinii FPGA-ului. Urmăriți [[.:4-ise-constraints | tutorialul de asignare a pinilor de IO]] pentru a genera acest fișier dacă el nu a fost creat deja. | * Selectați modulul **top-level** din ierarhia proiectului și rulați procesul //Generate Programming File//, aflat în lista de procese, pentru a genera fișierul necesar programării FPGA-ului. Trebuie să aveți definit un fișier de constrângeri care să facă legătura între porturile modulului top-level și pinii FPGA-ului. Urmăriți [[.:4-ise-constraints | tutorialul de asignare a pinilor de IO]] pentru a genera acest fișier dacă el nu a fost creat deja. | ||
+ | |||
{{ .:5-ise-programare:02.jpg?direct&400 |}} | {{ .:5-ise-programare:02.jpg?direct&400 |}} | ||
+ | |||
* Rulați procesul //Manage Configuration Project (iMPACT)//, aflat în lista de procese sub nodul //Configure Target Device//, pentru a porni aplicația de programare a FPGA-ului. | * Rulați procesul //Manage Configuration Project (iMPACT)//, aflat în lista de procese sub nodul //Configure Target Device//, pentru a porni aplicația de programare a FPGA-ului. | ||
+ | |||
{{ .:5-ise-programare:03.jpg?direct&400 |}} | {{ .:5-ise-programare:03.jpg?direct&400 |}} | ||
+ | |||
* Deschideți fereastra //Boundary Scan// prin //dublu-click//. | * Deschideți fereastra //Boundary Scan// prin //dublu-click//. | ||
+ | |||
{{ .:5-ise-programare:04.jpg?direct&400 |}} | {{ .:5-ise-programare:04.jpg?direct&400 |}} | ||
+ | |||
* Faceți //click-dreapta// în fereastra deschisă și selectați opțiunea //Initialize Chain// pentru a iniția conexiunea cu placa de dezvoltare. | * Faceți //click-dreapta// în fereastra deschisă și selectați opțiunea //Initialize Chain// pentru a iniția conexiunea cu placa de dezvoltare. | ||
+ | |||
{{ .:5-ise-programare:05.jpg?direct&400 |}} | {{ .:5-ise-programare:05.jpg?direct&400 |}} | ||
+ | |||
* Veți fi întrebați dacă doriți să selectați fișierele de configurare pentru chip-urile de pe placă (printre care de află și FPGA-ul). Apăsați butonul //Yes//. | * Veți fi întrebați dacă doriți să selectați fișierele de configurare pentru chip-urile de pe placă (printre care de află și FPGA-ul). Apăsați butonul //Yes//. | ||
+ | |||
{{ .:5-ise-programare:06.jpg?direct&400 |}} | {{ .:5-ise-programare:06.jpg?direct&400 |}} | ||
+ | |||
* Primul fișier de configurare este cel pentru chip-ul FPGA. Din directorul proiectului selectați fișierul de programare (extensia .bit) generat anterior. | * Primul fișier de configurare este cel pentru chip-ul FPGA. Din directorul proiectului selectați fișierul de programare (extensia .bit) generat anterior. | ||
+ | |||
{{ .:5-ise-programare:07.jpg?direct&400 |}} | {{ .:5-ise-programare:07.jpg?direct&400 |}} | ||
+ | |||
* Veți fi intrebați dacă doriți să atașati o memorie PROM la FPGA folosind SPI sau BPI. Apăsați butonul //No//. | * Veți fi intrebați dacă doriți să atașati o memorie PROM la FPGA folosind SPI sau BPI. Apăsați butonul //No//. | ||
+ | |||
{{ .:5-ise-programare:08.jpg?direct&400 |}} | {{ .:5-ise-programare:08.jpg?direct&400 |}} | ||
+ | |||
* Al doilea fișier de configurare este pentru memoria PROM. Apăsați butonul //Bypass// deoarece nu dorim modificarea acestei memorii. | * Al doilea fișier de configurare este pentru memoria PROM. Apăsați butonul //Bypass// deoarece nu dorim modificarea acestei memorii. | ||
+ | |||
{{ .:5-ise-programare:09.jpg?direct&400 |}} | {{ .:5-ise-programare:09.jpg?direct&400 |}} | ||
+ | |||
* Al treilea fișier de configurare este pentru chip-ul CPLD. Apăsați butonul //Bypass// deoarece nu dorim configurarea acestui chip. | * Al treilea fișier de configurare este pentru chip-ul CPLD. Apăsați butonul //Bypass// deoarece nu dorim configurarea acestui chip. | ||
+ | |||
{{ .:5-ise-programare:10.jpg?direct&400 |}} | {{ .:5-ise-programare:10.jpg?direct&400 |}} | ||
+ | |||
* Ultima fereastră ne permite modificarea unor opțiuni ale procesului de programare pentru cele trei chip-uri. Apăsați butonul //Ok// deoarece nu este necesară modificarea opțiunilor selectate implicit. | * Ultima fereastră ne permite modificarea unor opțiuni ale procesului de programare pentru cele trei chip-uri. Apăsați butonul //Ok// deoarece nu este necesară modificarea opțiunilor selectate implicit. | ||
+ | |||
{{ .:5-ise-programare:11.jpg?direct&400 |}} | {{ .:5-ise-programare:11.jpg?direct&400 |}} | ||
+ | |||
* Faceți click dreapta pe primul chip **xc3s500e** (FPGA-ul) și selectați opțiunea //Program// pentru a începe procesul de programare a plăcii. | * Faceți click dreapta pe primul chip **xc3s500e** (FPGA-ul) și selectați opțiunea //Program// pentru a începe procesul de programare a plăcii. | ||
+ | |||
{{ .:5-ise-programare:12.jpg?direct&400 |}} | {{ .:5-ise-programare:12.jpg?direct&400 |}} | ||
+ | |||
* Veți primi mesajul //Program Succeeded// dacă procesul de programare a reușit. În acest moment placa este programată, iar LED-ul de programare (portocaliu) se va aprinde. | * Veți primi mesajul //Program Succeeded// dacă procesul de programare a reușit. În acest moment placa este programată, iar LED-ul de programare (portocaliu) se va aprinde. | ||
+ | |||
{{ .:5-ise-programare:13.jpg?direct&400 |}} | {{ .:5-ise-programare:13.jpg?direct&400 |}} | ||
+ | |||
* Setați chip-ul **xc3s500e** ca țintă implicită a programărilor ulterioare făcând //click-dreapta// pe el și selectând opțiunea //Set Target Device//. | * Setați chip-ul **xc3s500e** ca țintă implicită a programărilor ulterioare făcând //click-dreapta// pe el și selectând opțiunea //Set Target Device//. | ||
+ | |||
{{ .:5-ise-programare:14.jpg?direct&400 |}} | {{ .:5-ise-programare:14.jpg?direct&400 |}} | ||
+ | |||
* Închideți aplicația de programare a FPGA-ului și salvați configurările făcute, într-un fișier care are același nume cu proiectul Xilinx (fără extensie). | * Închideți aplicația de programare a FPGA-ului și salvați configurările făcute, într-un fișier care are același nume cu proiectul Xilinx (fără extensie). | ||
+ | |||
{{ .:5-ise-programare:15.jpg?direct&400 |}} | {{ .:5-ise-programare:15.jpg?direct&400 |}} | ||
+ | |||
* O dată salvate configurările aplicației, programarea ulterioară a plăcii pentru proiectul curent se face cu procesul //Configure Target Device// din Xilinx. Configurația curentă a plăcii poate fi ștearsă apăsând butonul //PROG// de pe placă. Va trebui să urmăriți aprinderea LED-ului de programare a plăcii (portocaliu) pentru a știi când placa a fost reprogramată, deoarece aplicația nu oferă nici un fel indicator în acest sens. | * O dată salvate configurările aplicației, programarea ulterioară a plăcii pentru proiectul curent se face cu procesul //Configure Target Device// din Xilinx. Configurația curentă a plăcii poate fi ștearsă apăsând butonul //PROG// de pe placă. Va trebui să urmăriți aprinderea LED-ului de programare a plăcii (portocaliu) pentru a știi când placa a fost reprogramată, deoarece aplicația nu oferă nici un fel indicator în acest sens. | ||
+ | |||
{{ .:5-ise-programare:16.jpg?direct&400 |}} | {{ .:5-ise-programare:16.jpg?direct&400 |}} | ||
- | == Resurse == | + | <html><a class="media mediafile mf_pdf" href="https://ocw.cs.pub.ro/courses/ac-is/tutoriale/5-ise-programare?do=export_pdf">PDF tutorial</a></html> |
- | * <html><a class="media mediafile mf_pdf" href="/ac/wiki/tutoriale/5-ise-programare?do=export_pdf">PDF tutorial</a></html> |