Tutorial Quartus II
Programarea plăcii experimentale DE1 cu ajutorul programului Quartus II
Exemplu: sinteza unui sumator pe 4 biți.
Pentru a deschide aplicația Quartus II puteți folosi:
- shortcut-ul de pe ecran
- fișierul executabil din locația de instalare
- meniul de programe
Etapele:
1. Crearea unui proiect
Atunci când deschidem programul Quartus II apare un ecran de întâmpinare, unde avem opțiunea „create new project”. Dacă nu vedem această fereastră, selectăm „create new project” din meniul File (sau selectăm File - New și apoi „Create new project”). Se va deschide Wizard-ul care ne ajută să stabilim setările pentru noul proiect. Dacă apere un ecran de introducere, apăsăm Next (avem posibilitatea de a bifa “Don’t show this introduction again” pentru a trece peste acest pas pe viitor).
1.1. Numele și locația proiectului
Primul pas: setarea locației proiectului (working directory) și denumirea proiectului. Proiectul trebuie să aibe un nume, care este de obicei același cu entitatea top-level design (care se completează automat când scriem numele proiectului). Dacă în locația proiectului mai sunt și alte proiecte Quartus II, apare un ecran de avertizare. Proiectul din acest tutorial se numește Adder și entitatea top-level design se numește tot Adder. Veți folosi nume adecvate pentru proiectul pe care îl implementați.
1.2. Adăugarea unor fișiere
Dacă în proiectul nostru vom folosi fișiere pe care le-am scris anterior, le putem adăuga de la început în proiect în această fereastră. Dacă nu doriți sa adăugați fișiere deja create proiectului vostru puteți apăsa Next pentru a trece la pasul următor. Se mai pot adăuga fișiere în proiect și ulterior din meniul Settings.
1.3. Selectarea dispozitivului
În pasul următor (al treilea ecran din wizard) se selectează dispozitivul care va fi folosit pentru implementare. Selectați Cyclone II la Device Family. Din lista de dispozitive specifice selectati EP2C20F484C7. (La Target device trebuie sa fie selectată opțiunea „Specific device selected in Available devices list”). Apăsați apoi Next pentru a trece la pasul următor.
1.4. Selectarea simulatorului
În pagina 4 din wizard vom menționa alte programe pe care le folosim în proiectare (pentru sinteză, simulare, verificare). De exemplu, dacă vrem să folosim ModelSim, selectăm la Simulation ModelSim pentru Verilog HDL. Putem de asemenea să ne bazăm pe ce pune la dispoziție software-ul Quartus II și să trecem peste acest pas apăsând Next.
După apăsarea butonului Next va apărea ultima fereastră din New Project Wizard în care este desfășurat un rezumat al opțiunilor alese pentru crearea proiectului. După apăsarea butonului Finish proiectul va fi creat.
2. Elaborarea fișierului sursă (entitatea top-level design)
Entitatea top-level design este un fisier Verilog sau o schema.
Dacă aveți deja fișierele scrise și le-ați adăugat cu Add Files, treceți la etapa următoare. Dacă doriți să adăugați fișiere în această fază (și nu le-ați adăugat anterior), folosiți meniul Settings si apoi treceți la etapa următoare.
In continuare se va explica modul de utilizarea al editorului de text Quartus II.
Exemplu de implementare: un sumator pentru numere binare pe 4 biți, care va fi numit Adder.v.
Atenție! Modulul top-level trebuie să aibă numele specificat anterior, când s-a creat proiectul.
Pentru a utiliza editorul Quartus II, selectați File -> New.
Se va deschide o fereastră în care veți selecta Verilog HDL File, apăsați OK. Va fi deschis editorul de text.
Selectați File -> Save As pentru a putea alege numele fișierului. În fereastra care apare, veți scrie numele fișierului - pentru entitatea top level design este cel pe care l-ați ales anterior - și bifați “Add file to current project”. Apăsați Save. Fișierul va fi salvat în directorul proiectului.
Intrati in editor și continuați prin a scrie codul Verilog.
Exemplu:
module Adder (
output [4:0] out,
input [3:0] in0,
input [3:0] in1);
assign out = in0 + in1;
endmodule
Salvați fișierul folosind File -> Save sau combinația de taste Ctrl-s. Pentru mai multe opțiuni ale editorului puteți accesa Tools-> Options -> Text Editor.
3. Compilarea
Apăsați butonul de compilare Start Compilation și așteptați rezultatul compilării.
Ignorați mesajele de Warning (avertizări) care apar în timpul compilării - acestea se datorează faptului că nu am fixat anumiți parametri pentru implementare.
Erorile posibile în această fază sunt în principal erori de sintaxă Verilog sau erori datorate faptului că am aleg greșit numele modulului top-level.
Pentru corectarea setărilor folositi meniul Settings.
Configurarea pinilor de intrare/ieșire
În timpul compilării, compilatorul Quartus II alege pinii FPGA pentru a servi ca input și output. Placa DE1 are conexiuni hardwired între pinii FPGA și alte componente de pe placă. În cazul de față vom lega intrarea in0 la switch-urile SW0 - SW3, intrarea in1 la switch-urile SW4 - SW7 și ieșirea out la ledurile LEDR0 - LEDR4.
Asignarea pinilor se face folosind Assignment Editor. Selectați Assignments -> Assignment Editor. Se va deschide o fereastră ca cea din imaginea următoare:
Placa DE1 are asignări fixe de pini. Terminarea unui design poate ajuta utilizatorul prin folosirea acelorași asignări de pini pentru proiecte viitoare. Se poate încărca un fișieri de Pin Assignments selectând Assignments -> Import Assignments. (Se poate utiliza fișierul cu toate asignările pinilor de pe placa DE1 – DE1_pin_assignments.csv , editând denumirile). Salvați modificările. După asignarea pinilor rezultatul va arăta ca în imaginea de mai jos:
Recompilați utilizând butonul Start Compilation și așteptați rezultatul compilării.