Diferență între revizuiri ale paginii „CID Lab Lucrarea 1”
(Nu s-au afișat 62 de versiuni intermediare efectuate de alți 5 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] |
− | * [[Verilog# | + | * [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]] |
+ | * 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). | |
− | + | ||
− | + | <syntaxhighlight lang="Verilog"> | |
− | + | module OrGate( | |
− | + | output out, | |
− | + | input in1, | |
+ | input in2 | ||
+ | ); | ||
+ | |||
+ | assign out = in1 | in2; | ||
+ | |||
+ | endmodule | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | 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 [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 == | ||
+ | |||
+ | 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]] | ||
+ | |||
+ | == 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. | ||
+ | |||
+ | [[Fișier:lab1_ex2.gif]] | ||
+ | |||
+ | == 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. | ||
+ | |||
+ | [[Fișier:lab1_ex3.jpg]] | ||
+ | |||
+ | == 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. | ||
+ | |||
+ | [[Fișier:lab1_ex4.png]] | ||
+ | |||
+ | == 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. | ||
+ | |||
+ | [[Fișier:lab1_ex5.png]] | ||
+ | |||
+ | == 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. | ||
+ | |||
+ | [[Fișier:lab1_ex6.png]] | ||
+ | |||
+ | == 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ă <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 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 <span style="color: red; font-weight: bold">[Nume]_[Prenume]_[Grupa]_[Numărul Exercițiului]</span>. De exemplu Petrica_Lucian_423B_2 | ||
+ | |||
+ | == Recomandări pentru cadrele didactice == | ||
+ | |||
+ | * Implementarea unui exemplu de proiect Quartus, parcurgându-se [[Tutorial_Quartus_II|tutorialul]]. |
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.