Diferență între revizuiri ale paginii „CID Lab Lucrarea 1”
(Nu s-au afișat 28 de versiuni intermediare efectuate de alți 2 utilizatori) | |||
Linia 1: | Linia 1: | ||
== Noțiuni și cunoștințe necesare == | == Noțiuni și cunoștințe necesare == | ||
− | * [[ | + | * [[Tutorial_Quartus_II| Utilizarea programului de sinteză Altera Quartus II]] |
− | * [[ | + | * [http://wiki.dcae.pub.ro/images/f/fc/Pinii_la_care_sunt_conectati_dispozitivele_I-O_pe_placa_experimentala_DE1.pdf Lista pinilor plăcii DE1] |
+ | * [http://wiki.dcae.pub.ro/images/d/d9/Lista_pinilor_pl%C4%83cii_DE1-SoC.pdf Lista pinilor plăcii DE1_SOC] | ||
* [[Introducere. Verilog HDL și ModelSim#Introducere în Circuite Digitale|Logică booleană și sisteme de numerație]] | * [[Introducere. Verilog HDL și ModelSim#Introducere în Circuite Digitale|Logică booleană și sisteme de numerație]] | ||
* Noțiuni de sintaxă [[Verilog]] | * Noțiuni de sintaxă [[Verilog]] | ||
Linia 9: | Linia 10: | ||
Creați un proiect nou în Quartus II, pentru dispozitivul FPGA Altera Cyclone II de pe placa DE1. Creați un fișier sursă Verilog în cadrul proiectului, și copiați modulul următor în fisier. | Creați un proiect nou în Quartus II, pentru dispozitivul FPGA Altera Cyclone II de pe placa DE1. Creați un fișier sursă Verilog în cadrul proiectului, și copiați modulul următor în fisier. | ||
+ | |||
+ | '''Atenție!''' Numele modulului top-level care va fi sintetizat trebuie setat corect cand creati proiectul (in cazul acesta, OrGate). | ||
<syntaxhighlight lang="Verilog"> | <syntaxhighlight lang="Verilog"> | ||
Linia 28: | Linia 31: | ||
Implementați proiectul pe placa DE1 și observați funcționalitatea circuitului descris de proiectul Quartus II. | Implementați proiectul pe placa DE1 și observați funcționalitatea circuitului descris de proiectul Quartus II. | ||
+ | |||
+ | Lista pinilor la care sunt conectate dispozitivele I/O pe placa DE1 sunt descriși [http://wiki.dcae.pub.ro/images/f/fc/Pinii_la_care_sunt_conectati_dispozitivele_I-O_pe_placa_experimentala_DE1.pdf aici] | ||
== Exercițiul 1 == | == Exercițiul 1 == | ||
− | Realizați descrierea în Verilog a modulului cu intrările '''a''', '''b''', '''c''' și ieșirea ''' | + | Realizați descrierea în Verilog a modulului cu intrările '''a''', '''b''', '''c''' și ieșirea '''d''', cu funcționalitatea conform schemei alăturate. Implementați circuitul pe placa DE1 conectând intrările a, b, c la SW2, SW4, respectiv SW6, iar ieșirea d la LEDG2. |
[[Fișier:lab1_ex1.jpg]] | [[Fișier:lab1_ex1.jpg]] | ||
Linia 37: | Linia 42: | ||
== Exercițiul 2 == | == Exercițiul 2 == | ||
− | Realizați descrierea în Verilog a modulului cu intrările '''a''', '''b''', '''c''' și ieșirea '''q''', cu funcționalitatea conform schemei alăturate. Implementați circuitul pe placa | + | Realizați descrierea în Verilog a modulului cu intrările '''a''', '''b''', '''c''' și ieșirea '''q''', cu funcționalitatea conform schemei alăturate. Implementați circuitul pe placa DE1 conectând intrările a, b, c la SW3, SW4, respectiv SW7, iar ieșirea q la LEDR7. |
[[Fișier:lab1_ex2.gif]] | [[Fișier:lab1_ex2.gif]] | ||
Linia 43: | Linia 48: | ||
== Exercițiul 3 == | == Exercițiul 3 == | ||
− | Realizați descrierea în Verilog a modulului cu intrările '''a''', '''b''', '''c''' și ieșirea '''q''', cu funcționalitatea conform schemei alăturate. Implementați circuitul pe placa DE1 conectând intrările a, b, c la SW1, SW6, respectiv SW7, iar ieșirea q la | + | Realizați descrierea în Verilog a modulului cu intrările '''a''', '''b''', '''c''' și ieșirea '''q''', cu funcționalitatea conform schemei alăturate. Implementați circuitul pe placa DE1 conectând intrările a, b, c la SW1, SW6, respectiv SW7, iar ieșirea q la LEDG3. |
[[Fișier:lab1_ex3.jpg]] | [[Fișier:lab1_ex3.jpg]] | ||
Linia 49: | Linia 54: | ||
== Exercițiul 4 == | == Exercițiul 4 == | ||
− | Realizați descrierea în Verilog a modulului cu intrările '''a''', '''b''', '''c''' și ieșirea ''' | + | Realizați descrierea în Verilog a modulului cu intrările '''a''', '''b''', '''c''' și ieșirea '''z''', cu funcționalitatea conform schemei alăturate. Implementați circuitul pe placa DE1 conectând intrările a, b, c la SW3, SW4, respectiv SW5, iar ieșirea z la LEDR6. |
[[Fișier:lab1_ex4.png]] | [[Fișier:lab1_ex4.png]] | ||
Linia 55: | Linia 60: | ||
== Exercițiul 5 == | == Exercițiul 5 == | ||
− | Realizați descrierea în Verilog a modulului cu intrările '''a''', '''b''', '''c''' și ieșirea ''' | + | Realizați descrierea în Verilog a modulului cu intrările '''a''', '''b''', '''c''' și ieșirea '''y''', cu funcționalitatea conform schemei alăturate. Implementați circuitul pe placa DE1 conectând intrările a, b, c la SW5, SW6, respectiv SW7, iar ieșirea y la LEDG4. |
[[Fișier:lab1_ex5.png]] | [[Fișier:lab1_ex5.png]] | ||
Linia 61: | Linia 66: | ||
== Exercițiul 6 == | == Exercițiul 6 == | ||
− | Realizați descrierea în Verilog a modulului cu intrările '''a''', '''b''', '''c''' și ieșirea ''' | + | Realizați descrierea în Verilog a modulului cu intrările '''a''', '''b''', '''c''' și ieșirea '''y''', cu funcționalitatea conform schemei alăturate. Implementați circuitul pe placa DE1 conectând intrările a, b, c la SW5, SW4, respectiv SW1, iar ieșirea y la LEDR7. |
[[Fișier:lab1_ex6.png]] | [[Fișier:lab1_ex6.png]] | ||
− | == Submiterea Exercițiilor == | + | == Submiterea Rezolvării Exercițiilor == |
− | Se va rezolva un singur exercițiu, ce va fi selectat de cadrul didactic. Pentru notare, se vor submite următoarele fișiere, către adresa de e-mail indicată de cadrul didactic | + | Se va rezolva un singur exercițiu, ce va fi selectat de cadrul didactic. Pentru notare, se vor submite următoarele fișiere, către adresa de e-mail indicată de cadrul didactic. |
− | O arhivă <span style="color: red; font-weight: bold">zip<span> ce va conține: | + | O arhivă <span style="color: red; font-weight: bold">zip</span> ce va conține: |
*Un fișier Verilog cu extensia .v care conține descrierea Verilog a circuitului | *Un fișier Verilog cu extensia .v care conține descrierea Verilog a circuitului | ||
− | *Un fișier de constrângeri, cu extensia . | + | *Un fișier de constrângeri, cu extensia .qsf |
− | *Un fișier de tip proiect | + | *Un fișier de tip proiect Quartus, cu extensia .qpf |
Atentie, arhiva va contine doar cele 3 fisiere (fara directoare). | Atentie, arhiva va contine doar cele 3 fisiere (fara directoare). | ||
Linia 80: | Linia 85: | ||
== Recomandări pentru cadrele didactice == | == Recomandări pentru cadrele didactice == | ||
− | + | * Implementarea unui exemplu de proiect Quartus, parcurgându-se [[Tutorial_Quartus_II|tutorialul]]. | |
− | * Implementarea unui exemplu de proiect |
Versiunea curentă din 6 martie 2018 07:55
Noțiuni și cunoștințe necesare
- Utilizarea programului de sinteză Altera Quartus II
- Lista pinilor plăcii DE1
- Lista pinilor plăcii DE1_SOC
- Logică booleană și sisteme de numerație
- Noțiuni de sintaxă Verilog
Exemplu
Creați un proiect nou în Quartus II, pentru dispozitivul FPGA Altera Cyclone II de pe placa DE1. Creați un fișier sursă Verilog în cadrul proiectului, și copiați modulul următor în fisier.
Atenție! Numele modulului top-level care va fi sintetizat trebuie setat corect cand creati proiectul (in cazul acesta, OrGate).
module OrGate(
output out,
input in1,
input in2
);
assign out = in1 | in2;
endmodule
Adăugați constrângerile necesare pentru ca intrările și ieșirile circuitului să fie conectate astfel:
- in1 conectat la SW0: PIN_L22
- in2 conectat la SW7: PIN_M2
- out conectat la LDR3 (ledul roșu nr.3): PIN_Y19
Implementați proiectul pe placa DE1 și observați funcționalitatea circuitului descris de proiectul Quartus II.
Lista pinilor la care sunt conectate dispozitivele I/O pe placa DE1 sunt descriși aici
Exercițiul 1
Realizați descrierea în Verilog a modulului cu intrările a, b, c și ieșirea d, cu funcționalitatea conform schemei alăturate. Implementați circuitul pe placa DE1 conectând intrările a, b, c la SW2, SW4, respectiv SW6, iar ieșirea d la LEDG2.
Exercițiul 2
Realizați descrierea în Verilog a modulului cu intrările a, b, c și ieșirea q, cu funcționalitatea conform schemei alăturate. Implementați circuitul pe placa DE1 conectând intrările a, b, c la SW3, SW4, respectiv SW7, iar ieșirea q la LEDR7.
Exercițiul 3
Realizați descrierea în Verilog a modulului cu intrările a, b, c și ieșirea q, cu funcționalitatea conform schemei alăturate. Implementați circuitul pe placa DE1 conectând intrările a, b, c la SW1, SW6, respectiv SW7, iar ieșirea q la LEDG3.
Exercițiul 4
Realizați descrierea în Verilog a modulului cu intrările a, b, c și ieșirea z, cu funcționalitatea conform schemei alăturate. Implementați circuitul pe placa DE1 conectând intrările a, b, c la SW3, SW4, respectiv SW5, iar ieșirea z la LEDR6.
Exercițiul 5
Realizați descrierea în Verilog a modulului cu intrările a, b, c și ieșirea y, cu funcționalitatea conform schemei alăturate. Implementați circuitul pe placa DE1 conectând intrările a, b, c la SW5, SW6, respectiv SW7, iar ieșirea y la LEDG4.
Exercițiul 6
Realizați descrierea în Verilog a modulului cu intrările a, b, c și ieșirea y, cu funcționalitatea conform schemei alăturate. Implementați circuitul pe placa DE1 conectând intrările a, b, c la SW5, SW4, respectiv SW1, iar ieșirea y la LEDR7.
Submiterea Rezolvării Exercițiilor
Se va rezolva un singur exercițiu, ce va fi selectat de cadrul didactic. Pentru notare, se vor submite următoarele fișiere, către adresa de e-mail indicată de cadrul didactic.
O arhivă zip ce va conține:
- Un fișier Verilog cu extensia .v care conține descrierea Verilog a circuitului
- Un fișier de constrângeri, cu extensia .qsf
- Un fișier de tip proiect Quartus, cu extensia .qpf
Atentie, arhiva va contine doar cele 3 fisiere (fara directoare).
Subiectul mesajului de e-mail trebuie să respecte formatul [Nume]_[Prenume]_[Grupa]_[Numărul Exercițiului]. De exemplu Petrica_Lucian_423B_2
Recomandări pentru cadrele didactice
- Implementarea unui exemplu de proiect Quartus, parcurgându-se tutorialul.