<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ro">
	<id>http://wiki.dcae.pub.ro/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Mdascalu</id>
	<title>WikiLabs - Contribuții utilizator [ro]</title>
	<link rel="self" type="application/atom+xml" href="http://wiki.dcae.pub.ro/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Mdascalu"/>
	<link rel="alternate" type="text/html" href="http://wiki.dcae.pub.ro/index.php/Special:Contribu%C8%9Bii/Mdascalu"/>
	<updated>2026-04-10T21:59:48Z</updated>
	<subtitle>Contribuții utilizator</subtitle>
	<generator>MediaWiki 1.35.14</generator>
	<entry>
		<id>http://wiki.dcae.pub.ro/index.php?title=CID_Lab_Lucrarea_5&amp;diff=5928</id>
		<title>CID Lab Lucrarea 5</title>
		<link rel="alternate" type="text/html" href="http://wiki.dcae.pub.ro/index.php?title=CID_Lab_Lucrarea_5&amp;diff=5928"/>
		<updated>2018-04-18T16:00:52Z</updated>

		<summary type="html">&lt;p&gt;Mdascalu: /* Exercițiu */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Noțiuni și cunoștințe necesare ==&lt;br /&gt;
&lt;br /&gt;
* [[Introducere. Verilog HDL și ModelSim|Logică booleană și sisteme de numerație]]&lt;br /&gt;
* Sintaxă [[Verilog]]&lt;br /&gt;
* [[Tutorial_Quartus_II| Utilizarea programului de sinteză Altera Quartus II]]&lt;br /&gt;
* [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]&lt;br /&gt;
* [[Circuite secvențiale]]&lt;br /&gt;
* [[Numărătorul]]&lt;br /&gt;
* [[Memorii RAM]]&lt;br /&gt;
&lt;br /&gt;
== Exemplu ==&lt;br /&gt;
&lt;br /&gt;
* Se va descrie în Verilog o memorie RAM 16x4b cu un port de citire-scriere. Citirea este sincrona.&lt;br /&gt;
* Se vor scrie contrâgerile necesare pentru a conecta&lt;br /&gt;
** adresa la SW7-4 și data de intrare la SW3-0.&lt;br /&gt;
** semnalul de activare a scrierii la unul din butoane (KEY0 ... KEY3).&lt;br /&gt;
** ieșirea memoriei la LEDR3-0.&lt;br /&gt;
** intrarea de ceas a memoriei la unul dintre oscilatoarele plăcii DE1.&lt;br /&gt;
* Programati placa FPGA, si folosind switch-urile si butoanele placii, scrieți adresele 3, 6 și 10 cu valorile 2, 1 respectiv 7, apoi citiți-le în aceeași ordine. Observati, folosind LED-urile placii, daca s-a realizat memorarea.&lt;br /&gt;
&lt;br /&gt;
== Exercițiu ==&lt;br /&gt;
&lt;br /&gt;
*Descrieți în Verilog o memorie RAM 16x4b cu două porturi:&lt;br /&gt;
** Un port sincron de scriere (Write-Only) cu următoarele semnale:&lt;br /&gt;
*** WR_ADDR - adresa la care se scrie&lt;br /&gt;
*** WR_EN - comanda de scriere&lt;br /&gt;
*** WR_DATA - datele scrise&lt;br /&gt;
** Un port sincron de citire (Read-Only) cu următoarele semnale:&lt;br /&gt;
*** RD_ADDR - adresa citită&lt;br /&gt;
*** RD_DATA - datele citite&lt;br /&gt;
* Memoria va fi instanțiată în modulul TOP conform figurii următoare:&lt;br /&gt;
[[Fișier:Cid_lab6.jpg]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;verilog&amp;quot;&amp;gt;&lt;br /&gt;
module COUNTER(&lt;br /&gt;
    input clk,&lt;br /&gt;
    output reg [31:0] cnt&lt;br /&gt;
);&lt;br /&gt;
&lt;br /&gt;
always @(posedge clk) cnt &amp;lt;= cnt + 1;&lt;br /&gt;
&lt;br /&gt;
endmodule &lt;br /&gt;
&lt;br /&gt;
module ROM(&lt;br /&gt;
    input [3:0] in,&lt;br /&gt;
    output reg [3:0] out&lt;br /&gt;
);&lt;br /&gt;
&lt;br /&gt;
always @(in)&lt;br /&gt;
    case(in)&lt;br /&gt;
        0:  out = 4&amp;#039;b0000;&lt;br /&gt;
        1:  out = 4&amp;#039;b0110;&lt;br /&gt;
        2:  out = 4&amp;#039;b0011;&lt;br /&gt;
        3:  out = 4&amp;#039;b1110;&lt;br /&gt;
        4:  out = 4&amp;#039;b1011;&lt;br /&gt;
        5:  out = 4&amp;#039;b1111;&lt;br /&gt;
        6:  out = 4&amp;#039;b0111;&lt;br /&gt;
        7:  out = 4&amp;#039;b1100;&lt;br /&gt;
        8:  out = 4&amp;#039;b0001;&lt;br /&gt;
        9:  out = 4&amp;#039;b0101;&lt;br /&gt;
        10: out = 4&amp;#039;b1101;&lt;br /&gt;
        11: out = 4&amp;#039;b1010;&lt;br /&gt;
        12: out = 4&amp;#039;b0010;&lt;br /&gt;
        13: out = 4&amp;#039;b0100;&lt;br /&gt;
        14: out = 4&amp;#039;b1000;&lt;br /&gt;
        15: out = 4&amp;#039;b1001;&lt;br /&gt;
        default: out = 4&amp;#039;b0000;&lt;br /&gt;
    endcase&lt;br /&gt;
&lt;br /&gt;
endmodule&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Scrieți constrângerile necesare pentru a conecta porturile modulului TOP:&lt;br /&gt;
** DIN la SW7-4,&lt;br /&gt;
** ADR la SW3-0,&lt;br /&gt;
** WEN la KEY3,&lt;br /&gt;
** DOUT la LEDR3-0,&lt;br /&gt;
** intrarea de ceas la CLOCK_50.&lt;br /&gt;
* Programati placa FPGA; Scrieți memoria RAM cu valorile necesare pentru a produce pe DOUT o secvență de numere indicată de cadrul didactic.&lt;br /&gt;
&lt;br /&gt;
== Submiterea Exercițiilor ==&lt;br /&gt;
&lt;br /&gt;
Pentru notare, se vor submite următoarele fișiere, către adresa de e-mail indicată de cadrul didactic.&lt;br /&gt;
&lt;br /&gt;
O arhivă &amp;lt;span style=&amp;quot;color: red; font-weight: bold&amp;quot;&amp;gt;zip&amp;lt;/span&amp;gt; ce va conține:&lt;br /&gt;
*Toate fișierele Verilog (cu extensia .v) care conțin descrierea circuitului&lt;br /&gt;
*Un fișier de constrângeri, cu extensia .qsf&lt;br /&gt;
*Un fișier de tip proiect Quartus, cu extensia .qpf&lt;br /&gt;
Atentie, arhiva va contine doar fisiere (fara directoare).&lt;br /&gt;
&lt;br /&gt;
Subiectul mesajului de e-mail trebuie să respecte formatul &amp;lt;span style=&amp;quot;color: red; font-weight: bold&amp;quot;&amp;gt;[Nume]_[Prenume]_[Grupa]_Mem&amp;lt;/span&amp;gt; de exemplu Popescu_Ion_423B_Mem&lt;/div&gt;</summary>
		<author><name>Mdascalu</name></author>
	</entry>
	<entry>
		<id>http://wiki.dcae.pub.ro/index.php?title=Circuite_Integrate_Digitale_(laborator)&amp;diff=5679</id>
		<title>Circuite Integrate Digitale (laborator)</title>
		<link rel="alternate" type="text/html" href="http://wiki.dcae.pub.ro/index.php?title=Circuite_Integrate_Digitale_(laborator)&amp;diff=5679"/>
		<updated>2018-03-05T13:33:34Z</updated>

		<summary type="html">&lt;p&gt;Mdascalu: /* Tutoriale și documentații */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Scopul laboratorului ==&lt;br /&gt;
&lt;br /&gt;
Scopul laboratorului de Circuite Integrate Digitale este de a introduce studentului conceptele necesare pentru design digital, asimilarea unui nou limbaj, Verilog, utilizat pentru descriere hardware, precum și familiarizarea cu unelte software de simulare și sinteză.&lt;br /&gt;
&lt;br /&gt;
== Tutoriale și documentații ==&lt;br /&gt;
&lt;br /&gt;
# [[Introducere. Verilog HDL]] (Sintaxa [[Verilog]])&lt;br /&gt;
# [[Introducere în sinteza pe FPGA. Xilinx ISE]], [[Tutorial Xilinx ISE (14.7)]], [[Tutorial 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/3/37/Pin_Assignments_Cyclone_V_.pdf Conectarea pinilor pe placa DE1-SoC]&lt;br /&gt;
# [[Memorii ROM]]. [[Dispozitiv de IO: Afișajul cu 7 segmente]]. [[Circuite secvențiale]]. [[Numărătorul]].&lt;br /&gt;
# [[Memorii RAM]]. [[Circuitul de debounce]].&lt;br /&gt;
# [[Divizorul de frecvență]]. [[Generator de impulsuri cu factor de umplere variabil]]. [[Decodorul]].&lt;br /&gt;
# [[Automate]]. [[Tastatura PS2]].&lt;br /&gt;
&lt;br /&gt;
== Lucrări de laborator ==&lt;br /&gt;
&lt;br /&gt;
# [[CID Lab Lucrarea 0]]&lt;br /&gt;
# [[CID Lab Lucrarea 1]]&lt;br /&gt;
# [[CID Lab Lucrarea 2]]&lt;br /&gt;
# [[CID Lab Lucrarea 3]]&lt;br /&gt;
# [[CID Lab Lucrarea 4]]&lt;br /&gt;
# [[CID Lab Lucrarea 5]]&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
# [[CID Lab Lucrarea 6]]&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Regulament de desfășurare a laboratorului ==&lt;br /&gt;
&lt;br /&gt;
Următoarele reguli se aplică activităților desfășurate în cadrul laboratoarelor de CID.&lt;br /&gt;
&lt;br /&gt;
* Activitatea de laborator se desfăşoară pe parcursul a 7 şedinte de cate 100 minute fiecare şi constă în rezolvarea cerinţelor şi temelor indicate în platformele de laborator și de către cadrele didactice.&lt;br /&gt;
* Studenții pot absenta, urmând a recupera lucrarea de laborator respectivă. Un student se poate prezenta pentru a recupera sau a lucra suplimentar la orice cadru didactic sau interval orar, fară însă a avea prioritate la staţiile de lucru.&lt;br /&gt;
* În sala de laborator au acces doar 14 studenţi, ce vor lucra fiecare la un calculator. Grupele se împart în aşa fel încât semigrupa să nu depăşească această limită. În mod excepţional un student poate opta de la bun început să participe la şedinţele de laborator cu o altă grupă, dar numai daca semigrupele respectivei grupe sunt incomplete.&lt;br /&gt;
* Evaluarea studenților este făcută pe baza rezolvării temelor date (50p) și a unui colocviu în ultima sesiune de laborator (50p). Prezenţa pasivă nu se punctează. &lt;br /&gt;
** Temele vor fi atribuite studentilor în timpul sesiunii de laborator, fiecare temă evaluând noțiunile din lucrarea de laborator asociată.&lt;br /&gt;
*** Temele vor fi realizate în timpul orei de laborator și vor fi predate pe e-mail la sfârșitul orei de laborator. &lt;br /&gt;
*** Temele vor fi verificate automat împotriva plagierii, și notele vor fi acordate conform unui barem transmis studenților odată cu enunțul temei.&lt;br /&gt;
*** Plagierea unei teme de laborator duce la pierderea întregului punctaj asociat temei respective.&lt;br /&gt;
** Colocviul constă în implementarea unui circuit digital, descris în Verilog, folosind cunoștințele acumulate în timpul lucrărilor de laborator.&lt;br /&gt;
** Pentru promovare este necesară obținerea a cel puțin 25/50 de puncte la colocviul de laborator.&lt;br /&gt;
** Colocviul poate fi repetat în sesiunea de restanțe în caz de nepromovare.&lt;br /&gt;
* În afară de prima platforma, studentul are obligaţia să citească platforma înaintea orei de laborator. În prima parte a laboratorului, este indicat să pună întrebări pentru a lămuri lucrurile pe care nu le-a înţeles după citirea platformei.&lt;br /&gt;
* La plecarea din sala de laborator nu închideţi staţiile de lucru.&lt;br /&gt;
* Modulele scrise in Verilog se pot transfera la începutul sau/şi la sfârşitul laboratorului folosind adresa personală de e-mail.&lt;br /&gt;
* Orice defecţiune (produsă cu intenţia studentului) platformelor de laborator, aparaturii de laborator, cablurilor de legatură sau calculatorului, se penalizează cu nota 4 (nota finală) la laborator. Prin &amp;quot;defectiune produsă cu intenţia studentului&amp;quot; se înţelege:&lt;br /&gt;
** atingerea părţilor metalice ale circuitelor sensibile la descărcări electrostatice (MOS);&lt;br /&gt;
** modificarea poziţiei regletelor sau jumper-ilor care duce la distrugerea circuitelor (fără a cunoaşte foarte bine funcţionarea circuitului);&lt;br /&gt;
** îndoirea sondelor, ruperea cablurilor sau mufelor de legatură;&lt;br /&gt;
** distrugerea aparaturii de laborator prin măsurători necorespunzătoare (măsurarea tensiunii cu ampermetrul, folosirea osciloscopului pe scara de sensibilitate maxima pentru măsurarea tensiunilor ridicate, scurtciruitarea ieşirii generatorului de semnal, scurtcircuitarea ieşirii sursei de tensiune, aplicarea unor tensiuni necorespunzătoare pe plăcile de test) sau prin aplicarea unor tensiuni necorespunzătoare circuitelor măsurate;&lt;br /&gt;
** orice intervenţie fizică prin lovire sau bruscare a carcasei aparatului sau a comutatoarelor de pe panou;&lt;br /&gt;
** conectarea mufelor de legatură între platformă şi aparate cât timp acestea se află sub tensiune.&lt;br /&gt;
* Cadrul didactic va oferi următoarele servicii studentului:&lt;br /&gt;
** În primele 10 minute din fiecare laborator, va raspunde întrebarilor studenţilor referitoare la lucrările anterioare de laborator, sau materialele didactice corespunzătoare lucrării curente, citite acasă.&lt;br /&gt;
** Va răspunde tuturor întrebărilor pertinente ale studenţilor din timpul laboratorului, legate de subiectul lucrării în curs.&lt;br /&gt;
** În cazul în care studentul pune o întrebare care arată faptul că nu a citit platforma, va fi ghidat către platforma de laborator respectivă şi invitat politicos să citească respectivul paragraf.&lt;br /&gt;
** Va incepe orele la momentul programat, cu punctualitate maximă.&lt;br /&gt;
&lt;br /&gt;
== Evaluare pe parcurs ==&lt;br /&gt;
&lt;br /&gt;
Catalogul laboratorului de CID poate fi găsit [https://docs.google.com/spreadsheets/d/1Vw8MRv7Amu-FUeQRvJCbdGJLjSAe2UbEiSzEDHPrI4Y/edit?usp=sharing aici]&lt;br /&gt;
&lt;br /&gt;
== Colocviu de laborator ==&lt;br /&gt;
&lt;br /&gt;
=== Regulament ===&lt;br /&gt;
&lt;br /&gt;
* Condiții de promovare: 25p/50p la colocviu, minim 50p/100p din punctajul total.&lt;br /&gt;
* Subiectele NU vor conține exemple de cod Verilog. Singurele exemple pot fi găsite în platformele de laborator.&lt;br /&gt;
* Toate telefoanele mobile se vor pune &amp;#039;&amp;#039;ÎNCHISE&amp;#039;&amp;#039; pe catedră. Studentul găsit cu mobil asupra lui va primit automat 0 puncte. &lt;br /&gt;
* Foile albe se centralizează la catedră și se distribuie după necesități studenților.&lt;br /&gt;
* Studenții vor avea acces doar la wiki.dcae.pub.ro.&lt;br /&gt;
* Studenții vor semna la intrarea în laborator o declarație de onestitate prin care se obligă să nu fraudeze examinarea.&lt;br /&gt;
&lt;br /&gt;
=== Timeline ===&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;xy:00&amp;#039;&amp;#039;&amp;#039;: Început colocviu (maximă punctualitate). Telefoanele puse la catedră, închise, declarațiile de onestitate citite și semnate.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;xy:08&amp;#039;&amp;#039;&amp;#039;: Se oprește accesul la Internet. Se împart foile cu subiecte. Se răspunde sumar, dacă sunt întrebări (relative la exprimare).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;xy:15&amp;#039;&amp;#039;&amp;#039;: Se rulează scriptul de curățat calculatoarele și începe lucrul pe computer.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;(xy+1):05&amp;#039;&amp;#039;&amp;#039;: Se termină lucrul pe computer și programul ISE se închide. Se face a arhivă ZIP cu fișerele .v, .ucf, .xise.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;(xy+1):05&amp;#039;&amp;#039;&amp;#039;: Începe evaluarea studenților. Se verifică timestamp­-ul fișierelor din arhivă.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;(xy+1):45&amp;#039;&amp;#039;&amp;#039;: Se termină evaluarea studenților (aproximativ 3 minute/student). Se pornește accesul la Internet. Studentul trimite arhiva pe e­mail în următoarele 10 minute.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;(xy+1):55&amp;#039;&amp;#039;&amp;#039;: Se aerisește sala.&lt;br /&gt;
&lt;br /&gt;
Subiectele se vor rezolva deci în 50 de minute.&lt;br /&gt;
&lt;br /&gt;
=== Reevaluare Colocviu ===&lt;br /&gt;
&lt;br /&gt;
Studenții pot contesta rezultatele colocviului, reevaluarea fiind realizată de un alt cadru didactic decât cel care a realizat corectura inițială, dar folosind aceeași grilă de punctaj. Nota obținută în urma re-corectarii este finală, indiferent daca este mai mică sau mai mare decât cea obținută inițial. Datorită timpului limitat al cadrelor didactice, vă rugăm să solicitati reevaluarea doar din motive întemeiate. &lt;br /&gt;
&lt;br /&gt;
== Link-uri externe ==&lt;br /&gt;
&lt;br /&gt;
# https://www.youtube.com/watch?v=lNuPy-r1GuQ - logica binară explicată cu piese de domino&lt;/div&gt;</summary>
		<author><name>Mdascalu</name></author>
	</entry>
	<entry>
		<id>http://wiki.dcae.pub.ro/index.php?title=Circuite_Integrate_Digitale_(laborator)&amp;diff=5678</id>
		<title>Circuite Integrate Digitale (laborator)</title>
		<link rel="alternate" type="text/html" href="http://wiki.dcae.pub.ro/index.php?title=Circuite_Integrate_Digitale_(laborator)&amp;diff=5678"/>
		<updated>2018-03-05T13:32:45Z</updated>

		<summary type="html">&lt;p&gt;Mdascalu: /* Tutoriale și documentații */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Scopul laboratorului ==&lt;br /&gt;
&lt;br /&gt;
Scopul laboratorului de Circuite Integrate Digitale este de a introduce studentului conceptele necesare pentru design digital, asimilarea unui nou limbaj, Verilog, utilizat pentru descriere hardware, precum și familiarizarea cu unelte software de simulare și sinteză.&lt;br /&gt;
&lt;br /&gt;
== Tutoriale și documentații ==&lt;br /&gt;
&lt;br /&gt;
# [[Introducere. Verilog HDL]] (Sintaxa [[Verilog]])&lt;br /&gt;
# [[Introducere în sinteza pe FPGA. Xilinx ISE]], [[Tutorial Xilinx ISE (14.7)]], [[Tutorial 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/index.php/Fișier:Pin_Assignments_Cyclone_V_.pdf Conectarea pinilor pe placa DE1-SoC]&lt;br /&gt;
# [[Memorii ROM]]. [[Dispozitiv de IO: Afișajul cu 7 segmente]]. [[Circuite secvențiale]]. [[Numărătorul]].&lt;br /&gt;
# [[Memorii RAM]]. [[Circuitul de debounce]].&lt;br /&gt;
# [[Divizorul de frecvență]]. [[Generator de impulsuri cu factor de umplere variabil]]. [[Decodorul]].&lt;br /&gt;
# [[Automate]]. [[Tastatura PS2]].&lt;br /&gt;
&lt;br /&gt;
== Lucrări de laborator ==&lt;br /&gt;
&lt;br /&gt;
# [[CID Lab Lucrarea 0]]&lt;br /&gt;
# [[CID Lab Lucrarea 1]]&lt;br /&gt;
# [[CID Lab Lucrarea 2]]&lt;br /&gt;
# [[CID Lab Lucrarea 3]]&lt;br /&gt;
# [[CID Lab Lucrarea 4]]&lt;br /&gt;
# [[CID Lab Lucrarea 5]]&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
# [[CID Lab Lucrarea 6]]&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Regulament de desfășurare a laboratorului ==&lt;br /&gt;
&lt;br /&gt;
Următoarele reguli se aplică activităților desfășurate în cadrul laboratoarelor de CID.&lt;br /&gt;
&lt;br /&gt;
* Activitatea de laborator se desfăşoară pe parcursul a 7 şedinte de cate 100 minute fiecare şi constă în rezolvarea cerinţelor şi temelor indicate în platformele de laborator și de către cadrele didactice.&lt;br /&gt;
* Studenții pot absenta, urmând a recupera lucrarea de laborator respectivă. Un student se poate prezenta pentru a recupera sau a lucra suplimentar la orice cadru didactic sau interval orar, fară însă a avea prioritate la staţiile de lucru.&lt;br /&gt;
* În sala de laborator au acces doar 14 studenţi, ce vor lucra fiecare la un calculator. Grupele se împart în aşa fel încât semigrupa să nu depăşească această limită. În mod excepţional un student poate opta de la bun început să participe la şedinţele de laborator cu o altă grupă, dar numai daca semigrupele respectivei grupe sunt incomplete.&lt;br /&gt;
* Evaluarea studenților este făcută pe baza rezolvării temelor date (50p) și a unui colocviu în ultima sesiune de laborator (50p). Prezenţa pasivă nu se punctează. &lt;br /&gt;
** Temele vor fi atribuite studentilor în timpul sesiunii de laborator, fiecare temă evaluând noțiunile din lucrarea de laborator asociată.&lt;br /&gt;
*** Temele vor fi realizate în timpul orei de laborator și vor fi predate pe e-mail la sfârșitul orei de laborator. &lt;br /&gt;
*** Temele vor fi verificate automat împotriva plagierii, și notele vor fi acordate conform unui barem transmis studenților odată cu enunțul temei.&lt;br /&gt;
*** Plagierea unei teme de laborator duce la pierderea întregului punctaj asociat temei respective.&lt;br /&gt;
** Colocviul constă în implementarea unui circuit digital, descris în Verilog, folosind cunoștințele acumulate în timpul lucrărilor de laborator.&lt;br /&gt;
** Pentru promovare este necesară obținerea a cel puțin 25/50 de puncte la colocviul de laborator.&lt;br /&gt;
** Colocviul poate fi repetat în sesiunea de restanțe în caz de nepromovare.&lt;br /&gt;
* În afară de prima platforma, studentul are obligaţia să citească platforma înaintea orei de laborator. În prima parte a laboratorului, este indicat să pună întrebări pentru a lămuri lucrurile pe care nu le-a înţeles după citirea platformei.&lt;br /&gt;
* La plecarea din sala de laborator nu închideţi staţiile de lucru.&lt;br /&gt;
* Modulele scrise in Verilog se pot transfera la începutul sau/şi la sfârşitul laboratorului folosind adresa personală de e-mail.&lt;br /&gt;
* Orice defecţiune (produsă cu intenţia studentului) platformelor de laborator, aparaturii de laborator, cablurilor de legatură sau calculatorului, se penalizează cu nota 4 (nota finală) la laborator. Prin &amp;quot;defectiune produsă cu intenţia studentului&amp;quot; se înţelege:&lt;br /&gt;
** atingerea părţilor metalice ale circuitelor sensibile la descărcări electrostatice (MOS);&lt;br /&gt;
** modificarea poziţiei regletelor sau jumper-ilor care duce la distrugerea circuitelor (fără a cunoaşte foarte bine funcţionarea circuitului);&lt;br /&gt;
** îndoirea sondelor, ruperea cablurilor sau mufelor de legatură;&lt;br /&gt;
** distrugerea aparaturii de laborator prin măsurători necorespunzătoare (măsurarea tensiunii cu ampermetrul, folosirea osciloscopului pe scara de sensibilitate maxima pentru măsurarea tensiunilor ridicate, scurtciruitarea ieşirii generatorului de semnal, scurtcircuitarea ieşirii sursei de tensiune, aplicarea unor tensiuni necorespunzătoare pe plăcile de test) sau prin aplicarea unor tensiuni necorespunzătoare circuitelor măsurate;&lt;br /&gt;
** orice intervenţie fizică prin lovire sau bruscare a carcasei aparatului sau a comutatoarelor de pe panou;&lt;br /&gt;
** conectarea mufelor de legatură între platformă şi aparate cât timp acestea se află sub tensiune.&lt;br /&gt;
* Cadrul didactic va oferi următoarele servicii studentului:&lt;br /&gt;
** În primele 10 minute din fiecare laborator, va raspunde întrebarilor studenţilor referitoare la lucrările anterioare de laborator, sau materialele didactice corespunzătoare lucrării curente, citite acasă.&lt;br /&gt;
** Va răspunde tuturor întrebărilor pertinente ale studenţilor din timpul laboratorului, legate de subiectul lucrării în curs.&lt;br /&gt;
** În cazul în care studentul pune o întrebare care arată faptul că nu a citit platforma, va fi ghidat către platforma de laborator respectivă şi invitat politicos să citească respectivul paragraf.&lt;br /&gt;
** Va incepe orele la momentul programat, cu punctualitate maximă.&lt;br /&gt;
&lt;br /&gt;
== Evaluare pe parcurs ==&lt;br /&gt;
&lt;br /&gt;
Catalogul laboratorului de CID poate fi găsit [https://docs.google.com/spreadsheets/d/1Vw8MRv7Amu-FUeQRvJCbdGJLjSAe2UbEiSzEDHPrI4Y/edit?usp=sharing aici]&lt;br /&gt;
&lt;br /&gt;
== Colocviu de laborator ==&lt;br /&gt;
&lt;br /&gt;
=== Regulament ===&lt;br /&gt;
&lt;br /&gt;
* Condiții de promovare: 25p/50p la colocviu, minim 50p/100p din punctajul total.&lt;br /&gt;
* Subiectele NU vor conține exemple de cod Verilog. Singurele exemple pot fi găsite în platformele de laborator.&lt;br /&gt;
* Toate telefoanele mobile se vor pune &amp;#039;&amp;#039;ÎNCHISE&amp;#039;&amp;#039; pe catedră. Studentul găsit cu mobil asupra lui va primit automat 0 puncte. &lt;br /&gt;
* Foile albe se centralizează la catedră și se distribuie după necesități studenților.&lt;br /&gt;
* Studenții vor avea acces doar la wiki.dcae.pub.ro.&lt;br /&gt;
* Studenții vor semna la intrarea în laborator o declarație de onestitate prin care se obligă să nu fraudeze examinarea.&lt;br /&gt;
&lt;br /&gt;
=== Timeline ===&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;xy:00&amp;#039;&amp;#039;&amp;#039;: Început colocviu (maximă punctualitate). Telefoanele puse la catedră, închise, declarațiile de onestitate citite și semnate.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;xy:08&amp;#039;&amp;#039;&amp;#039;: Se oprește accesul la Internet. Se împart foile cu subiecte. Se răspunde sumar, dacă sunt întrebări (relative la exprimare).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;xy:15&amp;#039;&amp;#039;&amp;#039;: Se rulează scriptul de curățat calculatoarele și începe lucrul pe computer.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;(xy+1):05&amp;#039;&amp;#039;&amp;#039;: Se termină lucrul pe computer și programul ISE se închide. Se face a arhivă ZIP cu fișerele .v, .ucf, .xise.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;(xy+1):05&amp;#039;&amp;#039;&amp;#039;: Începe evaluarea studenților. Se verifică timestamp­-ul fișierelor din arhivă.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;(xy+1):45&amp;#039;&amp;#039;&amp;#039;: Se termină evaluarea studenților (aproximativ 3 minute/student). Se pornește accesul la Internet. Studentul trimite arhiva pe e­mail în următoarele 10 minute.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;(xy+1):55&amp;#039;&amp;#039;&amp;#039;: Se aerisește sala.&lt;br /&gt;
&lt;br /&gt;
Subiectele se vor rezolva deci în 50 de minute.&lt;br /&gt;
&lt;br /&gt;
=== Reevaluare Colocviu ===&lt;br /&gt;
&lt;br /&gt;
Studenții pot contesta rezultatele colocviului, reevaluarea fiind realizată de un alt cadru didactic decât cel care a realizat corectura inițială, dar folosind aceeași grilă de punctaj. Nota obținută în urma re-corectarii este finală, indiferent daca este mai mică sau mai mare decât cea obținută inițial. Datorită timpului limitat al cadrelor didactice, vă rugăm să solicitati reevaluarea doar din motive întemeiate. &lt;br /&gt;
&lt;br /&gt;
== Link-uri externe ==&lt;br /&gt;
&lt;br /&gt;
# https://www.youtube.com/watch?v=lNuPy-r1GuQ - logica binară explicată cu piese de domino&lt;/div&gt;</summary>
		<author><name>Mdascalu</name></author>
	</entry>
	<entry>
		<id>http://wiki.dcae.pub.ro/index.php?title=Fi%C8%99ier:Pin_Assignments_Cyclone_V_.pdf&amp;diff=5677</id>
		<title>Fișier:Pin Assignments Cyclone V .pdf</title>
		<link rel="alternate" type="text/html" href="http://wiki.dcae.pub.ro/index.php?title=Fi%C8%99ier:Pin_Assignments_Cyclone_V_.pdf&amp;diff=5677"/>
		<updated>2018-03-05T13:31:06Z</updated>

		<summary type="html">&lt;p&gt;Mdascalu: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Mdascalu</name></author>
	</entry>
	<entry>
		<id>http://wiki.dcae.pub.ro/index.php?title=CID_Lab_Lucrarea_5&amp;diff=5432</id>
		<title>CID Lab Lucrarea 5</title>
		<link rel="alternate" type="text/html" href="http://wiki.dcae.pub.ro/index.php?title=CID_Lab_Lucrarea_5&amp;diff=5432"/>
		<updated>2017-05-03T10:46:42Z</updated>

		<summary type="html">&lt;p&gt;Mdascalu: /* Exercițiu */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Noțiuni și cunoștințe necesare ==&lt;br /&gt;
&lt;br /&gt;
* [[Introducere. Verilog HDL și ModelSim|Logică booleană și sisteme de numerație]]&lt;br /&gt;
* Sintaxă [[Verilog]]&lt;br /&gt;
* [[Tutorial_Quartus_II| Utilizarea programului de sinteză Altera Quartus II]]&lt;br /&gt;
* [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]&lt;br /&gt;
* [[Circuite secvențiale]]&lt;br /&gt;
* [[Numărătorul]]&lt;br /&gt;
* [[Memorii RAM]]&lt;br /&gt;
&lt;br /&gt;
== Exemplu ==&lt;br /&gt;
&lt;br /&gt;
* Se va descrie în Verilog o memorie RAM 16x4b cu un port de citire-scriere. Citirea este sincrona.&lt;br /&gt;
* Se vor scrie contrâgerile necesare pentru a conecta&lt;br /&gt;
** adresa la SW7-4 și data de intrare la SW3-0.&lt;br /&gt;
** semnalul de activare a scrierii la unul din butoane (KEY0 ... KEY3).&lt;br /&gt;
** ieșirea memoriei la LEDR3-0.&lt;br /&gt;
** intrarea de ceas a memoriei la unul dintre oscilatoarele plăcii DE1.&lt;br /&gt;
* Programati placa FPGA, si folosind switch-urile si butoanele placii, scrieți adresele 3, 6 și 10 cu valorile 2, 1 respectiv 7, apoi citiți-le în aceeași ordine. Observati, folosind LED-urile placii, daca s-a realizat memorarea.&lt;br /&gt;
&lt;br /&gt;
== Exercițiu ==&lt;br /&gt;
&lt;br /&gt;
*Descrieți în Verilog o memorie RAM 16x4b cu două porturi:&lt;br /&gt;
** Un port sincron de scriere (Write-Only) cu următoarele semnale:&lt;br /&gt;
*** WR_ADDR - adresa la care se scrie&lt;br /&gt;
*** WR_EN - comanda de scriere&lt;br /&gt;
*** WR_DATA - datele scrise&lt;br /&gt;
** Un port sincron de citire (Read-Only) cu următoarele semnale:&lt;br /&gt;
*** RD_ADDR - adresa citită&lt;br /&gt;
*** RD_DATA - datele citite&lt;br /&gt;
* Memoria va fi instanțiată în modulul TOP conform figurii următoare:&lt;br /&gt;
[[Fișier:Cid_lab6.jpg]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;verilog&amp;quot;&amp;gt;&lt;br /&gt;
module COUNTER(&lt;br /&gt;
    input clk,&lt;br /&gt;
    output reg [31:0] cnt&lt;br /&gt;
);&lt;br /&gt;
&lt;br /&gt;
always @(posedge clk) cnt &amp;lt;= cnt + 1;&lt;br /&gt;
&lt;br /&gt;
endmodule &lt;br /&gt;
&lt;br /&gt;
module ROM(&lt;br /&gt;
    input [3:0] in,&lt;br /&gt;
    output reg [3:0] out&lt;br /&gt;
);&lt;br /&gt;
&lt;br /&gt;
always @(in)&lt;br /&gt;
    case(in)&lt;br /&gt;
        0:  out = 4&amp;#039;b1010;&lt;br /&gt;
        1:  out = 4&amp;#039;b0110;&lt;br /&gt;
        2:  out = 4&amp;#039;b0011;&lt;br /&gt;
        3:  out = 4&amp;#039;b1110;&lt;br /&gt;
        4:  out = 4&amp;#039;b1011;&lt;br /&gt;
        5:  out = 4&amp;#039;b1111;&lt;br /&gt;
        6:  out = 4&amp;#039;b0111;&lt;br /&gt;
        7:  out = 4&amp;#039;b1100;&lt;br /&gt;
        8:  out = 4&amp;#039;b0001;&lt;br /&gt;
        9:  out = 4&amp;#039;b0101;&lt;br /&gt;
        10: out = 4&amp;#039;b1101;&lt;br /&gt;
        11: out = 4&amp;#039;b0000;&lt;br /&gt;
        12: out = 4&amp;#039;b0010;&lt;br /&gt;
        13: out = 4&amp;#039;b0100;&lt;br /&gt;
        14: out = 4&amp;#039;b1000;&lt;br /&gt;
        15: out = 4&amp;#039;b1001;&lt;br /&gt;
    endcase&lt;br /&gt;
&lt;br /&gt;
endmodule&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Scrieți constrângerile necesare pentru a conecta porturile modulului TOP:&lt;br /&gt;
** DIN la SW7-4,&lt;br /&gt;
** ADR la SW3-0,&lt;br /&gt;
** WEN la KEY3,&lt;br /&gt;
** DOUT la LEDR3-0,&lt;br /&gt;
** intrarea de ceas la CLOCK_50.&lt;br /&gt;
* Programati placa FPGA; Scrieți memoria RAM cu valorile necesare pentru a produce pe DOUT o secvență de numere indicată de cadrul didactic.&lt;br /&gt;
&lt;br /&gt;
== Submiterea Exercițiilor ==&lt;br /&gt;
&lt;br /&gt;
Pentru notare, se vor submite următoarele fișiere, către adresa de e-mail indicată de cadrul didactic.&lt;br /&gt;
&lt;br /&gt;
O arhivă &amp;lt;span style=&amp;quot;color: red; font-weight: bold&amp;quot;&amp;gt;zip&amp;lt;/span&amp;gt; ce va conține:&lt;br /&gt;
*Toate fișierele Verilog (cu extensia .v) care conțin descrierea circuitului&lt;br /&gt;
*Un fișier de constrângeri, cu extensia .qsf&lt;br /&gt;
*Un fișier de tip proiect Quartus, cu extensia .qpf&lt;br /&gt;
Atentie, arhiva va contine doar fisiere (fara directoare).&lt;br /&gt;
&lt;br /&gt;
Subiectul mesajului de e-mail trebuie să respecte formatul &amp;lt;span style=&amp;quot;color: red; font-weight: bold&amp;quot;&amp;gt;[Nume]_[Prenume]_[Grupa]_Mem&amp;lt;/span&amp;gt; de exemplu Popescu_Ion_423B_Mem&lt;/div&gt;</summary>
		<author><name>Mdascalu</name></author>
	</entry>
	<entry>
		<id>http://wiki.dcae.pub.ro/index.php?title=CID_Lab_Lucrarea_5&amp;diff=5431</id>
		<title>CID Lab Lucrarea 5</title>
		<link rel="alternate" type="text/html" href="http://wiki.dcae.pub.ro/index.php?title=CID_Lab_Lucrarea_5&amp;diff=5431"/>
		<updated>2017-05-03T10:46:14Z</updated>

		<summary type="html">&lt;p&gt;Mdascalu: /* Exemplu */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Noțiuni și cunoștințe necesare ==&lt;br /&gt;
&lt;br /&gt;
* [[Introducere. Verilog HDL și ModelSim|Logică booleană și sisteme de numerație]]&lt;br /&gt;
* Sintaxă [[Verilog]]&lt;br /&gt;
* [[Tutorial_Quartus_II| Utilizarea programului de sinteză Altera Quartus II]]&lt;br /&gt;
* [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]&lt;br /&gt;
* [[Circuite secvențiale]]&lt;br /&gt;
* [[Numărătorul]]&lt;br /&gt;
* [[Memorii RAM]]&lt;br /&gt;
&lt;br /&gt;
== Exemplu ==&lt;br /&gt;
&lt;br /&gt;
* Se va descrie în Verilog o memorie RAM 16x4b cu un port de citire-scriere. Citirea este sincrona.&lt;br /&gt;
* Se vor scrie contrâgerile necesare pentru a conecta&lt;br /&gt;
** adresa la SW7-4 și data de intrare la SW3-0.&lt;br /&gt;
** semnalul de activare a scrierii la unul din butoane (KEY0 ... KEY3).&lt;br /&gt;
** ieșirea memoriei la LEDR3-0.&lt;br /&gt;
** intrarea de ceas a memoriei la unul dintre oscilatoarele plăcii DE1.&lt;br /&gt;
* Programati placa FPGA, si folosind switch-urile si butoanele placii, scrieți adresele 3, 6 și 10 cu valorile 2, 1 respectiv 7, apoi citiți-le în aceeași ordine. Observati, folosind LED-urile placii, daca s-a realizat memorarea.&lt;br /&gt;
&lt;br /&gt;
== Exercițiu ==&lt;br /&gt;
&lt;br /&gt;
*Descrieți în Verilog o memorie RAM 16x4b cu două porturi:&lt;br /&gt;
** Un port sincron de scriere (Write-Only) cu următoarele semnale:&lt;br /&gt;
*** WR_ADDR - adresa la care se scrie&lt;br /&gt;
*** WR_EN - comanda de scriere&lt;br /&gt;
*** WR_DATA - datele scrise&lt;br /&gt;
** Un port sincron de citire (Read-Only) cu următoarele semnale:&lt;br /&gt;
*** RD_ADDR - adresa citită&lt;br /&gt;
*** RD_DATA - datele citite&lt;br /&gt;
* Memoria va fi instanțiată în modulul TOP conform figurii următoare:&lt;br /&gt;
[[Fișier:Cid_lab6.jpg]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;verilog&amp;quot;&amp;gt;&lt;br /&gt;
module COUNTER(&lt;br /&gt;
    input clk,&lt;br /&gt;
    output reg [31:0] cnt&lt;br /&gt;
);&lt;br /&gt;
&lt;br /&gt;
always @(posedge clk) cnt &amp;lt;= cnt + 1;&lt;br /&gt;
&lt;br /&gt;
endmodule &lt;br /&gt;
&lt;br /&gt;
module ROM(&lt;br /&gt;
    input [3:0] in,&lt;br /&gt;
    output reg [3:0] out&lt;br /&gt;
);&lt;br /&gt;
&lt;br /&gt;
always @(in)&lt;br /&gt;
    case(in)&lt;br /&gt;
        0:  out = 4&amp;#039;b1010;&lt;br /&gt;
        1:  out = 4&amp;#039;b0110;&lt;br /&gt;
        2:  out = 4&amp;#039;b0011;&lt;br /&gt;
        3:  out = 4&amp;#039;b1110;&lt;br /&gt;
        4:  out = 4&amp;#039;b1011;&lt;br /&gt;
        5:  out = 4&amp;#039;b1111;&lt;br /&gt;
        6:  out = 4&amp;#039;b0111;&lt;br /&gt;
        7:  out = 4&amp;#039;b1100;&lt;br /&gt;
        8:  out = 4&amp;#039;b0001;&lt;br /&gt;
        9:  out = 4&amp;#039;b0101;&lt;br /&gt;
        10: out = 4&amp;#039;b1101;&lt;br /&gt;
        11: out = 4&amp;#039;b0000;&lt;br /&gt;
        12: out = 4&amp;#039;b0010;&lt;br /&gt;
        13: out = 4&amp;#039;b0100;&lt;br /&gt;
        14: out = 4&amp;#039;b1000;&lt;br /&gt;
        15: out = 4&amp;#039;b1001;&lt;br /&gt;
    endcase&lt;br /&gt;
&lt;br /&gt;
endmodule&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Scrieți constrângerile necesare pentru a conecta porturile modulului TOP:&lt;br /&gt;
** DIN la SW7-4,&lt;br /&gt;
** ADR la SW3-0,&lt;br /&gt;
** WEN la BTN3,&lt;br /&gt;
** DOUT la LEDR3-0,&lt;br /&gt;
** intrarea de ceas la CLOCK_50.&lt;br /&gt;
* Programati placa FPGA; Scrieți memoria RAM cu valorile necesare pentru a produce pe DOUT o secvență de numere indicată de cadrul didactic.&lt;br /&gt;
&lt;br /&gt;
== Submiterea Exercițiilor ==&lt;br /&gt;
&lt;br /&gt;
Pentru notare, se vor submite următoarele fișiere, către adresa de e-mail indicată de cadrul didactic.&lt;br /&gt;
&lt;br /&gt;
O arhivă &amp;lt;span style=&amp;quot;color: red; font-weight: bold&amp;quot;&amp;gt;zip&amp;lt;/span&amp;gt; ce va conține:&lt;br /&gt;
*Toate fișierele Verilog (cu extensia .v) care conțin descrierea circuitului&lt;br /&gt;
*Un fișier de constrângeri, cu extensia .qsf&lt;br /&gt;
*Un fișier de tip proiect Quartus, cu extensia .qpf&lt;br /&gt;
Atentie, arhiva va contine doar fisiere (fara directoare).&lt;br /&gt;
&lt;br /&gt;
Subiectul mesajului de e-mail trebuie să respecte formatul &amp;lt;span style=&amp;quot;color: red; font-weight: bold&amp;quot;&amp;gt;[Nume]_[Prenume]_[Grupa]_Mem&amp;lt;/span&amp;gt; de exemplu Popescu_Ion_423B_Mem&lt;/div&gt;</summary>
		<author><name>Mdascalu</name></author>
	</entry>
	<entry>
		<id>http://wiki.dcae.pub.ro/index.php?title=CID_Lab_Lucrarea_5&amp;diff=5430</id>
		<title>CID Lab Lucrarea 5</title>
		<link rel="alternate" type="text/html" href="http://wiki.dcae.pub.ro/index.php?title=CID_Lab_Lucrarea_5&amp;diff=5430"/>
		<updated>2017-05-02T10:01:34Z</updated>

		<summary type="html">&lt;p&gt;Mdascalu: /* Exemplu */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Noțiuni și cunoștințe necesare ==&lt;br /&gt;
&lt;br /&gt;
* [[Introducere. Verilog HDL și ModelSim|Logică booleană și sisteme de numerație]]&lt;br /&gt;
* Sintaxă [[Verilog]]&lt;br /&gt;
* [[Tutorial_Quartus_II| Utilizarea programului de sinteză Altera Quartus II]]&lt;br /&gt;
* [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]&lt;br /&gt;
* [[Circuite secvențiale]]&lt;br /&gt;
* [[Numărătorul]]&lt;br /&gt;
* [[Memorii RAM]]&lt;br /&gt;
&lt;br /&gt;
== Exemplu ==&lt;br /&gt;
&lt;br /&gt;
* Se va descrie în Verilog o memorie RAM 16x4b cu un port de citire-scriere. Citirea este sincrona.&lt;br /&gt;
* Se vor scrie contrâgerile necesare pentru a conecta&lt;br /&gt;
** adresa la SW7-4 și data de intrare la SW3-0.&lt;br /&gt;
** semnalul de activare a scrierii la unul din butoane (BTN0 ... BTN3).&lt;br /&gt;
** ieșirea memoriei la LEDR3-0.&lt;br /&gt;
** intrarea de ceas a memoriei la unul dintre oscilatoarele plăcii DE1.&lt;br /&gt;
* Programati placa FPGA, si folosind switch-urile si butoanele placii, scrieți adresele 3, 6 și 10 cu valorile 2, 1 respectiv 7, apoi citiți-le în aceeași ordine. Observati, folosind LED-urile placii, daca s-a realizat memorarea.&lt;br /&gt;
&lt;br /&gt;
== Exercițiu ==&lt;br /&gt;
&lt;br /&gt;
*Descrieți în Verilog o memorie RAM 16x4b cu două porturi:&lt;br /&gt;
** Un port sincron de scriere (Write-Only) cu următoarele semnale:&lt;br /&gt;
*** WR_ADDR - adresa la care se scrie&lt;br /&gt;
*** WR_EN - comanda de scriere&lt;br /&gt;
*** WR_DATA - datele scrise&lt;br /&gt;
** Un port sincron de citire (Read-Only) cu următoarele semnale:&lt;br /&gt;
*** RD_ADDR - adresa citită&lt;br /&gt;
*** RD_DATA - datele citite&lt;br /&gt;
* Memoria va fi instanțiată în modulul TOP conform figurii următoare:&lt;br /&gt;
[[Fișier:Cid_lab6.jpg]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;verilog&amp;quot;&amp;gt;&lt;br /&gt;
module COUNTER(&lt;br /&gt;
    input clk,&lt;br /&gt;
    output reg [31:0] cnt&lt;br /&gt;
);&lt;br /&gt;
&lt;br /&gt;
always @(posedge clk) cnt &amp;lt;= cnt + 1;&lt;br /&gt;
&lt;br /&gt;
endmodule &lt;br /&gt;
&lt;br /&gt;
module ROM(&lt;br /&gt;
    input [3:0] in,&lt;br /&gt;
    output reg [3:0] out&lt;br /&gt;
);&lt;br /&gt;
&lt;br /&gt;
always @(in)&lt;br /&gt;
    case(in)&lt;br /&gt;
        0:  out = 4&amp;#039;b1010;&lt;br /&gt;
        1:  out = 4&amp;#039;b0110;&lt;br /&gt;
        2:  out = 4&amp;#039;b0011;&lt;br /&gt;
        3:  out = 4&amp;#039;b1110;&lt;br /&gt;
        4:  out = 4&amp;#039;b1011;&lt;br /&gt;
        5:  out = 4&amp;#039;b1111;&lt;br /&gt;
        6:  out = 4&amp;#039;b0111;&lt;br /&gt;
        7:  out = 4&amp;#039;b1100;&lt;br /&gt;
        8:  out = 4&amp;#039;b0001;&lt;br /&gt;
        9:  out = 4&amp;#039;b0101;&lt;br /&gt;
        10: out = 4&amp;#039;b1101;&lt;br /&gt;
        11: out = 4&amp;#039;b0000;&lt;br /&gt;
        12: out = 4&amp;#039;b0010;&lt;br /&gt;
        13: out = 4&amp;#039;b0100;&lt;br /&gt;
        14: out = 4&amp;#039;b1000;&lt;br /&gt;
        15: out = 4&amp;#039;b1001;&lt;br /&gt;
    endcase&lt;br /&gt;
&lt;br /&gt;
endmodule&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Scrieți constrângerile necesare pentru a conecta porturile modulului TOP:&lt;br /&gt;
** DIN la SW7-4,&lt;br /&gt;
** ADR la SW3-0,&lt;br /&gt;
** WEN la BTN3,&lt;br /&gt;
** DOUT la LEDR3-0,&lt;br /&gt;
** intrarea de ceas la CLOCK_50.&lt;br /&gt;
* Programati placa FPGA; Scrieți memoria RAM cu valorile necesare pentru a produce pe DOUT o secvență de numere indicată de cadrul didactic.&lt;br /&gt;
&lt;br /&gt;
== Submiterea Exercițiilor ==&lt;br /&gt;
&lt;br /&gt;
Pentru notare, se vor submite următoarele fișiere, către adresa de e-mail indicată de cadrul didactic.&lt;br /&gt;
&lt;br /&gt;
O arhivă &amp;lt;span style=&amp;quot;color: red; font-weight: bold&amp;quot;&amp;gt;zip&amp;lt;/span&amp;gt; ce va conține:&lt;br /&gt;
*Toate fișierele Verilog (cu extensia .v) care conțin descrierea circuitului&lt;br /&gt;
*Un fișier de constrângeri, cu extensia .qsf&lt;br /&gt;
*Un fișier de tip proiect Quartus, cu extensia .qpf&lt;br /&gt;
Atentie, arhiva va contine doar fisiere (fara directoare).&lt;br /&gt;
&lt;br /&gt;
Subiectul mesajului de e-mail trebuie să respecte formatul &amp;lt;span style=&amp;quot;color: red; font-weight: bold&amp;quot;&amp;gt;[Nume]_[Prenume]_[Grupa]_Mem&amp;lt;/span&amp;gt; de exemplu Popescu_Ion_423B_Mem&lt;/div&gt;</summary>
		<author><name>Mdascalu</name></author>
	</entry>
	<entry>
		<id>http://wiki.dcae.pub.ro/index.php?title=CID_Lab_Lucrarea_3&amp;diff=5391</id>
		<title>CID Lab Lucrarea 3</title>
		<link rel="alternate" type="text/html" href="http://wiki.dcae.pub.ro/index.php?title=CID_Lab_Lucrarea_3&amp;diff=5391"/>
		<updated>2017-04-12T10:37:04Z</updated>

		<summary type="html">&lt;p&gt;Mdascalu: /* Exemplu */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Noțiuni și cunoștințe necesare ==&lt;br /&gt;
&lt;br /&gt;
* [[Introducere. Verilog HDL și ModelSim|Logică booleană și sisteme de numerație]]&lt;br /&gt;
* Sintaxă [[Verilog]]&lt;br /&gt;
* [[Tutorial_Quartus_II| Utilizarea programului de sinteză Altera Quartus II]]&lt;br /&gt;
* [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]&lt;br /&gt;
* [[Circuite secvențiale]], [[Numărătorul]]&lt;br /&gt;
&lt;br /&gt;
== Exemplu ==&lt;br /&gt;
&lt;br /&gt;
Descrieți în Verilog un numărător pe 32 de biți cu reset sincron. Legați semnalul de reset la butonul KEY3. Legați cei mai puțin semnificativi 4 biți ai ieșirii numărătorului pe ledurile verzi LEDG3 - LEDG0 și biții [26:23] pe ledurile roșii LEDR3-LEDR0. Observați variația de viteză.&lt;br /&gt;
&lt;br /&gt;
== Exerciții ==&lt;br /&gt;
&lt;br /&gt;
Descrieți în Verilog un circuit care să genereze un semnal dreptunghiular periodic de frecvență (perioadă) dată, folosind unul dintre semnalele de ceas de pe placa DE1, conform cerințelor de la exercițiile 1-6. Acest circuit conține un numărător cu semnal de reset &amp;#039;&amp;#039;&amp;#039;sincron&amp;#039;&amp;#039;&amp;#039; și are un număr de biți suficient de mare pentru a obține frecvența dorită. Scrieți modulul Verilog respectând următoarele cerințe:&lt;br /&gt;
* numele modulului trebuie să fie &amp;#039;&amp;#039;&amp;#039;counter_ks&amp;#039;&amp;#039;&amp;#039;, unde k este perioada indicată pentru fiecare exercițiu&lt;br /&gt;
* interfața modulului trebuie să fie compusă din următoarele semnale:&lt;br /&gt;
*# semnalul de ceas, numit &amp;#039;&amp;#039;&amp;#039;clk&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
*# semnalul de reset, numit &amp;#039;&amp;#039;&amp;#039;reset&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
*# un semnal de ieșire de un bit numit &amp;#039;&amp;#039;&amp;#039;out&amp;#039;&amp;#039;&amp;#039; care să oscileze cu perioada cerută.&lt;br /&gt;
Constrângerile pentru semnalul de reset, ledul pe care se afișează ieșirea și semnalul de ceas folosit sunt precizate pentru fiecare exercițiu în parte.&lt;br /&gt;
&lt;br /&gt;
Pentru nota maximă (10) se va urmări generarea semnalului de frecvența dorită. Se va puncta cu cel mult nota 8 generarea unui semnal de o frecvență cât mai apropiată de această frecvență, folosind una dintre ieșirile numărătorului.&lt;br /&gt;
&lt;br /&gt;
===Exercițiul 1===&lt;br /&gt;
Semnalul de ieșire are perioada de 1s.&lt;br /&gt;
Se va folosi semnalul de ceas al plăcii CLOCK27.&lt;br /&gt;
Intrarea de reset este butonul KEY2.&lt;br /&gt;
Ieșirea este conectată pe LEDR9.&lt;br /&gt;
&lt;br /&gt;
===Exercițiul 2===&lt;br /&gt;
Semnalul de ieșire are perioada de 2s.&lt;br /&gt;
Se va folosi semnalul de ceas al plăcii CLOCK24.&lt;br /&gt;
Intrarea de reset este butonul KEY0&lt;br /&gt;
Ieșirea este conectată pe LEDR5.&lt;br /&gt;
&lt;br /&gt;
===Exercițiul 3===&lt;br /&gt;
Semnalul de ieșire are perioada de 3s.&lt;br /&gt;
Se va folosi semnalul de ceas al plăcii CLOCK50.&lt;br /&gt;
Intrarea de reset este butonul KEY1.&lt;br /&gt;
Ieșirea este conectată pe LEDR0.&lt;br /&gt;
&lt;br /&gt;
===Exercițiul 4===&lt;br /&gt;
Semnalul de ieșire are perioada de 2s.&lt;br /&gt;
Se va folosi semnalul de ceas al plăcii CLOCK27.&lt;br /&gt;
Intrarea de reset este butonul KEY3.&lt;br /&gt;
Ieșirea este conectată pe LEDG7.&lt;br /&gt;
&lt;br /&gt;
===Exercițiul 5===&lt;br /&gt;
Semnalul de ieșire are perioada de 3s.&lt;br /&gt;
Se va folosi semnalul de ceas al plăcii CLOCK24.&lt;br /&gt;
Intrarea de reset este butonul KEY2.&lt;br /&gt;
Ieșirea este conectată pe LEDG0.&lt;br /&gt;
&lt;br /&gt;
===Exercițiul 6===&lt;br /&gt;
Semnalul de ieșire are perioada de 1s.&lt;br /&gt;
Se va folosi semnalul de ceas al plăcii CLOCK50.&lt;br /&gt;
Intrarea de reset este butonul KEY0.&lt;br /&gt;
Ieșirea este conectată pe LEDR4.&lt;br /&gt;
&lt;br /&gt;
== Exercițiu Bonus ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Implementați circuitul de la exercițiul anterior având un modul de top care descrie structural principiul divizorului de frecvență (folosiți un numărător și un circuit care resetează numărătorul atunci când ieșirea acestuia atinge o anumită valoare). În modulul de top vor fi instanțiate numărătorul și circuitul care generează semnalul de reset pentru numărător.&lt;br /&gt;
&lt;br /&gt;
== Submiterea Exercițiilor ==&lt;br /&gt;
&lt;br /&gt;
Pentru notare, se vor submite următoarele fișiere, către adresa de e-mail indicată de cadrul didactic.&lt;br /&gt;
&lt;br /&gt;
O arhivă &amp;lt;span style=&amp;quot;color: red; font-weight: bold&amp;quot;&amp;gt;zip&amp;lt;/span&amp;gt; ce va conține:&lt;br /&gt;
*Fișierul Verilog cu extensia .v care conține descrierea Verilog a circuitului. Dacă ați rezolvat și exercițiul bonus veți trimite cele 3 fișiere.&lt;br /&gt;
*Un fișier de constrângeri, cu extensia .qsf&lt;br /&gt;
*Un fișier de tip proiect Quartus, cu extensia .qpf&lt;br /&gt;
Atentie, arhiva va contine doar cele 3 fisiere (fara directoare).&lt;br /&gt;
&lt;br /&gt;
Subiectul mesajului de e-mail trebuie să respecte formatul &amp;lt;span style=&amp;quot;color: red; font-weight: bold&amp;quot;&amp;gt;[Nume]_[Prenume]_[Grupa]_numarator_[Nr. Exercitiu]&amp;lt;/span&amp;gt; de exemplu Petrica_Lucian_423B_7seg_4&lt;br /&gt;
&lt;br /&gt;
== Recomandări pentru cadrul didactic ==&lt;br /&gt;
&lt;br /&gt;
Se vor verifica noțiunile de circuite sincrone (blocuri always cu activare pe front, atribuiri non-blocking).&lt;br /&gt;
Va fi explicată ideea divizorului de frecvență pornind de la o frecvență a ceasului diferită de cele de pe placă și se va raspunde întrebărilor studenților.&lt;/div&gt;</summary>
		<author><name>Mdascalu</name></author>
	</entry>
	<entry>
		<id>http://wiki.dcae.pub.ro/index.php?title=CID_Lab_Lucrarea_3&amp;diff=5361</id>
		<title>CID Lab Lucrarea 3</title>
		<link rel="alternate" type="text/html" href="http://wiki.dcae.pub.ro/index.php?title=CID_Lab_Lucrarea_3&amp;diff=5361"/>
		<updated>2017-04-05T13:42:47Z</updated>

		<summary type="html">&lt;p&gt;Mdascalu: /* Exerciții */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Noțiuni și cunoștințe necesare ==&lt;br /&gt;
&lt;br /&gt;
* [[Introducere. Verilog HDL și ModelSim|Logică booleană și sisteme de numerație]]&lt;br /&gt;
* Sintaxă [[Verilog]]&lt;br /&gt;
* [[Tutorial_Quartus_II| Utilizarea programului de sinteză Altera Quartus II]]&lt;br /&gt;
* [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]&lt;br /&gt;
* [[Circuite secvențiale]], [[Numărătorul]]&lt;br /&gt;
&lt;br /&gt;
== Exemplu ==&lt;br /&gt;
&lt;br /&gt;
Descrieți în Verilog un numărător pe 32 de biți cu reset sincron. Legați semnalul de reset la butonul KEY3. Legați cei mai puțin semnificativi 4 biți ai ieșirii numărătorului pe ledurile verzi LEDG3 - LEDG0 și biții [26:23] pe ledurile roșii LEDR3-LED0. Observați variația de viteză.&lt;br /&gt;
&lt;br /&gt;
== Exerciții ==&lt;br /&gt;
&lt;br /&gt;
Descrieți în Verilog un circuit care să genereze un semnal dreptunghiular periodic de frecvență (perioadă) dată, folosind unul dintre semnalele de ceas de pe placa DE1, conform cerințelor de la exercițiile 1-6. Acest circuit conține un numărător cu semnal de reset &amp;#039;&amp;#039;&amp;#039;sincron&amp;#039;&amp;#039;&amp;#039; și are un număr de biți suficient de mare pentru a obține frecvența dorită. Scrieți modulul Verilog respectând următoarele cerințe:&lt;br /&gt;
* numele modulului trebuie să fie &amp;#039;&amp;#039;&amp;#039;counter_ks&amp;#039;&amp;#039;&amp;#039;, unde k este perioada indicată pentru fiecare exercițiu&lt;br /&gt;
* interfața modulului trebuie să fie compusă din următoarele semnale:&lt;br /&gt;
*# semnalul de ceas, numit &amp;#039;&amp;#039;&amp;#039;clk&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
*# semnalul de reset, numit &amp;#039;&amp;#039;&amp;#039;reset&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
*# un semnal de ieșire de un bit numit &amp;#039;&amp;#039;&amp;#039;out&amp;#039;&amp;#039;&amp;#039; care să oscileze cu perioada cerută.&lt;br /&gt;
Constrângerile pentru semnalul de reset, ledul pe care se afișează ieșirea și semnalul de ceas folosit sunt precizate pentru fiecare exercițiu în parte.&lt;br /&gt;
&lt;br /&gt;
Pentru nota maximă (10) se va urmări generarea semnalului de frecvența dorită. Se va puncta cu cel mult nota 8 generarea unui semnal de o frecvență cât mai apropiată de această frecvență, folosind una dintre ieșirile numărătorului.&lt;br /&gt;
&lt;br /&gt;
===Exercițiul 1===&lt;br /&gt;
Semnalul de ieșire are perioada de 1s.&lt;br /&gt;
Se va folosi semnalul de ceas al plăcii CLOCK27.&lt;br /&gt;
Intrarea de reset este butonul KEY2.&lt;br /&gt;
Ieșirea este conectată pe LEDR9.&lt;br /&gt;
&lt;br /&gt;
===Exercițiul 2===&lt;br /&gt;
Semnalul de ieșire are perioada de 2s.&lt;br /&gt;
Se va folosi semnalul de ceas al plăcii CLOCK24.&lt;br /&gt;
Intrarea de reset este butonul KEY0&lt;br /&gt;
Ieșirea este conectată pe LEDR5.&lt;br /&gt;
&lt;br /&gt;
===Exercițiul 3===&lt;br /&gt;
Semnalul de ieșire are perioada de 3s.&lt;br /&gt;
Se va folosi semnalul de ceas al plăcii CLOCK50.&lt;br /&gt;
Intrarea de reset este butonul KEY1.&lt;br /&gt;
Ieșirea este conectată pe LEDR0.&lt;br /&gt;
&lt;br /&gt;
===Exercițiul 4===&lt;br /&gt;
Semnalul de ieșire are perioada de 2s.&lt;br /&gt;
Se va folosi semnalul de ceas al plăcii CLOCK27.&lt;br /&gt;
Intrarea de reset este butonul KEY3.&lt;br /&gt;
Ieșirea este conectată pe LEDG7.&lt;br /&gt;
&lt;br /&gt;
===Exercițiul 5===&lt;br /&gt;
Semnalul de ieșire are perioada de 3s.&lt;br /&gt;
Se va folosi semnalul de ceas al plăcii CLOCK24.&lt;br /&gt;
Intrarea de reset este butonul KEY2.&lt;br /&gt;
Ieșirea este conectată pe LEDG0.&lt;br /&gt;
&lt;br /&gt;
===Exercițiul 6===&lt;br /&gt;
Semnalul de ieșire are perioada de 1s.&lt;br /&gt;
Se va folosi semnalul de ceas al plăcii CLOCK50.&lt;br /&gt;
Intrarea de reset este butonul KEY0.&lt;br /&gt;
Ieșirea este conectată pe LEDR4.&lt;br /&gt;
&lt;br /&gt;
== Exercițiu Bonus ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Implementați circuitul de la exercițiul anterior având un modul de top care descrie structural principiul divizorului de frecvență (folosiți un numărător și un circuit care resetează numărătorul atunci când ieșirea acestuia atinge o anumită valoare). În modulul de top vor fi instanțiate numărătorul și circuitul care generează semnalul de reset pentru numărător.&lt;br /&gt;
&lt;br /&gt;
== Submiterea Exercițiilor ==&lt;br /&gt;
&lt;br /&gt;
Pentru notare, se vor submite următoarele fișiere, către adresa de e-mail indicată de cadrul didactic.&lt;br /&gt;
&lt;br /&gt;
O arhivă &amp;lt;span style=&amp;quot;color: red; font-weight: bold&amp;quot;&amp;gt;zip&amp;lt;/span&amp;gt; ce va conține:&lt;br /&gt;
*Fișierul Verilog cu extensia .v care conține descrierea Verilog a circuitului. Dacă ați rezolvat și exercițiul bonus veți trimite cele 3 fișiere.&lt;br /&gt;
*Un fișier de constrângeri, cu extensia .qsf&lt;br /&gt;
*Un fișier de tip proiect Quartus, cu extensia .qpf&lt;br /&gt;
Atentie, arhiva va contine doar cele 3 fisiere (fara directoare).&lt;br /&gt;
&lt;br /&gt;
Subiectul mesajului de e-mail trebuie să respecte formatul &amp;lt;span style=&amp;quot;color: red; font-weight: bold&amp;quot;&amp;gt;[Nume]_[Prenume]_[Grupa]_numarator_[Nr. Exercitiu]&amp;lt;/span&amp;gt; de exemplu Petrica_Lucian_423B_7seg_4&lt;br /&gt;
&lt;br /&gt;
== Recomandări pentru cadrul didactic ==&lt;br /&gt;
&lt;br /&gt;
Se vor verifica noțiunile de circuite sincrone (blocuri always cu activare pe front, atribuiri non-blocking).&lt;br /&gt;
Va fi explicată ideea divizorului de frecvență pornind de la o frecvență a ceasului diferită de cele de pe placă și se va raspunde întrebărilor studenților.&lt;/div&gt;</summary>
		<author><name>Mdascalu</name></author>
	</entry>
	<entry>
		<id>http://wiki.dcae.pub.ro/index.php?title=CID_Lab_Lucrarea_3&amp;diff=5360</id>
		<title>CID Lab Lucrarea 3</title>
		<link rel="alternate" type="text/html" href="http://wiki.dcae.pub.ro/index.php?title=CID_Lab_Lucrarea_3&amp;diff=5360"/>
		<updated>2017-04-05T13:42:10Z</updated>

		<summary type="html">&lt;p&gt;Mdascalu: /* Exemplu */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Noțiuni și cunoștințe necesare ==&lt;br /&gt;
&lt;br /&gt;
* [[Introducere. Verilog HDL și ModelSim|Logică booleană și sisteme de numerație]]&lt;br /&gt;
* Sintaxă [[Verilog]]&lt;br /&gt;
* [[Tutorial_Quartus_II| Utilizarea programului de sinteză Altera Quartus II]]&lt;br /&gt;
* [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]&lt;br /&gt;
* [[Circuite secvențiale]], [[Numărătorul]]&lt;br /&gt;
&lt;br /&gt;
== Exemplu ==&lt;br /&gt;
&lt;br /&gt;
Descrieți în Verilog un numărător pe 32 de biți cu reset sincron. Legați semnalul de reset la butonul KEY3. Legați cei mai puțin semnificativi 4 biți ai ieșirii numărătorului pe ledurile verzi LEDG3 - LEDG0 și biții [26:23] pe ledurile roșii LEDR3-LED0. Observați variația de viteză.&lt;br /&gt;
&lt;br /&gt;
== Exerciții ==&lt;br /&gt;
&lt;br /&gt;
Descrieți în Verilog un circuit care să genereze un semnal dreptunghiular periodic de frecvență (perioadă) dată, folosind unul dintre semnalele de ceas de pe placa DE1, conform cerințelor de la exercițiile 1-6. Acest circuit conține un numărător cu semnal de reset &amp;#039;&amp;#039;&amp;#039;sincron&amp;#039;&amp;#039;&amp;#039; și are un număr de biți suficient de mare pentru a obține frecvența dorită. Scrieți modulul Verilog respectând următoarele cerințe:&lt;br /&gt;
* numele modulului trebuie să fie &amp;#039;&amp;#039;&amp;#039;counter_ks&amp;#039;&amp;#039;&amp;#039;, unde k este perioada indicată pentru fiecare exercițiu&lt;br /&gt;
* interfața modulului trebuie să fie compusă din următoarele semnale:&lt;br /&gt;
*# semnalul de ceas, numit &amp;#039;&amp;#039;&amp;#039;clk&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
*# semnalul de reset, numit &amp;#039;&amp;#039;&amp;#039;reset&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
*# un semnal de ieșire de un bit numit &amp;#039;&amp;#039;&amp;#039;out&amp;#039;&amp;#039;&amp;#039; care să oscileze cu perioada cerută.&lt;br /&gt;
Constrângerile pentru semnalul de reset, ledul pe care se afișează ieșirea și semnalul de ceas folosit sunt precizate pentru fiecare exercițiu în parte.&lt;br /&gt;
&lt;br /&gt;
Pentru nota maximă (10) se va urmări generarea semnalului de frecvența dorită. Se va puncta cu cel mult nota 8 generarea unui semnal de o frecvență cât mai apropiată de această frecvență, folosind una dintre ieșirile numărătorului.&lt;br /&gt;
&lt;br /&gt;
===Exercițiul 1===&lt;br /&gt;
Semnalul de ieșire are perioada de 1s.&lt;br /&gt;
Se va folosi semnalul de ceas al plăcii CLOCK27.&lt;br /&gt;
Intrarea de reset este butonul KEY2.&lt;br /&gt;
Ieșirea este conectată pe LDR9.&lt;br /&gt;
&lt;br /&gt;
===Exercițiul 2===&lt;br /&gt;
Semnalul de ieșire are perioada de 2s.&lt;br /&gt;
Se va folosi semnalul de ceas al plăcii CLOCK24.&lt;br /&gt;
Intrarea de reset este butonul KEY0&lt;br /&gt;
Ieșirea este conectată pe LDR5.&lt;br /&gt;
&lt;br /&gt;
===Exercițiul 3===&lt;br /&gt;
Semnalul de ieșire are perioada de 3s.&lt;br /&gt;
Se va folosi semnalul de ceas al plăcii CLOCK50.&lt;br /&gt;
Intrarea de reset este butonul KEY1.&lt;br /&gt;
Ieșirea este conectată pe LDR0.&lt;br /&gt;
&lt;br /&gt;
===Exercițiul 4===&lt;br /&gt;
Semnalul de ieșire are perioada de 2s.&lt;br /&gt;
Se va folosi semnalul de ceas al plăcii CLOCK27.&lt;br /&gt;
Intrarea de reset este butonul KEY3.&lt;br /&gt;
Ieșirea este conectată pe LDG7.&lt;br /&gt;
&lt;br /&gt;
===Exercițiul 5===&lt;br /&gt;
Semnalul de ieșire are perioada de 3s.&lt;br /&gt;
Se va folosi semnalul de ceas al plăcii CLOCK24.&lt;br /&gt;
Intrarea de reset este butonul KEY2.&lt;br /&gt;
Ieșirea este conectată pe LDG0.&lt;br /&gt;
&lt;br /&gt;
===Exercițiul 6===&lt;br /&gt;
Semnalul de ieșire are perioada de 1s.&lt;br /&gt;
Se va folosi semnalul de ceas al plăcii CLOCK50.&lt;br /&gt;
Intrarea de reset este butonul KEY0.&lt;br /&gt;
Ieșirea este conectată pe LDR4.&lt;br /&gt;
&lt;br /&gt;
== Exercițiu Bonus ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Implementați circuitul de la exercițiul anterior având un modul de top care descrie structural principiul divizorului de frecvență (folosiți un numărător și un circuit care resetează numărătorul atunci când ieșirea acestuia atinge o anumită valoare). În modulul de top vor fi instanțiate numărătorul și circuitul care generează semnalul de reset pentru numărător.&lt;br /&gt;
&lt;br /&gt;
== Submiterea Exercițiilor ==&lt;br /&gt;
&lt;br /&gt;
Pentru notare, se vor submite următoarele fișiere, către adresa de e-mail indicată de cadrul didactic.&lt;br /&gt;
&lt;br /&gt;
O arhivă &amp;lt;span style=&amp;quot;color: red; font-weight: bold&amp;quot;&amp;gt;zip&amp;lt;/span&amp;gt; ce va conține:&lt;br /&gt;
*Fișierul Verilog cu extensia .v care conține descrierea Verilog a circuitului. Dacă ați rezolvat și exercițiul bonus veți trimite cele 3 fișiere.&lt;br /&gt;
*Un fișier de constrângeri, cu extensia .qsf&lt;br /&gt;
*Un fișier de tip proiect Quartus, cu extensia .qpf&lt;br /&gt;
Atentie, arhiva va contine doar cele 3 fisiere (fara directoare).&lt;br /&gt;
&lt;br /&gt;
Subiectul mesajului de e-mail trebuie să respecte formatul &amp;lt;span style=&amp;quot;color: red; font-weight: bold&amp;quot;&amp;gt;[Nume]_[Prenume]_[Grupa]_numarator_[Nr. Exercitiu]&amp;lt;/span&amp;gt; de exemplu Petrica_Lucian_423B_7seg_4&lt;br /&gt;
&lt;br /&gt;
== Recomandări pentru cadrul didactic ==&lt;br /&gt;
&lt;br /&gt;
Se vor verifica noțiunile de circuite sincrone (blocuri always cu activare pe front, atribuiri non-blocking).&lt;br /&gt;
Va fi explicată ideea divizorului de frecvență pornind de la o frecvență a ceasului diferită de cele de pe placă și se va raspunde întrebărilor studenților.&lt;/div&gt;</summary>
		<author><name>Mdascalu</name></author>
	</entry>
	<entry>
		<id>http://wiki.dcae.pub.ro/index.php?title=CID_Lab_Lucrarea_3&amp;diff=5359</id>
		<title>CID Lab Lucrarea 3</title>
		<link rel="alternate" type="text/html" href="http://wiki.dcae.pub.ro/index.php?title=CID_Lab_Lucrarea_3&amp;diff=5359"/>
		<updated>2017-04-05T13:32:12Z</updated>

		<summary type="html">&lt;p&gt;Mdascalu: /* Exerciții */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Noțiuni și cunoștințe necesare ==&lt;br /&gt;
&lt;br /&gt;
* [[Introducere. Verilog HDL și ModelSim|Logică booleană și sisteme de numerație]]&lt;br /&gt;
* Sintaxă [[Verilog]]&lt;br /&gt;
* [[Tutorial_Quartus_II| Utilizarea programului de sinteză Altera Quartus II]]&lt;br /&gt;
* [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]&lt;br /&gt;
* [[Circuite secvențiale]], [[Numărătorul]]&lt;br /&gt;
&lt;br /&gt;
== Exemplu ==&lt;br /&gt;
&lt;br /&gt;
Descrieți în Verilog un numărător pe 32 de biți cu reset sincron. Legați semnalul de reset la butonul KEY3. Legați cei mai puțin semnificativi 4 biți ai ieșirii numărătorului pe ledurile verzi LDG3 - LDG0 și biții [26:23] pe ledurile roșii LDR3-LD0. Observați variația de viteză.&lt;br /&gt;
&lt;br /&gt;
== Exerciții ==&lt;br /&gt;
&lt;br /&gt;
Descrieți în Verilog un circuit care să genereze un semnal dreptunghiular periodic de frecvență (perioadă) dată, folosind unul dintre semnalele de ceas de pe placa DE1, conform cerințelor de la exercițiile 1-6. Acest circuit conține un numărător cu semnal de reset &amp;#039;&amp;#039;&amp;#039;sincron&amp;#039;&amp;#039;&amp;#039; și are un număr de biți suficient de mare pentru a obține frecvența dorită. Scrieți modulul Verilog respectând următoarele cerințe:&lt;br /&gt;
* numele modulului trebuie să fie &amp;#039;&amp;#039;&amp;#039;counter_ks&amp;#039;&amp;#039;&amp;#039;, unde k este perioada indicată pentru fiecare exercițiu&lt;br /&gt;
* interfața modulului trebuie să fie compusă din următoarele semnale:&lt;br /&gt;
*# semnalul de ceas, numit &amp;#039;&amp;#039;&amp;#039;clk&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
*# semnalul de reset, numit &amp;#039;&amp;#039;&amp;#039;reset&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
*# un semnal de ieșire de un bit numit &amp;#039;&amp;#039;&amp;#039;out&amp;#039;&amp;#039;&amp;#039; care să oscileze cu perioada cerută.&lt;br /&gt;
Constrângerile pentru semnalul de reset, ledul pe care se afișează ieșirea și semnalul de ceas folosit sunt precizate pentru fiecare exercițiu în parte.&lt;br /&gt;
&lt;br /&gt;
Pentru nota maximă (10) se va urmări generarea semnalului de frecvența dorită. Se va puncta cu cel mult nota 8 generarea unui semnal de o frecvență cât mai apropiată de această frecvență, folosind una dintre ieșirile numărătorului.&lt;br /&gt;
&lt;br /&gt;
===Exercițiul 1===&lt;br /&gt;
Semnalul de ieșire are perioada de 1s.&lt;br /&gt;
Se va folosi semnalul de ceas al plăcii CLOCK27.&lt;br /&gt;
Intrarea de reset este butonul KEY2.&lt;br /&gt;
Ieșirea este conectată pe LDR9.&lt;br /&gt;
&lt;br /&gt;
===Exercițiul 2===&lt;br /&gt;
Semnalul de ieșire are perioada de 2s.&lt;br /&gt;
Se va folosi semnalul de ceas al plăcii CLOCK24.&lt;br /&gt;
Intrarea de reset este butonul KEY0&lt;br /&gt;
Ieșirea este conectată pe LDR5.&lt;br /&gt;
&lt;br /&gt;
===Exercițiul 3===&lt;br /&gt;
Semnalul de ieșire are perioada de 3s.&lt;br /&gt;
Se va folosi semnalul de ceas al plăcii CLOCK50.&lt;br /&gt;
Intrarea de reset este butonul KEY1.&lt;br /&gt;
Ieșirea este conectată pe LDR0.&lt;br /&gt;
&lt;br /&gt;
===Exercițiul 4===&lt;br /&gt;
Semnalul de ieșire are perioada de 2s.&lt;br /&gt;
Se va folosi semnalul de ceas al plăcii CLOCK27.&lt;br /&gt;
Intrarea de reset este butonul KEY3.&lt;br /&gt;
Ieșirea este conectată pe LDG7.&lt;br /&gt;
&lt;br /&gt;
===Exercițiul 5===&lt;br /&gt;
Semnalul de ieșire are perioada de 3s.&lt;br /&gt;
Se va folosi semnalul de ceas al plăcii CLOCK24.&lt;br /&gt;
Intrarea de reset este butonul KEY2.&lt;br /&gt;
Ieșirea este conectată pe LDG0.&lt;br /&gt;
&lt;br /&gt;
===Exercițiul 6===&lt;br /&gt;
Semnalul de ieșire are perioada de 1s.&lt;br /&gt;
Se va folosi semnalul de ceas al plăcii CLOCK50.&lt;br /&gt;
Intrarea de reset este butonul KEY0.&lt;br /&gt;
Ieșirea este conectată pe LDR4.&lt;br /&gt;
&lt;br /&gt;
== Exercițiu Bonus ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Implementați circuitul de la exercițiul anterior având un modul de top care descrie structural principiul divizorului de frecvență (folosiți un numărător și un circuit care resetează numărătorul atunci când ieșirea acestuia atinge o anumită valoare). În modulul de top vor fi instanțiate numărătorul și circuitul care generează semnalul de reset pentru numărător.&lt;br /&gt;
&lt;br /&gt;
== Submiterea Exercițiilor ==&lt;br /&gt;
&lt;br /&gt;
Pentru notare, se vor submite următoarele fișiere, către adresa de e-mail indicată de cadrul didactic.&lt;br /&gt;
&lt;br /&gt;
O arhivă &amp;lt;span style=&amp;quot;color: red; font-weight: bold&amp;quot;&amp;gt;zip&amp;lt;/span&amp;gt; ce va conține:&lt;br /&gt;
*Fișierul Verilog cu extensia .v care conține descrierea Verilog a circuitului. Dacă ați rezolvat și exercițiul bonus veți trimite cele 3 fișiere.&lt;br /&gt;
*Un fișier de constrângeri, cu extensia .qsf&lt;br /&gt;
*Un fișier de tip proiect Quartus, cu extensia .qpf&lt;br /&gt;
Atentie, arhiva va contine doar cele 3 fisiere (fara directoare).&lt;br /&gt;
&lt;br /&gt;
Subiectul mesajului de e-mail trebuie să respecte formatul &amp;lt;span style=&amp;quot;color: red; font-weight: bold&amp;quot;&amp;gt;[Nume]_[Prenume]_[Grupa]_numarator_[Nr. Exercitiu]&amp;lt;/span&amp;gt; de exemplu Petrica_Lucian_423B_7seg_4&lt;br /&gt;
&lt;br /&gt;
== Recomandări pentru cadrul didactic ==&lt;br /&gt;
&lt;br /&gt;
Se vor verifica noțiunile de circuite sincrone (blocuri always cu activare pe front, atribuiri non-blocking).&lt;br /&gt;
Va fi explicată ideea divizorului de frecvență pornind de la o frecvență a ceasului diferită de cele de pe placă și se va raspunde întrebărilor studenților.&lt;/div&gt;</summary>
		<author><name>Mdascalu</name></author>
	</entry>
	<entry>
		<id>http://wiki.dcae.pub.ro/index.php?title=CID_Lab_Lucrarea_3&amp;diff=5358</id>
		<title>CID Lab Lucrarea 3</title>
		<link rel="alternate" type="text/html" href="http://wiki.dcae.pub.ro/index.php?title=CID_Lab_Lucrarea_3&amp;diff=5358"/>
		<updated>2017-04-05T13:24:37Z</updated>

		<summary type="html">&lt;p&gt;Mdascalu: /* Submiterea Exercițiilor */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Noțiuni și cunoștințe necesare ==&lt;br /&gt;
&lt;br /&gt;
* [[Introducere. Verilog HDL și ModelSim|Logică booleană și sisteme de numerație]]&lt;br /&gt;
* Sintaxă [[Verilog]]&lt;br /&gt;
* [[Tutorial_Quartus_II| Utilizarea programului de sinteză Altera Quartus II]]&lt;br /&gt;
* [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]&lt;br /&gt;
* [[Circuite secvențiale]], [[Numărătorul]]&lt;br /&gt;
&lt;br /&gt;
== Exemplu ==&lt;br /&gt;
&lt;br /&gt;
Descrieți în Verilog un numărător pe 32 de biți cu reset sincron. Legați semnalul de reset la butonul KEY3. Legați cei mai puțin semnificativi 4 biți ai ieșirii numărătorului pe ledurile verzi LDG3 - LDG0 și biții [26:23] pe ledurile roșii LDR3-LD0. Observați variația de viteză.&lt;br /&gt;
&lt;br /&gt;
== Exerciții ==&lt;br /&gt;
&lt;br /&gt;
Descrieți în Verilog un circuit care să genereze un semnal dreptunghiular periodic de frecvență (perioadă) dată, folosind unul dintre semnalele de ceas de pe placa DE1, conform cerințelor de la exercițiile 1-6. Acest circuit conține un numărător cu semnal cu reset &amp;#039;&amp;#039;&amp;#039;sincron&amp;#039;&amp;#039;&amp;#039; și are un număr de biți suficient de mare pentru a obține frecvența dorită. Scrieți modulul Verilog respectând următoarele cerințe:&lt;br /&gt;
* numele modulului trebuie să fie &amp;#039;&amp;#039;&amp;#039;counter_ks&amp;#039;&amp;#039;&amp;#039;, unde k este perioada indicată pentru fiecare exercițiu&lt;br /&gt;
* interfața modulului trebuie să fie compusă din următoarele semnale:&lt;br /&gt;
*# semnalul de ceas, numit &amp;#039;&amp;#039;&amp;#039;clk&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
*# semnalul de reset, numit &amp;#039;&amp;#039;&amp;#039;reset&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
*# un semnal de ieșire de un bit numit &amp;#039;&amp;#039;&amp;#039;out&amp;#039;&amp;#039;&amp;#039; care să oscileze cu perioada cerută.&lt;br /&gt;
Constrângerile pentru semnalul de reset, ledul pe care se afișează ieșirea și semnalul de ceas folosit sunt precizate pentru fiecare exercițiu în parte.&lt;br /&gt;
&lt;br /&gt;
Pentru nota maximă (10) se va urmări generarea semnalului de frecvența dorită. Se va puncta cu cel mult nota 8 generarea unui semnal de o frecvență cât mai apropiată de această frecvență, folosind una dintre ieșirile numărătorului.&lt;br /&gt;
&lt;br /&gt;
===Exercițiul 1===&lt;br /&gt;
Semnalul de ieșire are perioada de 1s.&lt;br /&gt;
Se va folosi semnalul de ceas al plăcii CLOCK27.&lt;br /&gt;
Intrarea de reset este butonul KEY2.&lt;br /&gt;
Ieșirea este conectată pe LDR9.&lt;br /&gt;
&lt;br /&gt;
===Exercițiul 2===&lt;br /&gt;
Semnalul de ieșire are perioada de 2s.&lt;br /&gt;
Se va folosi semnalul de ceas al plăcii CLOCK24.&lt;br /&gt;
Intrarea de reset este butonul KEY0&lt;br /&gt;
Ieșirea este conectată pe LDR5.&lt;br /&gt;
&lt;br /&gt;
===Exercițiul 3===&lt;br /&gt;
Semnalul de ieșire are perioada de 3s.&lt;br /&gt;
Se va folosi semnalul de ceas al plăcii CLOCK50.&lt;br /&gt;
Intrarea de reset este butonul KEY1.&lt;br /&gt;
Ieșirea este conectată pe LDR0.&lt;br /&gt;
&lt;br /&gt;
===Exercițiul 4===&lt;br /&gt;
Semnalul de ieșire are perioada de 2s.&lt;br /&gt;
Se va folosi semnalul de ceas al plăcii CLOCK27.&lt;br /&gt;
Intrarea de reset este butonul KEY3.&lt;br /&gt;
Ieșirea este conectată pe LDG7.&lt;br /&gt;
&lt;br /&gt;
===Exercițiul 5===&lt;br /&gt;
Semnalul de ieșire are perioada de 3s.&lt;br /&gt;
Se va folosi semnalul de ceas al plăcii CLOCK24.&lt;br /&gt;
Intrarea de reset este butonul KEY2.&lt;br /&gt;
Ieșirea este conectată pe LDG0.&lt;br /&gt;
&lt;br /&gt;
===Exercițiul 6===&lt;br /&gt;
Semnalul de ieșire are perioada de 1s.&lt;br /&gt;
Se va folosi semnalul de ceas al plăcii CLOCK50.&lt;br /&gt;
Intrarea de reset este butonul KEY0.&lt;br /&gt;
Ieșirea este conectată pe LDR4.&lt;br /&gt;
&lt;br /&gt;
== Exercițiu Bonus ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Implementați circuitul de la exercițiul anterior având un modul de top care descrie structural principiul divizorului de frecvență (folosiți un numărător și un circuit care resetează numărătorul atunci când ieșirea acestuia atinge o anumită valoare). În modulul de top vor fi instanțiate numărătorul și circuitul care generează semnalul de reset pentru numărător.&lt;br /&gt;
&lt;br /&gt;
== Submiterea Exercițiilor ==&lt;br /&gt;
&lt;br /&gt;
Pentru notare, se vor submite următoarele fișiere, către adresa de e-mail indicată de cadrul didactic.&lt;br /&gt;
&lt;br /&gt;
O arhivă &amp;lt;span style=&amp;quot;color: red; font-weight: bold&amp;quot;&amp;gt;zip&amp;lt;/span&amp;gt; ce va conține:&lt;br /&gt;
*Fișierul Verilog cu extensia .v care conține descrierea Verilog a circuitului. Dacă ați rezolvat și exercițiul bonus veți trimite cele 3 fișiere.&lt;br /&gt;
*Un fișier de constrângeri, cu extensia .qsf&lt;br /&gt;
*Un fișier de tip proiect Quartus, cu extensia .qpf&lt;br /&gt;
Atentie, arhiva va contine doar cele 3 fisiere (fara directoare).&lt;br /&gt;
&lt;br /&gt;
Subiectul mesajului de e-mail trebuie să respecte formatul &amp;lt;span style=&amp;quot;color: red; font-weight: bold&amp;quot;&amp;gt;[Nume]_[Prenume]_[Grupa]_numarator_[Nr. Exercitiu]&amp;lt;/span&amp;gt; de exemplu Petrica_Lucian_423B_7seg_4&lt;br /&gt;
&lt;br /&gt;
== Recomandări pentru cadrul didactic ==&lt;br /&gt;
&lt;br /&gt;
Se vor verifica noțiunile de circuite sincrone (blocuri always cu activare pe front, atribuiri non-blocking).&lt;br /&gt;
Va fi explicată ideea divizorului de frecvență pornind de la o frecvență a ceasului diferită de cele de pe placă și se va raspunde întrebărilor studenților.&lt;/div&gt;</summary>
		<author><name>Mdascalu</name></author>
	</entry>
	<entry>
		<id>http://wiki.dcae.pub.ro/index.php?title=CID_Lab_Lucrarea_3&amp;diff=5357</id>
		<title>CID Lab Lucrarea 3</title>
		<link rel="alternate" type="text/html" href="http://wiki.dcae.pub.ro/index.php?title=CID_Lab_Lucrarea_3&amp;diff=5357"/>
		<updated>2017-04-02T11:41:07Z</updated>

		<summary type="html">&lt;p&gt;Mdascalu: /* Exercițiu Bonus */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Noțiuni și cunoștințe necesare ==&lt;br /&gt;
&lt;br /&gt;
* [[Introducere. Verilog HDL și ModelSim|Logică booleană și sisteme de numerație]]&lt;br /&gt;
* Sintaxă [[Verilog]]&lt;br /&gt;
* [[Tutorial_Quartus_II| Utilizarea programului de sinteză Altera Quartus II]]&lt;br /&gt;
* [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]&lt;br /&gt;
* [[Circuite secvențiale]], [[Numărătorul]]&lt;br /&gt;
&lt;br /&gt;
== Exemplu ==&lt;br /&gt;
&lt;br /&gt;
Descrieți în Verilog un numărător pe 32 de biți cu reset sincron. Legați semnalul de reset la butonul KEY3. Legați cei mai puțin semnificativi 4 biți ai ieșirii numărătorului pe ledurile verzi LDG3 - LDG0 și biții [26:23] pe ledurile roșii LDR3-LD0. Observați variația de viteză.&lt;br /&gt;
&lt;br /&gt;
== Exerciții ==&lt;br /&gt;
&lt;br /&gt;
Descrieți în Verilog un circuit care să genereze un semnal dreptunghiular periodic de frecvență (perioadă) dată, folosind unul dintre semnalele de ceas de pe placa DE1, conform cerințelor de la exercițiile 1-6. Acest circuit conține un numărător cu semnal cu reset &amp;#039;&amp;#039;&amp;#039;sincron&amp;#039;&amp;#039;&amp;#039; și are un număr de biți suficient de mare pentru a obține frecvența dorită. Scrieți modulul Verilog respectând următoarele cerințe:&lt;br /&gt;
* numele modulului trebuie să fie &amp;#039;&amp;#039;&amp;#039;counter_ks&amp;#039;&amp;#039;&amp;#039;, unde k este perioada indicată pentru fiecare exercițiu&lt;br /&gt;
* interfața modulului trebuie să fie compusă din următoarele semnale:&lt;br /&gt;
*# semnalul de ceas, numit &amp;#039;&amp;#039;&amp;#039;clk&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
*# semnalul de reset, numit &amp;#039;&amp;#039;&amp;#039;reset&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
*# un semnal de ieșire de un bit numit &amp;#039;&amp;#039;&amp;#039;out&amp;#039;&amp;#039;&amp;#039; care să oscileze cu perioada cerută.&lt;br /&gt;
Constrângerile pentru semnalul de reset, ledul pe care se afișează ieșirea și semnalul de ceas folosit sunt precizate pentru fiecare exercițiu în parte.&lt;br /&gt;
&lt;br /&gt;
Pentru nota maximă (10) se va urmări generarea semnalului de frecvența dorită. Se va puncta cu cel mult nota 8 generarea unui semnal de o frecvență cât mai apropiată de această frecvență, folosind una dintre ieșirile numărătorului.&lt;br /&gt;
&lt;br /&gt;
===Exercițiul 1===&lt;br /&gt;
Semnalul de ieșire are perioada de 1s.&lt;br /&gt;
Se va folosi semnalul de ceas al plăcii CLOCK27.&lt;br /&gt;
Intrarea de reset este butonul KEY2.&lt;br /&gt;
Ieșirea este conectată pe LDR9.&lt;br /&gt;
&lt;br /&gt;
===Exercițiul 2===&lt;br /&gt;
Semnalul de ieșire are perioada de 2s.&lt;br /&gt;
Se va folosi semnalul de ceas al plăcii CLOCK24.&lt;br /&gt;
Intrarea de reset este butonul KEY0&lt;br /&gt;
Ieșirea este conectată pe LDR5.&lt;br /&gt;
&lt;br /&gt;
===Exercițiul 3===&lt;br /&gt;
Semnalul de ieșire are perioada de 3s.&lt;br /&gt;
Se va folosi semnalul de ceas al plăcii CLOCK50.&lt;br /&gt;
Intrarea de reset este butonul KEY1.&lt;br /&gt;
Ieșirea este conectată pe LDR0.&lt;br /&gt;
&lt;br /&gt;
===Exercițiul 4===&lt;br /&gt;
Semnalul de ieșire are perioada de 2s.&lt;br /&gt;
Se va folosi semnalul de ceas al plăcii CLOCK27.&lt;br /&gt;
Intrarea de reset este butonul KEY3.&lt;br /&gt;
Ieșirea este conectată pe LDG7.&lt;br /&gt;
&lt;br /&gt;
===Exercițiul 5===&lt;br /&gt;
Semnalul de ieșire are perioada de 3s.&lt;br /&gt;
Se va folosi semnalul de ceas al plăcii CLOCK24.&lt;br /&gt;
Intrarea de reset este butonul KEY2.&lt;br /&gt;
Ieșirea este conectată pe LDG0.&lt;br /&gt;
&lt;br /&gt;
===Exercițiul 6===&lt;br /&gt;
Semnalul de ieșire are perioada de 1s.&lt;br /&gt;
Se va folosi semnalul de ceas al plăcii CLOCK50.&lt;br /&gt;
Intrarea de reset este butonul KEY0.&lt;br /&gt;
Ieșirea este conectată pe LDR4.&lt;br /&gt;
&lt;br /&gt;
== Exercițiu Bonus ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Implementați circuitul de la exercițiul anterior având un modul de top care descrie structural principiul divizorului de frecvență (folosiți un numărător și un circuit care resetează numărătorul atunci când ieșirea acestuia atinge o anumită valoare). În modulul de top vor fi instanțiate numărătorul și circuitul care generează semnalul de reset pentru numărător.&lt;br /&gt;
&lt;br /&gt;
== Submiterea Exercițiilor ==&lt;br /&gt;
&lt;br /&gt;
Pentru notare, se vor submite următoarele fișiere, către adresa de e-mail indicată de cadrul didactic.&lt;br /&gt;
&lt;br /&gt;
O arhivă &amp;lt;span style=&amp;quot;color: red; font-weight: bold&amp;quot;&amp;gt;zip&amp;lt;/span&amp;gt; ce va conține:&lt;br /&gt;
*Fișierul Verilog cu extensia .v care conține descrierea Verilog a circuitului. Dacă ați rezolvat și exercițiul bonus veți trimite cele 3 fișiere.&lt;br /&gt;
*Un fișier de constrângeri, cu extensia .qsf&lt;br /&gt;
*Un fișier de tip proiect Quartus, cu extensia .qpf&lt;br /&gt;
Atentie, arhiva va contine doar cele 3 fisiere (fara directoare).&lt;br /&gt;
&lt;br /&gt;
Subiectul mesajului de e-mail trebuie să respecte formatul &amp;lt;span style=&amp;quot;color: red; font-weight: bold&amp;quot;&amp;gt;[Nume]_[Prenume]_[Grupa]_7seg_[Nr. Exercitiu]&amp;lt;/span&amp;gt; de exemplu Petrica_Lucian_423B_7seg_4&lt;br /&gt;
&lt;br /&gt;
== Recomandări pentru cadrul didactic ==&lt;br /&gt;
&lt;br /&gt;
Se vor verifica noțiunile de circuite sincrone (blocuri always cu activare pe front, atribuiri non-blocking).&lt;br /&gt;
Va fi explicată ideea divizorului de frecvență pornind de la o frecvență a ceasului diferită de cele de pe placă și se va raspunde întrebărilor studenților.&lt;/div&gt;</summary>
		<author><name>Mdascalu</name></author>
	</entry>
	<entry>
		<id>http://wiki.dcae.pub.ro/index.php?title=CID_Lab_Lucrarea_3&amp;diff=5356</id>
		<title>CID Lab Lucrarea 3</title>
		<link rel="alternate" type="text/html" href="http://wiki.dcae.pub.ro/index.php?title=CID_Lab_Lucrarea_3&amp;diff=5356"/>
		<updated>2017-04-02T11:40:38Z</updated>

		<summary type="html">&lt;p&gt;Mdascalu: /* Exerciții Bonus */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Noțiuni și cunoștințe necesare ==&lt;br /&gt;
&lt;br /&gt;
* [[Introducere. Verilog HDL și ModelSim|Logică booleană și sisteme de numerație]]&lt;br /&gt;
* Sintaxă [[Verilog]]&lt;br /&gt;
* [[Tutorial_Quartus_II| Utilizarea programului de sinteză Altera Quartus II]]&lt;br /&gt;
* [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]&lt;br /&gt;
* [[Circuite secvențiale]], [[Numărătorul]]&lt;br /&gt;
&lt;br /&gt;
== Exemplu ==&lt;br /&gt;
&lt;br /&gt;
Descrieți în Verilog un numărător pe 32 de biți cu reset sincron. Legați semnalul de reset la butonul KEY3. Legați cei mai puțin semnificativi 4 biți ai ieșirii numărătorului pe ledurile verzi LDG3 - LDG0 și biții [26:23] pe ledurile roșii LDR3-LD0. Observați variația de viteză.&lt;br /&gt;
&lt;br /&gt;
== Exerciții ==&lt;br /&gt;
&lt;br /&gt;
Descrieți în Verilog un circuit care să genereze un semnal dreptunghiular periodic de frecvență (perioadă) dată, folosind unul dintre semnalele de ceas de pe placa DE1, conform cerințelor de la exercițiile 1-6. Acest circuit conține un numărător cu semnal cu reset &amp;#039;&amp;#039;&amp;#039;sincron&amp;#039;&amp;#039;&amp;#039; și are un număr de biți suficient de mare pentru a obține frecvența dorită. Scrieți modulul Verilog respectând următoarele cerințe:&lt;br /&gt;
* numele modulului trebuie să fie &amp;#039;&amp;#039;&amp;#039;counter_ks&amp;#039;&amp;#039;&amp;#039;, unde k este perioada indicată pentru fiecare exercițiu&lt;br /&gt;
* interfața modulului trebuie să fie compusă din următoarele semnale:&lt;br /&gt;
*# semnalul de ceas, numit &amp;#039;&amp;#039;&amp;#039;clk&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
*# semnalul de reset, numit &amp;#039;&amp;#039;&amp;#039;reset&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
*# un semnal de ieșire de un bit numit &amp;#039;&amp;#039;&amp;#039;out&amp;#039;&amp;#039;&amp;#039; care să oscileze cu perioada cerută.&lt;br /&gt;
Constrângerile pentru semnalul de reset, ledul pe care se afișează ieșirea și semnalul de ceas folosit sunt precizate pentru fiecare exercițiu în parte.&lt;br /&gt;
&lt;br /&gt;
Pentru nota maximă (10) se va urmări generarea semnalului de frecvența dorită. Se va puncta cu cel mult nota 8 generarea unui semnal de o frecvență cât mai apropiată de această frecvență, folosind una dintre ieșirile numărătorului.&lt;br /&gt;
&lt;br /&gt;
===Exercițiul 1===&lt;br /&gt;
Semnalul de ieșire are perioada de 1s.&lt;br /&gt;
Se va folosi semnalul de ceas al plăcii CLOCK27.&lt;br /&gt;
Intrarea de reset este butonul KEY2.&lt;br /&gt;
Ieșirea este conectată pe LDR9.&lt;br /&gt;
&lt;br /&gt;
===Exercițiul 2===&lt;br /&gt;
Semnalul de ieșire are perioada de 2s.&lt;br /&gt;
Se va folosi semnalul de ceas al plăcii CLOCK24.&lt;br /&gt;
Intrarea de reset este butonul KEY0&lt;br /&gt;
Ieșirea este conectată pe LDR5.&lt;br /&gt;
&lt;br /&gt;
===Exercițiul 3===&lt;br /&gt;
Semnalul de ieșire are perioada de 3s.&lt;br /&gt;
Se va folosi semnalul de ceas al plăcii CLOCK50.&lt;br /&gt;
Intrarea de reset este butonul KEY1.&lt;br /&gt;
Ieșirea este conectată pe LDR0.&lt;br /&gt;
&lt;br /&gt;
===Exercițiul 4===&lt;br /&gt;
Semnalul de ieșire are perioada de 2s.&lt;br /&gt;
Se va folosi semnalul de ceas al plăcii CLOCK27.&lt;br /&gt;
Intrarea de reset este butonul KEY3.&lt;br /&gt;
Ieșirea este conectată pe LDG7.&lt;br /&gt;
&lt;br /&gt;
===Exercițiul 5===&lt;br /&gt;
Semnalul de ieșire are perioada de 3s.&lt;br /&gt;
Se va folosi semnalul de ceas al plăcii CLOCK24.&lt;br /&gt;
Intrarea de reset este butonul KEY2.&lt;br /&gt;
Ieșirea este conectată pe LDG0.&lt;br /&gt;
&lt;br /&gt;
===Exercițiul 6===&lt;br /&gt;
Semnalul de ieșire are perioada de 1s.&lt;br /&gt;
Se va folosi semnalul de ceas al plăcii CLOCK50.&lt;br /&gt;
Intrarea de reset este butonul KEY0.&lt;br /&gt;
Ieșirea este conectată pe LDR4.&lt;br /&gt;
&lt;br /&gt;
== Exercițiu Bonus ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
1. Implementați circuitul de la exercițiul anterior având un modul de top care descrie structural principiul divizorului de frecvență (folosiți un numărător și un circuit care resetează numărătorul atunci când ieșirea acestuia atinge o anumită valoare). În modulul de top vor fi instanțiate numărătorul și circuitul care generează semnalul de reset pentru numărător.&lt;br /&gt;
&lt;br /&gt;
== Submiterea Exercițiilor ==&lt;br /&gt;
&lt;br /&gt;
Pentru notare, se vor submite următoarele fișiere, către adresa de e-mail indicată de cadrul didactic.&lt;br /&gt;
&lt;br /&gt;
O arhivă &amp;lt;span style=&amp;quot;color: red; font-weight: bold&amp;quot;&amp;gt;zip&amp;lt;/span&amp;gt; ce va conține:&lt;br /&gt;
*Fișierul Verilog cu extensia .v care conține descrierea Verilog a circuitului. Dacă ați rezolvat și exercițiul bonus veți trimite cele 3 fișiere.&lt;br /&gt;
*Un fișier de constrângeri, cu extensia .qsf&lt;br /&gt;
*Un fișier de tip proiect Quartus, cu extensia .qpf&lt;br /&gt;
Atentie, arhiva va contine doar cele 3 fisiere (fara directoare).&lt;br /&gt;
&lt;br /&gt;
Subiectul mesajului de e-mail trebuie să respecte formatul &amp;lt;span style=&amp;quot;color: red; font-weight: bold&amp;quot;&amp;gt;[Nume]_[Prenume]_[Grupa]_7seg_[Nr. Exercitiu]&amp;lt;/span&amp;gt; de exemplu Petrica_Lucian_423B_7seg_4&lt;br /&gt;
&lt;br /&gt;
== Recomandări pentru cadrul didactic ==&lt;br /&gt;
&lt;br /&gt;
Se vor verifica noțiunile de circuite sincrone (blocuri always cu activare pe front, atribuiri non-blocking).&lt;br /&gt;
Va fi explicată ideea divizorului de frecvență pornind de la o frecvență a ceasului diferită de cele de pe placă și se va raspunde întrebărilor studenților.&lt;/div&gt;</summary>
		<author><name>Mdascalu</name></author>
	</entry>
	<entry>
		<id>http://wiki.dcae.pub.ro/index.php?title=CID_Lab_Lucrarea_3&amp;diff=5355</id>
		<title>CID Lab Lucrarea 3</title>
		<link rel="alternate" type="text/html" href="http://wiki.dcae.pub.ro/index.php?title=CID_Lab_Lucrarea_3&amp;diff=5355"/>
		<updated>2017-04-02T11:36:40Z</updated>

		<summary type="html">&lt;p&gt;Mdascalu: /* Exercițiu Bonus */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Noțiuni și cunoștințe necesare ==&lt;br /&gt;
&lt;br /&gt;
* [[Introducere. Verilog HDL și ModelSim|Logică booleană și sisteme de numerație]]&lt;br /&gt;
* Sintaxă [[Verilog]]&lt;br /&gt;
* [[Tutorial_Quartus_II| Utilizarea programului de sinteză Altera Quartus II]]&lt;br /&gt;
* [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]&lt;br /&gt;
* [[Circuite secvențiale]], [[Numărătorul]]&lt;br /&gt;
&lt;br /&gt;
== Exemplu ==&lt;br /&gt;
&lt;br /&gt;
Descrieți în Verilog un numărător pe 32 de biți cu reset sincron. Legați semnalul de reset la butonul KEY3. Legați cei mai puțin semnificativi 4 biți ai ieșirii numărătorului pe ledurile verzi LDG3 - LDG0 și biții [26:23] pe ledurile roșii LDR3-LD0. Observați variația de viteză.&lt;br /&gt;
&lt;br /&gt;
== Exerciții ==&lt;br /&gt;
&lt;br /&gt;
Descrieți în Verilog un circuit care să genereze un semnal dreptunghiular periodic de frecvență (perioadă) dată, folosind unul dintre semnalele de ceas de pe placa DE1, conform cerințelor de la exercițiile 1-6. Acest circuit conține un numărător cu semnal cu reset &amp;#039;&amp;#039;&amp;#039;sincron&amp;#039;&amp;#039;&amp;#039; și are un număr de biți suficient de mare pentru a obține frecvența dorită. Scrieți modulul Verilog respectând următoarele cerințe:&lt;br /&gt;
* numele modulului trebuie să fie &amp;#039;&amp;#039;&amp;#039;counter_ks&amp;#039;&amp;#039;&amp;#039;, unde k este perioada indicată pentru fiecare exercițiu&lt;br /&gt;
* interfața modulului trebuie să fie compusă din următoarele semnale:&lt;br /&gt;
*# semnalul de ceas, numit &amp;#039;&amp;#039;&amp;#039;clk&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
*# semnalul de reset, numit &amp;#039;&amp;#039;&amp;#039;reset&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
*# un semnal de ieșire de un bit numit &amp;#039;&amp;#039;&amp;#039;out&amp;#039;&amp;#039;&amp;#039; care să oscileze cu perioada cerută.&lt;br /&gt;
Constrângerile pentru semnalul de reset, ledul pe care se afișează ieșirea și semnalul de ceas folosit sunt precizate pentru fiecare exercițiu în parte.&lt;br /&gt;
&lt;br /&gt;
Pentru nota maximă (10) se va urmări generarea semnalului de frecvența dorită. Se va puncta cu cel mult nota 8 generarea unui semnal de o frecvență cât mai apropiată de această frecvență, folosind una dintre ieșirile numărătorului.&lt;br /&gt;
&lt;br /&gt;
===Exercițiul 1===&lt;br /&gt;
Semnalul de ieșire are perioada de 1s.&lt;br /&gt;
Se va folosi semnalul de ceas al plăcii CLOCK27.&lt;br /&gt;
Intrarea de reset este butonul KEY2.&lt;br /&gt;
Ieșirea este conectată pe LDR9.&lt;br /&gt;
&lt;br /&gt;
===Exercițiul 2===&lt;br /&gt;
Semnalul de ieșire are perioada de 2s.&lt;br /&gt;
Se va folosi semnalul de ceas al plăcii CLOCK24.&lt;br /&gt;
Intrarea de reset este butonul KEY0&lt;br /&gt;
Ieșirea este conectată pe LDR5.&lt;br /&gt;
&lt;br /&gt;
===Exercițiul 3===&lt;br /&gt;
Semnalul de ieșire are perioada de 3s.&lt;br /&gt;
Se va folosi semnalul de ceas al plăcii CLOCK50.&lt;br /&gt;
Intrarea de reset este butonul KEY1.&lt;br /&gt;
Ieșirea este conectată pe LDR0.&lt;br /&gt;
&lt;br /&gt;
===Exercițiul 4===&lt;br /&gt;
Semnalul de ieșire are perioada de 2s.&lt;br /&gt;
Se va folosi semnalul de ceas al plăcii CLOCK27.&lt;br /&gt;
Intrarea de reset este butonul KEY3.&lt;br /&gt;
Ieșirea este conectată pe LDG7.&lt;br /&gt;
&lt;br /&gt;
===Exercițiul 5===&lt;br /&gt;
Semnalul de ieșire are perioada de 3s.&lt;br /&gt;
Se va folosi semnalul de ceas al plăcii CLOCK24.&lt;br /&gt;
Intrarea de reset este butonul KEY2.&lt;br /&gt;
Ieșirea este conectată pe LDG0.&lt;br /&gt;
&lt;br /&gt;
===Exercițiul 6===&lt;br /&gt;
Semnalul de ieșire are perioada de 1s.&lt;br /&gt;
Se va folosi semnalul de ceas al plăcii CLOCK50.&lt;br /&gt;
Intrarea de reset este butonul KEY0.&lt;br /&gt;
Ieșirea este conectată pe LDR4.&lt;br /&gt;
&lt;br /&gt;
== Exerciții Bonus ==&lt;br /&gt;
&lt;br /&gt;
1. Modificați circuitul anterior astfel încât semnalul generat să aibă factorul de umplere 1/2.&lt;br /&gt;
2. Implementați circuitul de la exercițiul anterior având un modul de top care descrie structural principiul divizorului de frecvență (folosiți un numărător și un circuit care resetează numărătorul atunci când ieșirea acestuia atinge o anumită valoare). În modulul de top vor fi instanțiate numărătorul și circuitul care generează semnalul de reset pentru numărător.&lt;br /&gt;
&lt;br /&gt;
== Submiterea Exercițiilor ==&lt;br /&gt;
&lt;br /&gt;
Pentru notare, se vor submite următoarele fișiere, către adresa de e-mail indicată de cadrul didactic.&lt;br /&gt;
&lt;br /&gt;
O arhivă &amp;lt;span style=&amp;quot;color: red; font-weight: bold&amp;quot;&amp;gt;zip&amp;lt;/span&amp;gt; ce va conține:&lt;br /&gt;
*Fișierul Verilog cu extensia .v care conține descrierea Verilog a circuitului. Dacă ați rezolvat și exercițiul bonus veți trimite cele 3 fișiere.&lt;br /&gt;
*Un fișier de constrângeri, cu extensia .qsf&lt;br /&gt;
*Un fișier de tip proiect Quartus, cu extensia .qpf&lt;br /&gt;
Atentie, arhiva va contine doar cele 3 fisiere (fara directoare).&lt;br /&gt;
&lt;br /&gt;
Subiectul mesajului de e-mail trebuie să respecte formatul &amp;lt;span style=&amp;quot;color: red; font-weight: bold&amp;quot;&amp;gt;[Nume]_[Prenume]_[Grupa]_7seg_[Nr. Exercitiu]&amp;lt;/span&amp;gt; de exemplu Petrica_Lucian_423B_7seg_4&lt;br /&gt;
&lt;br /&gt;
== Recomandări pentru cadrul didactic ==&lt;br /&gt;
&lt;br /&gt;
Se vor verifica noțiunile de circuite sincrone (blocuri always cu activare pe front, atribuiri non-blocking).&lt;br /&gt;
Va fi explicată ideea divizorului de frecvență pornind de la o frecvență a ceasului diferită de cele de pe placă și se va raspunde întrebărilor studenților.&lt;/div&gt;</summary>
		<author><name>Mdascalu</name></author>
	</entry>
	<entry>
		<id>http://wiki.dcae.pub.ro/index.php?title=CID_Lab_Lucrarea_3&amp;diff=5354</id>
		<title>CID Lab Lucrarea 3</title>
		<link rel="alternate" type="text/html" href="http://wiki.dcae.pub.ro/index.php?title=CID_Lab_Lucrarea_3&amp;diff=5354"/>
		<updated>2017-04-02T11:27:40Z</updated>

		<summary type="html">&lt;p&gt;Mdascalu: /* Exercițiu Bonus */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Noțiuni și cunoștințe necesare ==&lt;br /&gt;
&lt;br /&gt;
* [[Introducere. Verilog HDL și ModelSim|Logică booleană și sisteme de numerație]]&lt;br /&gt;
* Sintaxă [[Verilog]]&lt;br /&gt;
* [[Tutorial_Quartus_II| Utilizarea programului de sinteză Altera Quartus II]]&lt;br /&gt;
* [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]&lt;br /&gt;
* [[Circuite secvențiale]], [[Numărătorul]]&lt;br /&gt;
&lt;br /&gt;
== Exemplu ==&lt;br /&gt;
&lt;br /&gt;
Descrieți în Verilog un numărător pe 32 de biți cu reset sincron. Legați semnalul de reset la butonul KEY3. Legați cei mai puțin semnificativi 4 biți ai ieșirii numărătorului pe ledurile verzi LDG3 - LDG0 și biții [26:23] pe ledurile roșii LDR3-LD0. Observați variația de viteză.&lt;br /&gt;
&lt;br /&gt;
== Exerciții ==&lt;br /&gt;
&lt;br /&gt;
Descrieți în Verilog un circuit care să genereze un semnal dreptunghiular periodic de frecvență (perioadă) dată, folosind unul dintre semnalele de ceas de pe placa DE1, conform cerințelor de la exercițiile 1-6. Acest circuit conține un numărător cu semnal cu reset &amp;#039;&amp;#039;&amp;#039;sincron&amp;#039;&amp;#039;&amp;#039; și are un număr de biți suficient de mare pentru a obține frecvența dorită. Scrieți modulul Verilog respectând următoarele cerințe:&lt;br /&gt;
* numele modulului trebuie să fie &amp;#039;&amp;#039;&amp;#039;counter_ks&amp;#039;&amp;#039;&amp;#039;, unde k este perioada indicată pentru fiecare exercițiu&lt;br /&gt;
* interfața modulului trebuie să fie compusă din următoarele semnale:&lt;br /&gt;
*# semnalul de ceas, numit &amp;#039;&amp;#039;&amp;#039;clk&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
*# semnalul de reset, numit &amp;#039;&amp;#039;&amp;#039;reset&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
*# un semnal de ieșire de un bit numit &amp;#039;&amp;#039;&amp;#039;out&amp;#039;&amp;#039;&amp;#039; care să oscileze cu perioada cerută.&lt;br /&gt;
Constrângerile pentru semnalul de reset, ledul pe care se afișează ieșirea și semnalul de ceas folosit sunt precizate pentru fiecare exercițiu în parte.&lt;br /&gt;
&lt;br /&gt;
Pentru nota maximă (10) se va urmări generarea semnalului de frecvența dorită. Se va puncta cu cel mult nota 8 generarea unui semnal de o frecvență cât mai apropiată de această frecvență, folosind una dintre ieșirile numărătorului.&lt;br /&gt;
&lt;br /&gt;
===Exercițiul 1===&lt;br /&gt;
Semnalul de ieșire are perioada de 1s.&lt;br /&gt;
Se va folosi semnalul de ceas al plăcii CLOCK27.&lt;br /&gt;
Intrarea de reset este butonul KEY2.&lt;br /&gt;
Ieșirea este conectată pe LDR9.&lt;br /&gt;
&lt;br /&gt;
===Exercițiul 2===&lt;br /&gt;
Semnalul de ieșire are perioada de 2s.&lt;br /&gt;
Se va folosi semnalul de ceas al plăcii CLOCK24.&lt;br /&gt;
Intrarea de reset este butonul KEY0&lt;br /&gt;
Ieșirea este conectată pe LDR5.&lt;br /&gt;
&lt;br /&gt;
===Exercițiul 3===&lt;br /&gt;
Semnalul de ieșire are perioada de 3s.&lt;br /&gt;
Se va folosi semnalul de ceas al plăcii CLOCK50.&lt;br /&gt;
Intrarea de reset este butonul KEY1.&lt;br /&gt;
Ieșirea este conectată pe LDR0.&lt;br /&gt;
&lt;br /&gt;
===Exercițiul 4===&lt;br /&gt;
Semnalul de ieșire are perioada de 2s.&lt;br /&gt;
Se va folosi semnalul de ceas al plăcii CLOCK27.&lt;br /&gt;
Intrarea de reset este butonul KEY3.&lt;br /&gt;
Ieșirea este conectată pe LDG7.&lt;br /&gt;
&lt;br /&gt;
===Exercițiul 5===&lt;br /&gt;
Semnalul de ieșire are perioada de 3s.&lt;br /&gt;
Se va folosi semnalul de ceas al plăcii CLOCK24.&lt;br /&gt;
Intrarea de reset este butonul KEY2.&lt;br /&gt;
Ieșirea este conectată pe LDG0.&lt;br /&gt;
&lt;br /&gt;
===Exercițiul 6===&lt;br /&gt;
Semnalul de ieșire are perioada de 1s.&lt;br /&gt;
Se va folosi semnalul de ceas al plăcii CLOCK50.&lt;br /&gt;
Intrarea de reset este butonul KEY0.&lt;br /&gt;
Ieșirea este conectată pe LDR4.&lt;br /&gt;
&lt;br /&gt;
== Exercițiu Bonus ==&lt;br /&gt;
&lt;br /&gt;
Implementați circuitul de la exercițiul anterior având un modul de top care descrie structural principiul divizorului de frecvență (folosiți un numărător și un circuit care resetează numărătorul atunci când ieșirea acestuia atinge o anumită valoare). În modulul de top vor fi instanțiate numărătorul și circuitul care generează semnalul de reset pentru numărător.&lt;br /&gt;
&lt;br /&gt;
== Submiterea Exercițiilor ==&lt;br /&gt;
&lt;br /&gt;
Pentru notare, se vor submite următoarele fișiere, către adresa de e-mail indicată de cadrul didactic.&lt;br /&gt;
&lt;br /&gt;
O arhivă &amp;lt;span style=&amp;quot;color: red; font-weight: bold&amp;quot;&amp;gt;zip&amp;lt;/span&amp;gt; ce va conține:&lt;br /&gt;
*Fișierul Verilog cu extensia .v care conține descrierea Verilog a circuitului. Dacă ați rezolvat și exercițiul bonus veți trimite cele 3 fișiere.&lt;br /&gt;
*Un fișier de constrângeri, cu extensia .qsf&lt;br /&gt;
*Un fișier de tip proiect Quartus, cu extensia .qpf&lt;br /&gt;
Atentie, arhiva va contine doar cele 3 fisiere (fara directoare).&lt;br /&gt;
&lt;br /&gt;
Subiectul mesajului de e-mail trebuie să respecte formatul &amp;lt;span style=&amp;quot;color: red; font-weight: bold&amp;quot;&amp;gt;[Nume]_[Prenume]_[Grupa]_7seg_[Nr. Exercitiu]&amp;lt;/span&amp;gt; de exemplu Petrica_Lucian_423B_7seg_4&lt;br /&gt;
&lt;br /&gt;
== Recomandări pentru cadrul didactic ==&lt;br /&gt;
&lt;br /&gt;
Se vor verifica noțiunile de circuite sincrone (blocuri always cu activare pe front, atribuiri non-blocking).&lt;br /&gt;
Va fi explicată ideea divizorului de frecvență pornind de la o frecvență a ceasului diferită de cele de pe placă și se va raspunde întrebărilor studenților.&lt;/div&gt;</summary>
		<author><name>Mdascalu</name></author>
	</entry>
	<entry>
		<id>http://wiki.dcae.pub.ro/index.php?title=CID_Lab_Lucrarea_3&amp;diff=5353</id>
		<title>CID Lab Lucrarea 3</title>
		<link rel="alternate" type="text/html" href="http://wiki.dcae.pub.ro/index.php?title=CID_Lab_Lucrarea_3&amp;diff=5353"/>
		<updated>2017-04-02T11:24:20Z</updated>

		<summary type="html">&lt;p&gt;Mdascalu: /* Exercițiu Bonus */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Noțiuni și cunoștințe necesare ==&lt;br /&gt;
&lt;br /&gt;
* [[Introducere. Verilog HDL și ModelSim|Logică booleană și sisteme de numerație]]&lt;br /&gt;
* Sintaxă [[Verilog]]&lt;br /&gt;
* [[Tutorial_Quartus_II| Utilizarea programului de sinteză Altera Quartus II]]&lt;br /&gt;
* [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]&lt;br /&gt;
* [[Circuite secvențiale]], [[Numărătorul]]&lt;br /&gt;
&lt;br /&gt;
== Exemplu ==&lt;br /&gt;
&lt;br /&gt;
Descrieți în Verilog un numărător pe 32 de biți cu reset sincron. Legați semnalul de reset la butonul KEY3. Legați cei mai puțin semnificativi 4 biți ai ieșirii numărătorului pe ledurile verzi LDG3 - LDG0 și biții [26:23] pe ledurile roșii LDR3-LD0. Observați variația de viteză.&lt;br /&gt;
&lt;br /&gt;
== Exerciții ==&lt;br /&gt;
&lt;br /&gt;
Descrieți în Verilog un circuit care să genereze un semnal dreptunghiular periodic de frecvență (perioadă) dată, folosind unul dintre semnalele de ceas de pe placa DE1, conform cerințelor de la exercițiile 1-6. Acest circuit conține un numărător cu semnal cu reset &amp;#039;&amp;#039;&amp;#039;sincron&amp;#039;&amp;#039;&amp;#039; și are un număr de biți suficient de mare pentru a obține frecvența dorită. Scrieți modulul Verilog respectând următoarele cerințe:&lt;br /&gt;
* numele modulului trebuie să fie &amp;#039;&amp;#039;&amp;#039;counter_ks&amp;#039;&amp;#039;&amp;#039;, unde k este perioada indicată pentru fiecare exercițiu&lt;br /&gt;
* interfața modulului trebuie să fie compusă din următoarele semnale:&lt;br /&gt;
*# semnalul de ceas, numit &amp;#039;&amp;#039;&amp;#039;clk&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
*# semnalul de reset, numit &amp;#039;&amp;#039;&amp;#039;reset&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
*# un semnal de ieșire de un bit numit &amp;#039;&amp;#039;&amp;#039;out&amp;#039;&amp;#039;&amp;#039; care să oscileze cu perioada cerută.&lt;br /&gt;
Constrângerile pentru semnalul de reset, ledul pe care se afișează ieșirea și semnalul de ceas folosit sunt precizate pentru fiecare exercițiu în parte.&lt;br /&gt;
&lt;br /&gt;
Pentru nota maximă (10) se va urmări generarea semnalului de frecvența dorită. Se va puncta cu cel mult nota 8 generarea unui semnal de o frecvență cât mai apropiată de această frecvență, folosind una dintre ieșirile numărătorului.&lt;br /&gt;
&lt;br /&gt;
===Exercițiul 1===&lt;br /&gt;
Semnalul de ieșire are perioada de 1s.&lt;br /&gt;
Se va folosi semnalul de ceas al plăcii CLOCK27.&lt;br /&gt;
Intrarea de reset este butonul KEY2.&lt;br /&gt;
Ieșirea este conectată pe LDR9.&lt;br /&gt;
&lt;br /&gt;
===Exercițiul 2===&lt;br /&gt;
Semnalul de ieșire are perioada de 2s.&lt;br /&gt;
Se va folosi semnalul de ceas al plăcii CLOCK24.&lt;br /&gt;
Intrarea de reset este butonul KEY0&lt;br /&gt;
Ieșirea este conectată pe LDR5.&lt;br /&gt;
&lt;br /&gt;
===Exercițiul 3===&lt;br /&gt;
Semnalul de ieșire are perioada de 3s.&lt;br /&gt;
Se va folosi semnalul de ceas al plăcii CLOCK50.&lt;br /&gt;
Intrarea de reset este butonul KEY1.&lt;br /&gt;
Ieșirea este conectată pe LDR0.&lt;br /&gt;
&lt;br /&gt;
===Exercițiul 4===&lt;br /&gt;
Semnalul de ieșire are perioada de 2s.&lt;br /&gt;
Se va folosi semnalul de ceas al plăcii CLOCK27.&lt;br /&gt;
Intrarea de reset este butonul KEY3.&lt;br /&gt;
Ieșirea este conectată pe LDG7.&lt;br /&gt;
&lt;br /&gt;
===Exercițiul 5===&lt;br /&gt;
Semnalul de ieșire are perioada de 3s.&lt;br /&gt;
Se va folosi semnalul de ceas al plăcii CLOCK24.&lt;br /&gt;
Intrarea de reset este butonul KEY2.&lt;br /&gt;
Ieșirea este conectată pe LDG0.&lt;br /&gt;
&lt;br /&gt;
===Exercițiul 6===&lt;br /&gt;
Semnalul de ieșire are perioada de 1s.&lt;br /&gt;
Se va folosi semnalul de ceas al plăcii CLOCK50.&lt;br /&gt;
Intrarea de reset este butonul KEY0.&lt;br /&gt;
Ieșirea este conectată pe LDR4.&lt;br /&gt;
&lt;br /&gt;
== Exercițiu Bonus ==&lt;br /&gt;
&lt;br /&gt;
Implementați circuitul de la exercițiul anterior având un modul de top care descrie structural principiul divizorului de frecvență (folosiți un numărător și un circuit care resetează numărătorul atunci când ieșirea acestuia atinge o anumită valoare). În modulul de top vor fi instanțiate numărătorul și circuitul care generează semnalul de reset pentru numărător.&lt;br /&gt;
&lt;br /&gt;
== Recomandări pentru cadrul didactic ==&lt;br /&gt;
&lt;br /&gt;
Se vor verifica noțiunile de circuite sincrone (blocuri always cu activare pe front, atribuiri non-blocking).&lt;br /&gt;
Va fi explicată ideea divizorului de frecvență pornind de la o frecvență a ceasului diferită de cele de pe placă și se va raspunde întrebărilor studenților.&lt;/div&gt;</summary>
		<author><name>Mdascalu</name></author>
	</entry>
	<entry>
		<id>http://wiki.dcae.pub.ro/index.php?title=CID_Lab_Lucrarea_3&amp;diff=5352</id>
		<title>CID Lab Lucrarea 3</title>
		<link rel="alternate" type="text/html" href="http://wiki.dcae.pub.ro/index.php?title=CID_Lab_Lucrarea_3&amp;diff=5352"/>
		<updated>2017-04-02T11:19:58Z</updated>

		<summary type="html">&lt;p&gt;Mdascalu: /* Recomandări pentru cadrul didactic */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Noțiuni și cunoștințe necesare ==&lt;br /&gt;
&lt;br /&gt;
* [[Introducere. Verilog HDL și ModelSim|Logică booleană și sisteme de numerație]]&lt;br /&gt;
* Sintaxă [[Verilog]]&lt;br /&gt;
* [[Tutorial_Quartus_II| Utilizarea programului de sinteză Altera Quartus II]]&lt;br /&gt;
* [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]&lt;br /&gt;
* [[Circuite secvențiale]], [[Numărătorul]]&lt;br /&gt;
&lt;br /&gt;
== Exemplu ==&lt;br /&gt;
&lt;br /&gt;
Descrieți în Verilog un numărător pe 32 de biți cu reset sincron. Legați semnalul de reset la butonul KEY3. Legați cei mai puțin semnificativi 4 biți ai ieșirii numărătorului pe ledurile verzi LDG3 - LDG0 și biții [26:23] pe ledurile roșii LDR3-LD0. Observați variația de viteză.&lt;br /&gt;
&lt;br /&gt;
== Exerciții ==&lt;br /&gt;
&lt;br /&gt;
Descrieți în Verilog un circuit care să genereze un semnal dreptunghiular periodic de frecvență (perioadă) dată, folosind unul dintre semnalele de ceas de pe placa DE1, conform cerințelor de la exercițiile 1-6. Acest circuit conține un numărător cu semnal cu reset &amp;#039;&amp;#039;&amp;#039;sincron&amp;#039;&amp;#039;&amp;#039; și are un număr de biți suficient de mare pentru a obține frecvența dorită. Scrieți modulul Verilog respectând următoarele cerințe:&lt;br /&gt;
* numele modulului trebuie să fie &amp;#039;&amp;#039;&amp;#039;counter_ks&amp;#039;&amp;#039;&amp;#039;, unde k este perioada indicată pentru fiecare exercițiu&lt;br /&gt;
* interfața modulului trebuie să fie compusă din următoarele semnale:&lt;br /&gt;
*# semnalul de ceas, numit &amp;#039;&amp;#039;&amp;#039;clk&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
*# semnalul de reset, numit &amp;#039;&amp;#039;&amp;#039;reset&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
*# un semnal de ieșire de un bit numit &amp;#039;&amp;#039;&amp;#039;out&amp;#039;&amp;#039;&amp;#039; care să oscileze cu perioada cerută.&lt;br /&gt;
Constrângerile pentru semnalul de reset, ledul pe care se afișează ieșirea și semnalul de ceas folosit sunt precizate pentru fiecare exercițiu în parte.&lt;br /&gt;
&lt;br /&gt;
Pentru nota maximă (10) se va urmări generarea semnalului de frecvența dorită. Se va puncta cu cel mult nota 8 generarea unui semnal de o frecvență cât mai apropiată de această frecvență, folosind una dintre ieșirile numărătorului.&lt;br /&gt;
&lt;br /&gt;
===Exercițiul 1===&lt;br /&gt;
Semnalul de ieșire are perioada de 1s.&lt;br /&gt;
Se va folosi semnalul de ceas al plăcii CLOCK27.&lt;br /&gt;
Intrarea de reset este butonul KEY2.&lt;br /&gt;
Ieșirea este conectată pe LDR9.&lt;br /&gt;
&lt;br /&gt;
===Exercițiul 2===&lt;br /&gt;
Semnalul de ieșire are perioada de 2s.&lt;br /&gt;
Se va folosi semnalul de ceas al plăcii CLOCK24.&lt;br /&gt;
Intrarea de reset este butonul KEY0&lt;br /&gt;
Ieșirea este conectată pe LDR5.&lt;br /&gt;
&lt;br /&gt;
===Exercițiul 3===&lt;br /&gt;
Semnalul de ieșire are perioada de 3s.&lt;br /&gt;
Se va folosi semnalul de ceas al plăcii CLOCK50.&lt;br /&gt;
Intrarea de reset este butonul KEY1.&lt;br /&gt;
Ieșirea este conectată pe LDR0.&lt;br /&gt;
&lt;br /&gt;
===Exercițiul 4===&lt;br /&gt;
Semnalul de ieșire are perioada de 2s.&lt;br /&gt;
Se va folosi semnalul de ceas al plăcii CLOCK27.&lt;br /&gt;
Intrarea de reset este butonul KEY3.&lt;br /&gt;
Ieșirea este conectată pe LDG7.&lt;br /&gt;
&lt;br /&gt;
===Exercițiul 5===&lt;br /&gt;
Semnalul de ieșire are perioada de 3s.&lt;br /&gt;
Se va folosi semnalul de ceas al plăcii CLOCK24.&lt;br /&gt;
Intrarea de reset este butonul KEY2.&lt;br /&gt;
Ieșirea este conectată pe LDG0.&lt;br /&gt;
&lt;br /&gt;
===Exercițiul 6===&lt;br /&gt;
Semnalul de ieșire are perioada de 1s.&lt;br /&gt;
Se va folosi semnalul de ceas al plăcii CLOCK50.&lt;br /&gt;
Intrarea de reset este butonul KEY0.&lt;br /&gt;
Ieșirea este conectată pe LDR4.&lt;br /&gt;
&lt;br /&gt;
== Exercițiu Bonus ==&lt;br /&gt;
&lt;br /&gt;
Implementați un circuit care să genereze un semnal de ieșire cu perioada exact o secundă. Hint: folosiți un numărător și un circuit care resetează numărătorul atunci când ieșirea acestuia atinge o anumită valoare.&lt;br /&gt;
== Recomandări pentru cadrul didactic ==&lt;br /&gt;
&lt;br /&gt;
Se vor verifica noțiunile de circuite sincrone (blocuri always cu activare pe front, atribuiri non-blocking).&lt;br /&gt;
Va fi explicată ideea divizorului de frecvență pornind de la o frecvență a ceasului diferită de cele de pe placă și se va raspunde întrebărilor studenților.&lt;/div&gt;</summary>
		<author><name>Mdascalu</name></author>
	</entry>
	<entry>
		<id>http://wiki.dcae.pub.ro/index.php?title=CID_Lab_Lucrarea_3&amp;diff=5351</id>
		<title>CID Lab Lucrarea 3</title>
		<link rel="alternate" type="text/html" href="http://wiki.dcae.pub.ro/index.php?title=CID_Lab_Lucrarea_3&amp;diff=5351"/>
		<updated>2017-04-02T11:18:06Z</updated>

		<summary type="html">&lt;p&gt;Mdascalu: /* Exercițiu */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Noțiuni și cunoștințe necesare ==&lt;br /&gt;
&lt;br /&gt;
* [[Introducere. Verilog HDL și ModelSim|Logică booleană și sisteme de numerație]]&lt;br /&gt;
* Sintaxă [[Verilog]]&lt;br /&gt;
* [[Tutorial_Quartus_II| Utilizarea programului de sinteză Altera Quartus II]]&lt;br /&gt;
* [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]&lt;br /&gt;
* [[Circuite secvențiale]], [[Numărătorul]]&lt;br /&gt;
&lt;br /&gt;
== Exemplu ==&lt;br /&gt;
&lt;br /&gt;
Descrieți în Verilog un numărător pe 32 de biți cu reset sincron. Legați semnalul de reset la butonul KEY3. Legați cei mai puțin semnificativi 4 biți ai ieșirii numărătorului pe ledurile verzi LDG3 - LDG0 și biții [26:23] pe ledurile roșii LDR3-LD0. Observați variația de viteză.&lt;br /&gt;
&lt;br /&gt;
== Exerciții ==&lt;br /&gt;
&lt;br /&gt;
Descrieți în Verilog un circuit care să genereze un semnal dreptunghiular periodic de frecvență (perioadă) dată, folosind unul dintre semnalele de ceas de pe placa DE1, conform cerințelor de la exercițiile 1-6. Acest circuit conține un numărător cu semnal cu reset &amp;#039;&amp;#039;&amp;#039;sincron&amp;#039;&amp;#039;&amp;#039; și are un număr de biți suficient de mare pentru a obține frecvența dorită. Scrieți modulul Verilog respectând următoarele cerințe:&lt;br /&gt;
* numele modulului trebuie să fie &amp;#039;&amp;#039;&amp;#039;counter_ks&amp;#039;&amp;#039;&amp;#039;, unde k este perioada indicată pentru fiecare exercițiu&lt;br /&gt;
* interfața modulului trebuie să fie compusă din următoarele semnale:&lt;br /&gt;
*# semnalul de ceas, numit &amp;#039;&amp;#039;&amp;#039;clk&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
*# semnalul de reset, numit &amp;#039;&amp;#039;&amp;#039;reset&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
*# un semnal de ieșire de un bit numit &amp;#039;&amp;#039;&amp;#039;out&amp;#039;&amp;#039;&amp;#039; care să oscileze cu perioada cerută.&lt;br /&gt;
Constrângerile pentru semnalul de reset, ledul pe care se afișează ieșirea și semnalul de ceas folosit sunt precizate pentru fiecare exercițiu în parte.&lt;br /&gt;
&lt;br /&gt;
Pentru nota maximă (10) se va urmări generarea semnalului de frecvența dorită. Se va puncta cu cel mult nota 8 generarea unui semnal de o frecvență cât mai apropiată de această frecvență, folosind una dintre ieșirile numărătorului.&lt;br /&gt;
&lt;br /&gt;
===Exercițiul 1===&lt;br /&gt;
Semnalul de ieșire are perioada de 1s.&lt;br /&gt;
Se va folosi semnalul de ceas al plăcii CLOCK27.&lt;br /&gt;
Intrarea de reset este butonul KEY2.&lt;br /&gt;
Ieșirea este conectată pe LDR9.&lt;br /&gt;
&lt;br /&gt;
===Exercițiul 2===&lt;br /&gt;
Semnalul de ieșire are perioada de 2s.&lt;br /&gt;
Se va folosi semnalul de ceas al plăcii CLOCK24.&lt;br /&gt;
Intrarea de reset este butonul KEY0&lt;br /&gt;
Ieșirea este conectată pe LDR5.&lt;br /&gt;
&lt;br /&gt;
===Exercițiul 3===&lt;br /&gt;
Semnalul de ieșire are perioada de 3s.&lt;br /&gt;
Se va folosi semnalul de ceas al plăcii CLOCK50.&lt;br /&gt;
Intrarea de reset este butonul KEY1.&lt;br /&gt;
Ieșirea este conectată pe LDR0.&lt;br /&gt;
&lt;br /&gt;
===Exercițiul 4===&lt;br /&gt;
Semnalul de ieșire are perioada de 2s.&lt;br /&gt;
Se va folosi semnalul de ceas al plăcii CLOCK27.&lt;br /&gt;
Intrarea de reset este butonul KEY3.&lt;br /&gt;
Ieșirea este conectată pe LDG7.&lt;br /&gt;
&lt;br /&gt;
===Exercițiul 5===&lt;br /&gt;
Semnalul de ieșire are perioada de 3s.&lt;br /&gt;
Se va folosi semnalul de ceas al plăcii CLOCK24.&lt;br /&gt;
Intrarea de reset este butonul KEY2.&lt;br /&gt;
Ieșirea este conectată pe LDG0.&lt;br /&gt;
&lt;br /&gt;
===Exercițiul 6===&lt;br /&gt;
Semnalul de ieșire are perioada de 1s.&lt;br /&gt;
Se va folosi semnalul de ceas al plăcii CLOCK50.&lt;br /&gt;
Intrarea de reset este butonul KEY0.&lt;br /&gt;
Ieșirea este conectată pe LDR4.&lt;br /&gt;
&lt;br /&gt;
== Exercițiu Bonus ==&lt;br /&gt;
&lt;br /&gt;
Implementați un circuit care să genereze un semnal de ieșire cu perioada exact o secundă. Hint: folosiți un numărător și un circuit care resetează numărătorul atunci când ieșirea acestuia atinge o anumită valoare.&lt;br /&gt;
== Recomandări pentru cadrul didactic ==&lt;br /&gt;
&lt;br /&gt;
Se vor verifica noțiunile de circuite sincrone (blocuri always cu activare pe front, atribuiri non-blocking) și se va raspunde întrebărilor studenților.&lt;/div&gt;</summary>
		<author><name>Mdascalu</name></author>
	</entry>
	<entry>
		<id>http://wiki.dcae.pub.ro/index.php?title=CID_Lab_Lucrarea_3&amp;diff=5350</id>
		<title>CID Lab Lucrarea 3</title>
		<link rel="alternate" type="text/html" href="http://wiki.dcae.pub.ro/index.php?title=CID_Lab_Lucrarea_3&amp;diff=5350"/>
		<updated>2017-04-02T10:56:48Z</updated>

		<summary type="html">&lt;p&gt;Mdascalu: /* Noțiuni și cunoștințe necesare */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Noțiuni și cunoștințe necesare ==&lt;br /&gt;
&lt;br /&gt;
* [[Introducere. Verilog HDL și ModelSim|Logică booleană și sisteme de numerație]]&lt;br /&gt;
* Sintaxă [[Verilog]]&lt;br /&gt;
* [[Tutorial_Quartus_II| Utilizarea programului de sinteză Altera Quartus II]]&lt;br /&gt;
* [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]&lt;br /&gt;
* [[Circuite secvențiale]], [[Numărătorul]]&lt;br /&gt;
&lt;br /&gt;
== Exemplu ==&lt;br /&gt;
&lt;br /&gt;
Descrieți în Verilog un numărător pe 32 de biți cu reset sincron. Legați semnalul de reset la butonul KEY3. Legați cei mai puțin semnificativi 4 biți ai ieșirii numărătorului pe ledurile verzi LDG3 - LDG0 și biții [26:23] pe ledurile roșii LDR3-LD0. Observați variația de viteză.&lt;br /&gt;
&lt;br /&gt;
== Exercițiu ==&lt;br /&gt;
&lt;br /&gt;
Descrieți în Verilog un numărător cu reset &amp;#039;&amp;#039;&amp;#039;sincron&amp;#039;&amp;#039;&amp;#039;, având un număr de biți suficient de mare pentru ca bitul cel mai semnificativ (MSB) al numărătorului să oscileze cu perioadă cât mai apropiată de o secundă. Scrieți modulul Verilog și fișierul de constrângeri respectând următoarele cerințe:&lt;br /&gt;
* numele modulului trebuie să fie &amp;#039;&amp;#039;&amp;#039;counter_1s&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* interfața modulului trebuie să fie compusă din următoarele semnale:&lt;br /&gt;
*# semnalul de ceas, numit &amp;#039;&amp;#039;&amp;#039;clk&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
*# semnalul de reset, numit &amp;#039;&amp;#039;&amp;#039;reset&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
*# un semnal de ieșire de un bit numit &amp;#039;&amp;#039;&amp;#039;out&amp;#039;&amp;#039;&amp;#039; care să oscileze cu o perioadă cât mai apropiată de o secundă.&lt;br /&gt;
* legați semnalul de reset la butonul 2 (BTN2)&lt;br /&gt;
* legați semnalul de ieșire la ledul 5 (LD5)&lt;br /&gt;
* legați semnalul de ceas generatorul de ceas de pe placă&lt;br /&gt;
&lt;br /&gt;
== Exercițiu Bonus ==&lt;br /&gt;
&lt;br /&gt;
Implementați un circuit care să genereze un semnal de ieșire cu perioada exact o secundă. Hint: folosiți un numărător și un circuit care resetează numărătorul atunci când ieșirea acestuia atinge o anumită valoare.&lt;br /&gt;
== Recomandări pentru cadrul didactic ==&lt;br /&gt;
&lt;br /&gt;
Se vor verifica noțiunile de circuite sincrone (blocuri always cu activare pe front, atribuiri non-blocking) și se va raspunde întrebărilor studenților.&lt;/div&gt;</summary>
		<author><name>Mdascalu</name></author>
	</entry>
	<entry>
		<id>http://wiki.dcae.pub.ro/index.php?title=CID_Lab_Lucrarea_3&amp;diff=5349</id>
		<title>CID Lab Lucrarea 3</title>
		<link rel="alternate" type="text/html" href="http://wiki.dcae.pub.ro/index.php?title=CID_Lab_Lucrarea_3&amp;diff=5349"/>
		<updated>2017-04-02T09:39:20Z</updated>

		<summary type="html">&lt;p&gt;Mdascalu: /* Exemplu */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Noțiuni și cunoștințe necesare ==&lt;br /&gt;
&lt;br /&gt;
* [[Introducere. Verilog HDL și ModelSim|Logică booleană și sisteme de numerație]]&lt;br /&gt;
* Sintaxă [[Verilog]]&lt;br /&gt;
* [[Introducere în sinteza pe FPGA. Xilinx ISE]]&lt;br /&gt;
* Utilizarea programului de sinteză [[Tutorial Xilinx ISE|Xilinx ISE]]&lt;br /&gt;
* [[Circuite secvențiale]], [[Numărătorul]]&lt;br /&gt;
&lt;br /&gt;
== Exemplu ==&lt;br /&gt;
&lt;br /&gt;
Descrieți în Verilog un numărător pe 32 de biți cu reset sincron. Legați semnalul de reset la butonul KEY3. Legați cei mai puțin semnificativi 4 biți ai ieșirii numărătorului pe ledurile verzi LDG3 - LDG0 și biții [26:23] pe ledurile roșii LDR3-LD0. Observați variația de viteză.&lt;br /&gt;
&lt;br /&gt;
== Exercițiu ==&lt;br /&gt;
&lt;br /&gt;
Descrieți în Verilog un numărător cu reset &amp;#039;&amp;#039;&amp;#039;sincron&amp;#039;&amp;#039;&amp;#039;, având un număr de biți suficient de mare pentru ca bitul cel mai semnificativ (MSB) al numărătorului să oscileze cu perioadă cât mai apropiată de o secundă. Scrieți modulul Verilog și fișierul de constrângeri respectând următoarele cerințe:&lt;br /&gt;
* numele modulului trebuie să fie &amp;#039;&amp;#039;&amp;#039;counter_1s&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* interfața modulului trebuie să fie compusă din următoarele semnale:&lt;br /&gt;
*# semnalul de ceas, numit &amp;#039;&amp;#039;&amp;#039;clk&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
*# semnalul de reset, numit &amp;#039;&amp;#039;&amp;#039;reset&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
*# un semnal de ieșire de un bit numit &amp;#039;&amp;#039;&amp;#039;out&amp;#039;&amp;#039;&amp;#039; care să oscileze cu o perioadă cât mai apropiată de o secundă.&lt;br /&gt;
* legați semnalul de reset la butonul 2 (BTN2)&lt;br /&gt;
* legați semnalul de ieșire la ledul 5 (LD5)&lt;br /&gt;
* legați semnalul de ceas generatorul de ceas de pe placă&lt;br /&gt;
&lt;br /&gt;
== Exercițiu Bonus ==&lt;br /&gt;
&lt;br /&gt;
Implementați un circuit care să genereze un semnal de ieșire cu perioada exact o secundă. Hint: folosiți un numărător și un circuit care resetează numărătorul atunci când ieșirea acestuia atinge o anumită valoare.&lt;br /&gt;
== Recomandări pentru cadrul didactic ==&lt;br /&gt;
&lt;br /&gt;
Se vor verifica noțiunile de circuite sincrone (blocuri always cu activare pe front, atribuiri non-blocking) și se va raspunde întrebărilor studenților.&lt;/div&gt;</summary>
		<author><name>Mdascalu</name></author>
	</entry>
	<entry>
		<id>http://wiki.dcae.pub.ro/index.php?title=CID_Lab_Lucrarea_3&amp;diff=5332</id>
		<title>CID Lab Lucrarea 3</title>
		<link rel="alternate" type="text/html" href="http://wiki.dcae.pub.ro/index.php?title=CID_Lab_Lucrarea_3&amp;diff=5332"/>
		<updated>2017-03-29T13:32:35Z</updated>

		<summary type="html">&lt;p&gt;Mdascalu: /* Exercițiu */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Noțiuni și cunoștințe necesare ==&lt;br /&gt;
&lt;br /&gt;
* [[Introducere. Verilog HDL și ModelSim|Logică booleană și sisteme de numerație]]&lt;br /&gt;
* Sintaxă [[Verilog]]&lt;br /&gt;
* [[Introducere în sinteza pe FPGA. Xilinx ISE]]&lt;br /&gt;
* Utilizarea programului de sinteză [[Tutorial Xilinx ISE|Xilinx ISE]]&lt;br /&gt;
* [[Circuite secvențiale]], [[Numărătorul]]&lt;br /&gt;
&lt;br /&gt;
== Exemplu ==&lt;br /&gt;
&lt;br /&gt;
Descrieți în Verilog un numărător pe 32 de biți cu reset sincron. Legați semnalul de reset la butonul BTN3. Legați cei mai puțin semnificativi 4 biți ai ieșirii numărătorului pe ledurile LD3 - LD0 și biții [26:23] pe ledurile LD7-LD4. Observați variația de viteză.&lt;br /&gt;
&lt;br /&gt;
== Exercițiu ==&lt;br /&gt;
&lt;br /&gt;
Descrieți în Verilog un numărător cu reset &amp;#039;&amp;#039;&amp;#039;sincron&amp;#039;&amp;#039;&amp;#039;, având un număr de biți suficient de mare pentru ca bitul cel mai semnificativ (MSB) al numărătorului să oscileze cu perioadă cât mai apropiată de o secundă. Scrieți modulul Verilog și fișierul de constrângeri respectând următoarele cerințe:&lt;br /&gt;
* numele modulului trebuie să fie &amp;#039;&amp;#039;&amp;#039;counter_1s&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* interfața modulului trebuie să fie compusă din următoarele semnale:&lt;br /&gt;
*# semnalul de ceas, numit &amp;#039;&amp;#039;&amp;#039;clk&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
*# semnalul de reset, numit &amp;#039;&amp;#039;&amp;#039;reset&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
*# un semnal de ieșire de un bit numit &amp;#039;&amp;#039;&amp;#039;out&amp;#039;&amp;#039;&amp;#039; care să oscileze cu o perioadă cât mai apropiată de o secundă.&lt;br /&gt;
* legați semnalul de reset la butonul 2 (BTN2)&lt;br /&gt;
* legați semnalul de ieșire la ledul 5 (LD5)&lt;br /&gt;
* legați semnalul de ceas generatorul de ceas de pe placă&lt;br /&gt;
&lt;br /&gt;
== Exercițiu Bonus ==&lt;br /&gt;
&lt;br /&gt;
Implementați un circuit care să genereze un semnal de ieșire cu perioada exact o secundă. Hint: folosiți un numărător și un circuit care resetează numărătorul atunci când ieșirea acestuia atinge o anumită valoare.&lt;br /&gt;
== Recomandări pentru cadrul didactic ==&lt;br /&gt;
&lt;br /&gt;
Se vor verifica noțiunile de circuite sincrone (blocuri always cu activare pe front, atribuiri non-blocking) și se va raspunde întrebărilor studenților.&lt;/div&gt;</summary>
		<author><name>Mdascalu</name></author>
	</entry>
	<entry>
		<id>http://wiki.dcae.pub.ro/index.php?title=CID_Lab_Lucrarea_2&amp;diff=5298</id>
		<title>CID Lab Lucrarea 2</title>
		<link rel="alternate" type="text/html" href="http://wiki.dcae.pub.ro/index.php?title=CID_Lab_Lucrarea_2&amp;diff=5298"/>
		<updated>2017-03-21T12:06:53Z</updated>

		<summary type="html">&lt;p&gt;Mdascalu: /* Exercitiul 4 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Noțiuni și cunoștințe necesare ==&lt;br /&gt;
&lt;br /&gt;
* [[Tutorial_Quartus_II| Utilizarea programului de sinteză Altera Quartus II]]&lt;br /&gt;
* [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]&lt;br /&gt;
* [[Introducere. Verilog HDL și ModelSim|Logică booleană și sisteme de numerație]]&lt;br /&gt;
* Noțiuni de sintaxă [[Verilog]]&lt;br /&gt;
* [[Dispozitiv_de_IO:_Afișajul_cu_7_segmente|Afișajul cu 7 segmente]]&lt;br /&gt;
&lt;br /&gt;
== Exemplul 1 ==&lt;br /&gt;
&lt;br /&gt;
Realizați un decodor de doi biți folosind un bloc &amp;#039;&amp;#039;&amp;#039;case&amp;#039;&amp;#039;&amp;#039;. Testați decodorul legând intrările la switch-uri și ieșirile la led-uri.&lt;br /&gt;
&lt;br /&gt;
== Exemplul 2 ==&lt;br /&gt;
 &lt;br /&gt;
Realizați un transcodor pentru afișajul cu 7 segmente, folosind un bloc &amp;#039;&amp;#039;&amp;#039;case&amp;#039;&amp;#039;&amp;#039;, care să poată afișa valorile de la 0 la 3. Intrarea modulului se va numi &amp;#039;&amp;#039;&amp;#039;value&amp;#039;&amp;#039;&amp;#039; iar ieșirea &amp;#039;&amp;#039;&amp;#039;out_seg&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
Testați decodorul aplicând intrarea pe SW1 și SW0 și afișând ieșirea pe afișajul cu 7 segmente, cifra din dreapta (Digit0).&lt;br /&gt;
&lt;br /&gt;
== Exerciții ==&lt;br /&gt;
&lt;br /&gt;
Următoarele exerciții folosesc transcodorul binar - 7 segemente pentru afișarea în hexazecimal a rezultatului unei operații simple. Pentru a vă asigura că transcodorul este scris corect, la pct. a veți verifica funcționarea lui. Proiectul pe care trebuie să-l trimiteți la final este cel de la pct. b.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Exercitiul 1===&lt;br /&gt;
a. Completați și modificații transcodorul de la exemplul 2 astfel încât să poată afișa valorile de la 0 la 15, în baza 16 (10 = A, 11 = b, 12 = C, 13 = d, 14 = E, 15 = F) &amp;#039;&amp;#039;&amp;#039;pe a doua poziție din dreapta&amp;#039;&amp;#039;&amp;#039;. &lt;br /&gt;
*Denumiți modulul &amp;#039;&amp;#039;&amp;#039;afisaj7seg&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
*Biții &amp;#039;&amp;#039;&amp;#039;out_seg&amp;#039;&amp;#039;&amp;#039; corespund cu segmentele în modul următor:&lt;br /&gt;
&lt;br /&gt;
**Bitul 6 corespunde segmentului 0&lt;br /&gt;
**Bitul 5 corespunde segmentului 1&lt;br /&gt;
**Bitul 4 corespunde segmentului 2&lt;br /&gt;
**Bitul 3 corespunde segmentului 3&lt;br /&gt;
**Bitul 2 corespunde segmentului 4&lt;br /&gt;
**Bitul 1 corespunde segmentului 5&lt;br /&gt;
**Bitul 0 corespunde segmentului 6&lt;br /&gt;
&lt;br /&gt;
Verificați funcționarea corectă a afișajului pe placa DE1, conectând intrarea pe SW3-SW0. Modificați pinii la ieșire astfel încât valoarea să fie afișată pe &amp;#039;&amp;#039;&amp;#039;Digit 1&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
b. Realizați un circuit care adună două numere binare pe 3 biți, iar rezultatul, pe 4 biți, va fi afișat ca cifră hexazecimală cu ajutorul transcodorului de la pct. a). &lt;br /&gt;
Restricții:&lt;br /&gt;
&lt;br /&gt;
*Creați un nou proiect, în care modulul top-level este denumit &amp;#039;&amp;#039;&amp;#039;top&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
*Cele două intrări se vor nota cu a, respectiv b, și se vor conecta la switchurile SW2-SW0 (corespunzător biților 2-&amp;gt;0 ai lui &amp;#039;&amp;#039;&amp;#039;a&amp;#039;&amp;#039;&amp;#039;, în această ordine), respectiv SW9-SW7 (corespunzător biților 2-&amp;gt;0 ai lui &amp;#039;&amp;#039;&amp;#039;b&amp;#039;&amp;#039;&amp;#039;, în această ordine) .&lt;br /&gt;
*Ieșirile se vor conecta la pinii corespunzători pentru afișajul cu 7 segmente, Digit 1.&lt;br /&gt;
*Sumatorul și transcodorul vor fi descrise în module diferite (denumite &amp;#039;&amp;#039;&amp;#039;sumator&amp;#039;&amp;#039;&amp;#039; și &amp;#039;&amp;#039;&amp;#039;afisaj7seg&amp;#039;&amp;#039;&amp;#039;, scrise în fișiere diferite, și instanțiate în modulul de &amp;#039;&amp;#039;top&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
===Exercitiul 2===&lt;br /&gt;
&lt;br /&gt;
a. Completați și modificații transcodorul de la exemplul 2 astfel încât să poată afișa valorile de la 0 la 15, în baza 16 (10 = A, 11 = b, 12 = C, 13 = d, 14 = E, 15 = F) &amp;#039;&amp;#039;&amp;#039;pe poziția din stânga&amp;#039;&amp;#039;&amp;#039;. &lt;br /&gt;
*Denumiți modulul &amp;#039;&amp;#039;&amp;#039;afisaj7seg&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
*Biții &amp;#039;&amp;#039;&amp;#039;out_seg&amp;#039;&amp;#039;&amp;#039; corespund cu segmentele în modul următor:&lt;br /&gt;
&lt;br /&gt;
**Bitul 6 corespunde segmentului 1&lt;br /&gt;
**Bitul 5 corespunde segmentului 2&lt;br /&gt;
**Bitul 4 corespunde segmentului 3&lt;br /&gt;
**Bitul 3 corespunde segmentului 4&lt;br /&gt;
**Bitul 2 corespunde segmentului 5&lt;br /&gt;
**Bitul 1 corespunde segmentului 6&lt;br /&gt;
**Bitul 0 corespunde segmentului 0&lt;br /&gt;
&lt;br /&gt;
Verificați funcționarea corectă a afișajului pe placa DE1, conectând intrarea pe SW5-SW2. Modificați pinii la ieșire astfel încât valoarea să fie afișată pe &amp;#039;&amp;#039;&amp;#039;Digit 3&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
b. Realizați un circuit care înmulțește două numere binare, numărul a, pe 3 biți, și numărul b, pe 2 biți, iar rezultatul, pe 4 biți, va fi afișat ca cifră hexazecimală cu ajutorul transcodorului de la pct. a). &lt;br /&gt;
Restricții:&lt;br /&gt;
&lt;br /&gt;
*Creați un nou proiect, în care modulul top-level este denumit &amp;#039;&amp;#039;&amp;#039;top&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
*Cele două intrări se vor nota cu a, respectiv b, și se vor conecta la switchurile SW9-SW7 (corespunzător biților 2-&amp;gt;0 ai lui &amp;#039;&amp;#039;&amp;#039;a&amp;#039;&amp;#039;&amp;#039;, în această ordine), respectiv SW2-SW1 (corespunzător biților 1-&amp;gt;0 ai lui &amp;#039;&amp;#039;&amp;#039;b&amp;#039;&amp;#039;&amp;#039;, în această ordine) .&lt;br /&gt;
*Ieșirile se vor conecta la pinii corespunzători pentru afișajul cu 7 segmente, Digit 3.&lt;br /&gt;
*Inmulțitorul și transcodorul vor fi descrise în module diferite (denumite &amp;#039;&amp;#039;&amp;#039;produs&amp;#039;&amp;#039;&amp;#039; și &amp;#039;&amp;#039;&amp;#039;afisaj7seg&amp;#039;&amp;#039;&amp;#039;, scrise în fișiere diferite, și instanțiate în modulul de &amp;#039;&amp;#039;top&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;Indicație:&amp;#039;&amp;#039; Produsul celor două numere (ieșirea înmulțitorului) este un număr pe 5 biți, notat, de ex, &amp;#039;&amp;#039;&amp;#039;prod&amp;#039;&amp;#039;&amp;#039;. Dacă rezultatul depășește valoarea 15, la ieșire vom afișa „eroare”, care poate fi simbolizată, de ex, de o liniuță pe poziția centrală (segmentul 6). Ieșirea modulului de top, notată out, se calculează în felul următor:&lt;br /&gt;
&lt;br /&gt;
assign out = prod[4] ? 7&amp;#039;b1111101 : out_seg;&lt;br /&gt;
&lt;br /&gt;
===Exercitiul 3===&lt;br /&gt;
&lt;br /&gt;
a. Completați și modificații transcodorul de la exemplul 2 astfel încât să poată afișa valorile de la 0 la 15, în baza 16 (10 = A, 11 = b, 12 = C, 13 = d, 14 = E, 15 = F) &amp;#039;&amp;#039;&amp;#039;pe a doua poziție din stânga&amp;#039;&amp;#039;&amp;#039;. &lt;br /&gt;
*Denumiți modulul &amp;#039;&amp;#039;&amp;#039;afisaj7seg&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
*Biții &amp;#039;&amp;#039;&amp;#039;out_seg&amp;#039;&amp;#039;&amp;#039; corespund cu segmentele în modul următor:&lt;br /&gt;
&lt;br /&gt;
**Bitul 6 corespunde segmentului 1&lt;br /&gt;
**Bitul 5 corespunde segmentului 3&lt;br /&gt;
**Bitul 4 corespunde segmentului 2&lt;br /&gt;
**Bitul 3 corespunde segmentului 6&lt;br /&gt;
**Bitul 2 corespunde segmentului 4&lt;br /&gt;
**Bitul 1 corespunde segmentului 5&lt;br /&gt;
**Bitul 0 corespunde segmentului 0&lt;br /&gt;
&lt;br /&gt;
Verificați funcționarea corectă a afișajului pe placa DE1, conectând intrarea pe SW4-SW1. Modificați pinii la ieșire astfel încât valoarea să fie afișată pe &amp;#039;&amp;#039;&amp;#039;Digit 2&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
b. Realizați un circuit care face operația SAU EXCLUSIV (bit cu bit) între 2 numere binare pe 4 biți, iar rezultatul, pe 4 biți, va fi afișat ca cifră hexazecimală cu ajutorul transcodorului de la pct. a). &lt;br /&gt;
Restricții:&lt;br /&gt;
&lt;br /&gt;
*Creați un nou proiect, în care modulul top-level este denumit &amp;#039;&amp;#039;&amp;#039;top&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
*Cele două intrări se vor nota cu a, respectiv b, și se vor conecta la switchurile SW3-SW0 (corespunzător biților 3-&amp;gt;0 ai lui &amp;#039;&amp;#039;&amp;#039;a&amp;#039;&amp;#039;&amp;#039;, în această ordine), respectiv SW9-SW6 (corespunzător biților 3-&amp;gt;0 ai lui &amp;#039;&amp;#039;&amp;#039;b&amp;#039;&amp;#039;&amp;#039;, în această ordine) .&lt;br /&gt;
*Ieșirile se vor conecta la pinii corespunzători pentru afișajul cu 7 segmente, Digit 2.&lt;br /&gt;
*Circuitul logic și transcodorul vor fi descrise în module diferite (denumite &amp;#039;&amp;#039;&amp;#039;sau_exclusiv&amp;#039;&amp;#039;&amp;#039; și &amp;#039;&amp;#039;&amp;#039;afisaj7seg&amp;#039;&amp;#039;&amp;#039;, scrise în fișiere diferite, și instanțiate în modulul de &amp;#039;&amp;#039;top&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
===Exercitiul 4===&lt;br /&gt;
&lt;br /&gt;
a. Completați și modificații transcodorul de la exemplul 2 astfel încât să poată afișa valorile de la 0 la 15, în baza 16 (10 = A, 11 = b, 12 = C, 13 = d, 14 = E, 15 = F) &amp;#039;&amp;#039;&amp;#039;pe poziția din stânga&amp;#039;&amp;#039;&amp;#039;. &lt;br /&gt;
*Denumiți modulul &amp;#039;&amp;#039;&amp;#039;afisaj7seg&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
*Biții &amp;#039;&amp;#039;&amp;#039;out_seg&amp;#039;&amp;#039;&amp;#039; corespund cu segmentele în modul următor:&lt;br /&gt;
&lt;br /&gt;
**Bitul 6 corespunde segmentului 2&lt;br /&gt;
**Bitul 5 corespunde segmentului 4&lt;br /&gt;
**Bitul 4 corespunde segmentului 6&lt;br /&gt;
**Bitul 3 corespunde segmentului 3&lt;br /&gt;
**Bitul 2 corespunde segmentului 5&lt;br /&gt;
**Bitul 1 corespunde segmentului 1&lt;br /&gt;
**Bitul 0 corespunde segmentului 0&lt;br /&gt;
&lt;br /&gt;
Verificați funcționarea corectă a afișajului pe placa DE1, conectând intrarea pe SW9-SW6. Modificați pinii la ieșire astfel încât valoarea să fie afișată pe &amp;#039;&amp;#039;&amp;#039;Digit 3&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
b. Realizați un circuit care adună două numere binare pe 3 biți, iar rezultatul, pe 4 biți, va fi afișat ca cifră hexazecimală cu ajutorul transcodorului de la pct. a). &lt;br /&gt;
Restricții:&lt;br /&gt;
&lt;br /&gt;
*Creați un nou proiect, în care modulul top-level este denumit &amp;#039;&amp;#039;&amp;#039;top&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
*Cele două intrări se vor nota cu in1, respectiv in2, și se vor conecta la switchurile SW7-SW5 (corespunzător biților 2-&amp;gt;0 ai lui &amp;#039;&amp;#039;&amp;#039;in1&amp;#039;&amp;#039;&amp;#039;, în această ordine), respectiv SW4-SW2 (corespunzător biților 2-&amp;gt;0 ai lui &amp;#039;&amp;#039;&amp;#039;in2&amp;#039;&amp;#039;&amp;#039;, în această ordine) .&lt;br /&gt;
*Ieșirile se vor conecta la pinii corespunzători pentru afișajul cu 7 segmente, Digit 3.&lt;br /&gt;
*Sumatorul și transcodorul vor fi descrise în module diferite (denumite &amp;#039;&amp;#039;&amp;#039;sumator&amp;#039;&amp;#039;&amp;#039; și &amp;#039;&amp;#039;&amp;#039;afisaj7seg&amp;#039;&amp;#039;&amp;#039;, scrise în fișiere diferite, și instanțiate în modulul de &amp;#039;&amp;#039;top&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
===Exercitiul 5===&lt;br /&gt;
&lt;br /&gt;
a. Completați și modificații transcodorul de la exemplul 2 astfel încât să poată afișa valorile de la 0 la 15, în baza 16 (10 = A, 11 = b, 12 = C, 13 = d, 14 = E, 15 = F) &amp;#039;&amp;#039;&amp;#039;pe poziția a doua din stânga&amp;#039;&amp;#039;&amp;#039;. &lt;br /&gt;
*Denumiți modulul &amp;#039;&amp;#039;&amp;#039;afisaj7seg&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
*Biții &amp;#039;&amp;#039;&amp;#039;out_seg&amp;#039;&amp;#039;&amp;#039; corespund cu segmentele în modul următor:&lt;br /&gt;
&lt;br /&gt;
**Bitul 6 corespunde segmentului 3&lt;br /&gt;
**Bitul 5 corespunde segmentului 4&lt;br /&gt;
**Bitul 4 corespunde segmentului 1&lt;br /&gt;
**Bitul 3 corespunde segmentului 2&lt;br /&gt;
**Bitul 2 corespunde segmentului 0&lt;br /&gt;
**Bitul 1 corespunde segmentului 5&lt;br /&gt;
**Bitul 0 corespunde segmentului 6&lt;br /&gt;
&lt;br /&gt;
Verificați funcționarea corectă a afișajului pe placa DE1, conectând intrarea pe SW8-SW5. Modificați pinii la ieșire astfel încât valoarea să fie afișată pe &amp;#039;&amp;#039;&amp;#039;Digit 2&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
b. Realizați un circuit care înmulțește două numere binare, numărul in1, pe 2 biți, și numărul in2, pe 3 biți, iar rezultatul, pe 4 biți, va fi afișat ca cifră hexazecimală cu ajutorul transcodorului de la pct. a). &lt;br /&gt;
Restricții:&lt;br /&gt;
&lt;br /&gt;
*Creați un nou proiect, în care modulul top-level este denumit &amp;#039;&amp;#039;&amp;#039;top&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
*Cele două intrări se vor nota cu in1, respectiv in2, și se vor conecta la switchurile SW3-SW2 (corespunzător biților 1-&amp;gt;0 ai lui &amp;#039;&amp;#039;&amp;#039;in1&amp;#039;&amp;#039;&amp;#039;, în această ordine), respectiv SW9-SW7 (corespunzător biților 2-&amp;gt;0 ai lui &amp;#039;&amp;#039;&amp;#039;in2&amp;#039;&amp;#039;&amp;#039;, în această ordine) .&lt;br /&gt;
*Ieșirile se vor conecta la pinii corespunzători pentru afișajul cu 7 segmente, Digit 2.&lt;br /&gt;
*Inmulțitorul și transcodorul vor fi descrise în module diferite (denumite &amp;#039;&amp;#039;&amp;#039;produs&amp;#039;&amp;#039;&amp;#039; și &amp;#039;&amp;#039;&amp;#039;afisaj7seg&amp;#039;&amp;#039;&amp;#039;, scrise în fișiere diferite, și instanțiate în modulul de &amp;#039;&amp;#039;top&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;Indicație:&amp;#039;&amp;#039; Produsul celor două numere (ieșirea înmulțitorului) este un număr pe 5 biți, notat, de ex, &amp;#039;&amp;#039;&amp;#039;prod&amp;#039;&amp;#039;&amp;#039;. Dacă rezultatul depășește valoarea 15, la ieșire vom afișa „eroare”, care poate fi simbolizată, de ex, de o liniuță pe poziția centrală (segmentul 6). Ieșirea modulului de top, notată out, se calculează în felul următor:&lt;br /&gt;
&lt;br /&gt;
assign out = prod[4] ? 7&amp;#039;b1111110 : out_seg;&lt;br /&gt;
&lt;br /&gt;
===Exercitiul 6===&lt;br /&gt;
&lt;br /&gt;
a. Completați și modificații transcodorul de la exemplul 2 astfel încât să poată afișa valorile de la 0 la 15, în baza 16 (10 = A, 11 = b, 12 = C, 13 = d, 14 = E, 15 = F) &amp;#039;&amp;#039;&amp;#039;pe a doua poziție din dreapta&amp;#039;&amp;#039;&amp;#039;. &lt;br /&gt;
*Denumiți modulul &amp;#039;&amp;#039;&amp;#039;afisaj7seg&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
*Biții &amp;#039;&amp;#039;&amp;#039;out_seg&amp;#039;&amp;#039;&amp;#039; corespund cu segmentele în modul următor:&lt;br /&gt;
&lt;br /&gt;
**Bitul 6 corespunde segmentului 1&lt;br /&gt;
**Bitul 5 corespunde segmentului 3&lt;br /&gt;
**Bitul 4 corespunde segmentului 2&lt;br /&gt;
**Bitul 3 corespunde segmentului 6&lt;br /&gt;
**Bitul 2 corespunde segmentului 4&lt;br /&gt;
**Bitul 1 corespunde segmentului 5&lt;br /&gt;
**Bitul 0 corespunde segmentului 0&lt;br /&gt;
&lt;br /&gt;
Verificați funcționarea corectă a afișajului pe placa DE1, conectând intrarea pe SW4-SW1. Modificați pinii la ieșire astfel încât valoarea să fie afișată pe &amp;#039;&amp;#039;&amp;#039;Digit 1&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
b. Realizați un circuit care face operația SAU  (bit cu bit) între 2 numere binare pe 4 biți, iar rezultatul, pe 4 biți, va fi afișat ca cifră hexazecimală cu ajutorul transcodorului de la pct. a). &lt;br /&gt;
Restricții:&lt;br /&gt;
&lt;br /&gt;
*Creați un nou proiect, în care modulul top-level este denumit &amp;#039;&amp;#039;&amp;#039;top&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
*Cele două intrări se vor nota cu in1, respectiv in2, și se vor conecta la switchurile SW8-SW5 (corespunzător biților 3-&amp;gt;0 ai lui &amp;#039;&amp;#039;&amp;#039;in1&amp;#039;&amp;#039;&amp;#039;, în această ordine), respectiv SW4-SW1 (corespunzător biților 3-&amp;gt;0 ai lui &amp;#039;&amp;#039;&amp;#039;in2&amp;#039;&amp;#039;&amp;#039;, în această ordine) .&lt;br /&gt;
*Ieșirile se vor conecta la pinii corespunzători pentru afișajul cu 7 segmente, Digit1.&lt;br /&gt;
*Circuitul logic și transcodorul vor fi descrise în module diferite (denumite &amp;#039;&amp;#039;&amp;#039;sau&amp;#039;&amp;#039;&amp;#039; și &amp;#039;&amp;#039;&amp;#039;afisaj7seg&amp;#039;&amp;#039;&amp;#039;, scrise în fișiere diferite, și instanțiate în modulul de &amp;#039;&amp;#039;top&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
== Submiterea Exercițiilor ==&lt;br /&gt;
&lt;br /&gt;
Pentru notare, se vor submite următoarele fișiere, către adresa de e-mail indicată de cadrul didactic.&lt;br /&gt;
&lt;br /&gt;
O arhivă &amp;lt;span style=&amp;quot;color: red; font-weight: bold&amp;quot;&amp;gt;zip&amp;lt;/span&amp;gt; ce va conține:&lt;br /&gt;
*Trei fișiere Verilog cu extensia .v care conțin descrierea Verilog a circuitului logic, a transcodorului și a modulului de top.&lt;br /&gt;
*Un fișier de constrângeri, cu extensia .qsf&lt;br /&gt;
*Un fișier de tip proiect Quartus, cu extensia .qpf&lt;br /&gt;
Atentie, arhiva va contine doar cele 5 fisiere (fara directoare).&lt;br /&gt;
&lt;br /&gt;
Subiectul mesajului de e-mail trebuie să respecte formatul &amp;lt;span style=&amp;quot;color: red; font-weight: bold&amp;quot;&amp;gt;[Nume]_[Prenume]_[Grupa]_7seg_[Nr. Exercitiu]&amp;lt;/span&amp;gt; de exemplu Petrica_Lucian_423B_7seg_4&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
Creați un proiect Xilinx ISE, descrierea Verilog și constrângerile necesare pentru a implementa pe placa Nexys2 circuitul care afișează, pe una din cifrele afișajului cu 7 segmente, primele 4 numere (0, 1, 2, 3), atunci când valoarea binară corespunzătoare este formată prin apăsarea butoanelor BTN0 și BTN1. Astfel, circuitul descris trebuie să respecte următoarele cerințe:&lt;br /&gt;
* are o intrare numită &amp;#039;&amp;#039;&amp;#039;binary_input&amp;#039;&amp;#039;&amp;#039; de doi biți, bitul cel mai putin semnificativ fiind conectat la BTN0, iar bitul cel mai semnificativ fiind conectat la BTN1&lt;br /&gt;
* are ieșirile necesare pentru activarea afișajului cu 7 segmente, denumite &amp;#039;&amp;#039;&amp;#039;ca&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;cb&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;cc&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;cd&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;ce&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;cf&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;cg&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;cp&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* are ieșirile necesare pentru controlul aprinderii cifrei, denumite &amp;#039;&amp;#039;&amp;#039;an0&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;an1&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;an2&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;an3&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* folosește operatori logici și blocuri de tip &amp;#039;&amp;#039;&amp;#039;assign&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Recomandări pentru cadrele didactice ==&lt;br /&gt;
* Se vor introduce noțiunile necesare folosirii [[Dispozitiv_de_IO:_Afișajul_cu_7_segmente|afișajului cu 7 segmente]]&lt;br /&gt;
&amp;lt;!--* În vederea rezolvării cerinței, cadrul didactic va desena tabela de adevăr a funcției logice care activează segmentul CA, și va ghida studenții pentru identificarea funcției logice și implementarea ei în Verilog folosind operatori logici.--&amp;gt;&lt;/div&gt;</summary>
		<author><name>Mdascalu</name></author>
	</entry>
	<entry>
		<id>http://wiki.dcae.pub.ro/index.php?title=CID_Lab_Lucrarea_2&amp;diff=5286</id>
		<title>CID Lab Lucrarea 2</title>
		<link rel="alternate" type="text/html" href="http://wiki.dcae.pub.ro/index.php?title=CID_Lab_Lucrarea_2&amp;diff=5286"/>
		<updated>2017-03-17T00:23:28Z</updated>

		<summary type="html">&lt;p&gt;Mdascalu: /* Exerciții */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Noțiuni și cunoștințe necesare ==&lt;br /&gt;
&lt;br /&gt;
* [[Tutorial_Quartus_II| Utilizarea programului de sinteză Altera Quartus II]]&lt;br /&gt;
* [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]&lt;br /&gt;
* [[Introducere. Verilog HDL și ModelSim|Logică booleană și sisteme de numerație]]&lt;br /&gt;
* Noțiuni de sintaxă [[Verilog]]&lt;br /&gt;
* [[Dispozitiv_de_IO:_Afișajul_cu_7_segmente|Afișajul cu 7 segmente]]&lt;br /&gt;
&lt;br /&gt;
== Exemplul 1 ==&lt;br /&gt;
&lt;br /&gt;
Realizați un decodor de doi biți folosind un bloc &amp;#039;&amp;#039;&amp;#039;case&amp;#039;&amp;#039;&amp;#039;. Testați decodorul legând intrările la switch-uri și ieșirile la led-uri.&lt;br /&gt;
&lt;br /&gt;
== Exemplul 2 ==&lt;br /&gt;
 &lt;br /&gt;
Realizați un transcodor pentru afișajul cu 7 segmente, folosind un bloc &amp;#039;&amp;#039;&amp;#039;case&amp;#039;&amp;#039;&amp;#039;, care să poată afișa valorile de la 0 la 3. Intrarea modulului se va numi &amp;#039;&amp;#039;&amp;#039;value&amp;#039;&amp;#039;&amp;#039; iar ieșirea &amp;#039;&amp;#039;&amp;#039;out_seg&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
Testați decodorul aplicând intrarea pe SW1 și SW0 și afișând ieșirea pe afișajul cu 7 segmente, cifra din dreapta (Digit0).&lt;br /&gt;
&lt;br /&gt;
== Exerciții ==&lt;br /&gt;
&lt;br /&gt;
Următoarele exerciții folosesc transcodorul binar - 7 segemente pentru afișarea în hexazecimal a rezultatului unei operații simple. Pentru a vă asigura că transcodorul este scris corect, la pct. a veți verifica funcționarea lui. Proiectul pe care trebuie să-l trimiteți la final este cel de la pct. b.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Exercitiul 1===&lt;br /&gt;
a. Completați și modificații transcodorul de la exemplul 2 astfel încât să poată afișa valorile de la 0 la 15, în baza 16 (10 = A, 11 = b, 12 = C, 13 = d, 14 = E, 15 = F) &amp;#039;&amp;#039;&amp;#039;pe a doua poziție din dreapta&amp;#039;&amp;#039;&amp;#039;. &lt;br /&gt;
*Denumiți modulul &amp;#039;&amp;#039;&amp;#039;afisaj7seg&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
*Biții &amp;#039;&amp;#039;&amp;#039;out_seg&amp;#039;&amp;#039;&amp;#039; corespund cu segmentele în modul următor:&lt;br /&gt;
&lt;br /&gt;
**Bitul 6 corespunde segmentului 0&lt;br /&gt;
**Bitul 5 corespunde segmentului 1&lt;br /&gt;
**Bitul 4 corespunde segmentului 2&lt;br /&gt;
**Bitul 3 corespunde segmentului 3&lt;br /&gt;
**Bitul 2 corespunde segmentului 4&lt;br /&gt;
**Bitul 1 corespunde segmentului 5&lt;br /&gt;
**Bitul 0 corespunde segmentului 6&lt;br /&gt;
&lt;br /&gt;
Verificați funcționarea corectă a afișajului pe placa DE1, conectând intrarea pe SW3-SW0. Modificați pinii la ieșire astfel încât valoarea să fie afișată pe &amp;#039;&amp;#039;&amp;#039;Digit 1&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
b. Realizați un circuit care adună două numere binare pe 3 biți, iar rezultatul, pe 4 biți, va fi afișat ca cifră hexazecimală cu ajutorul transcodorului de la pct. a). &lt;br /&gt;
Restricții:&lt;br /&gt;
&lt;br /&gt;
*Creați un nou proiect, în care modulul top-level este denumit &amp;#039;&amp;#039;&amp;#039;top&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
*Cele două intrări se vor nota cu a, respectiv b, și se vor conecta la switchurile SW2-SW0 (corespunzător biților 2-&amp;gt;0 ai lui &amp;#039;&amp;#039;&amp;#039;a&amp;#039;&amp;#039;&amp;#039;, în această ordine), respectiv SW9-SW7 (corespunzător biților 2-&amp;gt;0 ai lui &amp;#039;&amp;#039;&amp;#039;b&amp;#039;&amp;#039;&amp;#039;, în această ordine) .&lt;br /&gt;
*Ieșirile se vor conecta la pinii corespunzători pentru afișajul cu 7 segmente, Digit 1.&lt;br /&gt;
*Sumatorul și transcodorul vor fi descrise în module diferite (denumite &amp;#039;&amp;#039;&amp;#039;sumator&amp;#039;&amp;#039;&amp;#039; și &amp;#039;&amp;#039;&amp;#039;afisaj7seg&amp;#039;&amp;#039;&amp;#039;, scrise în fișiere diferite, și instanțiate în modulul de &amp;#039;&amp;#039;top&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
===Exercitiul 2===&lt;br /&gt;
&lt;br /&gt;
a. Completați și modificații transcodorul de la exemplul 2 astfel încât să poată afișa valorile de la 0 la 15, în baza 16 (10 = A, 11 = b, 12 = C, 13 = d, 14 = E, 15 = F) &amp;#039;&amp;#039;&amp;#039;pe poziția din stânga&amp;#039;&amp;#039;&amp;#039;. &lt;br /&gt;
*Denumiți modulul &amp;#039;&amp;#039;&amp;#039;afisaj7seg&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
*Biții &amp;#039;&amp;#039;&amp;#039;out_seg&amp;#039;&amp;#039;&amp;#039; corespund cu segmentele în modul următor:&lt;br /&gt;
&lt;br /&gt;
**Bitul 6 corespunde segmentului 1&lt;br /&gt;
**Bitul 5 corespunde segmentului 2&lt;br /&gt;
**Bitul 4 corespunde segmentului 3&lt;br /&gt;
**Bitul 3 corespunde segmentului 4&lt;br /&gt;
**Bitul 2 corespunde segmentului 5&lt;br /&gt;
**Bitul 1 corespunde segmentului 6&lt;br /&gt;
**Bitul 0 corespunde segmentului 0&lt;br /&gt;
&lt;br /&gt;
Verificați funcționarea corectă a afișajului pe placa DE1, conectând intrarea pe SW5-SW2. Modificați pinii la ieșire astfel încât valoarea să fie afișată pe &amp;#039;&amp;#039;&amp;#039;Digit 3&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
b. Realizați un circuit care înmulțește două numere binare, numărul a, pe 3 biți, și numărul b, pe 2 biți, iar rezultatul, pe 4 biți, va fi afișat ca cifră hexazecimală cu ajutorul transcodorului de la pct. a). &lt;br /&gt;
Restricții:&lt;br /&gt;
&lt;br /&gt;
*Creați un nou proiect, în care modulul top-level este denumit &amp;#039;&amp;#039;&amp;#039;top&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
*Cele două intrări se vor nota cu a, respectiv b, și se vor conecta la switchurile SW9-SW7 (corespunzător biților 2-&amp;gt;0 ai lui &amp;#039;&amp;#039;&amp;#039;a&amp;#039;&amp;#039;&amp;#039;, în această ordine), respectiv SW2-SW1 (corespunzător biților 1-&amp;gt;0 ai lui &amp;#039;&amp;#039;&amp;#039;b&amp;#039;&amp;#039;&amp;#039;, în această ordine) .&lt;br /&gt;
*Ieșirile se vor conecta la pinii corespunzători pentru afișajul cu 7 segmente, Digit 3.&lt;br /&gt;
*Inmulțitorul și transcodorul vor fi descrise în module diferite (denumite &amp;#039;&amp;#039;&amp;#039;produs&amp;#039;&amp;#039;&amp;#039; și &amp;#039;&amp;#039;&amp;#039;afisaj7seg&amp;#039;&amp;#039;&amp;#039;, scrise în fișiere diferite, și instanțiate în modulul de &amp;#039;&amp;#039;top&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;Indicație:&amp;#039;&amp;#039; Produsul celor două numere (ieșirea înmulțitorului) este un număr pe 5 biți, notat, de ex, &amp;#039;&amp;#039;&amp;#039;prod&amp;#039;&amp;#039;&amp;#039;. Dacă rezultatul depășește valoarea 15, la ieșire vom afișa „eroare”, care poate fi simbolizată, de ex, de o liniuță pe poziția centrală (segmentul 6). Ieșirea modulului de top, notată out, se calculează în felul următor:&lt;br /&gt;
&lt;br /&gt;
assign out = prod[4] ? 7&amp;#039;b1111101 : out_seg;&lt;br /&gt;
&lt;br /&gt;
===Exercitiul 3===&lt;br /&gt;
&lt;br /&gt;
a. Completați și modificații transcodorul de la exemplul 2 astfel încât să poată afișa valorile de la 0 la 15, în baza 16 (10 = A, 11 = b, 12 = C, 13 = d, 14 = E, 15 = F) &amp;#039;&amp;#039;&amp;#039;pe a doua poziție din stânga&amp;#039;&amp;#039;&amp;#039;. &lt;br /&gt;
*Denumiți modulul &amp;#039;&amp;#039;&amp;#039;afisaj7seg&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
*Biții &amp;#039;&amp;#039;&amp;#039;out_seg&amp;#039;&amp;#039;&amp;#039; corespund cu segmentele în modul următor:&lt;br /&gt;
&lt;br /&gt;
**Bitul 6 corespunde segmentului 1&lt;br /&gt;
**Bitul 5 corespunde segmentului 3&lt;br /&gt;
**Bitul 4 corespunde segmentului 2&lt;br /&gt;
**Bitul 3 corespunde segmentului 6&lt;br /&gt;
**Bitul 2 corespunde segmentului 4&lt;br /&gt;
**Bitul 1 corespunde segmentului 5&lt;br /&gt;
**Bitul 0 corespunde segmentului 0&lt;br /&gt;
&lt;br /&gt;
Verificați funcționarea corectă a afișajului pe placa DE1, conectând intrarea pe SW4-SW1. Modificați pinii la ieșire astfel încât valoarea să fie afișată pe &amp;#039;&amp;#039;&amp;#039;Digit 2&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
b. Realizați un circuit care face operația SAU EXCLUSIV (bit cu bit) între 2 numere binare pe 4 biți, iar rezultatul, pe 4 biți, va fi afișat ca cifră hexazecimală cu ajutorul transcodorului de la pct. a). &lt;br /&gt;
Restricții:&lt;br /&gt;
&lt;br /&gt;
*Creați un nou proiect, în care modulul top-level este denumit &amp;#039;&amp;#039;&amp;#039;top&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
*Cele două intrări se vor nota cu a, respectiv b, și se vor conecta la switchurile SW3-SW0 (corespunzător biților 3-&amp;gt;0 ai lui &amp;#039;&amp;#039;&amp;#039;a&amp;#039;&amp;#039;&amp;#039;, în această ordine), respectiv SW9-SW6 (corespunzător biților 3-&amp;gt;0 ai lui &amp;#039;&amp;#039;&amp;#039;b&amp;#039;&amp;#039;&amp;#039;, în această ordine) .&lt;br /&gt;
*Ieșirile se vor conecta la pinii corespunzători pentru afișajul cu 7 segmente, Digit 2.&lt;br /&gt;
*Circuitul logic și transcodorul vor fi descrise în module diferite (denumite &amp;#039;&amp;#039;&amp;#039;sau_exclusiv&amp;#039;&amp;#039;&amp;#039; și &amp;#039;&amp;#039;&amp;#039;afisaj7seg&amp;#039;&amp;#039;&amp;#039;, scrise în fișiere diferite, și instanțiate în modulul de &amp;#039;&amp;#039;top&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
===Exercitiul 4===&lt;br /&gt;
&lt;br /&gt;
a. Completați și modificații transcodorul de la exemplul 2 astfel încât să poată afișa valorile de la 0 la 15, în baza 16 (10 = A, 11 = b, 12 = C, 13 = d, 14 = E, 15 = F) &amp;#039;&amp;#039;&amp;#039;pe poziția din stânga&amp;#039;&amp;#039;&amp;#039;. &lt;br /&gt;
*Denumiți modulul &amp;#039;&amp;#039;&amp;#039;afisaj7seg&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
*Biții &amp;#039;&amp;#039;&amp;#039;out_seg&amp;#039;&amp;#039;&amp;#039; corespund cu segmentele în modul următor:&lt;br /&gt;
&lt;br /&gt;
**Bitul 6 corespunde segmentului 2&lt;br /&gt;
**Bitul 5 corespunde segmentului 4&lt;br /&gt;
**Bitul 4 corespunde segmentului 6&lt;br /&gt;
**Bitul 3 corespunde segmentului 3&lt;br /&gt;
**Bitul 2 corespunde segmentului 4&lt;br /&gt;
**Bitul 1 corespunde segmentului 1&lt;br /&gt;
**Bitul 0 corespunde segmentului 0&lt;br /&gt;
&lt;br /&gt;
Verificați funcționarea corectă a afișajului pe placa DE1, conectând intrarea pe SW9-SW6. Modificați pinii la ieșire astfel încât valoarea să fie afișată pe &amp;#039;&amp;#039;&amp;#039;Digit 3&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
b. Realizați un circuit care adună două numere binare pe 3 biți, iar rezultatul, pe 4 biți, va fi afișat ca cifră hexazecimală cu ajutorul transcodorului de la pct. a). &lt;br /&gt;
Restricții:&lt;br /&gt;
&lt;br /&gt;
*Creați un nou proiect, în care modulul top-level este denumit &amp;#039;&amp;#039;&amp;#039;top&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
*Cele două intrări se vor nota cu in1, respectiv in2, și se vor conecta la switchurile SW7-SW5 (corespunzător biților 2-&amp;gt;0 ai lui &amp;#039;&amp;#039;&amp;#039;in1&amp;#039;&amp;#039;&amp;#039;, în această ordine), respectiv SW4-SW2 (corespunzător biților 2-&amp;gt;0 ai lui &amp;#039;&amp;#039;&amp;#039;in2&amp;#039;&amp;#039;&amp;#039;, în această ordine) .&lt;br /&gt;
*Ieșirile se vor conecta la pinii corespunzători pentru afișajul cu 7 segmente, Digit 3.&lt;br /&gt;
*Sumatorul și transcodorul vor fi descrise în module diferite (denumite &amp;#039;&amp;#039;&amp;#039;sumator&amp;#039;&amp;#039;&amp;#039; și &amp;#039;&amp;#039;&amp;#039;afisaj7seg&amp;#039;&amp;#039;&amp;#039;, scrise în fișiere diferite, și instanțiate în modulul de &amp;#039;&amp;#039;top&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Exercitiul 5===&lt;br /&gt;
&lt;br /&gt;
a. Completați și modificații transcodorul de la exemplul 2 astfel încât să poată afișa valorile de la 0 la 15, în baza 16 (10 = A, 11 = b, 12 = C, 13 = d, 14 = E, 15 = F) &amp;#039;&amp;#039;&amp;#039;pe poziția a doua din stânga&amp;#039;&amp;#039;&amp;#039;. &lt;br /&gt;
*Denumiți modulul &amp;#039;&amp;#039;&amp;#039;afisaj7seg&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
*Biții &amp;#039;&amp;#039;&amp;#039;out_seg&amp;#039;&amp;#039;&amp;#039; corespund cu segmentele în modul următor:&lt;br /&gt;
&lt;br /&gt;
**Bitul 6 corespunde segmentului 3&lt;br /&gt;
**Bitul 5 corespunde segmentului 4&lt;br /&gt;
**Bitul 4 corespunde segmentului 1&lt;br /&gt;
**Bitul 3 corespunde segmentului 2&lt;br /&gt;
**Bitul 2 corespunde segmentului 0&lt;br /&gt;
**Bitul 1 corespunde segmentului 5&lt;br /&gt;
**Bitul 0 corespunde segmentului 6&lt;br /&gt;
&lt;br /&gt;
Verificați funcționarea corectă a afișajului pe placa DE1, conectând intrarea pe SW8-SW5. Modificați pinii la ieșire astfel încât valoarea să fie afișată pe &amp;#039;&amp;#039;&amp;#039;Digit 2&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
b. Realizați un circuit care înmulțește două numere binare, numărul in1, pe 2 biți, și numărul in2, pe 3 biți, iar rezultatul, pe 4 biți, va fi afișat ca cifră hexazecimală cu ajutorul transcodorului de la pct. a). &lt;br /&gt;
Restricții:&lt;br /&gt;
&lt;br /&gt;
*Creați un nou proiect, în care modulul top-level este denumit &amp;#039;&amp;#039;&amp;#039;top&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
*Cele două intrări se vor nota cu in1, respectiv in2, și se vor conecta la switchurile SW3-SW2 (corespunzător biților 1-&amp;gt;0 ai lui &amp;#039;&amp;#039;&amp;#039;in1&amp;#039;&amp;#039;&amp;#039;, în această ordine), respectiv SW9-SW7 (corespunzător biților 2-&amp;gt;0 ai lui &amp;#039;&amp;#039;&amp;#039;in2&amp;#039;&amp;#039;&amp;#039;, în această ordine) .&lt;br /&gt;
*Ieșirile se vor conecta la pinii corespunzători pentru afișajul cu 7 segmente, Digit 2.&lt;br /&gt;
*Inmulțitorul și transcodorul vor fi descrise în module diferite (denumite &amp;#039;&amp;#039;&amp;#039;produs&amp;#039;&amp;#039;&amp;#039; și &amp;#039;&amp;#039;&amp;#039;afisaj7seg&amp;#039;&amp;#039;&amp;#039;, scrise în fișiere diferite, și instanțiate în modulul de &amp;#039;&amp;#039;top&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;Indicație:&amp;#039;&amp;#039; Produsul celor două numere (ieșirea înmulțitorului) este un număr pe 5 biți, notat, de ex, &amp;#039;&amp;#039;&amp;#039;prod&amp;#039;&amp;#039;&amp;#039;. Dacă rezultatul depășește valoarea 15, la ieșire vom afișa „eroare”, care poate fi simbolizată, de ex, de o liniuță pe poziția centrală (segmentul 6). Ieșirea modulului de top, notată out, se calculează în felul următor:&lt;br /&gt;
&lt;br /&gt;
assign out = prod[4] ? 7&amp;#039;b1111110 : out_seg;&lt;br /&gt;
&lt;br /&gt;
===Exercitiul 6===&lt;br /&gt;
&lt;br /&gt;
a. Completați și modificații transcodorul de la exemplul 2 astfel încât să poată afișa valorile de la 0 la 15, în baza 16 (10 = A, 11 = b, 12 = C, 13 = d, 14 = E, 15 = F) &amp;#039;&amp;#039;&amp;#039;pe a doua poziție din dreapta&amp;#039;&amp;#039;&amp;#039;. &lt;br /&gt;
*Denumiți modulul &amp;#039;&amp;#039;&amp;#039;afisaj7seg&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
*Biții &amp;#039;&amp;#039;&amp;#039;out_seg&amp;#039;&amp;#039;&amp;#039; corespund cu segmentele în modul următor:&lt;br /&gt;
&lt;br /&gt;
**Bitul 6 corespunde segmentului 1&lt;br /&gt;
**Bitul 5 corespunde segmentului 3&lt;br /&gt;
**Bitul 4 corespunde segmentului 2&lt;br /&gt;
**Bitul 3 corespunde segmentului 6&lt;br /&gt;
**Bitul 2 corespunde segmentului 4&lt;br /&gt;
**Bitul 1 corespunde segmentului 5&lt;br /&gt;
**Bitul 0 corespunde segmentului 0&lt;br /&gt;
&lt;br /&gt;
Verificați funcționarea corectă a afișajului pe placa DE1, conectând intrarea pe SW4-SW1. Modificați pinii la ieșire astfel încât valoarea să fie afișată pe &amp;#039;&amp;#039;&amp;#039;Digit 1&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
b. Realizați un circuit care face operația SAU  (bit cu bit) între 2 numere binare pe 4 biți, iar rezultatul, pe 4 biți, va fi afișat ca cifră hexazecimală cu ajutorul transcodorului de la pct. a). &lt;br /&gt;
Restricții:&lt;br /&gt;
&lt;br /&gt;
*Creați un nou proiect, în care modulul top-level este denumit &amp;#039;&amp;#039;&amp;#039;top&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
*Cele două intrări se vor nota cu in1, respectiv in2, și se vor conecta la switchurile SW8-SW5 (corespunzător biților 3-&amp;gt;0 ai lui &amp;#039;&amp;#039;&amp;#039;in1&amp;#039;&amp;#039;&amp;#039;, în această ordine), respectiv SW4-SW1 (corespunzător biților 3-&amp;gt;0 ai lui &amp;#039;&amp;#039;&amp;#039;in2&amp;#039;&amp;#039;&amp;#039;, în această ordine) .&lt;br /&gt;
*Ieșirile se vor conecta la pinii corespunzători pentru afișajul cu 7 segmente, Digit1.&lt;br /&gt;
*Circuitul logic și transcodorul vor fi descrise în module diferite (denumite &amp;#039;&amp;#039;&amp;#039;sau&amp;#039;&amp;#039;&amp;#039; și &amp;#039;&amp;#039;&amp;#039;afisaj7seg&amp;#039;&amp;#039;&amp;#039;, scrise în fișiere diferite, și instanțiate în modulul de &amp;#039;&amp;#039;top&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
== Submiterea Exercițiilor ==&lt;br /&gt;
&lt;br /&gt;
Pentru notare, se vor submite următoarele fișiere, către adresa de e-mail indicată de cadrul didactic.&lt;br /&gt;
&lt;br /&gt;
O arhivă &amp;lt;span style=&amp;quot;color: red; font-weight: bold&amp;quot;&amp;gt;zip&amp;lt;/span&amp;gt; ce va conține:&lt;br /&gt;
*Trei fișiere Verilog cu extensia .v care conțin descrierea Verilog a circuitului logic, a transcodorului și a modulului de top.&lt;br /&gt;
*Un fișier de constrângeri, cu extensia .qsf&lt;br /&gt;
*Un fișier de tip proiect Quartus, cu extensia .qpf&lt;br /&gt;
Atentie, arhiva va contine doar cele 5 fisiere (fara directoare).&lt;br /&gt;
&lt;br /&gt;
Subiectul mesajului de e-mail trebuie să respecte formatul &amp;lt;span style=&amp;quot;color: red; font-weight: bold&amp;quot;&amp;gt;[Nume]_[Prenume]_[Grupa]_7seg_[Nr. Exercitiu]&amp;lt;/span&amp;gt; de exemplu Petrica_Lucian_423B_7seg_4&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
Creați un proiect Xilinx ISE, descrierea Verilog și constrângerile necesare pentru a implementa pe placa Nexys2 circuitul care afișează, pe una din cifrele afișajului cu 7 segmente, primele 4 numere (0, 1, 2, 3), atunci când valoarea binară corespunzătoare este formată prin apăsarea butoanelor BTN0 și BTN1. Astfel, circuitul descris trebuie să respecte următoarele cerințe:&lt;br /&gt;
* are o intrare numită &amp;#039;&amp;#039;&amp;#039;binary_input&amp;#039;&amp;#039;&amp;#039; de doi biți, bitul cel mai putin semnificativ fiind conectat la BTN0, iar bitul cel mai semnificativ fiind conectat la BTN1&lt;br /&gt;
* are ieșirile necesare pentru activarea afișajului cu 7 segmente, denumite &amp;#039;&amp;#039;&amp;#039;ca&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;cb&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;cc&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;cd&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;ce&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;cf&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;cg&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;cp&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* are ieșirile necesare pentru controlul aprinderii cifrei, denumite &amp;#039;&amp;#039;&amp;#039;an0&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;an1&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;an2&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;an3&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* folosește operatori logici și blocuri de tip &amp;#039;&amp;#039;&amp;#039;assign&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Recomandări pentru cadrele didactice ==&lt;br /&gt;
* Se vor introduce noțiunile necesare folosirii [[Dispozitiv_de_IO:_Afișajul_cu_7_segmente|afișajului cu 7 segmente]]&lt;br /&gt;
&amp;lt;!--* În vederea rezolvării cerinței, cadrul didactic va desena tabela de adevăr a funcției logice care activează segmentul CA, și va ghida studenții pentru identificarea funcției logice și implementarea ei în Verilog folosind operatori logici.--&amp;gt;&lt;/div&gt;</summary>
		<author><name>Mdascalu</name></author>
	</entry>
	<entry>
		<id>http://wiki.dcae.pub.ro/index.php?title=CID_Lab_Lucrarea_2&amp;diff=5285</id>
		<title>CID Lab Lucrarea 2</title>
		<link rel="alternate" type="text/html" href="http://wiki.dcae.pub.ro/index.php?title=CID_Lab_Lucrarea_2&amp;diff=5285"/>
		<updated>2017-03-17T00:23:07Z</updated>

		<summary type="html">&lt;p&gt;Mdascalu: /* Submiterea Exercițiilor */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Noțiuni și cunoștințe necesare ==&lt;br /&gt;
&lt;br /&gt;
* [[Tutorial_Quartus_II| Utilizarea programului de sinteză Altera Quartus II]]&lt;br /&gt;
* [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]&lt;br /&gt;
* [[Introducere. Verilog HDL și ModelSim|Logică booleană și sisteme de numerație]]&lt;br /&gt;
* Noțiuni de sintaxă [[Verilog]]&lt;br /&gt;
* [[Dispozitiv_de_IO:_Afișajul_cu_7_segmente|Afișajul cu 7 segmente]]&lt;br /&gt;
&lt;br /&gt;
== Exemplul 1 ==&lt;br /&gt;
&lt;br /&gt;
Realizați un decodor de doi biți folosind un bloc &amp;#039;&amp;#039;&amp;#039;case&amp;#039;&amp;#039;&amp;#039;. Testați decodorul legând intrările la switch-uri și ieșirile la led-uri.&lt;br /&gt;
&lt;br /&gt;
== Exemplul 2 ==&lt;br /&gt;
 &lt;br /&gt;
Realizați un transcodor pentru afișajul cu 7 segmente, folosind un bloc &amp;#039;&amp;#039;&amp;#039;case&amp;#039;&amp;#039;&amp;#039;, care să poată afișa valorile de la 0 la 3. Intrarea modulului se va numi &amp;#039;&amp;#039;&amp;#039;value&amp;#039;&amp;#039;&amp;#039; iar ieșirea &amp;#039;&amp;#039;&amp;#039;out_seg&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
Testați decodorul aplicând intrarea pe SW1 și SW0 și afișând ieșirea pe afișajul cu 7 segmente, cifra din dreapta (Digit0).&lt;br /&gt;
&lt;br /&gt;
== Exerciții ==&lt;br /&gt;
&lt;br /&gt;
Următoarele exerciții folosesc transcodorul binar - 7 segemente pentru afișarea în hexazecimal a rezultatului unei operații simple. Pentru a vă asigura că transcodorul este scris corect, la pct. a veți verifica funcționarea lui. Proiectul pe care trebuie să-l trimiteți la final este cel de la pct. b.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Exercitiul 1===&lt;br /&gt;
a. Completați și modificații transcodorul de la exemplul 2 astfel încât să poată afișa valorile de la 0 la 15, în baza 16 (10 = A, 11 = b, 12 = C, 13 = d, 14 = E, 15 = F) &amp;#039;&amp;#039;&amp;#039;pe a doua poziție din dreapta&amp;#039;&amp;#039;&amp;#039;. &lt;br /&gt;
*Denumiți modulul &amp;#039;&amp;#039;&amp;#039;afisaj7seg&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
*Biții &amp;#039;&amp;#039;&amp;#039;out_seg&amp;#039;&amp;#039;&amp;#039; corespund cu segmentele în modul următor:&lt;br /&gt;
&lt;br /&gt;
**Bitul 6 corespunde segmentului 0&lt;br /&gt;
**Bitul 5 corespunde segmentului 1&lt;br /&gt;
**Bitul 4 corespunde segmentului 2&lt;br /&gt;
**Bitul 3 corespunde segmentului 3&lt;br /&gt;
**Bitul 2 corespunde segmentului 4&lt;br /&gt;
**Bitul 1 corespunde segmentului 5&lt;br /&gt;
**Bitul 0 corespunde segmentului 6&lt;br /&gt;
&lt;br /&gt;
Verificați funcționarea corectă a afișajului pe placa DE1, conectând intrarea pe SW3-SW0. Modificați pinii la ieșire astfel încât valoarea să fie afișată pe &amp;#039;&amp;#039;&amp;#039;Digit 1&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
b. Realizați un circuit care adună două numere binare pe 3 biți, iar rezultatul, pe 4 biți, va fi afișat ca cifră hexazecimală cu ajutorul transcodorului de la pct. a). &lt;br /&gt;
Restricții:&lt;br /&gt;
&lt;br /&gt;
*Creați un nou proiect, în care modulul top-level este denumit &amp;#039;&amp;#039;&amp;#039;top&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
*Cele două intrări se vor nota cu a, respectiv b, și se vor conecta la switchurile SW2-SW0 (corespunzător biților 2-&amp;gt;0 ai lui &amp;#039;&amp;#039;&amp;#039;a&amp;#039;&amp;#039;&amp;#039;, în această ordine), respectiv SW9-SW7 (corespunzător biților 2-&amp;gt;0 ai lui &amp;#039;&amp;#039;&amp;#039;b&amp;#039;&amp;#039;&amp;#039;, în această ordine) .&lt;br /&gt;
*Ieșirile se vor conecta la pinii corespunzători pentru afișajul cu 7 segmente, Digit 1.&lt;br /&gt;
*Sumatorul și transcodorul vor fi descrise în module diferite (denumite &amp;#039;&amp;#039;&amp;#039;sumator&amp;#039;&amp;#039;&amp;#039; și &amp;#039;&amp;#039;&amp;#039;afisaj7seg&amp;#039;&amp;#039;&amp;#039;, scrise în fișiere diferite, și instanțiate în modulul de &amp;#039;&amp;#039;top&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
===Exercitiul 2===&lt;br /&gt;
&lt;br /&gt;
a. Completați și modificații transcodorul de la exemplul 2 astfel încât să poată afișa valorile de la 0 la 15, în baza 16 (10 = A, 11 = b, 12 = C, 13 = d, 14 = E, 15 = F) &amp;#039;&amp;#039;&amp;#039;pe poziția din stânga&amp;#039;&amp;#039;&amp;#039;. &lt;br /&gt;
*Denumiți modulul &amp;#039;&amp;#039;&amp;#039;afisaj7seg&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
*Biții &amp;#039;&amp;#039;&amp;#039;out_seg&amp;#039;&amp;#039;&amp;#039; corespund cu segmentele în modul următor:&lt;br /&gt;
&lt;br /&gt;
**Bitul 6 corespunde segmentului 1&lt;br /&gt;
**Bitul 5 corespunde segmentului 2&lt;br /&gt;
**Bitul 4 corespunde segmentului 3&lt;br /&gt;
**Bitul 3 corespunde segmentului 4&lt;br /&gt;
**Bitul 2 corespunde segmentului 5&lt;br /&gt;
**Bitul 1 corespunde segmentului 6&lt;br /&gt;
**Bitul 0 corespunde segmentului 0&lt;br /&gt;
&lt;br /&gt;
Verificați funcționarea corectă a afișajului pe placa DE1, conectând intrarea pe SW5-SW2. Modificați pinii la ieșire astfel încât valoarea să fie afișată pe &amp;#039;&amp;#039;&amp;#039;Digit 3&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
b. Realizați un circuit care înmulțește două numere binare, numărul a, pe 3 biți, și numărul b, pe 2 biți, iar rezultatul, pe 4 biți, va fi afișat ca cifră hexazecimală cu ajutorul transcodorului de la pct. a). &lt;br /&gt;
Restricții:&lt;br /&gt;
&lt;br /&gt;
*Creați un nou proiect, în care modulul top-level este denumit &amp;#039;&amp;#039;&amp;#039;top&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
*Cele două intrări se vor nota cu a, respectiv b, și se vor conecta la switchurile SW9-SW7 (corespunzător biților 2-&amp;gt;0 ai lui &amp;#039;&amp;#039;&amp;#039;a&amp;#039;&amp;#039;&amp;#039;, în această ordine), respectiv SW2-SW1 (corespunzător biților 1-&amp;gt;0 ai lui &amp;#039;&amp;#039;&amp;#039;b&amp;#039;&amp;#039;&amp;#039;, în această ordine) .&lt;br /&gt;
*Ieșirile se vor conecta la pinii corespunzători pentru afișajul cu 7 segmente, Digit 3.&lt;br /&gt;
*Inmulțitorul și transcodorul vor fi descrise în module diferite (denumite &amp;#039;&amp;#039;&amp;#039;produs&amp;#039;&amp;#039;&amp;#039; și &amp;#039;&amp;#039;&amp;#039;afisaj7seg&amp;#039;&amp;#039;&amp;#039;, scrise în fișiere diferite, și instanțiate în modulul de &amp;#039;&amp;#039;top&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;Indicație:&amp;#039;&amp;#039; Produsul celor două numere (ieșirea înmulțitorului) este un număr pe 5 biți, notat, de ex, &amp;#039;&amp;#039;&amp;#039;prod&amp;#039;&amp;#039;&amp;#039;. Dacă rezultatul depășește valoarea 15, la ieșire vom afișa „eroare”, care poate fi simbolizată, de ex, de o liniuță pe poziția centrală (segmentul 6). Ieșirea modulului de top, notată out, se calculează în felul următor:&lt;br /&gt;
&lt;br /&gt;
assign out = prod[4] ? 7&amp;#039;b1111101 : out_seg;&lt;br /&gt;
&lt;br /&gt;
===Exercitiul 3===&lt;br /&gt;
&lt;br /&gt;
a. Completați și modificații transcodorul de la exemplul 2 astfel încât să poată afișa valorile de la 0 la 15, în baza 16 (10 = A, 11 = b, 12 = C, 13 = d, 14 = E, 15 = F) &amp;#039;&amp;#039;&amp;#039;pe a doua poziție din stânga&amp;#039;&amp;#039;&amp;#039;. &lt;br /&gt;
*Denumiți modulul &amp;#039;&amp;#039;&amp;#039;afisaj7seg&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
*Biții &amp;#039;&amp;#039;&amp;#039;out_seg&amp;#039;&amp;#039;&amp;#039; corespund cu segmentele în modul următor:&lt;br /&gt;
&lt;br /&gt;
**Bitul 6 corespunde segmentului 1&lt;br /&gt;
**Bitul 5 corespunde segmentului 3&lt;br /&gt;
**Bitul 4 corespunde segmentului 2&lt;br /&gt;
**Bitul 3 corespunde segmentului 6&lt;br /&gt;
**Bitul 2 corespunde segmentului 4&lt;br /&gt;
**Bitul 1 corespunde segmentului 5&lt;br /&gt;
**Bitul 0 corespunde segmentului 0&lt;br /&gt;
&lt;br /&gt;
Verificați funcționarea corectă a afișajului pe placa DE1, conectând intrarea pe SW4-SW1. Modificați pinii la ieșire astfel încât valoarea să fie afișată pe &amp;#039;&amp;#039;&amp;#039;Digit 2&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
b. Realizați un circuit care face operația SAU EXCLUSIV (bit cu bit) între 2 numere binare pe 4 biți, iar rezultatul, pe 4 biți, va fi afișat ca cifră hexazecimală cu ajutorul transcodorului de la pct. a). &lt;br /&gt;
Restricții:&lt;br /&gt;
&lt;br /&gt;
*Creați un nou proiect, în care modulul top-level este denumit &amp;#039;&amp;#039;&amp;#039;top&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
*Cele două intrări se vor nota cu a, respectiv b, și se vor conecta la switchurile SW3-SW0 (corespunzător biților 3-&amp;gt;0 ai lui &amp;#039;&amp;#039;&amp;#039;a&amp;#039;&amp;#039;&amp;#039;, în această ordine), respectiv SW9-SW6 (corespunzător biților 3-&amp;gt;0 ai lui &amp;#039;&amp;#039;&amp;#039;b&amp;#039;&amp;#039;&amp;#039;, în această ordine) .&lt;br /&gt;
*Ieșirile se vor conecta la pinii corespunzători pentru afișajul cu 7 segmente, Digit 2.&lt;br /&gt;
*Circuitul logic și transcodorul vor fi descrise în module diferite (denumite &amp;#039;&amp;#039;&amp;#039;sau_exclusiv&amp;#039;&amp;#039;&amp;#039; și &amp;#039;&amp;#039;&amp;#039;afisaj7seg&amp;#039;&amp;#039;&amp;#039;, scrise în fișiere diferite, și instanțiate în modulul de &amp;#039;&amp;#039;top&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
===Exercitiul 4===&lt;br /&gt;
&lt;br /&gt;
a. Completați și modificații transcodorul de la exemplul 2 astfel încât să poată afișa valorile de la 0 la 15, în baza 16 (10 = A, 11 = b, 12 = C, 13 = d, 14 = E, 15 = F) &amp;#039;&amp;#039;&amp;#039;pe poziția din stânga&amp;#039;&amp;#039;&amp;#039;. &lt;br /&gt;
*Denumiți modulul &amp;#039;&amp;#039;&amp;#039;afisaj7seg&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
*Biții &amp;#039;&amp;#039;&amp;#039;out_seg&amp;#039;&amp;#039;&amp;#039; corespund cu segmentele în modul următor:&lt;br /&gt;
&lt;br /&gt;
**Bitul 6 corespunde segmentului 2&lt;br /&gt;
**Bitul 5 corespunde segmentului 4&lt;br /&gt;
**Bitul 4 corespunde segmentului 6&lt;br /&gt;
**Bitul 3 corespunde segmentului 3&lt;br /&gt;
**Bitul 2 corespunde segmentului 4&lt;br /&gt;
**Bitul 1 corespunde segmentului 1&lt;br /&gt;
**Bitul 0 corespunde segmentului 0&lt;br /&gt;
&lt;br /&gt;
Verificați funcționarea corectă a afișajului pe placa DE1, conectând intrarea pe SW9-SW6. Modificați pinii la ieșire astfel încât valoarea să fie afișată pe &amp;#039;&amp;#039;&amp;#039;Digit 3&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
b. Realizați un circuit care adună două numere binare pe 3 biți, iar rezultatul, pe 4 biți, va fi afișat ca cifră hexazecimală cu ajutorul transcodorului de la pct. a). &lt;br /&gt;
Restricții:&lt;br /&gt;
&lt;br /&gt;
*Creați un nou proiect, în care modulul top-level este denumit &amp;#039;&amp;#039;&amp;#039;top&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
*Cele două intrări se vor nota cu in1, respectiv in2, și se vor conecta la switchurile SW7-SW5 (corespunzător biților 2-&amp;gt;0 ai lui &amp;#039;&amp;#039;&amp;#039;in1&amp;#039;&amp;#039;&amp;#039;, în această ordine), respectiv SW4-SW2 (corespunzător biților 2-&amp;gt;0 ai lui &amp;#039;&amp;#039;&amp;#039;in2&amp;#039;&amp;#039;&amp;#039;, în această ordine) .&lt;br /&gt;
*Ieșirile se vor conecta la pinii corespunzători pentru afișajul cu 7 segmente, Digit 3.&lt;br /&gt;
*Sumatorul și transcodorul vor fi descrise în module diferite (denumite &amp;#039;&amp;#039;&amp;#039;sumator&amp;#039;&amp;#039;&amp;#039; și &amp;#039;&amp;#039;&amp;#039;afisaj7seg&amp;#039;&amp;#039;&amp;#039;, scrise în fișiere diferite, și instanțiate în modulul de &amp;#039;&amp;#039;top&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Exercitiul 5===&lt;br /&gt;
&lt;br /&gt;
a. Completați și modificații transcodorul de la exemplul 2 astfel încât să poată afișa valorile de la 0 la 15, în baza 16 (10 = A, 11 = b, 12 = C, 13 = d, 14 = E, 15 = F) &amp;#039;&amp;#039;&amp;#039;pe poziția a doua din stânga&amp;#039;&amp;#039;&amp;#039;. &lt;br /&gt;
*Denumiți modulul &amp;#039;&amp;#039;&amp;#039;afisaj7seg&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
*Biții &amp;#039;&amp;#039;&amp;#039;out_seg&amp;#039;&amp;#039;&amp;#039; corespund cu segmentele în modul următor:&lt;br /&gt;
&lt;br /&gt;
**Bitul 6 corespunde segmentului 3&lt;br /&gt;
**Bitul 5 corespunde segmentului 4&lt;br /&gt;
**Bitul 4 corespunde segmentului 1&lt;br /&gt;
**Bitul 3 corespunde segmentului 2&lt;br /&gt;
**Bitul 2 corespunde segmentului 0&lt;br /&gt;
**Bitul 1 corespunde segmentului 5&lt;br /&gt;
**Bitul 0 corespunde segmentului 6&lt;br /&gt;
&lt;br /&gt;
Verificați funcționarea corectă a afișajului pe placa DE1, conectând intrarea pe SW8-SW5. Modificați pinii la ieșire astfel încât valoarea să fie afișată pe &amp;#039;&amp;#039;&amp;#039;Digit 2&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
b. Realizați un circuit care înmulțește două numere binare, numărul in1, pe 2 biți, și numărul in2, pe 3 biți, iar rezultatul, pe 4 biți, va fi afișat ca cifră hexazecimală cu ajutorul transcodorului de la pct. a). &lt;br /&gt;
Restricții:&lt;br /&gt;
&lt;br /&gt;
*Creați un nou proiect, în care modulul top-level este denumit &amp;#039;&amp;#039;&amp;#039;top&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
*Cele două intrări se vor nota cu in1, respectiv in2, și se vor conecta la switchurile SW3-SW2 (corespunzător biților 1-&amp;gt;0 ai lui &amp;#039;&amp;#039;&amp;#039;in1&amp;#039;&amp;#039;&amp;#039;, în această ordine), respectiv SW9-SW7 (corespunzător biților 2-&amp;gt;0 ai lui &amp;#039;&amp;#039;&amp;#039;in2&amp;#039;&amp;#039;&amp;#039;, în această ordine) .&lt;br /&gt;
*Ieșirile se vor conecta la pinii corespunzători pentru afișajul cu 7 segmente, Digit 2.&lt;br /&gt;
*Inmulțitorul și transcodorul vor fi descrise în module diferite (denumite &amp;#039;&amp;#039;&amp;#039;produs&amp;#039;&amp;#039;&amp;#039; și &amp;#039;&amp;#039;&amp;#039;afisaj7seg&amp;#039;&amp;#039;&amp;#039;, scrise în fișiere diferite, și instanțiate în modulul de &amp;#039;&amp;#039;top&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;Indicație:&amp;#039;&amp;#039; Produsul celor două numere (ieșirea înmulțitorului) este un număr pe 5 biți, notat, de ex, &amp;#039;&amp;#039;&amp;#039;prod&amp;#039;&amp;#039;&amp;#039;. Dacă rezultatul depășește valoarea 15, la ieșire vom afișa „eroare”, care poate fi simbolizată, de ex, de o liniuță pe poziția centrală (segmentul 6). Ieșirea modulului de top, notată out, se calculează în felul următor:&lt;br /&gt;
&lt;br /&gt;
assign out = prod[4] ? 7&amp;#039;b1111110 : out_seg;&lt;br /&gt;
&lt;br /&gt;
===Exercitiul 6===&lt;br /&gt;
&lt;br /&gt;
a. Completați și modificații transcodorul de la exemplul 2 astfel încât să poată afișa valorile de la 0 la 15, în baza 16 (10 = A, 11 = b, 12 = C, 13 = d, 14 = E, 15 = F) &amp;#039;&amp;#039;&amp;#039;pe a doua poziție din dreapta&amp;#039;&amp;#039;&amp;#039;. &lt;br /&gt;
*Denumiți modulul &amp;#039;&amp;#039;&amp;#039;afisaj7seg&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
*Biții &amp;#039;&amp;#039;&amp;#039;out_seg&amp;#039;&amp;#039;&amp;#039; corespund cu segmentele în modul următor:&lt;br /&gt;
&lt;br /&gt;
**Bitul 6 corespunde segmentului 1&lt;br /&gt;
**Bitul 5 corespunde segmentului 3&lt;br /&gt;
**Bitul 4 corespunde segmentului 2&lt;br /&gt;
**Bitul 3 corespunde segmentului 6&lt;br /&gt;
**Bitul 2 corespunde segmentului 4&lt;br /&gt;
**Bitul 1 corespunde segmentului 5&lt;br /&gt;
**Bitul 0 corespunde segmentului 0&lt;br /&gt;
&lt;br /&gt;
Verificați funcționarea corectă a afișajului pe placa DE1, conectând intrarea pe SW4-SW1. Modificați pinii la ieșire astfel încât valoarea să fie afișată pe &amp;#039;&amp;#039;&amp;#039;Digit 1&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
b. Realizați un circuit care face operația SAU  (bit cu bit) între 2 numere binare pe 4 biți, iar rezultatul, pe 4 biți, va fi afișat ca cifră hexazecimală cu ajutorul transcodorului de la pct. a). &lt;br /&gt;
Restricții:&lt;br /&gt;
&lt;br /&gt;
*Creați un nou proiect, în care modulul top-level este denumit &amp;#039;&amp;#039;&amp;#039;top&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
*Cele două intrări se vor nota cu in1, respectiv in2, și se vor conecta la switchurile SW8-SW5 (corespunzător biților 3-&amp;gt;0 ai lui &amp;#039;&amp;#039;&amp;#039;in1&amp;#039;&amp;#039;&amp;#039;, în această ordine), respectiv SW4-SW1 (corespunzător biților 3-&amp;gt;0 ai lui &amp;#039;&amp;#039;&amp;#039;in2&amp;#039;&amp;#039;&amp;#039;, în această ordine) .&lt;br /&gt;
*Ieșirile se vor conecta la pinii corespunzători pentru afișajul cu 7 segmente, Digit1.&lt;br /&gt;
*Circuitul logic și transcodorul vor fi descrise în module diferite (denumite &amp;#039;&amp;#039;&amp;#039;sau&amp;#039;&amp;#039;&amp;#039; și &amp;#039;&amp;#039;&amp;#039;afisaj7seg&amp;#039;&amp;#039;&amp;#039;, scrise în fișiere diferite, și instanțiate în modulul de &amp;#039;&amp;#039;top&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Fișier:transcoder.png]]&lt;br /&gt;
&lt;br /&gt;
== Submiterea Exercițiilor ==&lt;br /&gt;
&lt;br /&gt;
Pentru notare, se vor submite următoarele fișiere, către adresa de e-mail indicată de cadrul didactic.&lt;br /&gt;
&lt;br /&gt;
O arhivă &amp;lt;span style=&amp;quot;color: red; font-weight: bold&amp;quot;&amp;gt;zip&amp;lt;/span&amp;gt; ce va conține:&lt;br /&gt;
*Trei fișiere Verilog cu extensia .v care conțin descrierea Verilog a circuitului logic, a transcodorului și a modulului de top.&lt;br /&gt;
*Un fișier de constrângeri, cu extensia .qsf&lt;br /&gt;
*Un fișier de tip proiect Quartus, cu extensia .qpf&lt;br /&gt;
Atentie, arhiva va contine doar cele 5 fisiere (fara directoare).&lt;br /&gt;
&lt;br /&gt;
Subiectul mesajului de e-mail trebuie să respecte formatul &amp;lt;span style=&amp;quot;color: red; font-weight: bold&amp;quot;&amp;gt;[Nume]_[Prenume]_[Grupa]_7seg_[Nr. Exercitiu]&amp;lt;/span&amp;gt; de exemplu Petrica_Lucian_423B_7seg_4&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
Creați un proiect Xilinx ISE, descrierea Verilog și constrângerile necesare pentru a implementa pe placa Nexys2 circuitul care afișează, pe una din cifrele afișajului cu 7 segmente, primele 4 numere (0, 1, 2, 3), atunci când valoarea binară corespunzătoare este formată prin apăsarea butoanelor BTN0 și BTN1. Astfel, circuitul descris trebuie să respecte următoarele cerințe:&lt;br /&gt;
* are o intrare numită &amp;#039;&amp;#039;&amp;#039;binary_input&amp;#039;&amp;#039;&amp;#039; de doi biți, bitul cel mai putin semnificativ fiind conectat la BTN0, iar bitul cel mai semnificativ fiind conectat la BTN1&lt;br /&gt;
* are ieșirile necesare pentru activarea afișajului cu 7 segmente, denumite &amp;#039;&amp;#039;&amp;#039;ca&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;cb&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;cc&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;cd&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;ce&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;cf&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;cg&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;cp&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* are ieșirile necesare pentru controlul aprinderii cifrei, denumite &amp;#039;&amp;#039;&amp;#039;an0&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;an1&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;an2&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;an3&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* folosește operatori logici și blocuri de tip &amp;#039;&amp;#039;&amp;#039;assign&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Recomandări pentru cadrele didactice ==&lt;br /&gt;
* Se vor introduce noțiunile necesare folosirii [[Dispozitiv_de_IO:_Afișajul_cu_7_segmente|afișajului cu 7 segmente]]&lt;br /&gt;
&amp;lt;!--* În vederea rezolvării cerinței, cadrul didactic va desena tabela de adevăr a funcției logice care activează segmentul CA, și va ghida studenții pentru identificarea funcției logice și implementarea ei în Verilog folosind operatori logici.--&amp;gt;&lt;/div&gt;</summary>
		<author><name>Mdascalu</name></author>
	</entry>
	<entry>
		<id>http://wiki.dcae.pub.ro/index.php?title=CID_Lab_Lucrarea_2&amp;diff=5284</id>
		<title>CID Lab Lucrarea 2</title>
		<link rel="alternate" type="text/html" href="http://wiki.dcae.pub.ro/index.php?title=CID_Lab_Lucrarea_2&amp;diff=5284"/>
		<updated>2017-03-17T00:22:54Z</updated>

		<summary type="html">&lt;p&gt;Mdascalu: /* Submiterea Exercițiilor */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Noțiuni și cunoștințe necesare ==&lt;br /&gt;
&lt;br /&gt;
* [[Tutorial_Quartus_II| Utilizarea programului de sinteză Altera Quartus II]]&lt;br /&gt;
* [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]&lt;br /&gt;
* [[Introducere. Verilog HDL și ModelSim|Logică booleană și sisteme de numerație]]&lt;br /&gt;
* Noțiuni de sintaxă [[Verilog]]&lt;br /&gt;
* [[Dispozitiv_de_IO:_Afișajul_cu_7_segmente|Afișajul cu 7 segmente]]&lt;br /&gt;
&lt;br /&gt;
== Exemplul 1 ==&lt;br /&gt;
&lt;br /&gt;
Realizați un decodor de doi biți folosind un bloc &amp;#039;&amp;#039;&amp;#039;case&amp;#039;&amp;#039;&amp;#039;. Testați decodorul legând intrările la switch-uri și ieșirile la led-uri.&lt;br /&gt;
&lt;br /&gt;
== Exemplul 2 ==&lt;br /&gt;
 &lt;br /&gt;
Realizați un transcodor pentru afișajul cu 7 segmente, folosind un bloc &amp;#039;&amp;#039;&amp;#039;case&amp;#039;&amp;#039;&amp;#039;, care să poată afișa valorile de la 0 la 3. Intrarea modulului se va numi &amp;#039;&amp;#039;&amp;#039;value&amp;#039;&amp;#039;&amp;#039; iar ieșirea &amp;#039;&amp;#039;&amp;#039;out_seg&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
Testați decodorul aplicând intrarea pe SW1 și SW0 și afișând ieșirea pe afișajul cu 7 segmente, cifra din dreapta (Digit0).&lt;br /&gt;
&lt;br /&gt;
== Exerciții ==&lt;br /&gt;
&lt;br /&gt;
Următoarele exerciții folosesc transcodorul binar - 7 segemente pentru afișarea în hexazecimal a rezultatului unei operații simple. Pentru a vă asigura că transcodorul este scris corect, la pct. a veți verifica funcționarea lui. Proiectul pe care trebuie să-l trimiteți la final este cel de la pct. b.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Exercitiul 1===&lt;br /&gt;
a. Completați și modificații transcodorul de la exemplul 2 astfel încât să poată afișa valorile de la 0 la 15, în baza 16 (10 = A, 11 = b, 12 = C, 13 = d, 14 = E, 15 = F) &amp;#039;&amp;#039;&amp;#039;pe a doua poziție din dreapta&amp;#039;&amp;#039;&amp;#039;. &lt;br /&gt;
*Denumiți modulul &amp;#039;&amp;#039;&amp;#039;afisaj7seg&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
*Biții &amp;#039;&amp;#039;&amp;#039;out_seg&amp;#039;&amp;#039;&amp;#039; corespund cu segmentele în modul următor:&lt;br /&gt;
&lt;br /&gt;
**Bitul 6 corespunde segmentului 0&lt;br /&gt;
**Bitul 5 corespunde segmentului 1&lt;br /&gt;
**Bitul 4 corespunde segmentului 2&lt;br /&gt;
**Bitul 3 corespunde segmentului 3&lt;br /&gt;
**Bitul 2 corespunde segmentului 4&lt;br /&gt;
**Bitul 1 corespunde segmentului 5&lt;br /&gt;
**Bitul 0 corespunde segmentului 6&lt;br /&gt;
&lt;br /&gt;
Verificați funcționarea corectă a afișajului pe placa DE1, conectând intrarea pe SW3-SW0. Modificați pinii la ieșire astfel încât valoarea să fie afișată pe &amp;#039;&amp;#039;&amp;#039;Digit 1&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
b. Realizați un circuit care adună două numere binare pe 3 biți, iar rezultatul, pe 4 biți, va fi afișat ca cifră hexazecimală cu ajutorul transcodorului de la pct. a). &lt;br /&gt;
Restricții:&lt;br /&gt;
&lt;br /&gt;
*Creați un nou proiect, în care modulul top-level este denumit &amp;#039;&amp;#039;&amp;#039;top&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
*Cele două intrări se vor nota cu a, respectiv b, și se vor conecta la switchurile SW2-SW0 (corespunzător biților 2-&amp;gt;0 ai lui &amp;#039;&amp;#039;&amp;#039;a&amp;#039;&amp;#039;&amp;#039;, în această ordine), respectiv SW9-SW7 (corespunzător biților 2-&amp;gt;0 ai lui &amp;#039;&amp;#039;&amp;#039;b&amp;#039;&amp;#039;&amp;#039;, în această ordine) .&lt;br /&gt;
*Ieșirile se vor conecta la pinii corespunzători pentru afișajul cu 7 segmente, Digit 1.&lt;br /&gt;
*Sumatorul și transcodorul vor fi descrise în module diferite (denumite &amp;#039;&amp;#039;&amp;#039;sumator&amp;#039;&amp;#039;&amp;#039; și &amp;#039;&amp;#039;&amp;#039;afisaj7seg&amp;#039;&amp;#039;&amp;#039;, scrise în fișiere diferite, și instanțiate în modulul de &amp;#039;&amp;#039;top&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
===Exercitiul 2===&lt;br /&gt;
&lt;br /&gt;
a. Completați și modificații transcodorul de la exemplul 2 astfel încât să poată afișa valorile de la 0 la 15, în baza 16 (10 = A, 11 = b, 12 = C, 13 = d, 14 = E, 15 = F) &amp;#039;&amp;#039;&amp;#039;pe poziția din stânga&amp;#039;&amp;#039;&amp;#039;. &lt;br /&gt;
*Denumiți modulul &amp;#039;&amp;#039;&amp;#039;afisaj7seg&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
*Biții &amp;#039;&amp;#039;&amp;#039;out_seg&amp;#039;&amp;#039;&amp;#039; corespund cu segmentele în modul următor:&lt;br /&gt;
&lt;br /&gt;
**Bitul 6 corespunde segmentului 1&lt;br /&gt;
**Bitul 5 corespunde segmentului 2&lt;br /&gt;
**Bitul 4 corespunde segmentului 3&lt;br /&gt;
**Bitul 3 corespunde segmentului 4&lt;br /&gt;
**Bitul 2 corespunde segmentului 5&lt;br /&gt;
**Bitul 1 corespunde segmentului 6&lt;br /&gt;
**Bitul 0 corespunde segmentului 0&lt;br /&gt;
&lt;br /&gt;
Verificați funcționarea corectă a afișajului pe placa DE1, conectând intrarea pe SW5-SW2. Modificați pinii la ieșire astfel încât valoarea să fie afișată pe &amp;#039;&amp;#039;&amp;#039;Digit 3&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
b. Realizați un circuit care înmulțește două numere binare, numărul a, pe 3 biți, și numărul b, pe 2 biți, iar rezultatul, pe 4 biți, va fi afișat ca cifră hexazecimală cu ajutorul transcodorului de la pct. a). &lt;br /&gt;
Restricții:&lt;br /&gt;
&lt;br /&gt;
*Creați un nou proiect, în care modulul top-level este denumit &amp;#039;&amp;#039;&amp;#039;top&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
*Cele două intrări se vor nota cu a, respectiv b, și se vor conecta la switchurile SW9-SW7 (corespunzător biților 2-&amp;gt;0 ai lui &amp;#039;&amp;#039;&amp;#039;a&amp;#039;&amp;#039;&amp;#039;, în această ordine), respectiv SW2-SW1 (corespunzător biților 1-&amp;gt;0 ai lui &amp;#039;&amp;#039;&amp;#039;b&amp;#039;&amp;#039;&amp;#039;, în această ordine) .&lt;br /&gt;
*Ieșirile se vor conecta la pinii corespunzători pentru afișajul cu 7 segmente, Digit 3.&lt;br /&gt;
*Inmulțitorul și transcodorul vor fi descrise în module diferite (denumite &amp;#039;&amp;#039;&amp;#039;produs&amp;#039;&amp;#039;&amp;#039; și &amp;#039;&amp;#039;&amp;#039;afisaj7seg&amp;#039;&amp;#039;&amp;#039;, scrise în fișiere diferite, și instanțiate în modulul de &amp;#039;&amp;#039;top&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;Indicație:&amp;#039;&amp;#039; Produsul celor două numere (ieșirea înmulțitorului) este un număr pe 5 biți, notat, de ex, &amp;#039;&amp;#039;&amp;#039;prod&amp;#039;&amp;#039;&amp;#039;. Dacă rezultatul depășește valoarea 15, la ieșire vom afișa „eroare”, care poate fi simbolizată, de ex, de o liniuță pe poziția centrală (segmentul 6). Ieșirea modulului de top, notată out, se calculează în felul următor:&lt;br /&gt;
&lt;br /&gt;
assign out = prod[4] ? 7&amp;#039;b1111101 : out_seg;&lt;br /&gt;
&lt;br /&gt;
===Exercitiul 3===&lt;br /&gt;
&lt;br /&gt;
a. Completați și modificații transcodorul de la exemplul 2 astfel încât să poată afișa valorile de la 0 la 15, în baza 16 (10 = A, 11 = b, 12 = C, 13 = d, 14 = E, 15 = F) &amp;#039;&amp;#039;&amp;#039;pe a doua poziție din stânga&amp;#039;&amp;#039;&amp;#039;. &lt;br /&gt;
*Denumiți modulul &amp;#039;&amp;#039;&amp;#039;afisaj7seg&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
*Biții &amp;#039;&amp;#039;&amp;#039;out_seg&amp;#039;&amp;#039;&amp;#039; corespund cu segmentele în modul următor:&lt;br /&gt;
&lt;br /&gt;
**Bitul 6 corespunde segmentului 1&lt;br /&gt;
**Bitul 5 corespunde segmentului 3&lt;br /&gt;
**Bitul 4 corespunde segmentului 2&lt;br /&gt;
**Bitul 3 corespunde segmentului 6&lt;br /&gt;
**Bitul 2 corespunde segmentului 4&lt;br /&gt;
**Bitul 1 corespunde segmentului 5&lt;br /&gt;
**Bitul 0 corespunde segmentului 0&lt;br /&gt;
&lt;br /&gt;
Verificați funcționarea corectă a afișajului pe placa DE1, conectând intrarea pe SW4-SW1. Modificați pinii la ieșire astfel încât valoarea să fie afișată pe &amp;#039;&amp;#039;&amp;#039;Digit 2&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
b. Realizați un circuit care face operația SAU EXCLUSIV (bit cu bit) între 2 numere binare pe 4 biți, iar rezultatul, pe 4 biți, va fi afișat ca cifră hexazecimală cu ajutorul transcodorului de la pct. a). &lt;br /&gt;
Restricții:&lt;br /&gt;
&lt;br /&gt;
*Creați un nou proiect, în care modulul top-level este denumit &amp;#039;&amp;#039;&amp;#039;top&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
*Cele două intrări se vor nota cu a, respectiv b, și se vor conecta la switchurile SW3-SW0 (corespunzător biților 3-&amp;gt;0 ai lui &amp;#039;&amp;#039;&amp;#039;a&amp;#039;&amp;#039;&amp;#039;, în această ordine), respectiv SW9-SW6 (corespunzător biților 3-&amp;gt;0 ai lui &amp;#039;&amp;#039;&amp;#039;b&amp;#039;&amp;#039;&amp;#039;, în această ordine) .&lt;br /&gt;
*Ieșirile se vor conecta la pinii corespunzători pentru afișajul cu 7 segmente, Digit 2.&lt;br /&gt;
*Circuitul logic și transcodorul vor fi descrise în module diferite (denumite &amp;#039;&amp;#039;&amp;#039;sau_exclusiv&amp;#039;&amp;#039;&amp;#039; și &amp;#039;&amp;#039;&amp;#039;afisaj7seg&amp;#039;&amp;#039;&amp;#039;, scrise în fișiere diferite, și instanțiate în modulul de &amp;#039;&amp;#039;top&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
===Exercitiul 4===&lt;br /&gt;
&lt;br /&gt;
a. Completați și modificații transcodorul de la exemplul 2 astfel încât să poată afișa valorile de la 0 la 15, în baza 16 (10 = A, 11 = b, 12 = C, 13 = d, 14 = E, 15 = F) &amp;#039;&amp;#039;&amp;#039;pe poziția din stânga&amp;#039;&amp;#039;&amp;#039;. &lt;br /&gt;
*Denumiți modulul &amp;#039;&amp;#039;&amp;#039;afisaj7seg&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
*Biții &amp;#039;&amp;#039;&amp;#039;out_seg&amp;#039;&amp;#039;&amp;#039; corespund cu segmentele în modul următor:&lt;br /&gt;
&lt;br /&gt;
**Bitul 6 corespunde segmentului 2&lt;br /&gt;
**Bitul 5 corespunde segmentului 4&lt;br /&gt;
**Bitul 4 corespunde segmentului 6&lt;br /&gt;
**Bitul 3 corespunde segmentului 3&lt;br /&gt;
**Bitul 2 corespunde segmentului 4&lt;br /&gt;
**Bitul 1 corespunde segmentului 1&lt;br /&gt;
**Bitul 0 corespunde segmentului 0&lt;br /&gt;
&lt;br /&gt;
Verificați funcționarea corectă a afișajului pe placa DE1, conectând intrarea pe SW9-SW6. Modificați pinii la ieșire astfel încât valoarea să fie afișată pe &amp;#039;&amp;#039;&amp;#039;Digit 3&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
b. Realizați un circuit care adună două numere binare pe 3 biți, iar rezultatul, pe 4 biți, va fi afișat ca cifră hexazecimală cu ajutorul transcodorului de la pct. a). &lt;br /&gt;
Restricții:&lt;br /&gt;
&lt;br /&gt;
*Creați un nou proiect, în care modulul top-level este denumit &amp;#039;&amp;#039;&amp;#039;top&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
*Cele două intrări se vor nota cu in1, respectiv in2, și se vor conecta la switchurile SW7-SW5 (corespunzător biților 2-&amp;gt;0 ai lui &amp;#039;&amp;#039;&amp;#039;in1&amp;#039;&amp;#039;&amp;#039;, în această ordine), respectiv SW4-SW2 (corespunzător biților 2-&amp;gt;0 ai lui &amp;#039;&amp;#039;&amp;#039;in2&amp;#039;&amp;#039;&amp;#039;, în această ordine) .&lt;br /&gt;
*Ieșirile se vor conecta la pinii corespunzători pentru afișajul cu 7 segmente, Digit 3.&lt;br /&gt;
*Sumatorul și transcodorul vor fi descrise în module diferite (denumite &amp;#039;&amp;#039;&amp;#039;sumator&amp;#039;&amp;#039;&amp;#039; și &amp;#039;&amp;#039;&amp;#039;afisaj7seg&amp;#039;&amp;#039;&amp;#039;, scrise în fișiere diferite, și instanțiate în modulul de &amp;#039;&amp;#039;top&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Exercitiul 5===&lt;br /&gt;
&lt;br /&gt;
a. Completați și modificații transcodorul de la exemplul 2 astfel încât să poată afișa valorile de la 0 la 15, în baza 16 (10 = A, 11 = b, 12 = C, 13 = d, 14 = E, 15 = F) &amp;#039;&amp;#039;&amp;#039;pe poziția a doua din stânga&amp;#039;&amp;#039;&amp;#039;. &lt;br /&gt;
*Denumiți modulul &amp;#039;&amp;#039;&amp;#039;afisaj7seg&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
*Biții &amp;#039;&amp;#039;&amp;#039;out_seg&amp;#039;&amp;#039;&amp;#039; corespund cu segmentele în modul următor:&lt;br /&gt;
&lt;br /&gt;
**Bitul 6 corespunde segmentului 3&lt;br /&gt;
**Bitul 5 corespunde segmentului 4&lt;br /&gt;
**Bitul 4 corespunde segmentului 1&lt;br /&gt;
**Bitul 3 corespunde segmentului 2&lt;br /&gt;
**Bitul 2 corespunde segmentului 0&lt;br /&gt;
**Bitul 1 corespunde segmentului 5&lt;br /&gt;
**Bitul 0 corespunde segmentului 6&lt;br /&gt;
&lt;br /&gt;
Verificați funcționarea corectă a afișajului pe placa DE1, conectând intrarea pe SW8-SW5. Modificați pinii la ieșire astfel încât valoarea să fie afișată pe &amp;#039;&amp;#039;&amp;#039;Digit 2&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
b. Realizați un circuit care înmulțește două numere binare, numărul in1, pe 2 biți, și numărul in2, pe 3 biți, iar rezultatul, pe 4 biți, va fi afișat ca cifră hexazecimală cu ajutorul transcodorului de la pct. a). &lt;br /&gt;
Restricții:&lt;br /&gt;
&lt;br /&gt;
*Creați un nou proiect, în care modulul top-level este denumit &amp;#039;&amp;#039;&amp;#039;top&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
*Cele două intrări se vor nota cu in1, respectiv in2, și se vor conecta la switchurile SW3-SW2 (corespunzător biților 1-&amp;gt;0 ai lui &amp;#039;&amp;#039;&amp;#039;in1&amp;#039;&amp;#039;&amp;#039;, în această ordine), respectiv SW9-SW7 (corespunzător biților 2-&amp;gt;0 ai lui &amp;#039;&amp;#039;&amp;#039;in2&amp;#039;&amp;#039;&amp;#039;, în această ordine) .&lt;br /&gt;
*Ieșirile se vor conecta la pinii corespunzători pentru afișajul cu 7 segmente, Digit 2.&lt;br /&gt;
*Inmulțitorul și transcodorul vor fi descrise în module diferite (denumite &amp;#039;&amp;#039;&amp;#039;produs&amp;#039;&amp;#039;&amp;#039; și &amp;#039;&amp;#039;&amp;#039;afisaj7seg&amp;#039;&amp;#039;&amp;#039;, scrise în fișiere diferite, și instanțiate în modulul de &amp;#039;&amp;#039;top&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;Indicație:&amp;#039;&amp;#039; Produsul celor două numere (ieșirea înmulțitorului) este un număr pe 5 biți, notat, de ex, &amp;#039;&amp;#039;&amp;#039;prod&amp;#039;&amp;#039;&amp;#039;. Dacă rezultatul depășește valoarea 15, la ieșire vom afișa „eroare”, care poate fi simbolizată, de ex, de o liniuță pe poziția centrală (segmentul 6). Ieșirea modulului de top, notată out, se calculează în felul următor:&lt;br /&gt;
&lt;br /&gt;
assign out = prod[4] ? 7&amp;#039;b1111110 : out_seg;&lt;br /&gt;
&lt;br /&gt;
===Exercitiul 6===&lt;br /&gt;
&lt;br /&gt;
a. Completați și modificații transcodorul de la exemplul 2 astfel încât să poată afișa valorile de la 0 la 15, în baza 16 (10 = A, 11 = b, 12 = C, 13 = d, 14 = E, 15 = F) &amp;#039;&amp;#039;&amp;#039;pe a doua poziție din dreapta&amp;#039;&amp;#039;&amp;#039;. &lt;br /&gt;
*Denumiți modulul &amp;#039;&amp;#039;&amp;#039;afisaj7seg&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
*Biții &amp;#039;&amp;#039;&amp;#039;out_seg&amp;#039;&amp;#039;&amp;#039; corespund cu segmentele în modul următor:&lt;br /&gt;
&lt;br /&gt;
**Bitul 6 corespunde segmentului 1&lt;br /&gt;
**Bitul 5 corespunde segmentului 3&lt;br /&gt;
**Bitul 4 corespunde segmentului 2&lt;br /&gt;
**Bitul 3 corespunde segmentului 6&lt;br /&gt;
**Bitul 2 corespunde segmentului 4&lt;br /&gt;
**Bitul 1 corespunde segmentului 5&lt;br /&gt;
**Bitul 0 corespunde segmentului 0&lt;br /&gt;
&lt;br /&gt;
Verificați funcționarea corectă a afișajului pe placa DE1, conectând intrarea pe SW4-SW1. Modificați pinii la ieșire astfel încât valoarea să fie afișată pe &amp;#039;&amp;#039;&amp;#039;Digit 1&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
b. Realizați un circuit care face operația SAU  (bit cu bit) între 2 numere binare pe 4 biți, iar rezultatul, pe 4 biți, va fi afișat ca cifră hexazecimală cu ajutorul transcodorului de la pct. a). &lt;br /&gt;
Restricții:&lt;br /&gt;
&lt;br /&gt;
*Creați un nou proiect, în care modulul top-level este denumit &amp;#039;&amp;#039;&amp;#039;top&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
*Cele două intrări se vor nota cu in1, respectiv in2, și se vor conecta la switchurile SW8-SW5 (corespunzător biților 3-&amp;gt;0 ai lui &amp;#039;&amp;#039;&amp;#039;in1&amp;#039;&amp;#039;&amp;#039;, în această ordine), respectiv SW4-SW1 (corespunzător biților 3-&amp;gt;0 ai lui &amp;#039;&amp;#039;&amp;#039;in2&amp;#039;&amp;#039;&amp;#039;, în această ordine) .&lt;br /&gt;
*Ieșirile se vor conecta la pinii corespunzători pentru afișajul cu 7 segmente, Digit1.&lt;br /&gt;
*Circuitul logic și transcodorul vor fi descrise în module diferite (denumite &amp;#039;&amp;#039;&amp;#039;sau&amp;#039;&amp;#039;&amp;#039; și &amp;#039;&amp;#039;&amp;#039;afisaj7seg&amp;#039;&amp;#039;&amp;#039;, scrise în fișiere diferite, și instanțiate în modulul de &amp;#039;&amp;#039;top&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Fișier:transcoder.png]]&lt;br /&gt;
&lt;br /&gt;
== Submiterea Exercițiilor ==&lt;br /&gt;
&lt;br /&gt;
Pentru notare, se vor submite următoarele fișiere, către adresa de e-mail indicată de cadrul didactic.&lt;br /&gt;
&lt;br /&gt;
O arhivă &amp;lt;span style=&amp;quot;color: red; font-weight: bold&amp;quot;&amp;gt;zip&amp;lt;/span&amp;gt; ce va conține:&lt;br /&gt;
*Trei fișiere Verilog cu extensia .v care conțin descrierea Verilog a circuitului logic, a transcodorului și a modulului de top.&lt;br /&gt;
*Un fișier de constrângeri, cu extensia .qsf&lt;br /&gt;
*Un fișier de tip proiect Quartus, cu extensia .qpf&lt;br /&gt;
Atentie, arhiva va contine doar cele 4 fisiere (fara directoare).&lt;br /&gt;
&lt;br /&gt;
Subiectul mesajului de e-mail trebuie să respecte formatul &amp;lt;span style=&amp;quot;color: red; font-weight: bold&amp;quot;&amp;gt;[Nume]_[Prenume]_[Grupa]_7seg_[Nr. Exercitiu]&amp;lt;/span&amp;gt; de exemplu Petrica_Lucian_423B_7seg_4&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
Creați un proiect Xilinx ISE, descrierea Verilog și constrângerile necesare pentru a implementa pe placa Nexys2 circuitul care afișează, pe una din cifrele afișajului cu 7 segmente, primele 4 numere (0, 1, 2, 3), atunci când valoarea binară corespunzătoare este formată prin apăsarea butoanelor BTN0 și BTN1. Astfel, circuitul descris trebuie să respecte următoarele cerințe:&lt;br /&gt;
* are o intrare numită &amp;#039;&amp;#039;&amp;#039;binary_input&amp;#039;&amp;#039;&amp;#039; de doi biți, bitul cel mai putin semnificativ fiind conectat la BTN0, iar bitul cel mai semnificativ fiind conectat la BTN1&lt;br /&gt;
* are ieșirile necesare pentru activarea afișajului cu 7 segmente, denumite &amp;#039;&amp;#039;&amp;#039;ca&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;cb&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;cc&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;cd&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;ce&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;cf&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;cg&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;cp&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* are ieșirile necesare pentru controlul aprinderii cifrei, denumite &amp;#039;&amp;#039;&amp;#039;an0&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;an1&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;an2&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;an3&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* folosește operatori logici și blocuri de tip &amp;#039;&amp;#039;&amp;#039;assign&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Recomandări pentru cadrele didactice ==&lt;br /&gt;
* Se vor introduce noțiunile necesare folosirii [[Dispozitiv_de_IO:_Afișajul_cu_7_segmente|afișajului cu 7 segmente]]&lt;br /&gt;
&amp;lt;!--* În vederea rezolvării cerinței, cadrul didactic va desena tabela de adevăr a funcției logice care activează segmentul CA, și va ghida studenții pentru identificarea funcției logice și implementarea ei în Verilog folosind operatori logici.--&amp;gt;&lt;/div&gt;</summary>
		<author><name>Mdascalu</name></author>
	</entry>
	<entry>
		<id>http://wiki.dcae.pub.ro/index.php?title=CID_Lab_Lucrarea_2&amp;diff=5283</id>
		<title>CID Lab Lucrarea 2</title>
		<link rel="alternate" type="text/html" href="http://wiki.dcae.pub.ro/index.php?title=CID_Lab_Lucrarea_2&amp;diff=5283"/>
		<updated>2017-03-17T00:16:52Z</updated>

		<summary type="html">&lt;p&gt;Mdascalu: /* Exerciții */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Noțiuni și cunoștințe necesare ==&lt;br /&gt;
&lt;br /&gt;
* [[Tutorial_Quartus_II| Utilizarea programului de sinteză Altera Quartus II]]&lt;br /&gt;
* [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]&lt;br /&gt;
* [[Introducere. Verilog HDL și ModelSim|Logică booleană și sisteme de numerație]]&lt;br /&gt;
* Noțiuni de sintaxă [[Verilog]]&lt;br /&gt;
* [[Dispozitiv_de_IO:_Afișajul_cu_7_segmente|Afișajul cu 7 segmente]]&lt;br /&gt;
&lt;br /&gt;
== Exemplul 1 ==&lt;br /&gt;
&lt;br /&gt;
Realizați un decodor de doi biți folosind un bloc &amp;#039;&amp;#039;&amp;#039;case&amp;#039;&amp;#039;&amp;#039;. Testați decodorul legând intrările la switch-uri și ieșirile la led-uri.&lt;br /&gt;
&lt;br /&gt;
== Exemplul 2 ==&lt;br /&gt;
 &lt;br /&gt;
Realizați un transcodor pentru afișajul cu 7 segmente, folosind un bloc &amp;#039;&amp;#039;&amp;#039;case&amp;#039;&amp;#039;&amp;#039;, care să poată afișa valorile de la 0 la 3. Intrarea modulului se va numi &amp;#039;&amp;#039;&amp;#039;value&amp;#039;&amp;#039;&amp;#039; iar ieșirea &amp;#039;&amp;#039;&amp;#039;out_seg&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
Testați decodorul aplicând intrarea pe SW1 și SW0 și afișând ieșirea pe afișajul cu 7 segmente, cifra din dreapta (Digit0).&lt;br /&gt;
&lt;br /&gt;
== Exerciții ==&lt;br /&gt;
&lt;br /&gt;
Următoarele exerciții folosesc transcodorul binar - 7 segemente pentru afișarea în hexazecimal a rezultatului unei operații simple. Pentru a vă asigura că transcodorul este scris corect, la pct. a veți verifica funcționarea lui. Proiectul pe care trebuie să-l trimiteți la final este cel de la pct. b.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Exercitiul 1===&lt;br /&gt;
a. Completați și modificații transcodorul de la exemplul 2 astfel încât să poată afișa valorile de la 0 la 15, în baza 16 (10 = A, 11 = b, 12 = C, 13 = d, 14 = E, 15 = F) &amp;#039;&amp;#039;&amp;#039;pe a doua poziție din dreapta&amp;#039;&amp;#039;&amp;#039;. &lt;br /&gt;
*Denumiți modulul &amp;#039;&amp;#039;&amp;#039;afisaj7seg&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
*Biții &amp;#039;&amp;#039;&amp;#039;out_seg&amp;#039;&amp;#039;&amp;#039; corespund cu segmentele în modul următor:&lt;br /&gt;
&lt;br /&gt;
**Bitul 6 corespunde segmentului 0&lt;br /&gt;
**Bitul 5 corespunde segmentului 1&lt;br /&gt;
**Bitul 4 corespunde segmentului 2&lt;br /&gt;
**Bitul 3 corespunde segmentului 3&lt;br /&gt;
**Bitul 2 corespunde segmentului 4&lt;br /&gt;
**Bitul 1 corespunde segmentului 5&lt;br /&gt;
**Bitul 0 corespunde segmentului 6&lt;br /&gt;
&lt;br /&gt;
Verificați funcționarea corectă a afișajului pe placa DE1, conectând intrarea pe SW3-SW0. Modificați pinii la ieșire astfel încât valoarea să fie afișată pe &amp;#039;&amp;#039;&amp;#039;Digit 1&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
b. Realizați un circuit care adună două numere binare pe 3 biți, iar rezultatul, pe 4 biți, va fi afișat ca cifră hexazecimală cu ajutorul transcodorului de la pct. a). &lt;br /&gt;
Restricții:&lt;br /&gt;
&lt;br /&gt;
*Creați un nou proiect, în care modulul top-level este denumit &amp;#039;&amp;#039;&amp;#039;top&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
*Cele două intrări se vor nota cu a, respectiv b, și se vor conecta la switchurile SW2-SW0 (corespunzător biților 2-&amp;gt;0 ai lui &amp;#039;&amp;#039;&amp;#039;a&amp;#039;&amp;#039;&amp;#039;, în această ordine), respectiv SW9-SW7 (corespunzător biților 2-&amp;gt;0 ai lui &amp;#039;&amp;#039;&amp;#039;b&amp;#039;&amp;#039;&amp;#039;, în această ordine) .&lt;br /&gt;
*Ieșirile se vor conecta la pinii corespunzători pentru afișajul cu 7 segmente, Digit 1.&lt;br /&gt;
*Sumatorul și transcodorul vor fi descrise în module diferite (denumite &amp;#039;&amp;#039;&amp;#039;sumator&amp;#039;&amp;#039;&amp;#039; și &amp;#039;&amp;#039;&amp;#039;afisaj7seg&amp;#039;&amp;#039;&amp;#039;, scrise în fișiere diferite, și instanțiate în modulul de &amp;#039;&amp;#039;top&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
===Exercitiul 2===&lt;br /&gt;
&lt;br /&gt;
a. Completați și modificații transcodorul de la exemplul 2 astfel încât să poată afișa valorile de la 0 la 15, în baza 16 (10 = A, 11 = b, 12 = C, 13 = d, 14 = E, 15 = F) &amp;#039;&amp;#039;&amp;#039;pe poziția din stânga&amp;#039;&amp;#039;&amp;#039;. &lt;br /&gt;
*Denumiți modulul &amp;#039;&amp;#039;&amp;#039;afisaj7seg&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
*Biții &amp;#039;&amp;#039;&amp;#039;out_seg&amp;#039;&amp;#039;&amp;#039; corespund cu segmentele în modul următor:&lt;br /&gt;
&lt;br /&gt;
**Bitul 6 corespunde segmentului 1&lt;br /&gt;
**Bitul 5 corespunde segmentului 2&lt;br /&gt;
**Bitul 4 corespunde segmentului 3&lt;br /&gt;
**Bitul 3 corespunde segmentului 4&lt;br /&gt;
**Bitul 2 corespunde segmentului 5&lt;br /&gt;
**Bitul 1 corespunde segmentului 6&lt;br /&gt;
**Bitul 0 corespunde segmentului 0&lt;br /&gt;
&lt;br /&gt;
Verificați funcționarea corectă a afișajului pe placa DE1, conectând intrarea pe SW5-SW2. Modificați pinii la ieșire astfel încât valoarea să fie afișată pe &amp;#039;&amp;#039;&amp;#039;Digit 3&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
b. Realizați un circuit care înmulțește două numere binare, numărul a, pe 3 biți, și numărul b, pe 2 biți, iar rezultatul, pe 4 biți, va fi afișat ca cifră hexazecimală cu ajutorul transcodorului de la pct. a). &lt;br /&gt;
Restricții:&lt;br /&gt;
&lt;br /&gt;
*Creați un nou proiect, în care modulul top-level este denumit &amp;#039;&amp;#039;&amp;#039;top&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
*Cele două intrări se vor nota cu a, respectiv b, și se vor conecta la switchurile SW9-SW7 (corespunzător biților 2-&amp;gt;0 ai lui &amp;#039;&amp;#039;&amp;#039;a&amp;#039;&amp;#039;&amp;#039;, în această ordine), respectiv SW2-SW1 (corespunzător biților 1-&amp;gt;0 ai lui &amp;#039;&amp;#039;&amp;#039;b&amp;#039;&amp;#039;&amp;#039;, în această ordine) .&lt;br /&gt;
*Ieșirile se vor conecta la pinii corespunzători pentru afișajul cu 7 segmente, Digit 3.&lt;br /&gt;
*Inmulțitorul și transcodorul vor fi descrise în module diferite (denumite &amp;#039;&amp;#039;&amp;#039;produs&amp;#039;&amp;#039;&amp;#039; și &amp;#039;&amp;#039;&amp;#039;afisaj7seg&amp;#039;&amp;#039;&amp;#039;, scrise în fișiere diferite, și instanțiate în modulul de &amp;#039;&amp;#039;top&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;Indicație:&amp;#039;&amp;#039; Produsul celor două numere (ieșirea înmulțitorului) este un număr pe 5 biți, notat, de ex, &amp;#039;&amp;#039;&amp;#039;prod&amp;#039;&amp;#039;&amp;#039;. Dacă rezultatul depășește valoarea 15, la ieșire vom afișa „eroare”, care poate fi simbolizată, de ex, de o liniuță pe poziția centrală (segmentul 6). Ieșirea modulului de top, notată out, se calculează în felul următor:&lt;br /&gt;
&lt;br /&gt;
assign out = prod[4] ? 7&amp;#039;b1111101 : out_seg;&lt;br /&gt;
&lt;br /&gt;
===Exercitiul 3===&lt;br /&gt;
&lt;br /&gt;
a. Completați și modificații transcodorul de la exemplul 2 astfel încât să poată afișa valorile de la 0 la 15, în baza 16 (10 = A, 11 = b, 12 = C, 13 = d, 14 = E, 15 = F) &amp;#039;&amp;#039;&amp;#039;pe a doua poziție din stânga&amp;#039;&amp;#039;&amp;#039;. &lt;br /&gt;
*Denumiți modulul &amp;#039;&amp;#039;&amp;#039;afisaj7seg&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
*Biții &amp;#039;&amp;#039;&amp;#039;out_seg&amp;#039;&amp;#039;&amp;#039; corespund cu segmentele în modul următor:&lt;br /&gt;
&lt;br /&gt;
**Bitul 6 corespunde segmentului 1&lt;br /&gt;
**Bitul 5 corespunde segmentului 3&lt;br /&gt;
**Bitul 4 corespunde segmentului 2&lt;br /&gt;
**Bitul 3 corespunde segmentului 6&lt;br /&gt;
**Bitul 2 corespunde segmentului 4&lt;br /&gt;
**Bitul 1 corespunde segmentului 5&lt;br /&gt;
**Bitul 0 corespunde segmentului 0&lt;br /&gt;
&lt;br /&gt;
Verificați funcționarea corectă a afișajului pe placa DE1, conectând intrarea pe SW4-SW1. Modificați pinii la ieșire astfel încât valoarea să fie afișată pe &amp;#039;&amp;#039;&amp;#039;Digit 2&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
b. Realizați un circuit care face operația SAU EXCLUSIV (bit cu bit) între 2 numere binare pe 4 biți, iar rezultatul, pe 4 biți, va fi afișat ca cifră hexazecimală cu ajutorul transcodorului de la pct. a). &lt;br /&gt;
Restricții:&lt;br /&gt;
&lt;br /&gt;
*Creați un nou proiect, în care modulul top-level este denumit &amp;#039;&amp;#039;&amp;#039;top&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
*Cele două intrări se vor nota cu a, respectiv b, și se vor conecta la switchurile SW3-SW0 (corespunzător biților 3-&amp;gt;0 ai lui &amp;#039;&amp;#039;&amp;#039;a&amp;#039;&amp;#039;&amp;#039;, în această ordine), respectiv SW9-SW6 (corespunzător biților 3-&amp;gt;0 ai lui &amp;#039;&amp;#039;&amp;#039;b&amp;#039;&amp;#039;&amp;#039;, în această ordine) .&lt;br /&gt;
*Ieșirile se vor conecta la pinii corespunzători pentru afișajul cu 7 segmente, Digit 2.&lt;br /&gt;
*Circuitul logic și transcodorul vor fi descrise în module diferite (denumite &amp;#039;&amp;#039;&amp;#039;sau_exclusiv&amp;#039;&amp;#039;&amp;#039; și &amp;#039;&amp;#039;&amp;#039;afisaj7seg&amp;#039;&amp;#039;&amp;#039;, scrise în fișiere diferite, și instanțiate în modulul de &amp;#039;&amp;#039;top&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
===Exercitiul 4===&lt;br /&gt;
&lt;br /&gt;
a. Completați și modificații transcodorul de la exemplul 2 astfel încât să poată afișa valorile de la 0 la 15, în baza 16 (10 = A, 11 = b, 12 = C, 13 = d, 14 = E, 15 = F) &amp;#039;&amp;#039;&amp;#039;pe poziția din stânga&amp;#039;&amp;#039;&amp;#039;. &lt;br /&gt;
*Denumiți modulul &amp;#039;&amp;#039;&amp;#039;afisaj7seg&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
*Biții &amp;#039;&amp;#039;&amp;#039;out_seg&amp;#039;&amp;#039;&amp;#039; corespund cu segmentele în modul următor:&lt;br /&gt;
&lt;br /&gt;
**Bitul 6 corespunde segmentului 2&lt;br /&gt;
**Bitul 5 corespunde segmentului 4&lt;br /&gt;
**Bitul 4 corespunde segmentului 6&lt;br /&gt;
**Bitul 3 corespunde segmentului 3&lt;br /&gt;
**Bitul 2 corespunde segmentului 4&lt;br /&gt;
**Bitul 1 corespunde segmentului 1&lt;br /&gt;
**Bitul 0 corespunde segmentului 0&lt;br /&gt;
&lt;br /&gt;
Verificați funcționarea corectă a afișajului pe placa DE1, conectând intrarea pe SW9-SW6. Modificați pinii la ieșire astfel încât valoarea să fie afișată pe &amp;#039;&amp;#039;&amp;#039;Digit 3&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
b. Realizați un circuit care adună două numere binare pe 3 biți, iar rezultatul, pe 4 biți, va fi afișat ca cifră hexazecimală cu ajutorul transcodorului de la pct. a). &lt;br /&gt;
Restricții:&lt;br /&gt;
&lt;br /&gt;
*Creați un nou proiect, în care modulul top-level este denumit &amp;#039;&amp;#039;&amp;#039;top&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
*Cele două intrări se vor nota cu in1, respectiv in2, și se vor conecta la switchurile SW7-SW5 (corespunzător biților 2-&amp;gt;0 ai lui &amp;#039;&amp;#039;&amp;#039;in1&amp;#039;&amp;#039;&amp;#039;, în această ordine), respectiv SW4-SW2 (corespunzător biților 2-&amp;gt;0 ai lui &amp;#039;&amp;#039;&amp;#039;in2&amp;#039;&amp;#039;&amp;#039;, în această ordine) .&lt;br /&gt;
*Ieșirile se vor conecta la pinii corespunzători pentru afișajul cu 7 segmente, Digit 3.&lt;br /&gt;
*Sumatorul și transcodorul vor fi descrise în module diferite (denumite &amp;#039;&amp;#039;&amp;#039;sumator&amp;#039;&amp;#039;&amp;#039; și &amp;#039;&amp;#039;&amp;#039;afisaj7seg&amp;#039;&amp;#039;&amp;#039;, scrise în fișiere diferite, și instanțiate în modulul de &amp;#039;&amp;#039;top&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Exercitiul 5===&lt;br /&gt;
&lt;br /&gt;
a. Completați și modificații transcodorul de la exemplul 2 astfel încât să poată afișa valorile de la 0 la 15, în baza 16 (10 = A, 11 = b, 12 = C, 13 = d, 14 = E, 15 = F) &amp;#039;&amp;#039;&amp;#039;pe poziția a doua din stânga&amp;#039;&amp;#039;&amp;#039;. &lt;br /&gt;
*Denumiți modulul &amp;#039;&amp;#039;&amp;#039;afisaj7seg&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
*Biții &amp;#039;&amp;#039;&amp;#039;out_seg&amp;#039;&amp;#039;&amp;#039; corespund cu segmentele în modul următor:&lt;br /&gt;
&lt;br /&gt;
**Bitul 6 corespunde segmentului 3&lt;br /&gt;
**Bitul 5 corespunde segmentului 4&lt;br /&gt;
**Bitul 4 corespunde segmentului 1&lt;br /&gt;
**Bitul 3 corespunde segmentului 2&lt;br /&gt;
**Bitul 2 corespunde segmentului 0&lt;br /&gt;
**Bitul 1 corespunde segmentului 5&lt;br /&gt;
**Bitul 0 corespunde segmentului 6&lt;br /&gt;
&lt;br /&gt;
Verificați funcționarea corectă a afișajului pe placa DE1, conectând intrarea pe SW8-SW5. Modificați pinii la ieșire astfel încât valoarea să fie afișată pe &amp;#039;&amp;#039;&amp;#039;Digit 2&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
b. Realizați un circuit care înmulțește două numere binare, numărul in1, pe 2 biți, și numărul in2, pe 3 biți, iar rezultatul, pe 4 biți, va fi afișat ca cifră hexazecimală cu ajutorul transcodorului de la pct. a). &lt;br /&gt;
Restricții:&lt;br /&gt;
&lt;br /&gt;
*Creați un nou proiect, în care modulul top-level este denumit &amp;#039;&amp;#039;&amp;#039;top&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
*Cele două intrări se vor nota cu in1, respectiv in2, și se vor conecta la switchurile SW3-SW2 (corespunzător biților 1-&amp;gt;0 ai lui &amp;#039;&amp;#039;&amp;#039;in1&amp;#039;&amp;#039;&amp;#039;, în această ordine), respectiv SW9-SW7 (corespunzător biților 2-&amp;gt;0 ai lui &amp;#039;&amp;#039;&amp;#039;in2&amp;#039;&amp;#039;&amp;#039;, în această ordine) .&lt;br /&gt;
*Ieșirile se vor conecta la pinii corespunzători pentru afișajul cu 7 segmente, Digit 2.&lt;br /&gt;
*Inmulțitorul și transcodorul vor fi descrise în module diferite (denumite &amp;#039;&amp;#039;&amp;#039;produs&amp;#039;&amp;#039;&amp;#039; și &amp;#039;&amp;#039;&amp;#039;afisaj7seg&amp;#039;&amp;#039;&amp;#039;, scrise în fișiere diferite, și instanțiate în modulul de &amp;#039;&amp;#039;top&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;Indicație:&amp;#039;&amp;#039; Produsul celor două numere (ieșirea înmulțitorului) este un număr pe 5 biți, notat, de ex, &amp;#039;&amp;#039;&amp;#039;prod&amp;#039;&amp;#039;&amp;#039;. Dacă rezultatul depășește valoarea 15, la ieșire vom afișa „eroare”, care poate fi simbolizată, de ex, de o liniuță pe poziția centrală (segmentul 6). Ieșirea modulului de top, notată out, se calculează în felul următor:&lt;br /&gt;
&lt;br /&gt;
assign out = prod[4] ? 7&amp;#039;b1111110 : out_seg;&lt;br /&gt;
&lt;br /&gt;
===Exercitiul 6===&lt;br /&gt;
&lt;br /&gt;
a. Completați și modificații transcodorul de la exemplul 2 astfel încât să poată afișa valorile de la 0 la 15, în baza 16 (10 = A, 11 = b, 12 = C, 13 = d, 14 = E, 15 = F) &amp;#039;&amp;#039;&amp;#039;pe a doua poziție din dreapta&amp;#039;&amp;#039;&amp;#039;. &lt;br /&gt;
*Denumiți modulul &amp;#039;&amp;#039;&amp;#039;afisaj7seg&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
*Biții &amp;#039;&amp;#039;&amp;#039;out_seg&amp;#039;&amp;#039;&amp;#039; corespund cu segmentele în modul următor:&lt;br /&gt;
&lt;br /&gt;
**Bitul 6 corespunde segmentului 1&lt;br /&gt;
**Bitul 5 corespunde segmentului 3&lt;br /&gt;
**Bitul 4 corespunde segmentului 2&lt;br /&gt;
**Bitul 3 corespunde segmentului 6&lt;br /&gt;
**Bitul 2 corespunde segmentului 4&lt;br /&gt;
**Bitul 1 corespunde segmentului 5&lt;br /&gt;
**Bitul 0 corespunde segmentului 0&lt;br /&gt;
&lt;br /&gt;
Verificați funcționarea corectă a afișajului pe placa DE1, conectând intrarea pe SW4-SW1. Modificați pinii la ieșire astfel încât valoarea să fie afișată pe &amp;#039;&amp;#039;&amp;#039;Digit 1&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
b. Realizați un circuit care face operația SAU  (bit cu bit) între 2 numere binare pe 4 biți, iar rezultatul, pe 4 biți, va fi afișat ca cifră hexazecimală cu ajutorul transcodorului de la pct. a). &lt;br /&gt;
Restricții:&lt;br /&gt;
&lt;br /&gt;
*Creați un nou proiect, în care modulul top-level este denumit &amp;#039;&amp;#039;&amp;#039;top&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
*Cele două intrări se vor nota cu in1, respectiv in2, și se vor conecta la switchurile SW8-SW5 (corespunzător biților 3-&amp;gt;0 ai lui &amp;#039;&amp;#039;&amp;#039;in1&amp;#039;&amp;#039;&amp;#039;, în această ordine), respectiv SW4-SW1 (corespunzător biților 3-&amp;gt;0 ai lui &amp;#039;&amp;#039;&amp;#039;in2&amp;#039;&amp;#039;&amp;#039;, în această ordine) .&lt;br /&gt;
*Ieșirile se vor conecta la pinii corespunzători pentru afișajul cu 7 segmente, Digit1.&lt;br /&gt;
*Circuitul logic și transcodorul vor fi descrise în module diferite (denumite &amp;#039;&amp;#039;&amp;#039;sau&amp;#039;&amp;#039;&amp;#039; și &amp;#039;&amp;#039;&amp;#039;afisaj7seg&amp;#039;&amp;#039;&amp;#039;, scrise în fișiere diferite, și instanțiate în modulul de &amp;#039;&amp;#039;top&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Fișier:transcoder.png]]&lt;br /&gt;
&lt;br /&gt;
== Submiterea Exercițiilor ==&lt;br /&gt;
&lt;br /&gt;
Pentru notare, se vor submite următoarele fișiere, către adresa de e-mail indicată de cadrul didactic.&lt;br /&gt;
&lt;br /&gt;
O arhivă &amp;lt;span style=&amp;quot;color: red; font-weight: bold&amp;quot;&amp;gt;zip&amp;lt;/span&amp;gt; ce va conține:&lt;br /&gt;
*Un fișier Verilog cu extensia .v care conține descrierea Verilog a circuitului&lt;br /&gt;
*Un fișier de constrângeri, cu extensia .qsf&lt;br /&gt;
*Un fișier de tip proiect Quartus, cu extensia .qpf&lt;br /&gt;
Atentie, arhiva va contine doar cele 3 fisiere (fara directoare).&lt;br /&gt;
&lt;br /&gt;
Subiectul mesajului de e-mail trebuie să respecte formatul &amp;lt;span style=&amp;quot;color: red; font-weight: bold&amp;quot;&amp;gt;[Nume]_[Prenume]_[Grupa]_7seg_[Nr. Exercitiu]&amp;lt;/span&amp;gt; de exemplu Petrica_Lucian_423B_7seg_4&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
Creați un proiect Xilinx ISE, descrierea Verilog și constrângerile necesare pentru a implementa pe placa Nexys2 circuitul care afișează, pe una din cifrele afișajului cu 7 segmente, primele 4 numere (0, 1, 2, 3), atunci când valoarea binară corespunzătoare este formată prin apăsarea butoanelor BTN0 și BTN1. Astfel, circuitul descris trebuie să respecte următoarele cerințe:&lt;br /&gt;
* are o intrare numită &amp;#039;&amp;#039;&amp;#039;binary_input&amp;#039;&amp;#039;&amp;#039; de doi biți, bitul cel mai putin semnificativ fiind conectat la BTN0, iar bitul cel mai semnificativ fiind conectat la BTN1&lt;br /&gt;
* are ieșirile necesare pentru activarea afișajului cu 7 segmente, denumite &amp;#039;&amp;#039;&amp;#039;ca&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;cb&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;cc&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;cd&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;ce&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;cf&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;cg&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;cp&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* are ieșirile necesare pentru controlul aprinderii cifrei, denumite &amp;#039;&amp;#039;&amp;#039;an0&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;an1&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;an2&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;an3&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* folosește operatori logici și blocuri de tip &amp;#039;&amp;#039;&amp;#039;assign&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Recomandări pentru cadrele didactice ==&lt;br /&gt;
* Se vor introduce noțiunile necesare folosirii [[Dispozitiv_de_IO:_Afișajul_cu_7_segmente|afișajului cu 7 segmente]]&lt;br /&gt;
&amp;lt;!--* În vederea rezolvării cerinței, cadrul didactic va desena tabela de adevăr a funcției logice care activează segmentul CA, și va ghida studenții pentru identificarea funcției logice și implementarea ei în Verilog folosind operatori logici.--&amp;gt;&lt;/div&gt;</summary>
		<author><name>Mdascalu</name></author>
	</entry>
	<entry>
		<id>http://wiki.dcae.pub.ro/index.php?title=CID_Lab_Lucrarea_2&amp;diff=5282</id>
		<title>CID Lab Lucrarea 2</title>
		<link rel="alternate" type="text/html" href="http://wiki.dcae.pub.ro/index.php?title=CID_Lab_Lucrarea_2&amp;diff=5282"/>
		<updated>2017-03-17T00:05:39Z</updated>

		<summary type="html">&lt;p&gt;Mdascalu: /* Exerciții */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Noțiuni și cunoștințe necesare ==&lt;br /&gt;
&lt;br /&gt;
* [[Tutorial_Quartus_II| Utilizarea programului de sinteză Altera Quartus II]]&lt;br /&gt;
* [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]&lt;br /&gt;
* [[Introducere. Verilog HDL și ModelSim|Logică booleană și sisteme de numerație]]&lt;br /&gt;
* Noțiuni de sintaxă [[Verilog]]&lt;br /&gt;
* [[Dispozitiv_de_IO:_Afișajul_cu_7_segmente|Afișajul cu 7 segmente]]&lt;br /&gt;
&lt;br /&gt;
== Exemplul 1 ==&lt;br /&gt;
&lt;br /&gt;
Realizați un decodor de doi biți folosind un bloc &amp;#039;&amp;#039;&amp;#039;case&amp;#039;&amp;#039;&amp;#039;. Testați decodorul legând intrările la switch-uri și ieșirile la led-uri.&lt;br /&gt;
&lt;br /&gt;
== Exemplul 2 ==&lt;br /&gt;
 &lt;br /&gt;
Realizați un transcodor pentru afișajul cu 7 segmente, folosind un bloc &amp;#039;&amp;#039;&amp;#039;case&amp;#039;&amp;#039;&amp;#039;, care să poată afișa valorile de la 0 la 3. Intrarea modulului se va numi &amp;#039;&amp;#039;&amp;#039;value&amp;#039;&amp;#039;&amp;#039; iar ieșirea &amp;#039;&amp;#039;&amp;#039;out_seg&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
Testați decodorul aplicând intrarea pe SW1 și SW0 și afișând ieșirea pe afișajul cu 7 segmente, cifra din dreapta (Digit0).&lt;br /&gt;
&lt;br /&gt;
== Exerciții ==&lt;br /&gt;
&lt;br /&gt;
Următoarele exerciții folosesc transcodorul binar - 7 segemente pentru afișarea în hexazecimal a rezultatului unei operații simple. Pentru a vă asigura că transcodorul este scris corect, la pct. a veți verifica funcționarea lui. Proiectul pe care trebuie să-l trimiteți la final este cel de la pct. b.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Exercitiul 1===&lt;br /&gt;
a. Completați și modificații transcodorul de la exemplul 2 astfel încât să poată afișa valorile de la 0 la 15, în baza 16 (10 = A, 11 = b, 12 = C, 13 = d, 14 = E, 15 = F) &amp;#039;&amp;#039;&amp;#039;pe a doua poziție din dreapta&amp;#039;&amp;#039;&amp;#039;. &lt;br /&gt;
*Denumiți modulul &amp;#039;&amp;#039;&amp;#039;afisaj7seg&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
*Biții &amp;#039;&amp;#039;&amp;#039;out_seg&amp;#039;&amp;#039;&amp;#039; corespund cu segmentele în modul următor:&lt;br /&gt;
&lt;br /&gt;
**Bitul 6 corespunde segmentului 0&lt;br /&gt;
**Bitul 5 corespunde segmentului 1&lt;br /&gt;
**Bitul 4 corespunde segmentului 2&lt;br /&gt;
**Bitul 3 corespunde segmentului 3&lt;br /&gt;
**Bitul 2 corespunde segmentului 4&lt;br /&gt;
**Bitul 1 corespunde segmentului 5&lt;br /&gt;
**Bitul 0 corespunde segmentului 6&lt;br /&gt;
&lt;br /&gt;
Verificați funcționarea corectă a afișajului pe placa DE1, conectând intrarea pe SW3-SW0. Modificați pinii la ieșire astfel încât valoarea să fie afișată pe &amp;#039;&amp;#039;&amp;#039;Digit 1&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
b. Realizați un circuit care adună două numere binare pe 3 biți, iar rezultatul, pe 4 biți, va fi afișat ca cifră hexazecimală cu ajutorul transcodorului de la pct. a). &lt;br /&gt;
Restricții:&lt;br /&gt;
&lt;br /&gt;
*Creați un nou proiect, în care modulul top-level este denumit &amp;#039;&amp;#039;&amp;#039;top&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
*Cele două intrări se vor nota cu a, respectiv b, și se vor conecta la switchurile SW2-SW0 (corespunzător biților 2-&amp;gt;0 ai lui &amp;#039;&amp;#039;&amp;#039;a&amp;#039;&amp;#039;&amp;#039;, în această ordine), respectiv SW9-SW7 (corespunzător biților 2-&amp;gt;0 ai lui &amp;#039;&amp;#039;&amp;#039;b&amp;#039;&amp;#039;&amp;#039;, în această ordine) .&lt;br /&gt;
*Ieșirile se vor conecta la pinii corespunzători pentru afișajul cu 7 segmente, Digit 1.&lt;br /&gt;
*Sumatorul și transcodorul vor fi descrise în module diferite (denumite &amp;#039;&amp;#039;&amp;#039;sumator&amp;#039;&amp;#039;&amp;#039; și &amp;#039;&amp;#039;&amp;#039;afisaj7seg&amp;#039;&amp;#039;&amp;#039;, scrise în fișiere diferite, și instanțiate în modulul de &amp;#039;&amp;#039;top&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
===Exercitiul 2===&lt;br /&gt;
&lt;br /&gt;
a. Completați și modificații transcodorul de la exemplul 2 astfel încât să poată afișa valorile de la 0 la 15, în baza 16 (10 = A, 11 = b, 12 = C, 13 = d, 14 = E, 15 = F) &amp;#039;&amp;#039;&amp;#039;pe poziția din stânga&amp;#039;&amp;#039;&amp;#039;. &lt;br /&gt;
*Denumiți modulul &amp;#039;&amp;#039;&amp;#039;afisaj7seg&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
*Biții &amp;#039;&amp;#039;&amp;#039;out_seg&amp;#039;&amp;#039;&amp;#039; corespund cu segmentele în modul următor:&lt;br /&gt;
&lt;br /&gt;
**Bitul 6 corespunde segmentului 1&lt;br /&gt;
**Bitul 5 corespunde segmentului 2&lt;br /&gt;
**Bitul 4 corespunde segmentului 3&lt;br /&gt;
**Bitul 3 corespunde segmentului 4&lt;br /&gt;
**Bitul 2 corespunde segmentului 5&lt;br /&gt;
**Bitul 1 corespunde segmentului 6&lt;br /&gt;
**Bitul 0 corespunde segmentului 0&lt;br /&gt;
&lt;br /&gt;
Verificați funcționarea corectă a afișajului pe placa DE1, conectând intrarea pe SW5-SW2. Modificați pinii la ieșire astfel încât valoarea să fie afișată pe &amp;#039;&amp;#039;&amp;#039;Digit 3&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
b. Realizați un circuit care înmulțește două numere binare, numărul a, pe 3 biți, și numărul b, pe 2 biți, iar rezultatul, pe 4 biți, va fi afișat ca cifră hexazecimală cu ajutorul transcodorului de la pct. a). &lt;br /&gt;
Restricții:&lt;br /&gt;
&lt;br /&gt;
*Creați un nou proiect, în care modulul top-level este denumit &amp;#039;&amp;#039;&amp;#039;top&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
*Cele două intrări se vor nota cu a, respectiv b, și se vor conecta la switchurile SW9-SW7 (corespunzător biților 2-&amp;gt;0 ai lui &amp;#039;&amp;#039;&amp;#039;a&amp;#039;&amp;#039;&amp;#039;, în această ordine), respectiv SW2-SW1 (corespunzător biților 1-&amp;gt;0 ai lui &amp;#039;&amp;#039;&amp;#039;b&amp;#039;&amp;#039;&amp;#039;, în această ordine) .&lt;br /&gt;
*Ieșirile se vor conecta la pinii corespunzători pentru afișajul cu 7 segmente, Digit 3.&lt;br /&gt;
*Inmulțitorul și transcodorul vor fi descrise în module diferite (denumite &amp;#039;&amp;#039;&amp;#039;produs&amp;#039;&amp;#039;&amp;#039; și &amp;#039;&amp;#039;&amp;#039;afisaj7seg&amp;#039;&amp;#039;&amp;#039;, scrise în fișiere diferite, și instanțiate în modulul de &amp;#039;&amp;#039;top&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;Indicație:&amp;#039;&amp;#039; Produsul celor două numere (ieșirea înmulțitorului) este un număr pe 5 biți, notat, de ex, &amp;#039;&amp;#039;&amp;#039;prod&amp;#039;&amp;#039;&amp;#039;. Dacă rezultatul depășește valoarea 15, la ieșire vom afișa „eroare”, care poate fi simbolizată, de ex, de o liniuță pe poziția centrală (segmentul 6). Ieșirea modulului de top, notată out, se calculează în felul următor:&lt;br /&gt;
&lt;br /&gt;
assign out = prod[4] ? 7&amp;#039;b1111101 : out_seg&lt;br /&gt;
&lt;br /&gt;
===Exercitiul 3===&lt;br /&gt;
&lt;br /&gt;
*Intrarea &amp;#039;&amp;#039;&amp;#039;value&amp;#039;&amp;#039;&amp;#039; se va conecta la switchurile SW6-SW3 (corespunzător biților 3-&amp;gt;0 ai &amp;#039;&amp;#039;&amp;#039;value&amp;#039;&amp;#039;&amp;#039;, în această ordine)&lt;br /&gt;
*Intrarea &amp;#039;&amp;#039;&amp;#039;selection&amp;#039;&amp;#039;&amp;#039; se va conecta la SW2-SW1 (corespunzător biților 1-&amp;gt;0 ai &amp;#039;&amp;#039;&amp;#039;selection&amp;#039;&amp;#039;&amp;#039;, în această ordine)&lt;br /&gt;
*Biții &amp;#039;&amp;#039;&amp;#039;out_seg&amp;#039;&amp;#039;&amp;#039; corespund cu segmentele în modul următor:&lt;br /&gt;
**Bitul 7 corespunde segmentului P&lt;br /&gt;
**Bitul 6 corespunde segmentului G&lt;br /&gt;
**Bitul 5 corespunde segmentului F&lt;br /&gt;
**Bitul 4 corespunde segmentului E&lt;br /&gt;
**Bitul 3 corespunde segmentului D&lt;br /&gt;
**Bitul 2 corespunde segmentului C&lt;br /&gt;
**Bitul 1 corespunde segmentului B&lt;br /&gt;
**Bitul 0 corespunde segmentului A&lt;br /&gt;
*Ieșirile se vor conecta la pinii corespunzători pentru afișajul cu 7 segmente.&lt;br /&gt;
&lt;br /&gt;
===Exercitiul 4===&lt;br /&gt;
&lt;br /&gt;
a. Completați și modificații transcodorul de la exemplul 2 astfel încât să poată afișa valorile de la 0 la 15, în baza 16 (10 = A, 11 = b, 12 = C, 13 = d, 14 = E, 15 = F) &amp;#039;&amp;#039;&amp;#039;pe a doua poziție din stânga&amp;#039;&amp;#039;&amp;#039;. &lt;br /&gt;
*Denumiți modulul &amp;#039;&amp;#039;&amp;#039;afisaj7seg&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
*Biții &amp;#039;&amp;#039;&amp;#039;out_seg&amp;#039;&amp;#039;&amp;#039; corespund cu segmentele în modul următor:&lt;br /&gt;
&lt;br /&gt;
**Bitul 6 corespunde segmentului 2&lt;br /&gt;
**Bitul 5 corespunde segmentului 4&lt;br /&gt;
**Bitul 4 corespunde segmentului 6&lt;br /&gt;
**Bitul 3 corespunde segmentului 3&lt;br /&gt;
**Bitul 2 corespunde segmentului 4&lt;br /&gt;
**Bitul 1 corespunde segmentului 1&lt;br /&gt;
**Bitul 0 corespunde segmentului 0&lt;br /&gt;
&lt;br /&gt;
Verificați funcționarea corectă a afișajului pe placa DE1, conectând intrarea pe SW9-SW6. Modificați pinii la ieșire astfel încât valoarea să fie afișată pe &amp;#039;&amp;#039;&amp;#039;Digit 2&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
b. Realizați un circuit care adună două numere binare pe 3 biți, iar rezultatul, pe 4 biți, va fi afișat ca cifră hexazecimală cu ajutorul transcodorului de la pct. a). &lt;br /&gt;
Restricții:&lt;br /&gt;
&lt;br /&gt;
*Creați un nou proiect, în care modulul top-level este denumit &amp;#039;&amp;#039;&amp;#039;top&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
*Cele două intrări se vor nota cu in1, respectiv in2, și se vor conecta la switchurile SW7-SW5 (corespunzător biților 2-&amp;gt;0 ai lui &amp;#039;&amp;#039;&amp;#039;in1&amp;#039;&amp;#039;&amp;#039;, în această ordine), respectiv SW4-SW2 (corespunzător biților 2-&amp;gt;0 ai lui &amp;#039;&amp;#039;&amp;#039;in2&amp;#039;&amp;#039;&amp;#039;, în această ordine) .&lt;br /&gt;
*Ieșirile se vor conecta la pinii corespunzători pentru afișajul cu 7 segmente, Digit 2.&lt;br /&gt;
*Sumatorul și transcodorul vor fi descrise în module diferite (denumite &amp;#039;&amp;#039;&amp;#039;sumator&amp;#039;&amp;#039;&amp;#039; și &amp;#039;&amp;#039;&amp;#039;afisaj7seg&amp;#039;&amp;#039;&amp;#039;, scrise în fișiere diferite, și instanțiate în modulul de &amp;#039;&amp;#039;top&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Exercitiul 5===&lt;br /&gt;
&lt;br /&gt;
a. Completați și modificații transcodorul de la exemplul 2 astfel încât să poată afișa valorile de la 0 la 15, în baza 16 (10 = A, 11 = b, 12 = C, 13 = d, 14 = E, 15 = F) &amp;#039;&amp;#039;&amp;#039;pe poziția a doua din stânga&amp;#039;&amp;#039;&amp;#039;. &lt;br /&gt;
*Denumiți modulul &amp;#039;&amp;#039;&amp;#039;afisaj7seg&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
*Biții &amp;#039;&amp;#039;&amp;#039;out_seg&amp;#039;&amp;#039;&amp;#039; corespund cu segmentele în modul următor:&lt;br /&gt;
&lt;br /&gt;
**Bitul 6 corespunde segmentului 3&lt;br /&gt;
**Bitul 5 corespunde segmentului 4&lt;br /&gt;
**Bitul 4 corespunde segmentului 1&lt;br /&gt;
**Bitul 3 corespunde segmentului 2&lt;br /&gt;
**Bitul 2 corespunde segmentului 0&lt;br /&gt;
**Bitul 1 corespunde segmentului 5&lt;br /&gt;
**Bitul 0 corespunde segmentului 6&lt;br /&gt;
&lt;br /&gt;
Verificați funcționarea corectă a afișajului pe placa DE1, conectând intrarea pe SW8-SW5. Modificați pinii la ieșire astfel încât valoarea să fie afișată pe &amp;#039;&amp;#039;&amp;#039;Digit 2&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
b. Realizați un circuit care înmulțește două numere binare, numărul in1, pe 2 biți, și numărul in2, pe 3 biți, iar rezultatul, pe 4 biți, va fi afișat ca cifră hexazecimală cu ajutorul transcodorului de la pct. a). &lt;br /&gt;
Restricții:&lt;br /&gt;
&lt;br /&gt;
*Creați un nou proiect, în care modulul top-level este denumit &amp;#039;&amp;#039;&amp;#039;top&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
*Cele două intrări se vor nota cu in1, respectiv in2, și se vor conecta la switchurile SW3-SW2 (corespunzător biților 1-&amp;gt;0 ai lui &amp;#039;&amp;#039;&amp;#039;in1&amp;#039;&amp;#039;&amp;#039;, în această ordine), respectiv SW9-SW7 (corespunzător biților 2-&amp;gt;0 ai lui &amp;#039;&amp;#039;&amp;#039;in2&amp;#039;&amp;#039;&amp;#039;, în această ordine) .&lt;br /&gt;
*Ieșirile se vor conecta la pinii corespunzători pentru afișajul cu 7 segmente, Digit 2.&lt;br /&gt;
*Inmulțitorul și transcodorul vor fi descrise în module diferite (denumite &amp;#039;&amp;#039;&amp;#039;produs&amp;#039;&amp;#039;&amp;#039; și &amp;#039;&amp;#039;&amp;#039;afisaj7seg&amp;#039;&amp;#039;&amp;#039;, scrise în fișiere diferite, și instanțiate în modulul de &amp;#039;&amp;#039;top&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;Indicație:&amp;#039;&amp;#039; Produsul celor două numere (ieșirea înmulțitorului) este un număr pe 5 biți, notat, de ex, &amp;#039;&amp;#039;&amp;#039;prod&amp;#039;&amp;#039;&amp;#039;. Dacă rezultatul depășește valoarea 15, la ieșire vom afișa „eroare”, care poate fi simbolizată, de ex, de o liniuță pe poziția centrală (segmentul 6). Ieșirea modulului de top, notată out, se calculează în felul următor:&lt;br /&gt;
&lt;br /&gt;
assign out = prod[4] ? 7&amp;#039;b1111110 : out_seg;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Fișier:transcoder.png]]&lt;br /&gt;
&lt;br /&gt;
== Submiterea Exercițiilor ==&lt;br /&gt;
&lt;br /&gt;
Pentru notare, se vor submite următoarele fișiere, către adresa de e-mail indicată de cadrul didactic.&lt;br /&gt;
&lt;br /&gt;
O arhivă &amp;lt;span style=&amp;quot;color: red; font-weight: bold&amp;quot;&amp;gt;zip&amp;lt;/span&amp;gt; ce va conține:&lt;br /&gt;
*Un fișier Verilog cu extensia .v care conține descrierea Verilog a circuitului&lt;br /&gt;
*Un fișier de constrângeri, cu extensia .qsf&lt;br /&gt;
*Un fișier de tip proiect Quartus, cu extensia .qpf&lt;br /&gt;
Atentie, arhiva va contine doar cele 3 fisiere (fara directoare).&lt;br /&gt;
&lt;br /&gt;
Subiectul mesajului de e-mail trebuie să respecte formatul &amp;lt;span style=&amp;quot;color: red; font-weight: bold&amp;quot;&amp;gt;[Nume]_[Prenume]_[Grupa]_7seg_[Nr. Exercitiu]&amp;lt;/span&amp;gt; de exemplu Petrica_Lucian_423B_7seg_4&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
Creați un proiect Xilinx ISE, descrierea Verilog și constrângerile necesare pentru a implementa pe placa Nexys2 circuitul care afișează, pe una din cifrele afișajului cu 7 segmente, primele 4 numere (0, 1, 2, 3), atunci când valoarea binară corespunzătoare este formată prin apăsarea butoanelor BTN0 și BTN1. Astfel, circuitul descris trebuie să respecte următoarele cerințe:&lt;br /&gt;
* are o intrare numită &amp;#039;&amp;#039;&amp;#039;binary_input&amp;#039;&amp;#039;&amp;#039; de doi biți, bitul cel mai putin semnificativ fiind conectat la BTN0, iar bitul cel mai semnificativ fiind conectat la BTN1&lt;br /&gt;
* are ieșirile necesare pentru activarea afișajului cu 7 segmente, denumite &amp;#039;&amp;#039;&amp;#039;ca&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;cb&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;cc&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;cd&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;ce&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;cf&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;cg&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;cp&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* are ieșirile necesare pentru controlul aprinderii cifrei, denumite &amp;#039;&amp;#039;&amp;#039;an0&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;an1&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;an2&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;an3&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* folosește operatori logici și blocuri de tip &amp;#039;&amp;#039;&amp;#039;assign&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Recomandări pentru cadrele didactice ==&lt;br /&gt;
* Se vor introduce noțiunile necesare folosirii [[Dispozitiv_de_IO:_Afișajul_cu_7_segmente|afișajului cu 7 segmente]]&lt;br /&gt;
&amp;lt;!--* În vederea rezolvării cerinței, cadrul didactic va desena tabela de adevăr a funcției logice care activează segmentul CA, și va ghida studenții pentru identificarea funcției logice și implementarea ei în Verilog folosind operatori logici.--&amp;gt;&lt;/div&gt;</summary>
		<author><name>Mdascalu</name></author>
	</entry>
	<entry>
		<id>http://wiki.dcae.pub.ro/index.php?title=CID_Lab_Lucrarea_2&amp;diff=5281</id>
		<title>CID Lab Lucrarea 2</title>
		<link rel="alternate" type="text/html" href="http://wiki.dcae.pub.ro/index.php?title=CID_Lab_Lucrarea_2&amp;diff=5281"/>
		<updated>2017-03-17T00:01:24Z</updated>

		<summary type="html">&lt;p&gt;Mdascalu: /* Exercitiul 2 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Noțiuni și cunoștințe necesare ==&lt;br /&gt;
&lt;br /&gt;
* [[Tutorial_Quartus_II| Utilizarea programului de sinteză Altera Quartus II]]&lt;br /&gt;
* [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]&lt;br /&gt;
* [[Introducere. Verilog HDL și ModelSim|Logică booleană și sisteme de numerație]]&lt;br /&gt;
* Noțiuni de sintaxă [[Verilog]]&lt;br /&gt;
* [[Dispozitiv_de_IO:_Afișajul_cu_7_segmente|Afișajul cu 7 segmente]]&lt;br /&gt;
&lt;br /&gt;
== Exemplul 1 ==&lt;br /&gt;
&lt;br /&gt;
Realizați un decodor de doi biți folosind un bloc &amp;#039;&amp;#039;&amp;#039;case&amp;#039;&amp;#039;&amp;#039;. Testați decodorul legând intrările la switch-uri și ieșirile la led-uri.&lt;br /&gt;
&lt;br /&gt;
== Exemplul 2 ==&lt;br /&gt;
 &lt;br /&gt;
Realizați un transcodor pentru afișajul cu 7 segmente, folosind un bloc &amp;#039;&amp;#039;&amp;#039;case&amp;#039;&amp;#039;&amp;#039;, care să poată afișa valorile de la 0 la 3. Intrarea modulului se va numi &amp;#039;&amp;#039;&amp;#039;value&amp;#039;&amp;#039;&amp;#039; iar ieșirea &amp;#039;&amp;#039;&amp;#039;out_seg&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
Testați decodorul aplicând intrarea pe SW1 și SW0 și afișând ieșirea pe afișajul cu 7 segmente, cifra din dreapta (Digit0).&lt;br /&gt;
&lt;br /&gt;
== Exerciții ==&lt;br /&gt;
&lt;br /&gt;
Următoarele exerciții folosesc transcodorul binar - 7 segemente pentru afișarea în hexazecimal a rezultatului unei operații simple. Pentru a vă asigura că transcodorul este scris corect, la pct. a veți verifica funcționarea lui. Proiectul pe care trebuie să-l trimiteți la final este cel de la pct. b.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Exercitiul 1===&lt;br /&gt;
a. Completați și modificații transcodorul de la exemplul 2 astfel încât să poată afișa valorile de la 0 la 15, în baza 16 (10 = A, 11 = b, 12 = C, 13 = d, 14 = E, 15 = F) &amp;#039;&amp;#039;&amp;#039;pe a doua poziție din dreapta&amp;#039;&amp;#039;&amp;#039;. &lt;br /&gt;
*Denumiți modulul &amp;#039;&amp;#039;&amp;#039;afisaj7seg&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
*Biții &amp;#039;&amp;#039;&amp;#039;out_seg&amp;#039;&amp;#039;&amp;#039; corespund cu segmentele în modul următor:&lt;br /&gt;
&lt;br /&gt;
**Bitul 6 corespunde segmentului 0&lt;br /&gt;
**Bitul 5 corespunde segmentului 1&lt;br /&gt;
**Bitul 4 corespunde segmentului 2&lt;br /&gt;
**Bitul 3 corespunde segmentului 3&lt;br /&gt;
**Bitul 2 corespunde segmentului 4&lt;br /&gt;
**Bitul 1 corespunde segmentului 5&lt;br /&gt;
**Bitul 0 corespunde segmentului 6&lt;br /&gt;
&lt;br /&gt;
Verificați funcționarea corectă a afișajului pe placa DE1, conectând intrarea pe SW3-SW0. Modificați pinii la ieșire astfel încât valoarea să fie afișată pe &amp;#039;&amp;#039;&amp;#039;Digit 1&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
b. Realizați un circuit care adună două numere binare pe 3 biți, iar rezultatul, pe 4 biți, va fi afișat ca cifră hexazecimală cu ajutorul transcodorului de la pct. a). &lt;br /&gt;
Restricții:&lt;br /&gt;
&lt;br /&gt;
*Creați un nou proiect, în care modulul top-level este denumit &amp;#039;&amp;#039;&amp;#039;top&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
*Cele două intrări se vor nota cu a, respectiv b, și se vor conecta la switchurile SW2-SW0 (corespunzător biților 2-&amp;gt;0 ai lui &amp;#039;&amp;#039;&amp;#039;a&amp;#039;&amp;#039;&amp;#039;, în această ordine), respectiv SW9-SW7 (corespunzător biților 2-&amp;gt;0 ai lui &amp;#039;&amp;#039;&amp;#039;b&amp;#039;&amp;#039;&amp;#039;, în această ordine) .&lt;br /&gt;
*Ieșirile se vor conecta la pinii corespunzători pentru afișajul cu 7 segmente, Digit 1.&lt;br /&gt;
*Sumatorul și transcodorul vor fi descrise în module diferite (denumite &amp;#039;&amp;#039;&amp;#039;sumator&amp;#039;&amp;#039;&amp;#039; și &amp;#039;&amp;#039;&amp;#039;afisaj7seg&amp;#039;&amp;#039;&amp;#039;, scrise în fișiere diferite, și instanțiate în modulul de &amp;#039;&amp;#039;top&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
===Exercitiul 2===&lt;br /&gt;
&lt;br /&gt;
a. Completați și modificații transcodorul de la exemplul 2 astfel încât să poată afișa valorile de la 0 la 15, în baza 16 (10 = A, 11 = b, 12 = C, 13 = d, 14 = E, 15 = F) &amp;#039;&amp;#039;&amp;#039;pe poziția din stânga&amp;#039;&amp;#039;&amp;#039;. &lt;br /&gt;
*Denumiți modulul &amp;#039;&amp;#039;&amp;#039;afisaj7seg&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
*Biții &amp;#039;&amp;#039;&amp;#039;out_seg&amp;#039;&amp;#039;&amp;#039; corespund cu segmentele în modul următor:&lt;br /&gt;
&lt;br /&gt;
**Bitul 6 corespunde segmentului 1&lt;br /&gt;
**Bitul 5 corespunde segmentului 2&lt;br /&gt;
**Bitul 4 corespunde segmentului 3&lt;br /&gt;
**Bitul 3 corespunde segmentului 4&lt;br /&gt;
**Bitul 2 corespunde segmentului 5&lt;br /&gt;
**Bitul 1 corespunde segmentului 6&lt;br /&gt;
**Bitul 0 corespunde segmentului 0&lt;br /&gt;
&lt;br /&gt;
Verificați funcționarea corectă a afișajului pe placa DE1, conectând intrarea pe SW5-SW2. Modificați pinii la ieșire astfel încât valoarea să fie afișată pe &amp;#039;&amp;#039;&amp;#039;Digit 3&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
b. Realizați un circuit care înmulțește două numere binare, numărul a, pe 3 biți, și numărul b, pe 2 biți, iar rezultatul, pe 4 biți, va fi afișat ca cifră hexazecimală cu ajutorul transcodorului de la pct. a). &lt;br /&gt;
Restricții:&lt;br /&gt;
&lt;br /&gt;
*Creați un nou proiect, în care modulul top-level este denumit &amp;#039;&amp;#039;&amp;#039;top&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
*Cele două intrări se vor nota cu a, respectiv b, și se vor conecta la switchurile SW9-SW7 (corespunzător biților 2-&amp;gt;0 ai lui &amp;#039;&amp;#039;&amp;#039;a&amp;#039;&amp;#039;&amp;#039;, în această ordine), respectiv SW2-SW1 (corespunzător biților 1-&amp;gt;0 ai lui &amp;#039;&amp;#039;&amp;#039;b&amp;#039;&amp;#039;&amp;#039;, în această ordine) .&lt;br /&gt;
*Ieșirile se vor conecta la pinii corespunzători pentru afișajul cu 7 segmente, Digit 3.&lt;br /&gt;
*Inmulțitorul și transcodorul vor fi descrise în module diferite (denumite &amp;#039;&amp;#039;&amp;#039;produs&amp;#039;&amp;#039;&amp;#039; și &amp;#039;&amp;#039;&amp;#039;afisaj7seg&amp;#039;&amp;#039;&amp;#039;, scrise în fișiere diferite, și instanțiate în modulul de &amp;#039;&amp;#039;top&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;Indicație:&amp;#039;&amp;#039; Produsul celor două numere (ieșirea înmulțitorului) este un număr pe 5 biți, notat, de ex, &amp;#039;&amp;#039;&amp;#039;prod&amp;#039;&amp;#039;&amp;#039;. Dacă rezultatul depășește valoarea 15, la ieșire vom afișa „eroare”, care poate fi simbolizată, de ex, de o liniuță pe poziția centrală (segmentul 6). Ieșirea modulului de top, notată out, se calculează în felul următor:&lt;br /&gt;
&lt;br /&gt;
assign out = prod[4] ? 7&amp;#039;b1111101 : out_seg&lt;br /&gt;
&lt;br /&gt;
===Exercitiul 3===&lt;br /&gt;
&lt;br /&gt;
*Intrarea &amp;#039;&amp;#039;&amp;#039;value&amp;#039;&amp;#039;&amp;#039; se va conecta la switchurile SW6-SW3 (corespunzător biților 3-&amp;gt;0 ai &amp;#039;&amp;#039;&amp;#039;value&amp;#039;&amp;#039;&amp;#039;, în această ordine)&lt;br /&gt;
*Intrarea &amp;#039;&amp;#039;&amp;#039;selection&amp;#039;&amp;#039;&amp;#039; se va conecta la SW2-SW1 (corespunzător biților 1-&amp;gt;0 ai &amp;#039;&amp;#039;&amp;#039;selection&amp;#039;&amp;#039;&amp;#039;, în această ordine)&lt;br /&gt;
*Biții &amp;#039;&amp;#039;&amp;#039;out_seg&amp;#039;&amp;#039;&amp;#039; corespund cu segmentele în modul următor:&lt;br /&gt;
**Bitul 7 corespunde segmentului P&lt;br /&gt;
**Bitul 6 corespunde segmentului G&lt;br /&gt;
**Bitul 5 corespunde segmentului F&lt;br /&gt;
**Bitul 4 corespunde segmentului E&lt;br /&gt;
**Bitul 3 corespunde segmentului D&lt;br /&gt;
**Bitul 2 corespunde segmentului C&lt;br /&gt;
**Bitul 1 corespunde segmentului B&lt;br /&gt;
**Bitul 0 corespunde segmentului A&lt;br /&gt;
*Ieșirile se vor conecta la pinii corespunzători pentru afișajul cu 7 segmente.&lt;br /&gt;
&lt;br /&gt;
===Exercitiul 4===&lt;br /&gt;
&lt;br /&gt;
a. Completați și modificații transcodorul de la exemplul 2 astfel încât să poată afișa valorile de la 0 la 15, în baza 16 (10 = A, 11 = b, 12 = C, 13 = d, 14 = E, 15 = F) &amp;#039;&amp;#039;&amp;#039;pe a doua poziție din stânga&amp;#039;&amp;#039;&amp;#039;. &lt;br /&gt;
*Denumiți modulul &amp;#039;&amp;#039;&amp;#039;afisaj7seg&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
*Biții &amp;#039;&amp;#039;&amp;#039;out_seg&amp;#039;&amp;#039;&amp;#039; corespund cu segmentele în modul următor:&lt;br /&gt;
&lt;br /&gt;
**Bitul 6 corespunde segmentului 2&lt;br /&gt;
**Bitul 5 corespunde segmentului 4&lt;br /&gt;
**Bitul 4 corespunde segmentului 6&lt;br /&gt;
**Bitul 3 corespunde segmentului 3&lt;br /&gt;
**Bitul 2 corespunde segmentului 4&lt;br /&gt;
**Bitul 1 corespunde segmentului 1&lt;br /&gt;
**Bitul 0 corespunde segmentului 0&lt;br /&gt;
&lt;br /&gt;
Verificați funcționarea corectă a afișajului pe placa DE1, conectând intrarea pe SW9-SW6. Modificați pinii la ieșire astfel încât valoarea să fie afișată pe &amp;#039;&amp;#039;&amp;#039;Digit 2&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
b. Realizați un circuit care adună două numere binare pe 3 biți, iar rezultatul, pe 4 biți, va fi afișat ca cifră hexazecimală cu ajutorul transcodorului de la pct. a). &lt;br /&gt;
Restricții:&lt;br /&gt;
&lt;br /&gt;
*Creați un nou proiect, în care modulul top-level este denumit &amp;#039;&amp;#039;&amp;#039;top&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
*Cele două intrări se vor nota cu in1, respectiv in2, și se vor conecta la switchurile SW7-SW5 (corespunzător biților 2-&amp;gt;0 ai lui &amp;#039;&amp;#039;&amp;#039;in1&amp;#039;&amp;#039;&amp;#039;, în această ordine), respectiv SW4-SW2 (corespunzător biților 2-&amp;gt;0 ai lui &amp;#039;&amp;#039;&amp;#039;in2&amp;#039;&amp;#039;&amp;#039;, în această ordine) .&lt;br /&gt;
*Ieșirile se vor conecta la pinii corespunzători pentru afișajul cu 7 segmente, Digit 2.&lt;br /&gt;
*Sumatorul și transcodorul vor fi descrise în module diferite (denumite &amp;#039;&amp;#039;&amp;#039;sumator&amp;#039;&amp;#039;&amp;#039; și &amp;#039;&amp;#039;&amp;#039;afisaj7seg&amp;#039;&amp;#039;&amp;#039;, scrise în fișiere diferite, și instanțiate în modulul de &amp;#039;&amp;#039;top&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*Intrarea &amp;#039;&amp;#039;&amp;#039;value&amp;#039;&amp;#039;&amp;#039; se va conecta la switchurile SW5-SW2 (corespunzător biților 3-&amp;gt;0 ai &amp;#039;&amp;#039;&amp;#039;value&amp;#039;&amp;#039;&amp;#039;, în această ordine)&lt;br /&gt;
*Intrarea &amp;#039;&amp;#039;&amp;#039;selection&amp;#039;&amp;#039;&amp;#039; se va conecta la SW7-SW6 (corespunzător biților 1-&amp;gt;0 ai &amp;#039;&amp;#039;&amp;#039;selection&amp;#039;&amp;#039;&amp;#039;, în această ordine)&lt;br /&gt;
*Biții &amp;#039;&amp;#039;&amp;#039;out_seg&amp;#039;&amp;#039;&amp;#039; corespund cu segmentele în modul următor:&lt;br /&gt;
**Bitul 7 corespunde segmentului G&lt;br /&gt;
**Bitul 6 corespunde segmentului B&lt;br /&gt;
**Bitul 5 corespunde segmentului E&lt;br /&gt;
**Bitul 4 corespunde segmentului C&lt;br /&gt;
**Bitul 3 corespunde segmentului F&lt;br /&gt;
**Bitul 2 corespunde segmentului A&lt;br /&gt;
**Bitul 1 corespunde segmentului D&lt;br /&gt;
**Bitul 0 corespunde segmentului P&lt;br /&gt;
*Ieșirile se vor conecta la pinii corespunzători pentru afișajul cu 7 segmente.&lt;br /&gt;
&lt;br /&gt;
[[Fișier:transcoder.png]]&lt;br /&gt;
&lt;br /&gt;
== Submiterea Exercițiilor ==&lt;br /&gt;
&lt;br /&gt;
Pentru notare, se vor submite următoarele fișiere, către adresa de e-mail indicată de cadrul didactic.&lt;br /&gt;
&lt;br /&gt;
O arhivă &amp;lt;span style=&amp;quot;color: red; font-weight: bold&amp;quot;&amp;gt;zip&amp;lt;/span&amp;gt; ce va conține:&lt;br /&gt;
*Un fișier Verilog cu extensia .v care conține descrierea Verilog a circuitului&lt;br /&gt;
*Un fișier de constrângeri, cu extensia .qsf&lt;br /&gt;
*Un fișier de tip proiect Quartus, cu extensia .qpf&lt;br /&gt;
Atentie, arhiva va contine doar cele 3 fisiere (fara directoare).&lt;br /&gt;
&lt;br /&gt;
Subiectul mesajului de e-mail trebuie să respecte formatul &amp;lt;span style=&amp;quot;color: red; font-weight: bold&amp;quot;&amp;gt;[Nume]_[Prenume]_[Grupa]_7seg_[Nr. Exercitiu]&amp;lt;/span&amp;gt; de exemplu Petrica_Lucian_423B_7seg_4&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
Creați un proiect Xilinx ISE, descrierea Verilog și constrângerile necesare pentru a implementa pe placa Nexys2 circuitul care afișează, pe una din cifrele afișajului cu 7 segmente, primele 4 numere (0, 1, 2, 3), atunci când valoarea binară corespunzătoare este formată prin apăsarea butoanelor BTN0 și BTN1. Astfel, circuitul descris trebuie să respecte următoarele cerințe:&lt;br /&gt;
* are o intrare numită &amp;#039;&amp;#039;&amp;#039;binary_input&amp;#039;&amp;#039;&amp;#039; de doi biți, bitul cel mai putin semnificativ fiind conectat la BTN0, iar bitul cel mai semnificativ fiind conectat la BTN1&lt;br /&gt;
* are ieșirile necesare pentru activarea afișajului cu 7 segmente, denumite &amp;#039;&amp;#039;&amp;#039;ca&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;cb&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;cc&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;cd&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;ce&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;cf&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;cg&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;cp&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* are ieșirile necesare pentru controlul aprinderii cifrei, denumite &amp;#039;&amp;#039;&amp;#039;an0&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;an1&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;an2&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;an3&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* folosește operatori logici și blocuri de tip &amp;#039;&amp;#039;&amp;#039;assign&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Recomandări pentru cadrele didactice ==&lt;br /&gt;
* Se vor introduce noțiunile necesare folosirii [[Dispozitiv_de_IO:_Afișajul_cu_7_segmente|afișajului cu 7 segmente]]&lt;br /&gt;
&amp;lt;!--* În vederea rezolvării cerinței, cadrul didactic va desena tabela de adevăr a funcției logice care activează segmentul CA, și va ghida studenții pentru identificarea funcției logice și implementarea ei în Verilog folosind operatori logici.--&amp;gt;&lt;/div&gt;</summary>
		<author><name>Mdascalu</name></author>
	</entry>
	<entry>
		<id>http://wiki.dcae.pub.ro/index.php?title=CID_Lab_Lucrarea_2&amp;diff=5280</id>
		<title>CID Lab Lucrarea 2</title>
		<link rel="alternate" type="text/html" href="http://wiki.dcae.pub.ro/index.php?title=CID_Lab_Lucrarea_2&amp;diff=5280"/>
		<updated>2017-03-16T23:59:54Z</updated>

		<summary type="html">&lt;p&gt;Mdascalu: /* Exerciții */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Noțiuni și cunoștințe necesare ==&lt;br /&gt;
&lt;br /&gt;
* [[Tutorial_Quartus_II| Utilizarea programului de sinteză Altera Quartus II]]&lt;br /&gt;
* [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]&lt;br /&gt;
* [[Introducere. Verilog HDL și ModelSim|Logică booleană și sisteme de numerație]]&lt;br /&gt;
* Noțiuni de sintaxă [[Verilog]]&lt;br /&gt;
* [[Dispozitiv_de_IO:_Afișajul_cu_7_segmente|Afișajul cu 7 segmente]]&lt;br /&gt;
&lt;br /&gt;
== Exemplul 1 ==&lt;br /&gt;
&lt;br /&gt;
Realizați un decodor de doi biți folosind un bloc &amp;#039;&amp;#039;&amp;#039;case&amp;#039;&amp;#039;&amp;#039;. Testați decodorul legând intrările la switch-uri și ieșirile la led-uri.&lt;br /&gt;
&lt;br /&gt;
== Exemplul 2 ==&lt;br /&gt;
 &lt;br /&gt;
Realizați un transcodor pentru afișajul cu 7 segmente, folosind un bloc &amp;#039;&amp;#039;&amp;#039;case&amp;#039;&amp;#039;&amp;#039;, care să poată afișa valorile de la 0 la 3. Intrarea modulului se va numi &amp;#039;&amp;#039;&amp;#039;value&amp;#039;&amp;#039;&amp;#039; iar ieșirea &amp;#039;&amp;#039;&amp;#039;out_seg&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
Testați decodorul aplicând intrarea pe SW1 și SW0 și afișând ieșirea pe afișajul cu 7 segmente, cifra din dreapta (Digit0).&lt;br /&gt;
&lt;br /&gt;
== Exerciții ==&lt;br /&gt;
&lt;br /&gt;
Următoarele exerciții folosesc transcodorul binar - 7 segemente pentru afișarea în hexazecimal a rezultatului unei operații simple. Pentru a vă asigura că transcodorul este scris corect, la pct. a veți verifica funcționarea lui. Proiectul pe care trebuie să-l trimiteți la final este cel de la pct. b.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Exercitiul 1===&lt;br /&gt;
a. Completați și modificații transcodorul de la exemplul 2 astfel încât să poată afișa valorile de la 0 la 15, în baza 16 (10 = A, 11 = b, 12 = C, 13 = d, 14 = E, 15 = F) &amp;#039;&amp;#039;&amp;#039;pe a doua poziție din dreapta&amp;#039;&amp;#039;&amp;#039;. &lt;br /&gt;
*Denumiți modulul &amp;#039;&amp;#039;&amp;#039;afisaj7seg&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
*Biții &amp;#039;&amp;#039;&amp;#039;out_seg&amp;#039;&amp;#039;&amp;#039; corespund cu segmentele în modul următor:&lt;br /&gt;
&lt;br /&gt;
**Bitul 6 corespunde segmentului 0&lt;br /&gt;
**Bitul 5 corespunde segmentului 1&lt;br /&gt;
**Bitul 4 corespunde segmentului 2&lt;br /&gt;
**Bitul 3 corespunde segmentului 3&lt;br /&gt;
**Bitul 2 corespunde segmentului 4&lt;br /&gt;
**Bitul 1 corespunde segmentului 5&lt;br /&gt;
**Bitul 0 corespunde segmentului 6&lt;br /&gt;
&lt;br /&gt;
Verificați funcționarea corectă a afișajului pe placa DE1, conectând intrarea pe SW3-SW0. Modificați pinii la ieșire astfel încât valoarea să fie afișată pe &amp;#039;&amp;#039;&amp;#039;Digit 1&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
b. Realizați un circuit care adună două numere binare pe 3 biți, iar rezultatul, pe 4 biți, va fi afișat ca cifră hexazecimală cu ajutorul transcodorului de la pct. a). &lt;br /&gt;
Restricții:&lt;br /&gt;
&lt;br /&gt;
*Creați un nou proiect, în care modulul top-level este denumit &amp;#039;&amp;#039;&amp;#039;top&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
*Cele două intrări se vor nota cu a, respectiv b, și se vor conecta la switchurile SW2-SW0 (corespunzător biților 2-&amp;gt;0 ai lui &amp;#039;&amp;#039;&amp;#039;a&amp;#039;&amp;#039;&amp;#039;, în această ordine), respectiv SW9-SW7 (corespunzător biților 2-&amp;gt;0 ai lui &amp;#039;&amp;#039;&amp;#039;b&amp;#039;&amp;#039;&amp;#039;, în această ordine) .&lt;br /&gt;
*Ieșirile se vor conecta la pinii corespunzători pentru afișajul cu 7 segmente, Digit 1.&lt;br /&gt;
*Sumatorul și transcodorul vor fi descrise în module diferite (denumite &amp;#039;&amp;#039;&amp;#039;sumator&amp;#039;&amp;#039;&amp;#039; și &amp;#039;&amp;#039;&amp;#039;afisaj7seg&amp;#039;&amp;#039;&amp;#039;, scrise în fișiere diferite, și instanțiate în modulul de &amp;#039;&amp;#039;top&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
===Exercitiul 2===&lt;br /&gt;
&lt;br /&gt;
a. Completați și modificații transcodorul de la exemplul 2 astfel încât să poată afișa valorile de la 0 la 15, în baza 16 (10 = A, 11 = b, 12 = C, 13 = d, 14 = E, 15 = F) &amp;#039;&amp;#039;&amp;#039;pe poziția din stânga&amp;#039;&amp;#039;&amp;#039;. &lt;br /&gt;
*Denumiți modulul &amp;#039;&amp;#039;&amp;#039;afisaj7seg&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
*Biții &amp;#039;&amp;#039;&amp;#039;out_seg&amp;#039;&amp;#039;&amp;#039; corespund cu segmentele în modul următor:&lt;br /&gt;
&lt;br /&gt;
**Bitul 6 corespunde segmentului 1&lt;br /&gt;
**Bitul 5 corespunde segmentului 2&lt;br /&gt;
**Bitul 4 corespunde segmentului 3&lt;br /&gt;
**Bitul 3 corespunde segmentului 4&lt;br /&gt;
**Bitul 2 corespunde segmentului 5&lt;br /&gt;
**Bitul 1 corespunde segmentului 6&lt;br /&gt;
**Bitul 0 corespunde segmentului 0&lt;br /&gt;
&lt;br /&gt;
Verificați funcționarea corectă a afișajului pe placa DE1, conectând intrarea pe SW5-SW2. Modificați pinii la ieșire astfel încât valoarea să fie afișată pe &amp;#039;&amp;#039;&amp;#039;Digit 3&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
b. Realizați un circuit care înmulțește două numere binare, numărul a, pe 3 biți, și numărul b, pe 2 biți, iar rezultatul, pe 4 biți, va fi afișat ca cifră hexazecimală cu ajutorul transcodorului de la pct. a). &lt;br /&gt;
Restricții:&lt;br /&gt;
&lt;br /&gt;
*Creați un nou proiect, în care modulul top-level este denumit &amp;#039;&amp;#039;&amp;#039;top&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
*Cele două intrări se vor nota cu a, respectiv b, și se vor conecta la switchurile SW9-SW7 (corespunzător biților 2-&amp;gt;0 ai lui &amp;#039;&amp;#039;&amp;#039;a&amp;#039;&amp;#039;&amp;#039;, în această ordine), respectiv SW2-SW1 (corespunzător biților 1-&amp;gt;0 ai lui &amp;#039;&amp;#039;&amp;#039;b&amp;#039;&amp;#039;&amp;#039;, în această ordine) .&lt;br /&gt;
*Ieșirile se vor conecta la pinii corespunzători pentru afișajul cu 7 segmente, Digit 3.&lt;br /&gt;
*Inmulțitorul și transcodorul vor fi descrise în module diferite (denumite &amp;#039;&amp;#039;&amp;#039;produs&amp;#039;&amp;#039;&amp;#039; și &amp;#039;&amp;#039;&amp;#039;afisaj7seg&amp;#039;&amp;#039;&amp;#039;, scrise în fișiere diferite, și instanțiate în modulul de &amp;#039;&amp;#039;top&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;Indicație:&amp;#039;&amp;#039; Produsul celor două numere (ieșirea înmulțitorului) este un număr pe 5 biți, notat, de ex, &amp;#039;&amp;#039;&amp;#039;prod&amp;#039;&amp;#039;&amp;#039;. Dacă rezultatul depășește valoarea 15, la ieșire vom afișa „eroare”, care poate fi simbolizată, de ex, de o liniuță pe poziția centrală (segmentul 6). Ieșirea modulului de top, notată out, se calculează în felul următor:&lt;br /&gt;
assign out = prod[4] ? 7&amp;#039;b1111101 : out_seg&lt;br /&gt;
&lt;br /&gt;
===Exercitiul 3===&lt;br /&gt;
&lt;br /&gt;
*Intrarea &amp;#039;&amp;#039;&amp;#039;value&amp;#039;&amp;#039;&amp;#039; se va conecta la switchurile SW6-SW3 (corespunzător biților 3-&amp;gt;0 ai &amp;#039;&amp;#039;&amp;#039;value&amp;#039;&amp;#039;&amp;#039;, în această ordine)&lt;br /&gt;
*Intrarea &amp;#039;&amp;#039;&amp;#039;selection&amp;#039;&amp;#039;&amp;#039; se va conecta la SW2-SW1 (corespunzător biților 1-&amp;gt;0 ai &amp;#039;&amp;#039;&amp;#039;selection&amp;#039;&amp;#039;&amp;#039;, în această ordine)&lt;br /&gt;
*Biții &amp;#039;&amp;#039;&amp;#039;out_seg&amp;#039;&amp;#039;&amp;#039; corespund cu segmentele în modul următor:&lt;br /&gt;
**Bitul 7 corespunde segmentului P&lt;br /&gt;
**Bitul 6 corespunde segmentului G&lt;br /&gt;
**Bitul 5 corespunde segmentului F&lt;br /&gt;
**Bitul 4 corespunde segmentului E&lt;br /&gt;
**Bitul 3 corespunde segmentului D&lt;br /&gt;
**Bitul 2 corespunde segmentului C&lt;br /&gt;
**Bitul 1 corespunde segmentului B&lt;br /&gt;
**Bitul 0 corespunde segmentului A&lt;br /&gt;
*Ieșirile se vor conecta la pinii corespunzători pentru afișajul cu 7 segmente.&lt;br /&gt;
&lt;br /&gt;
===Exercitiul 4===&lt;br /&gt;
&lt;br /&gt;
a. Completați și modificații transcodorul de la exemplul 2 astfel încât să poată afișa valorile de la 0 la 15, în baza 16 (10 = A, 11 = b, 12 = C, 13 = d, 14 = E, 15 = F) &amp;#039;&amp;#039;&amp;#039;pe a doua poziție din stânga&amp;#039;&amp;#039;&amp;#039;. &lt;br /&gt;
*Denumiți modulul &amp;#039;&amp;#039;&amp;#039;afisaj7seg&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
*Biții &amp;#039;&amp;#039;&amp;#039;out_seg&amp;#039;&amp;#039;&amp;#039; corespund cu segmentele în modul următor:&lt;br /&gt;
&lt;br /&gt;
**Bitul 6 corespunde segmentului 2&lt;br /&gt;
**Bitul 5 corespunde segmentului 4&lt;br /&gt;
**Bitul 4 corespunde segmentului 6&lt;br /&gt;
**Bitul 3 corespunde segmentului 3&lt;br /&gt;
**Bitul 2 corespunde segmentului 4&lt;br /&gt;
**Bitul 1 corespunde segmentului 1&lt;br /&gt;
**Bitul 0 corespunde segmentului 0&lt;br /&gt;
&lt;br /&gt;
Verificați funcționarea corectă a afișajului pe placa DE1, conectând intrarea pe SW9-SW6. Modificați pinii la ieșire astfel încât valoarea să fie afișată pe &amp;#039;&amp;#039;&amp;#039;Digit 2&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
b. Realizați un circuit care adună două numere binare pe 3 biți, iar rezultatul, pe 4 biți, va fi afișat ca cifră hexazecimală cu ajutorul transcodorului de la pct. a). &lt;br /&gt;
Restricții:&lt;br /&gt;
&lt;br /&gt;
*Creați un nou proiect, în care modulul top-level este denumit &amp;#039;&amp;#039;&amp;#039;top&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
*Cele două intrări se vor nota cu in1, respectiv in2, și se vor conecta la switchurile SW7-SW5 (corespunzător biților 2-&amp;gt;0 ai lui &amp;#039;&amp;#039;&amp;#039;in1&amp;#039;&amp;#039;&amp;#039;, în această ordine), respectiv SW4-SW2 (corespunzător biților 2-&amp;gt;0 ai lui &amp;#039;&amp;#039;&amp;#039;in2&amp;#039;&amp;#039;&amp;#039;, în această ordine) .&lt;br /&gt;
*Ieșirile se vor conecta la pinii corespunzători pentru afișajul cu 7 segmente, Digit 2.&lt;br /&gt;
*Sumatorul și transcodorul vor fi descrise în module diferite (denumite &amp;#039;&amp;#039;&amp;#039;sumator&amp;#039;&amp;#039;&amp;#039; și &amp;#039;&amp;#039;&amp;#039;afisaj7seg&amp;#039;&amp;#039;&amp;#039;, scrise în fișiere diferite, și instanțiate în modulul de &amp;#039;&amp;#039;top&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*Intrarea &amp;#039;&amp;#039;&amp;#039;value&amp;#039;&amp;#039;&amp;#039; se va conecta la switchurile SW5-SW2 (corespunzător biților 3-&amp;gt;0 ai &amp;#039;&amp;#039;&amp;#039;value&amp;#039;&amp;#039;&amp;#039;, în această ordine)&lt;br /&gt;
*Intrarea &amp;#039;&amp;#039;&amp;#039;selection&amp;#039;&amp;#039;&amp;#039; se va conecta la SW7-SW6 (corespunzător biților 1-&amp;gt;0 ai &amp;#039;&amp;#039;&amp;#039;selection&amp;#039;&amp;#039;&amp;#039;, în această ordine)&lt;br /&gt;
*Biții &amp;#039;&amp;#039;&amp;#039;out_seg&amp;#039;&amp;#039;&amp;#039; corespund cu segmentele în modul următor:&lt;br /&gt;
**Bitul 7 corespunde segmentului G&lt;br /&gt;
**Bitul 6 corespunde segmentului B&lt;br /&gt;
**Bitul 5 corespunde segmentului E&lt;br /&gt;
**Bitul 4 corespunde segmentului C&lt;br /&gt;
**Bitul 3 corespunde segmentului F&lt;br /&gt;
**Bitul 2 corespunde segmentului A&lt;br /&gt;
**Bitul 1 corespunde segmentului D&lt;br /&gt;
**Bitul 0 corespunde segmentului P&lt;br /&gt;
*Ieșirile se vor conecta la pinii corespunzători pentru afișajul cu 7 segmente.&lt;br /&gt;
&lt;br /&gt;
[[Fișier:transcoder.png]]&lt;br /&gt;
&lt;br /&gt;
== Submiterea Exercițiilor ==&lt;br /&gt;
&lt;br /&gt;
Pentru notare, se vor submite următoarele fișiere, către adresa de e-mail indicată de cadrul didactic.&lt;br /&gt;
&lt;br /&gt;
O arhivă &amp;lt;span style=&amp;quot;color: red; font-weight: bold&amp;quot;&amp;gt;zip&amp;lt;/span&amp;gt; ce va conține:&lt;br /&gt;
*Un fișier Verilog cu extensia .v care conține descrierea Verilog a circuitului&lt;br /&gt;
*Un fișier de constrângeri, cu extensia .qsf&lt;br /&gt;
*Un fișier de tip proiect Quartus, cu extensia .qpf&lt;br /&gt;
Atentie, arhiva va contine doar cele 3 fisiere (fara directoare).&lt;br /&gt;
&lt;br /&gt;
Subiectul mesajului de e-mail trebuie să respecte formatul &amp;lt;span style=&amp;quot;color: red; font-weight: bold&amp;quot;&amp;gt;[Nume]_[Prenume]_[Grupa]_7seg_[Nr. Exercitiu]&amp;lt;/span&amp;gt; de exemplu Petrica_Lucian_423B_7seg_4&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
Creați un proiect Xilinx ISE, descrierea Verilog și constrângerile necesare pentru a implementa pe placa Nexys2 circuitul care afișează, pe una din cifrele afișajului cu 7 segmente, primele 4 numere (0, 1, 2, 3), atunci când valoarea binară corespunzătoare este formată prin apăsarea butoanelor BTN0 și BTN1. Astfel, circuitul descris trebuie să respecte următoarele cerințe:&lt;br /&gt;
* are o intrare numită &amp;#039;&amp;#039;&amp;#039;binary_input&amp;#039;&amp;#039;&amp;#039; de doi biți, bitul cel mai putin semnificativ fiind conectat la BTN0, iar bitul cel mai semnificativ fiind conectat la BTN1&lt;br /&gt;
* are ieșirile necesare pentru activarea afișajului cu 7 segmente, denumite &amp;#039;&amp;#039;&amp;#039;ca&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;cb&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;cc&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;cd&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;ce&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;cf&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;cg&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;cp&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* are ieșirile necesare pentru controlul aprinderii cifrei, denumite &amp;#039;&amp;#039;&amp;#039;an0&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;an1&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;an2&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;an3&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* folosește operatori logici și blocuri de tip &amp;#039;&amp;#039;&amp;#039;assign&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Recomandări pentru cadrele didactice ==&lt;br /&gt;
* Se vor introduce noțiunile necesare folosirii [[Dispozitiv_de_IO:_Afișajul_cu_7_segmente|afișajului cu 7 segmente]]&lt;br /&gt;
&amp;lt;!--* În vederea rezolvării cerinței, cadrul didactic va desena tabela de adevăr a funcției logice care activează segmentul CA, și va ghida studenții pentru identificarea funcției logice și implementarea ei în Verilog folosind operatori logici.--&amp;gt;&lt;/div&gt;</summary>
		<author><name>Mdascalu</name></author>
	</entry>
	<entry>
		<id>http://wiki.dcae.pub.ro/index.php?title=CID_Lab_Lucrarea_2&amp;diff=5279</id>
		<title>CID Lab Lucrarea 2</title>
		<link rel="alternate" type="text/html" href="http://wiki.dcae.pub.ro/index.php?title=CID_Lab_Lucrarea_2&amp;diff=5279"/>
		<updated>2017-03-16T23:49:09Z</updated>

		<summary type="html">&lt;p&gt;Mdascalu: /* Exerciții */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Noțiuni și cunoștințe necesare ==&lt;br /&gt;
&lt;br /&gt;
* [[Tutorial_Quartus_II| Utilizarea programului de sinteză Altera Quartus II]]&lt;br /&gt;
* [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]&lt;br /&gt;
* [[Introducere. Verilog HDL și ModelSim|Logică booleană și sisteme de numerație]]&lt;br /&gt;
* Noțiuni de sintaxă [[Verilog]]&lt;br /&gt;
* [[Dispozitiv_de_IO:_Afișajul_cu_7_segmente|Afișajul cu 7 segmente]]&lt;br /&gt;
&lt;br /&gt;
== Exemplul 1 ==&lt;br /&gt;
&lt;br /&gt;
Realizați un decodor de doi biți folosind un bloc &amp;#039;&amp;#039;&amp;#039;case&amp;#039;&amp;#039;&amp;#039;. Testați decodorul legând intrările la switch-uri și ieșirile la led-uri.&lt;br /&gt;
&lt;br /&gt;
== Exemplul 2 ==&lt;br /&gt;
 &lt;br /&gt;
Realizați un transcodor pentru afișajul cu 7 segmente, folosind un bloc &amp;#039;&amp;#039;&amp;#039;case&amp;#039;&amp;#039;&amp;#039;, care să poată afișa valorile de la 0 la 3. Intrarea modulului se va numi &amp;#039;&amp;#039;&amp;#039;value&amp;#039;&amp;#039;&amp;#039; iar ieșirea &amp;#039;&amp;#039;&amp;#039;out_seg&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
Testați decodorul aplicând intrarea pe SW1 și SW0 și afișând ieșirea pe afișajul cu 7 segmente, cifra din dreapta (Digit0).&lt;br /&gt;
&lt;br /&gt;
== Exerciții ==&lt;br /&gt;
&lt;br /&gt;
Următoarele exerciții folosesc transcodorul binar - 7 segemente pentru afișarea în hexazecimal a rezultatului unei operații simple. Pentru a vă asigura că transcodorul este scris corect, la pct. a veți verifica funcționarea lui. Proiectul pe care trebuie să-l trimiteți la final este cel de la pct. b.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Exercitiul 1===&lt;br /&gt;
a. Completați și modificații transcodorul de la exemplul 2 astfel încât să poată afișa valorile de la 0 la 15, în baza 16 (10 = A, 11 = b, 12 = C, 13 = d, 14 = E, 15 = F) &amp;#039;&amp;#039;&amp;#039;pe a doua poziție din dreapta&amp;#039;&amp;#039;&amp;#039;. &lt;br /&gt;
*Denumiți modulul &amp;#039;&amp;#039;&amp;#039;afisaj7seg&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
*Biții &amp;#039;&amp;#039;&amp;#039;out_seg&amp;#039;&amp;#039;&amp;#039; corespund cu segmentele în modul următor:&lt;br /&gt;
&lt;br /&gt;
**Bitul 6 corespunde segmentului 0&lt;br /&gt;
**Bitul 5 corespunde segmentului 1&lt;br /&gt;
**Bitul 4 corespunde segmentului 2&lt;br /&gt;
**Bitul 3 corespunde segmentului 3&lt;br /&gt;
**Bitul 2 corespunde segmentului 4&lt;br /&gt;
**Bitul 1 corespunde segmentului 5&lt;br /&gt;
**Bitul 0 corespunde segmentului 6&lt;br /&gt;
&lt;br /&gt;
Verificați funcționarea corectă a afișajului pe placa DE1, conectând intrarea pe SW3-SW0. Modificați pinii la ieșire astfel încât valoarea să fie afișată pe &amp;#039;&amp;#039;&amp;#039;Digit 1&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
b. Realizați un circuit care adună două numere binare pe 3 biți, iar rezultatul, pe 4 biți, va fi afișat ca cifră hexazecimală cu ajutorul transcodorului de la pct. a). &lt;br /&gt;
Restricții:&lt;br /&gt;
&lt;br /&gt;
*Creați un nou proiect, în care modulul top-level este denumit &amp;#039;&amp;#039;&amp;#039;top&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
*Cele două intrări se vor nota cu a, respectiv b, și se vor conecta la switchurile SW2-SW0 (corespunzător biților 2-&amp;gt;0 ai lui &amp;#039;&amp;#039;&amp;#039;a&amp;#039;&amp;#039;&amp;#039;, în această ordine), respectiv SW9-SW7 (corespunzător biților 2-&amp;gt;0 ai lui &amp;#039;&amp;#039;&amp;#039;b&amp;#039;&amp;#039;&amp;#039;, în această ordine) .&lt;br /&gt;
*Ieșirile se vor conecta la pinii corespunzători pentru afișajul cu 7 segmente, Digit 1.&lt;br /&gt;
*Sumatorul și transcodorul vor fi descrise în module diferite (denumite &amp;#039;&amp;#039;&amp;#039;sumator&amp;#039;&amp;#039;&amp;#039; și &amp;#039;&amp;#039;&amp;#039;afisaj7seg&amp;#039;&amp;#039;&amp;#039;, scrise în fișiere diferite, și instanțiate în modulul de &amp;#039;&amp;#039;top&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
===Exercitiul 2===&lt;br /&gt;
&lt;br /&gt;
*Intrarea &amp;#039;&amp;#039;&amp;#039;value&amp;#039;&amp;#039;&amp;#039; se va conecta la switchurile SW7-SW4 (corespunzător biților 3-&amp;gt;0 ai &amp;#039;&amp;#039;&amp;#039;value&amp;#039;&amp;#039;&amp;#039;, în această ordine)&lt;br /&gt;
*Intrarea &amp;#039;&amp;#039;&amp;#039;selection&amp;#039;&amp;#039;&amp;#039; se va conecta la SW1-SW0 (corespunzător biților 1-&amp;gt;0 ai &amp;#039;&amp;#039;&amp;#039;selection&amp;#039;&amp;#039;&amp;#039;, în această ordine)&lt;br /&gt;
*Biții &amp;#039;&amp;#039;&amp;#039;out_seg&amp;#039;&amp;#039;&amp;#039; corespund cu segmentele în modul următor:&lt;br /&gt;
&lt;br /&gt;
**Bitul 6 corespunde segmentului A&lt;br /&gt;
**Bitul 5 corespunde segmentului G&lt;br /&gt;
**Bitul 4 corespunde segmentului D&lt;br /&gt;
**Bitul 3 corespunde segmentului F&lt;br /&gt;
**Bitul 2 corespunde segmentului B&lt;br /&gt;
**Bitul 1 corespunde segmentului E&lt;br /&gt;
**Bitul 0 corespunde segmentului C&lt;br /&gt;
&lt;br /&gt;
*Ieșirile se vor conecta la pinii corespunzători pentru afișajul cu 7 segmente.&lt;br /&gt;
&lt;br /&gt;
===Exercitiul 3===&lt;br /&gt;
&lt;br /&gt;
*Intrarea &amp;#039;&amp;#039;&amp;#039;value&amp;#039;&amp;#039;&amp;#039; se va conecta la switchurile SW6-SW3 (corespunzător biților 3-&amp;gt;0 ai &amp;#039;&amp;#039;&amp;#039;value&amp;#039;&amp;#039;&amp;#039;, în această ordine)&lt;br /&gt;
*Intrarea &amp;#039;&amp;#039;&amp;#039;selection&amp;#039;&amp;#039;&amp;#039; se va conecta la SW2-SW1 (corespunzător biților 1-&amp;gt;0 ai &amp;#039;&amp;#039;&amp;#039;selection&amp;#039;&amp;#039;&amp;#039;, în această ordine)&lt;br /&gt;
*Biții &amp;#039;&amp;#039;&amp;#039;out_seg&amp;#039;&amp;#039;&amp;#039; corespund cu segmentele în modul următor:&lt;br /&gt;
**Bitul 7 corespunde segmentului P&lt;br /&gt;
**Bitul 6 corespunde segmentului G&lt;br /&gt;
**Bitul 5 corespunde segmentului F&lt;br /&gt;
**Bitul 4 corespunde segmentului E&lt;br /&gt;
**Bitul 3 corespunde segmentului D&lt;br /&gt;
**Bitul 2 corespunde segmentului C&lt;br /&gt;
**Bitul 1 corespunde segmentului B&lt;br /&gt;
**Bitul 0 corespunde segmentului A&lt;br /&gt;
*Ieșirile se vor conecta la pinii corespunzători pentru afișajul cu 7 segmente.&lt;br /&gt;
&lt;br /&gt;
===Exercitiul 4===&lt;br /&gt;
&lt;br /&gt;
a. Completați și modificații transcodorul de la exemplul 2 astfel încât să poată afișa valorile de la 0 la 15, în baza 16 (10 = A, 11 = b, 12 = C, 13 = d, 14 = E, 15 = F) &amp;#039;&amp;#039;&amp;#039;pe a doua poziție din stânga&amp;#039;&amp;#039;&amp;#039;. &lt;br /&gt;
*Denumiți modulul &amp;#039;&amp;#039;&amp;#039;afisaj7seg&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
*Biții &amp;#039;&amp;#039;&amp;#039;out_seg&amp;#039;&amp;#039;&amp;#039; corespund cu segmentele în modul următor:&lt;br /&gt;
&lt;br /&gt;
**Bitul 6 corespunde segmentului 2&lt;br /&gt;
**Bitul 5 corespunde segmentului 4&lt;br /&gt;
**Bitul 4 corespunde segmentului 6&lt;br /&gt;
**Bitul 3 corespunde segmentului 3&lt;br /&gt;
**Bitul 2 corespunde segmentului 4&lt;br /&gt;
**Bitul 1 corespunde segmentului 1&lt;br /&gt;
**Bitul 0 corespunde segmentului 0&lt;br /&gt;
&lt;br /&gt;
Verificați funcționarea corectă a afișajului pe placa DE1, conectând intrarea pe SW9-SW6. Modificați pinii la ieșire astfel încât valoarea să fie afișată pe &amp;#039;&amp;#039;&amp;#039;Digit 2&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
b. Realizați un circuit care adună două numere binare pe 3 biți, iar rezultatul, pe 4 biți, va fi afișat ca cifră hexazecimală cu ajutorul transcodorului de la pct. a). &lt;br /&gt;
Restricții:&lt;br /&gt;
&lt;br /&gt;
*Creați un nou proiect, în care modulul top-level este denumit &amp;#039;&amp;#039;&amp;#039;top&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
*Cele două intrări se vor nota cu in1, respectiv in2, și se vor conecta la switchurile SW7-SW5 (corespunzător biților 2-&amp;gt;0 ai lui &amp;#039;&amp;#039;&amp;#039;in1&amp;#039;&amp;#039;&amp;#039;, în această ordine), respectiv SW4-SW2 (corespunzător biților 2-&amp;gt;0 ai lui &amp;#039;&amp;#039;&amp;#039;in2&amp;#039;&amp;#039;&amp;#039;, în această ordine) .&lt;br /&gt;
*Ieșirile se vor conecta la pinii corespunzători pentru afișajul cu 7 segmente, Digit 2.&lt;br /&gt;
*Sumatorul și transcodorul vor fi descrise în module diferite (denumite &amp;#039;&amp;#039;&amp;#039;sumator&amp;#039;&amp;#039;&amp;#039; și &amp;#039;&amp;#039;&amp;#039;afisaj7seg&amp;#039;&amp;#039;&amp;#039;, scrise în fișiere diferite, și instanțiate în modulul de &amp;#039;&amp;#039;top&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*Intrarea &amp;#039;&amp;#039;&amp;#039;value&amp;#039;&amp;#039;&amp;#039; se va conecta la switchurile SW5-SW2 (corespunzător biților 3-&amp;gt;0 ai &amp;#039;&amp;#039;&amp;#039;value&amp;#039;&amp;#039;&amp;#039;, în această ordine)&lt;br /&gt;
*Intrarea &amp;#039;&amp;#039;&amp;#039;selection&amp;#039;&amp;#039;&amp;#039; se va conecta la SW7-SW6 (corespunzător biților 1-&amp;gt;0 ai &amp;#039;&amp;#039;&amp;#039;selection&amp;#039;&amp;#039;&amp;#039;, în această ordine)&lt;br /&gt;
*Biții &amp;#039;&amp;#039;&amp;#039;out_seg&amp;#039;&amp;#039;&amp;#039; corespund cu segmentele în modul următor:&lt;br /&gt;
**Bitul 7 corespunde segmentului G&lt;br /&gt;
**Bitul 6 corespunde segmentului B&lt;br /&gt;
**Bitul 5 corespunde segmentului E&lt;br /&gt;
**Bitul 4 corespunde segmentului C&lt;br /&gt;
**Bitul 3 corespunde segmentului F&lt;br /&gt;
**Bitul 2 corespunde segmentului A&lt;br /&gt;
**Bitul 1 corespunde segmentului D&lt;br /&gt;
**Bitul 0 corespunde segmentului P&lt;br /&gt;
*Ieșirile se vor conecta la pinii corespunzători pentru afișajul cu 7 segmente.&lt;br /&gt;
&lt;br /&gt;
[[Fișier:transcoder.png]]&lt;br /&gt;
&lt;br /&gt;
== Submiterea Exercițiilor ==&lt;br /&gt;
&lt;br /&gt;
Pentru notare, se vor submite următoarele fișiere, către adresa de e-mail indicată de cadrul didactic.&lt;br /&gt;
&lt;br /&gt;
O arhivă &amp;lt;span style=&amp;quot;color: red; font-weight: bold&amp;quot;&amp;gt;zip&amp;lt;/span&amp;gt; ce va conține:&lt;br /&gt;
*Un fișier Verilog cu extensia .v care conține descrierea Verilog a circuitului&lt;br /&gt;
*Un fișier de constrângeri, cu extensia .qsf&lt;br /&gt;
*Un fișier de tip proiect Quartus, cu extensia .qpf&lt;br /&gt;
Atentie, arhiva va contine doar cele 3 fisiere (fara directoare).&lt;br /&gt;
&lt;br /&gt;
Subiectul mesajului de e-mail trebuie să respecte formatul &amp;lt;span style=&amp;quot;color: red; font-weight: bold&amp;quot;&amp;gt;[Nume]_[Prenume]_[Grupa]_7seg_[Nr. Exercitiu]&amp;lt;/span&amp;gt; de exemplu Petrica_Lucian_423B_7seg_4&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
Creați un proiect Xilinx ISE, descrierea Verilog și constrângerile necesare pentru a implementa pe placa Nexys2 circuitul care afișează, pe una din cifrele afișajului cu 7 segmente, primele 4 numere (0, 1, 2, 3), atunci când valoarea binară corespunzătoare este formată prin apăsarea butoanelor BTN0 și BTN1. Astfel, circuitul descris trebuie să respecte următoarele cerințe:&lt;br /&gt;
* are o intrare numită &amp;#039;&amp;#039;&amp;#039;binary_input&amp;#039;&amp;#039;&amp;#039; de doi biți, bitul cel mai putin semnificativ fiind conectat la BTN0, iar bitul cel mai semnificativ fiind conectat la BTN1&lt;br /&gt;
* are ieșirile necesare pentru activarea afișajului cu 7 segmente, denumite &amp;#039;&amp;#039;&amp;#039;ca&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;cb&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;cc&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;cd&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;ce&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;cf&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;cg&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;cp&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* are ieșirile necesare pentru controlul aprinderii cifrei, denumite &amp;#039;&amp;#039;&amp;#039;an0&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;an1&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;an2&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;an3&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* folosește operatori logici și blocuri de tip &amp;#039;&amp;#039;&amp;#039;assign&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Recomandări pentru cadrele didactice ==&lt;br /&gt;
* Se vor introduce noțiunile necesare folosirii [[Dispozitiv_de_IO:_Afișajul_cu_7_segmente|afișajului cu 7 segmente]]&lt;br /&gt;
&amp;lt;!--* În vederea rezolvării cerinței, cadrul didactic va desena tabela de adevăr a funcției logice care activează segmentul CA, și va ghida studenții pentru identificarea funcției logice și implementarea ei în Verilog folosind operatori logici.--&amp;gt;&lt;/div&gt;</summary>
		<author><name>Mdascalu</name></author>
	</entry>
	<entry>
		<id>http://wiki.dcae.pub.ro/index.php?title=CID_Lab_Lucrarea_2&amp;diff=5278</id>
		<title>CID Lab Lucrarea 2</title>
		<link rel="alternate" type="text/html" href="http://wiki.dcae.pub.ro/index.php?title=CID_Lab_Lucrarea_2&amp;diff=5278"/>
		<updated>2017-03-16T23:44:05Z</updated>

		<summary type="html">&lt;p&gt;Mdascalu: /* Exerciții */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Noțiuni și cunoștințe necesare ==&lt;br /&gt;
&lt;br /&gt;
* [[Tutorial_Quartus_II| Utilizarea programului de sinteză Altera Quartus II]]&lt;br /&gt;
* [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]&lt;br /&gt;
* [[Introducere. Verilog HDL și ModelSim|Logică booleană și sisteme de numerație]]&lt;br /&gt;
* Noțiuni de sintaxă [[Verilog]]&lt;br /&gt;
* [[Dispozitiv_de_IO:_Afișajul_cu_7_segmente|Afișajul cu 7 segmente]]&lt;br /&gt;
&lt;br /&gt;
== Exemplul 1 ==&lt;br /&gt;
&lt;br /&gt;
Realizați un decodor de doi biți folosind un bloc &amp;#039;&amp;#039;&amp;#039;case&amp;#039;&amp;#039;&amp;#039;. Testați decodorul legând intrările la switch-uri și ieșirile la led-uri.&lt;br /&gt;
&lt;br /&gt;
== Exemplul 2 ==&lt;br /&gt;
 &lt;br /&gt;
Realizați un transcodor pentru afișajul cu 7 segmente, folosind un bloc &amp;#039;&amp;#039;&amp;#039;case&amp;#039;&amp;#039;&amp;#039;, care să poată afișa valorile de la 0 la 3. Intrarea modulului se va numi &amp;#039;&amp;#039;&amp;#039;value&amp;#039;&amp;#039;&amp;#039; iar ieșirea &amp;#039;&amp;#039;&amp;#039;out_seg&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
Testați decodorul aplicând intrarea pe SW1 și SW0 și afișând ieșirea pe afișajul cu 7 segmente, cifra din dreapta (Digit0).&lt;br /&gt;
&lt;br /&gt;
== Exerciții ==&lt;br /&gt;
&lt;br /&gt;
Următoarele exerciții folosesc transcodorul binar - 7 segemente pentru afișarea în hexazecimal a rezultatului unei operații simple. Pentru a vă asigura că transcodorul este scris corect, la pct. a veți verifica funcționarea lui. Proiectul pe care trebuie să-l trimiteți la final este cel de la pct. b.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Exercitiul 1===&lt;br /&gt;
a. Completați și modificații transcodorul de la exemplul 2 astfel încât să poată afișa valorile de la 0 la 15, în baza 16 (10 = A, 11 = b, 12 = C, 13 = d, 14 = E, 15 = F) &amp;#039;&amp;#039;&amp;#039;pe a doua poziție din dreapta&amp;#039;&amp;#039;&amp;#039;. &lt;br /&gt;
*Denumiți modulul &amp;#039;&amp;#039;&amp;#039;afisaj7seg&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
*Biții &amp;#039;&amp;#039;&amp;#039;out_seg&amp;#039;&amp;#039;&amp;#039; corespund cu segmentele în modul următor:&lt;br /&gt;
&lt;br /&gt;
**Bitul 6 corespunde segmentului 0&lt;br /&gt;
**Bitul 5 corespunde segmentului 1&lt;br /&gt;
**Bitul 4 corespunde segmentului 2&lt;br /&gt;
**Bitul 3 corespunde segmentului 3&lt;br /&gt;
**Bitul 2 corespunde segmentului 4&lt;br /&gt;
**Bitul 1 corespunde segmentului 5&lt;br /&gt;
**Bitul 0 corespunde segmentului 6&lt;br /&gt;
&lt;br /&gt;
Verificați funcționarea corectă a afișajului pe placa DE1, conectând intrarea pe SW3-SW0.. Modificați pinii la ieșire astfel încât valoarea să fie afișată pe &amp;#039;&amp;#039;&amp;#039;Digit 1&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
b. Realizați un circuit care adună două numere binare pe 3 biți, iar rezultatul, pe 4 biți, va fi afișat ca cifră hexazecimală cu ajutorul transcodorului de la pct. a). &lt;br /&gt;
Restricții:&lt;br /&gt;
&lt;br /&gt;
*Creați un nou proiect, în care modulul top-level este denumit „top”.&lt;br /&gt;
*Cele două intrări se vor nota cu a, respectiv b, și se vor conecta la switchurile SW2-SW0 (corespunzător biților 2-&amp;gt;0 ai lui &amp;#039;&amp;#039;&amp;#039;a&amp;#039;&amp;#039;&amp;#039;, în această ordine), respectiv SW9-SW7 (corespunzător biților 2-&amp;gt;0 ai lui &amp;#039;&amp;#039;&amp;#039;b&amp;#039;&amp;#039;&amp;#039;, în această ordine) .&lt;br /&gt;
*Ieșirile se vor conecta la pinii corespunzători pentru afișajul cu 7 segmente, Digit 1.&lt;br /&gt;
*Sumatorul și transcodorul vor fi descrise în module diferite (denumite &amp;#039;&amp;#039;&amp;#039;sumator&amp;#039;&amp;#039;&amp;#039; și &amp;#039;&amp;#039;&amp;#039;afisaj7seg&amp;#039;&amp;#039;&amp;#039;, scrise în fișiere diferite, și instanțiate în modulul de top.&lt;br /&gt;
&lt;br /&gt;
===Exercitiul 2===&lt;br /&gt;
&lt;br /&gt;
*Intrarea &amp;#039;&amp;#039;&amp;#039;value&amp;#039;&amp;#039;&amp;#039; se va conecta la switchurile SW7-SW4 (corespunzător biților 3-&amp;gt;0 ai &amp;#039;&amp;#039;&amp;#039;value&amp;#039;&amp;#039;&amp;#039;, în această ordine)&lt;br /&gt;
*Intrarea &amp;#039;&amp;#039;&amp;#039;selection&amp;#039;&amp;#039;&amp;#039; se va conecta la SW1-SW0 (corespunzător biților 1-&amp;gt;0 ai &amp;#039;&amp;#039;&amp;#039;selection&amp;#039;&amp;#039;&amp;#039;, în această ordine)&lt;br /&gt;
*Biții &amp;#039;&amp;#039;&amp;#039;out_seg&amp;#039;&amp;#039;&amp;#039; corespund cu segmentele în modul următor:&lt;br /&gt;
&lt;br /&gt;
**Bitul 6 corespunde segmentului A&lt;br /&gt;
**Bitul 5 corespunde segmentului G&lt;br /&gt;
**Bitul 4 corespunde segmentului D&lt;br /&gt;
**Bitul 3 corespunde segmentului F&lt;br /&gt;
**Bitul 2 corespunde segmentului B&lt;br /&gt;
**Bitul 1 corespunde segmentului E&lt;br /&gt;
**Bitul 0 corespunde segmentului C&lt;br /&gt;
&lt;br /&gt;
*Ieșirile se vor conecta la pinii corespunzători pentru afișajul cu 7 segmente.&lt;br /&gt;
&lt;br /&gt;
===Exercitiul 3===&lt;br /&gt;
&lt;br /&gt;
*Intrarea &amp;#039;&amp;#039;&amp;#039;value&amp;#039;&amp;#039;&amp;#039; se va conecta la switchurile SW6-SW3 (corespunzător biților 3-&amp;gt;0 ai &amp;#039;&amp;#039;&amp;#039;value&amp;#039;&amp;#039;&amp;#039;, în această ordine)&lt;br /&gt;
*Intrarea &amp;#039;&amp;#039;&amp;#039;selection&amp;#039;&amp;#039;&amp;#039; se va conecta la SW2-SW1 (corespunzător biților 1-&amp;gt;0 ai &amp;#039;&amp;#039;&amp;#039;selection&amp;#039;&amp;#039;&amp;#039;, în această ordine)&lt;br /&gt;
*Biții &amp;#039;&amp;#039;&amp;#039;out_seg&amp;#039;&amp;#039;&amp;#039; corespund cu segmentele în modul următor:&lt;br /&gt;
**Bitul 7 corespunde segmentului P&lt;br /&gt;
**Bitul 6 corespunde segmentului G&lt;br /&gt;
**Bitul 5 corespunde segmentului F&lt;br /&gt;
**Bitul 4 corespunde segmentului E&lt;br /&gt;
**Bitul 3 corespunde segmentului D&lt;br /&gt;
**Bitul 2 corespunde segmentului C&lt;br /&gt;
**Bitul 1 corespunde segmentului B&lt;br /&gt;
**Bitul 0 corespunde segmentului A&lt;br /&gt;
*Ieșirile se vor conecta la pinii corespunzători pentru afișajul cu 7 segmente.&lt;br /&gt;
&lt;br /&gt;
===Exercitiul 4===&lt;br /&gt;
&lt;br /&gt;
*Intrarea &amp;#039;&amp;#039;&amp;#039;value&amp;#039;&amp;#039;&amp;#039; se va conecta la switchurile SW5-SW2 (corespunzător biților 3-&amp;gt;0 ai &amp;#039;&amp;#039;&amp;#039;value&amp;#039;&amp;#039;&amp;#039;, în această ordine)&lt;br /&gt;
*Intrarea &amp;#039;&amp;#039;&amp;#039;selection&amp;#039;&amp;#039;&amp;#039; se va conecta la SW7-SW6 (corespunzător biților 1-&amp;gt;0 ai &amp;#039;&amp;#039;&amp;#039;selection&amp;#039;&amp;#039;&amp;#039;, în această ordine)&lt;br /&gt;
*Biții &amp;#039;&amp;#039;&amp;#039;out_seg&amp;#039;&amp;#039;&amp;#039; corespund cu segmentele în modul următor:&lt;br /&gt;
**Bitul 7 corespunde segmentului G&lt;br /&gt;
**Bitul 6 corespunde segmentului B&lt;br /&gt;
**Bitul 5 corespunde segmentului E&lt;br /&gt;
**Bitul 4 corespunde segmentului C&lt;br /&gt;
**Bitul 3 corespunde segmentului F&lt;br /&gt;
**Bitul 2 corespunde segmentului A&lt;br /&gt;
**Bitul 1 corespunde segmentului D&lt;br /&gt;
**Bitul 0 corespunde segmentului P&lt;br /&gt;
*Ieșirile se vor conecta la pinii corespunzători pentru afișajul cu 7 segmente.&lt;br /&gt;
&lt;br /&gt;
[[Fișier:transcoder.png]]&lt;br /&gt;
&lt;br /&gt;
== Submiterea Exercițiilor ==&lt;br /&gt;
&lt;br /&gt;
Pentru notare, se vor submite următoarele fișiere, către adresa de e-mail indicată de cadrul didactic.&lt;br /&gt;
&lt;br /&gt;
O arhivă &amp;lt;span style=&amp;quot;color: red; font-weight: bold&amp;quot;&amp;gt;zip&amp;lt;/span&amp;gt; ce va conține:&lt;br /&gt;
*Un fișier Verilog cu extensia .v care conține descrierea Verilog a circuitului&lt;br /&gt;
*Un fișier de constrângeri, cu extensia .qsf&lt;br /&gt;
*Un fișier de tip proiect Quartus, cu extensia .qpf&lt;br /&gt;
Atentie, arhiva va contine doar cele 3 fisiere (fara directoare).&lt;br /&gt;
&lt;br /&gt;
Subiectul mesajului de e-mail trebuie să respecte formatul &amp;lt;span style=&amp;quot;color: red; font-weight: bold&amp;quot;&amp;gt;[Nume]_[Prenume]_[Grupa]_7seg_[Nr. Exercitiu]&amp;lt;/span&amp;gt; de exemplu Petrica_Lucian_423B_7seg_4&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
Creați un proiect Xilinx ISE, descrierea Verilog și constrângerile necesare pentru a implementa pe placa Nexys2 circuitul care afișează, pe una din cifrele afișajului cu 7 segmente, primele 4 numere (0, 1, 2, 3), atunci când valoarea binară corespunzătoare este formată prin apăsarea butoanelor BTN0 și BTN1. Astfel, circuitul descris trebuie să respecte următoarele cerințe:&lt;br /&gt;
* are o intrare numită &amp;#039;&amp;#039;&amp;#039;binary_input&amp;#039;&amp;#039;&amp;#039; de doi biți, bitul cel mai putin semnificativ fiind conectat la BTN0, iar bitul cel mai semnificativ fiind conectat la BTN1&lt;br /&gt;
* are ieșirile necesare pentru activarea afișajului cu 7 segmente, denumite &amp;#039;&amp;#039;&amp;#039;ca&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;cb&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;cc&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;cd&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;ce&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;cf&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;cg&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;cp&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* are ieșirile necesare pentru controlul aprinderii cifrei, denumite &amp;#039;&amp;#039;&amp;#039;an0&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;an1&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;an2&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;an3&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* folosește operatori logici și blocuri de tip &amp;#039;&amp;#039;&amp;#039;assign&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Recomandări pentru cadrele didactice ==&lt;br /&gt;
* Se vor introduce noțiunile necesare folosirii [[Dispozitiv_de_IO:_Afișajul_cu_7_segmente|afișajului cu 7 segmente]]&lt;br /&gt;
&amp;lt;!--* În vederea rezolvării cerinței, cadrul didactic va desena tabela de adevăr a funcției logice care activează segmentul CA, și va ghida studenții pentru identificarea funcției logice și implementarea ei în Verilog folosind operatori logici.--&amp;gt;&lt;/div&gt;</summary>
		<author><name>Mdascalu</name></author>
	</entry>
	<entry>
		<id>http://wiki.dcae.pub.ro/index.php?title=CID_Lab_Lucrarea_2&amp;diff=5277</id>
		<title>CID Lab Lucrarea 2</title>
		<link rel="alternate" type="text/html" href="http://wiki.dcae.pub.ro/index.php?title=CID_Lab_Lucrarea_2&amp;diff=5277"/>
		<updated>2017-03-16T23:32:47Z</updated>

		<summary type="html">&lt;p&gt;Mdascalu: /* Exercitiul 1 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Noțiuni și cunoștințe necesare ==&lt;br /&gt;
&lt;br /&gt;
* [[Tutorial_Quartus_II| Utilizarea programului de sinteză Altera Quartus II]]&lt;br /&gt;
* [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]&lt;br /&gt;
* [[Introducere. Verilog HDL și ModelSim|Logică booleană și sisteme de numerație]]&lt;br /&gt;
* Noțiuni de sintaxă [[Verilog]]&lt;br /&gt;
* [[Dispozitiv_de_IO:_Afișajul_cu_7_segmente|Afișajul cu 7 segmente]]&lt;br /&gt;
&lt;br /&gt;
== Exemplul 1 ==&lt;br /&gt;
&lt;br /&gt;
Realizați un decodor de doi biți folosind un bloc &amp;#039;&amp;#039;&amp;#039;case&amp;#039;&amp;#039;&amp;#039;. Testați decodorul legând intrările la switch-uri și ieșirile la led-uri.&lt;br /&gt;
&lt;br /&gt;
== Exemplul 2 ==&lt;br /&gt;
 &lt;br /&gt;
Realizați un transcodor pentru afișajul cu 7 segmente, folosind un bloc &amp;#039;&amp;#039;&amp;#039;case&amp;#039;&amp;#039;&amp;#039;, care să poată afișa valorile de la 0 la 3. Intrarea modulului se va numi &amp;#039;&amp;#039;&amp;#039;value&amp;#039;&amp;#039;&amp;#039; iar ieșirea &amp;#039;&amp;#039;&amp;#039;out_seg&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
Testați decodorul aplicând intrarea pe SW1 și SW0 și afișând ieșirea pe afișajul cu 7 segmente, cifra din dreapta (Digit0).&lt;br /&gt;
&lt;br /&gt;
== Exerciții ==&lt;br /&gt;
&lt;br /&gt;
Completați transcodorul de la exemplul 2 astfel încât să poată afișa valorile de la 0 la 15, în baza 16 (10 = A, 11 = b, 12 = C, 13 = d, 14 = E, 15 = F). Modificați pinii la ieșire astfel încât valoarea să fie afișată pe Digit 1.&lt;br /&gt;
&lt;br /&gt;
Modulul top-level se va numi &amp;#039;&amp;#039;&amp;#039;afisaj7seg&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
=== Exercitiul 1===&lt;br /&gt;
a. Completați și modificații transcodorul de la exemplul 2 astfel încât să poată afișa valorile de la 0 la 15, în baza 16 (10 = A, 11 = b, 12 = C, 13 = d, 14 = E, 15 = F) &amp;#039;&amp;#039;&amp;#039;pe a doua poziție din dreapta&amp;#039;&amp;#039;&amp;#039;. &lt;br /&gt;
*Denumiți modulul &amp;#039;&amp;#039;&amp;#039;afisaj7seg&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
*Biții &amp;#039;&amp;#039;&amp;#039;out_seg&amp;#039;&amp;#039;&amp;#039; corespund cu segmentele în modul următor:&lt;br /&gt;
&lt;br /&gt;
**Bitul 6 corespunde segmentului 0&lt;br /&gt;
**Bitul 5 corespunde segmentului 1&lt;br /&gt;
**Bitul 4 corespunde segmentului 2&lt;br /&gt;
**Bitul 3 corespunde segmentului 3&lt;br /&gt;
**Bitul 2 corespunde segmentului 4&lt;br /&gt;
**Bitul 1 corespunde segmentului 5&lt;br /&gt;
**Bitul 0 corespunde segmentului 6&lt;br /&gt;
&lt;br /&gt;
Verificați funcționarea corectă a afișajului pe placa DE1, conectând intrarea pe SW3-SW0.. Modificați pinii la ieșire astfel încât valoarea să fie afișată pe &amp;#039;&amp;#039;&amp;#039;Digit 1&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
b. Realizați un circuit care adună două numere binare pe 3 biți, iar rezultatul, pe 4 biți, va fi afișat ca cifră hexazecimală cu ajutorul transcodorului de la pct. a). &lt;br /&gt;
Restricții:&lt;br /&gt;
&lt;br /&gt;
*Creați un nou proiect, în care modulul top-level este denumit „top”.&lt;br /&gt;
*Cele două intrări se vor nota cu a, respectiv b, și se vor conecta la switchurile SW2-SW0 (corespunzător biților 2-&amp;gt;0 ai lui &amp;#039;&amp;#039;&amp;#039;a&amp;#039;&amp;#039;&amp;#039;, în această ordine), respectiv SW9-SW7 (corespunzător biților 2-&amp;gt;0 ai lui &amp;#039;&amp;#039;&amp;#039;b&amp;#039;&amp;#039;&amp;#039;, în această ordine) .&lt;br /&gt;
*Ieșirile se vor conecta la pinii corespunzători pentru afișajul cu 7 segmente, Digit 1.&lt;br /&gt;
*Sumatorul și transcodorul vor fi descrise în module diferite (denumite &amp;#039;&amp;#039;&amp;#039;sumator&amp;#039;&amp;#039;&amp;#039; și &amp;#039;&amp;#039;&amp;#039;afisaj7seg&amp;#039;&amp;#039;&amp;#039;, scrise în fișiere diferite, și instanțiate în modulul de top.&lt;br /&gt;
&lt;br /&gt;
===Exercitiul 2===&lt;br /&gt;
&lt;br /&gt;
*Intrarea &amp;#039;&amp;#039;&amp;#039;value&amp;#039;&amp;#039;&amp;#039; se va conecta la switchurile SW7-SW4 (corespunzător biților 3-&amp;gt;0 ai &amp;#039;&amp;#039;&amp;#039;value&amp;#039;&amp;#039;&amp;#039;, în această ordine)&lt;br /&gt;
*Intrarea &amp;#039;&amp;#039;&amp;#039;selection&amp;#039;&amp;#039;&amp;#039; se va conecta la SW1-SW0 (corespunzător biților 1-&amp;gt;0 ai &amp;#039;&amp;#039;&amp;#039;selection&amp;#039;&amp;#039;&amp;#039;, în această ordine)&lt;br /&gt;
*Biții &amp;#039;&amp;#039;&amp;#039;out_seg&amp;#039;&amp;#039;&amp;#039; corespund cu segmentele în modul următor:&lt;br /&gt;
&lt;br /&gt;
**Bitul 6 corespunde segmentului A&lt;br /&gt;
**Bitul 5 corespunde segmentului G&lt;br /&gt;
**Bitul 4 corespunde segmentului D&lt;br /&gt;
**Bitul 3 corespunde segmentului F&lt;br /&gt;
**Bitul 2 corespunde segmentului B&lt;br /&gt;
**Bitul 1 corespunde segmentului E&lt;br /&gt;
**Bitul 0 corespunde segmentului C&lt;br /&gt;
&lt;br /&gt;
*Ieșirile se vor conecta la pinii corespunzători pentru afișajul cu 7 segmente.&lt;br /&gt;
&lt;br /&gt;
===Exercitiul 3===&lt;br /&gt;
&lt;br /&gt;
*Intrarea &amp;#039;&amp;#039;&amp;#039;value&amp;#039;&amp;#039;&amp;#039; se va conecta la switchurile SW6-SW3 (corespunzător biților 3-&amp;gt;0 ai &amp;#039;&amp;#039;&amp;#039;value&amp;#039;&amp;#039;&amp;#039;, în această ordine)&lt;br /&gt;
*Intrarea &amp;#039;&amp;#039;&amp;#039;selection&amp;#039;&amp;#039;&amp;#039; se va conecta la SW2-SW1 (corespunzător biților 1-&amp;gt;0 ai &amp;#039;&amp;#039;&amp;#039;selection&amp;#039;&amp;#039;&amp;#039;, în această ordine)&lt;br /&gt;
*Biții &amp;#039;&amp;#039;&amp;#039;out_seg&amp;#039;&amp;#039;&amp;#039; corespund cu segmentele în modul următor:&lt;br /&gt;
**Bitul 7 corespunde segmentului P&lt;br /&gt;
**Bitul 6 corespunde segmentului G&lt;br /&gt;
**Bitul 5 corespunde segmentului F&lt;br /&gt;
**Bitul 4 corespunde segmentului E&lt;br /&gt;
**Bitul 3 corespunde segmentului D&lt;br /&gt;
**Bitul 2 corespunde segmentului C&lt;br /&gt;
**Bitul 1 corespunde segmentului B&lt;br /&gt;
**Bitul 0 corespunde segmentului A&lt;br /&gt;
*Ieșirile se vor conecta la pinii corespunzători pentru afișajul cu 7 segmente.&lt;br /&gt;
&lt;br /&gt;
===Exercitiul 4===&lt;br /&gt;
&lt;br /&gt;
*Intrarea &amp;#039;&amp;#039;&amp;#039;value&amp;#039;&amp;#039;&amp;#039; se va conecta la switchurile SW5-SW2 (corespunzător biților 3-&amp;gt;0 ai &amp;#039;&amp;#039;&amp;#039;value&amp;#039;&amp;#039;&amp;#039;, în această ordine)&lt;br /&gt;
*Intrarea &amp;#039;&amp;#039;&amp;#039;selection&amp;#039;&amp;#039;&amp;#039; se va conecta la SW7-SW6 (corespunzător biților 1-&amp;gt;0 ai &amp;#039;&amp;#039;&amp;#039;selection&amp;#039;&amp;#039;&amp;#039;, în această ordine)&lt;br /&gt;
*Biții &amp;#039;&amp;#039;&amp;#039;out_seg&amp;#039;&amp;#039;&amp;#039; corespund cu segmentele în modul următor:&lt;br /&gt;
**Bitul 7 corespunde segmentului G&lt;br /&gt;
**Bitul 6 corespunde segmentului B&lt;br /&gt;
**Bitul 5 corespunde segmentului E&lt;br /&gt;
**Bitul 4 corespunde segmentului C&lt;br /&gt;
**Bitul 3 corespunde segmentului F&lt;br /&gt;
**Bitul 2 corespunde segmentului A&lt;br /&gt;
**Bitul 1 corespunde segmentului D&lt;br /&gt;
**Bitul 0 corespunde segmentului P&lt;br /&gt;
*Ieșirile se vor conecta la pinii corespunzători pentru afișajul cu 7 segmente.&lt;br /&gt;
&lt;br /&gt;
[[Fișier:transcoder.png]]&lt;br /&gt;
&lt;br /&gt;
== Submiterea Exercițiilor ==&lt;br /&gt;
&lt;br /&gt;
Pentru notare, se vor submite următoarele fișiere, către adresa de e-mail indicată de cadrul didactic.&lt;br /&gt;
&lt;br /&gt;
O arhivă &amp;lt;span style=&amp;quot;color: red; font-weight: bold&amp;quot;&amp;gt;zip&amp;lt;/span&amp;gt; ce va conține:&lt;br /&gt;
*Un fișier Verilog cu extensia .v care conține descrierea Verilog a circuitului&lt;br /&gt;
*Un fișier de constrângeri, cu extensia .qsf&lt;br /&gt;
*Un fișier de tip proiect Quartus, cu extensia .qpf&lt;br /&gt;
Atentie, arhiva va contine doar cele 3 fisiere (fara directoare).&lt;br /&gt;
&lt;br /&gt;
Subiectul mesajului de e-mail trebuie să respecte formatul &amp;lt;span style=&amp;quot;color: red; font-weight: bold&amp;quot;&amp;gt;[Nume]_[Prenume]_[Grupa]_7seg_[Nr. Exercitiu]&amp;lt;/span&amp;gt; de exemplu Petrica_Lucian_423B_7seg_4&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
Creați un proiect Xilinx ISE, descrierea Verilog și constrângerile necesare pentru a implementa pe placa Nexys2 circuitul care afișează, pe una din cifrele afișajului cu 7 segmente, primele 4 numere (0, 1, 2, 3), atunci când valoarea binară corespunzătoare este formată prin apăsarea butoanelor BTN0 și BTN1. Astfel, circuitul descris trebuie să respecte următoarele cerințe:&lt;br /&gt;
* are o intrare numită &amp;#039;&amp;#039;&amp;#039;binary_input&amp;#039;&amp;#039;&amp;#039; de doi biți, bitul cel mai putin semnificativ fiind conectat la BTN0, iar bitul cel mai semnificativ fiind conectat la BTN1&lt;br /&gt;
* are ieșirile necesare pentru activarea afișajului cu 7 segmente, denumite &amp;#039;&amp;#039;&amp;#039;ca&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;cb&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;cc&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;cd&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;ce&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;cf&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;cg&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;cp&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* are ieșirile necesare pentru controlul aprinderii cifrei, denumite &amp;#039;&amp;#039;&amp;#039;an0&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;an1&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;an2&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;an3&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* folosește operatori logici și blocuri de tip &amp;#039;&amp;#039;&amp;#039;assign&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Recomandări pentru cadrele didactice ==&lt;br /&gt;
* Se vor introduce noțiunile necesare folosirii [[Dispozitiv_de_IO:_Afișajul_cu_7_segmente|afișajului cu 7 segmente]]&lt;br /&gt;
&amp;lt;!--* În vederea rezolvării cerinței, cadrul didactic va desena tabela de adevăr a funcției logice care activează segmentul CA, și va ghida studenții pentru identificarea funcției logice și implementarea ei în Verilog folosind operatori logici.--&amp;gt;&lt;/div&gt;</summary>
		<author><name>Mdascalu</name></author>
	</entry>
	<entry>
		<id>http://wiki.dcae.pub.ro/index.php?title=CID_Lab_Lucrarea_2&amp;diff=5276</id>
		<title>CID Lab Lucrarea 2</title>
		<link rel="alternate" type="text/html" href="http://wiki.dcae.pub.ro/index.php?title=CID_Lab_Lucrarea_2&amp;diff=5276"/>
		<updated>2017-03-16T23:25:10Z</updated>

		<summary type="html">&lt;p&gt;Mdascalu: /* Exerciții */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Noțiuni și cunoștințe necesare ==&lt;br /&gt;
&lt;br /&gt;
* [[Tutorial_Quartus_II| Utilizarea programului de sinteză Altera Quartus II]]&lt;br /&gt;
* [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]&lt;br /&gt;
* [[Introducere. Verilog HDL și ModelSim|Logică booleană și sisteme de numerație]]&lt;br /&gt;
* Noțiuni de sintaxă [[Verilog]]&lt;br /&gt;
* [[Dispozitiv_de_IO:_Afișajul_cu_7_segmente|Afișajul cu 7 segmente]]&lt;br /&gt;
&lt;br /&gt;
== Exemplul 1 ==&lt;br /&gt;
&lt;br /&gt;
Realizați un decodor de doi biți folosind un bloc &amp;#039;&amp;#039;&amp;#039;case&amp;#039;&amp;#039;&amp;#039;. Testați decodorul legând intrările la switch-uri și ieșirile la led-uri.&lt;br /&gt;
&lt;br /&gt;
== Exemplul 2 ==&lt;br /&gt;
 &lt;br /&gt;
Realizați un transcodor pentru afișajul cu 7 segmente, folosind un bloc &amp;#039;&amp;#039;&amp;#039;case&amp;#039;&amp;#039;&amp;#039;, care să poată afișa valorile de la 0 la 3. Intrarea modulului se va numi &amp;#039;&amp;#039;&amp;#039;value&amp;#039;&amp;#039;&amp;#039; iar ieșirea &amp;#039;&amp;#039;&amp;#039;out_seg&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
Testați decodorul aplicând intrarea pe SW1 și SW0 și afișând ieșirea pe afișajul cu 7 segmente, cifra din dreapta (Digit0).&lt;br /&gt;
&lt;br /&gt;
== Exerciții ==&lt;br /&gt;
&lt;br /&gt;
Completați transcodorul de la exemplul 2 astfel încât să poată afișa valorile de la 0 la 15, în baza 16 (10 = A, 11 = b, 12 = C, 13 = d, 14 = E, 15 = F). Modificați pinii la ieșire astfel încât valoarea să fie afișată pe Digit 1.&lt;br /&gt;
&lt;br /&gt;
Modulul top-level se va numi &amp;#039;&amp;#039;&amp;#039;afisaj7seg&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
=== Exercitiul 1===&lt;br /&gt;
a. Completați și modificații transcodorul de la exemplul 2 astfel încât să poată afișa valorile de la 0 la 15, în baza 16 (10 = A, 11 = b, 12 = C, 13 = d, 14 = E, 15 = F) &amp;#039;&amp;#039;&amp;#039;pe a doua poziție din dreapta&amp;#039;&amp;#039;&amp;#039;. &lt;br /&gt;
&lt;br /&gt;
*Biții &amp;#039;&amp;#039;&amp;#039;out_seg&amp;#039;&amp;#039;&amp;#039; corespund cu segmentele în modul următor:&lt;br /&gt;
&lt;br /&gt;
**Bitul 6 corespunde segmentului 0&lt;br /&gt;
**Bitul 5 corespunde segmentului 1&lt;br /&gt;
**Bitul 4 corespunde segmentului 2&lt;br /&gt;
**Bitul 3 corespunde segmentului 3&lt;br /&gt;
**Bitul 2 corespunde segmentului 4&lt;br /&gt;
**Bitul 1 corespunde segmentului 5&lt;br /&gt;
**Bitul 0 corespunde segmentului 6&lt;br /&gt;
&lt;br /&gt;
Verificați funcționarea corectă a afișajului pe placa DE1. Modificați pinii la ieșire astfel încât valoarea să fie afișată pe &amp;#039;&amp;#039;&amp;#039;Digit 1&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
b. Realizați un circuit care adună două numere binare pe 3 biți, iar rezultatul, pe 4 biți, va fi afișat ca cifră hexazecimală cu ajutorul transcodorului de la pct. a). &lt;br /&gt;
Restricții:&lt;br /&gt;
&lt;br /&gt;
*Creați un nou proiect, în care modulul top-level este denumit „top”.&lt;br /&gt;
*Cele două intrări se vor nota cu a, respectiv b, și se vor conecta la switchurile SW2-SW0 (corespunzător biților 2-&amp;gt;0 ai lui &amp;#039;&amp;#039;&amp;#039;a&amp;#039;&amp;#039;&amp;#039;, în această ordine), respectiv SW9-SW7 (corespunzător biților 2-&amp;gt;0 ai lui &amp;#039;&amp;#039;&amp;#039;b&amp;#039;&amp;#039;&amp;#039;, în această ordine) .&lt;br /&gt;
*Ieșirile se vor conecta la pinii corespunzători pentru afișajul cu 7 segmente, Digit 1.&lt;br /&gt;
*Sumatorul și transcodorul vor fi module diferite, scrise în fișiere diferite, și instanțiate în modulul de top.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Exercitiul 2===&lt;br /&gt;
&lt;br /&gt;
*Intrarea &amp;#039;&amp;#039;&amp;#039;value&amp;#039;&amp;#039;&amp;#039; se va conecta la switchurile SW7-SW4 (corespunzător biților 3-&amp;gt;0 ai &amp;#039;&amp;#039;&amp;#039;value&amp;#039;&amp;#039;&amp;#039;, în această ordine)&lt;br /&gt;
*Intrarea &amp;#039;&amp;#039;&amp;#039;selection&amp;#039;&amp;#039;&amp;#039; se va conecta la SW1-SW0 (corespunzător biților 1-&amp;gt;0 ai &amp;#039;&amp;#039;&amp;#039;selection&amp;#039;&amp;#039;&amp;#039;, în această ordine)&lt;br /&gt;
*Biții &amp;#039;&amp;#039;&amp;#039;out_seg&amp;#039;&amp;#039;&amp;#039; corespund cu segmentele în modul următor:&lt;br /&gt;
&lt;br /&gt;
**Bitul 6 corespunde segmentului A&lt;br /&gt;
**Bitul 5 corespunde segmentului G&lt;br /&gt;
**Bitul 4 corespunde segmentului D&lt;br /&gt;
**Bitul 3 corespunde segmentului F&lt;br /&gt;
**Bitul 2 corespunde segmentului B&lt;br /&gt;
**Bitul 1 corespunde segmentului E&lt;br /&gt;
**Bitul 0 corespunde segmentului C&lt;br /&gt;
&lt;br /&gt;
*Ieșirile se vor conecta la pinii corespunzători pentru afișajul cu 7 segmente.&lt;br /&gt;
&lt;br /&gt;
===Exercitiul 3===&lt;br /&gt;
&lt;br /&gt;
*Intrarea &amp;#039;&amp;#039;&amp;#039;value&amp;#039;&amp;#039;&amp;#039; se va conecta la switchurile SW6-SW3 (corespunzător biților 3-&amp;gt;0 ai &amp;#039;&amp;#039;&amp;#039;value&amp;#039;&amp;#039;&amp;#039;, în această ordine)&lt;br /&gt;
*Intrarea &amp;#039;&amp;#039;&amp;#039;selection&amp;#039;&amp;#039;&amp;#039; se va conecta la SW2-SW1 (corespunzător biților 1-&amp;gt;0 ai &amp;#039;&amp;#039;&amp;#039;selection&amp;#039;&amp;#039;&amp;#039;, în această ordine)&lt;br /&gt;
*Biții &amp;#039;&amp;#039;&amp;#039;out_seg&amp;#039;&amp;#039;&amp;#039; corespund cu segmentele în modul următor:&lt;br /&gt;
**Bitul 7 corespunde segmentului P&lt;br /&gt;
**Bitul 6 corespunde segmentului G&lt;br /&gt;
**Bitul 5 corespunde segmentului F&lt;br /&gt;
**Bitul 4 corespunde segmentului E&lt;br /&gt;
**Bitul 3 corespunde segmentului D&lt;br /&gt;
**Bitul 2 corespunde segmentului C&lt;br /&gt;
**Bitul 1 corespunde segmentului B&lt;br /&gt;
**Bitul 0 corespunde segmentului A&lt;br /&gt;
*Ieșirile se vor conecta la pinii corespunzători pentru afișajul cu 7 segmente.&lt;br /&gt;
&lt;br /&gt;
===Exercitiul 4===&lt;br /&gt;
&lt;br /&gt;
*Intrarea &amp;#039;&amp;#039;&amp;#039;value&amp;#039;&amp;#039;&amp;#039; se va conecta la switchurile SW5-SW2 (corespunzător biților 3-&amp;gt;0 ai &amp;#039;&amp;#039;&amp;#039;value&amp;#039;&amp;#039;&amp;#039;, în această ordine)&lt;br /&gt;
*Intrarea &amp;#039;&amp;#039;&amp;#039;selection&amp;#039;&amp;#039;&amp;#039; se va conecta la SW7-SW6 (corespunzător biților 1-&amp;gt;0 ai &amp;#039;&amp;#039;&amp;#039;selection&amp;#039;&amp;#039;&amp;#039;, în această ordine)&lt;br /&gt;
*Biții &amp;#039;&amp;#039;&amp;#039;out_seg&amp;#039;&amp;#039;&amp;#039; corespund cu segmentele în modul următor:&lt;br /&gt;
**Bitul 7 corespunde segmentului G&lt;br /&gt;
**Bitul 6 corespunde segmentului B&lt;br /&gt;
**Bitul 5 corespunde segmentului E&lt;br /&gt;
**Bitul 4 corespunde segmentului C&lt;br /&gt;
**Bitul 3 corespunde segmentului F&lt;br /&gt;
**Bitul 2 corespunde segmentului A&lt;br /&gt;
**Bitul 1 corespunde segmentului D&lt;br /&gt;
**Bitul 0 corespunde segmentului P&lt;br /&gt;
*Ieșirile se vor conecta la pinii corespunzători pentru afișajul cu 7 segmente.&lt;br /&gt;
&lt;br /&gt;
[[Fișier:transcoder.png]]&lt;br /&gt;
&lt;br /&gt;
== Submiterea Exercițiilor ==&lt;br /&gt;
&lt;br /&gt;
Pentru notare, se vor submite următoarele fișiere, către adresa de e-mail indicată de cadrul didactic.&lt;br /&gt;
&lt;br /&gt;
O arhivă &amp;lt;span style=&amp;quot;color: red; font-weight: bold&amp;quot;&amp;gt;zip&amp;lt;/span&amp;gt; ce va conține:&lt;br /&gt;
*Un fișier Verilog cu extensia .v care conține descrierea Verilog a circuitului&lt;br /&gt;
*Un fișier de constrângeri, cu extensia .qsf&lt;br /&gt;
*Un fișier de tip proiect Quartus, cu extensia .qpf&lt;br /&gt;
Atentie, arhiva va contine doar cele 3 fisiere (fara directoare).&lt;br /&gt;
&lt;br /&gt;
Subiectul mesajului de e-mail trebuie să respecte formatul &amp;lt;span style=&amp;quot;color: red; font-weight: bold&amp;quot;&amp;gt;[Nume]_[Prenume]_[Grupa]_7seg_[Nr. Exercitiu]&amp;lt;/span&amp;gt; de exemplu Petrica_Lucian_423B_7seg_4&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
Creați un proiect Xilinx ISE, descrierea Verilog și constrângerile necesare pentru a implementa pe placa Nexys2 circuitul care afișează, pe una din cifrele afișajului cu 7 segmente, primele 4 numere (0, 1, 2, 3), atunci când valoarea binară corespunzătoare este formată prin apăsarea butoanelor BTN0 și BTN1. Astfel, circuitul descris trebuie să respecte următoarele cerințe:&lt;br /&gt;
* are o intrare numită &amp;#039;&amp;#039;&amp;#039;binary_input&amp;#039;&amp;#039;&amp;#039; de doi biți, bitul cel mai putin semnificativ fiind conectat la BTN0, iar bitul cel mai semnificativ fiind conectat la BTN1&lt;br /&gt;
* are ieșirile necesare pentru activarea afișajului cu 7 segmente, denumite &amp;#039;&amp;#039;&amp;#039;ca&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;cb&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;cc&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;cd&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;ce&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;cf&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;cg&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;cp&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* are ieșirile necesare pentru controlul aprinderii cifrei, denumite &amp;#039;&amp;#039;&amp;#039;an0&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;an1&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;an2&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;an3&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* folosește operatori logici și blocuri de tip &amp;#039;&amp;#039;&amp;#039;assign&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Recomandări pentru cadrele didactice ==&lt;br /&gt;
* Se vor introduce noțiunile necesare folosirii [[Dispozitiv_de_IO:_Afișajul_cu_7_segmente|afișajului cu 7 segmente]]&lt;br /&gt;
&amp;lt;!--* În vederea rezolvării cerinței, cadrul didactic va desena tabela de adevăr a funcției logice care activează segmentul CA, și va ghida studenții pentru identificarea funcției logice și implementarea ei în Verilog folosind operatori logici.--&amp;gt;&lt;/div&gt;</summary>
		<author><name>Mdascalu</name></author>
	</entry>
	<entry>
		<id>http://wiki.dcae.pub.ro/index.php?title=CID_Lab_Lucrarea_2&amp;diff=5275</id>
		<title>CID Lab Lucrarea 2</title>
		<link rel="alternate" type="text/html" href="http://wiki.dcae.pub.ro/index.php?title=CID_Lab_Lucrarea_2&amp;diff=5275"/>
		<updated>2017-03-16T23:11:25Z</updated>

		<summary type="html">&lt;p&gt;Mdascalu: /* Exercitiul 1 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Noțiuni și cunoștințe necesare ==&lt;br /&gt;
&lt;br /&gt;
* [[Tutorial_Quartus_II| Utilizarea programului de sinteză Altera Quartus II]]&lt;br /&gt;
* [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]&lt;br /&gt;
* [[Introducere. Verilog HDL și ModelSim|Logică booleană și sisteme de numerație]]&lt;br /&gt;
* Noțiuni de sintaxă [[Verilog]]&lt;br /&gt;
* [[Dispozitiv_de_IO:_Afișajul_cu_7_segmente|Afișajul cu 7 segmente]]&lt;br /&gt;
&lt;br /&gt;
== Exemplul 1 ==&lt;br /&gt;
&lt;br /&gt;
Realizați un decodor de doi biți folosind un bloc &amp;#039;&amp;#039;&amp;#039;case&amp;#039;&amp;#039;&amp;#039;. Testați decodorul legând intrările la switch-uri și ieșirile la led-uri.&lt;br /&gt;
&lt;br /&gt;
== Exemplul 2 ==&lt;br /&gt;
 &lt;br /&gt;
Realizați un transcodor pentru afișajul cu 7 segmente, folosind un bloc &amp;#039;&amp;#039;&amp;#039;case&amp;#039;&amp;#039;&amp;#039;, care să poată afișa valorile de la 0 la 3. Intrarea modulului se va numi &amp;#039;&amp;#039;&amp;#039;value&amp;#039;&amp;#039;&amp;#039; iar ieșirea &amp;#039;&amp;#039;&amp;#039;out_seg&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
Testați decodorul aplicând intrarea pe SW1 și SW0 și afișând ieșirea pe afișajul cu 7 segmente, cifra din dreapta (Digit0).&lt;br /&gt;
&lt;br /&gt;
== Exerciții ==&lt;br /&gt;
&lt;br /&gt;
Completați transcodorul de la exemplul 2 astfel încât să poată afișa valorile de la 0 la 15, în baza 16 (10 = A, 11 = b, 12 = C, 13 = d, 14 = E, 15 = F). Adăugați circuitului un decodor folosit pentru a selecta care din cele 4 cifre să afișeze valoarea selectată. Intrarea pentru selecția cifrei se va numi &amp;#039;&amp;#039;&amp;#039;selection&amp;#039;&amp;#039;&amp;#039;, iar ieșirea &amp;#039;&amp;#039;&amp;#039;out_sel&amp;#039;&amp;#039;&amp;#039;. Corespondența între &amp;#039;&amp;#039;&amp;#039;selection&amp;#039;&amp;#039;&amp;#039; și cele 4 cifre cu 7 segmente de pe placa DE1 este conform regulii:&lt;br /&gt;
* selection = 0 aprinde cifra corespunzătoare Digit0&lt;br /&gt;
* selection = 1 aprinde cifra corespunzătoare Digit1&lt;br /&gt;
* selection = 2 aprinde cifra corespunzătoare Digit2&lt;br /&gt;
* selection = 3 aprinde cifra corespunzătoare Digit3&lt;br /&gt;
&lt;br /&gt;
Modulul top-level se va numi &amp;#039;&amp;#039;&amp;#039;afisaj7seg&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
=== Exercitiul 1===&lt;br /&gt;
a.&lt;br /&gt;
&lt;br /&gt;
*Intrarea &amp;#039;&amp;#039;&amp;#039;value&amp;#039;&amp;#039;&amp;#039; se va conecta la switchurile SW3-SW0 (corespunzător biților 3-&amp;gt;0 ai &amp;#039;&amp;#039;&amp;#039;value&amp;#039;&amp;#039;&amp;#039;, în această ordine).&lt;br /&gt;
*Intrarea &amp;#039;&amp;#039;&amp;#039;selection&amp;#039;&amp;#039;&amp;#039; se va conecta la SW7-SW6 (corespunzător biților 1-&amp;gt;0 ai &amp;#039;&amp;#039;&amp;#039;selection&amp;#039;&amp;#039;&amp;#039;, în această ordine).&lt;br /&gt;
*Biții &amp;#039;&amp;#039;&amp;#039;out_seg&amp;#039;&amp;#039;&amp;#039; corespund cu segmentele în modul următor:&lt;br /&gt;
&lt;br /&gt;
**Bitul 6 corespunde segmentului 6&lt;br /&gt;
**Bitul 5 corespunde segmentului 5&lt;br /&gt;
**Bitul 4 corespunde segmentului 4&lt;br /&gt;
**Bitul 3 corespunde segmentului 3&lt;br /&gt;
**Bitul 2 corespunde segmentului 2&lt;br /&gt;
**Bitul 1 corespunde segmentului 1&lt;br /&gt;
**Bitul 0 corespunde segmentului 0&lt;br /&gt;
&lt;br /&gt;
*Ieșirile se vor conecta la pinii corespunzători pentru afișajul cu 7 segmente.&lt;br /&gt;
&lt;br /&gt;
===Exercitiul 2===&lt;br /&gt;
&lt;br /&gt;
*Intrarea &amp;#039;&amp;#039;&amp;#039;value&amp;#039;&amp;#039;&amp;#039; se va conecta la switchurile SW7-SW4 (corespunzător biților 3-&amp;gt;0 ai &amp;#039;&amp;#039;&amp;#039;value&amp;#039;&amp;#039;&amp;#039;, în această ordine)&lt;br /&gt;
*Intrarea &amp;#039;&amp;#039;&amp;#039;selection&amp;#039;&amp;#039;&amp;#039; se va conecta la SW1-SW0 (corespunzător biților 1-&amp;gt;0 ai &amp;#039;&amp;#039;&amp;#039;selection&amp;#039;&amp;#039;&amp;#039;, în această ordine)&lt;br /&gt;
*Biții &amp;#039;&amp;#039;&amp;#039;out_seg&amp;#039;&amp;#039;&amp;#039; corespund cu segmentele în modul următor:&lt;br /&gt;
&lt;br /&gt;
**Bitul 6 corespunde segmentului A&lt;br /&gt;
**Bitul 5 corespunde segmentului G&lt;br /&gt;
**Bitul 4 corespunde segmentului D&lt;br /&gt;
**Bitul 3 corespunde segmentului F&lt;br /&gt;
**Bitul 2 corespunde segmentului B&lt;br /&gt;
**Bitul 1 corespunde segmentului E&lt;br /&gt;
**Bitul 0 corespunde segmentului C&lt;br /&gt;
&lt;br /&gt;
*Ieșirile se vor conecta la pinii corespunzători pentru afișajul cu 7 segmente.&lt;br /&gt;
&lt;br /&gt;
===Exercitiul 3===&lt;br /&gt;
&lt;br /&gt;
*Intrarea &amp;#039;&amp;#039;&amp;#039;value&amp;#039;&amp;#039;&amp;#039; se va conecta la switchurile SW6-SW3 (corespunzător biților 3-&amp;gt;0 ai &amp;#039;&amp;#039;&amp;#039;value&amp;#039;&amp;#039;&amp;#039;, în această ordine)&lt;br /&gt;
*Intrarea &amp;#039;&amp;#039;&amp;#039;selection&amp;#039;&amp;#039;&amp;#039; se va conecta la SW2-SW1 (corespunzător biților 1-&amp;gt;0 ai &amp;#039;&amp;#039;&amp;#039;selection&amp;#039;&amp;#039;&amp;#039;, în această ordine)&lt;br /&gt;
*Biții &amp;#039;&amp;#039;&amp;#039;out_seg&amp;#039;&amp;#039;&amp;#039; corespund cu segmentele în modul următor:&lt;br /&gt;
**Bitul 7 corespunde segmentului P&lt;br /&gt;
**Bitul 6 corespunde segmentului G&lt;br /&gt;
**Bitul 5 corespunde segmentului F&lt;br /&gt;
**Bitul 4 corespunde segmentului E&lt;br /&gt;
**Bitul 3 corespunde segmentului D&lt;br /&gt;
**Bitul 2 corespunde segmentului C&lt;br /&gt;
**Bitul 1 corespunde segmentului B&lt;br /&gt;
**Bitul 0 corespunde segmentului A&lt;br /&gt;
*Ieșirile se vor conecta la pinii corespunzători pentru afișajul cu 7 segmente.&lt;br /&gt;
&lt;br /&gt;
===Exercitiul 4===&lt;br /&gt;
&lt;br /&gt;
*Intrarea &amp;#039;&amp;#039;&amp;#039;value&amp;#039;&amp;#039;&amp;#039; se va conecta la switchurile SW5-SW2 (corespunzător biților 3-&amp;gt;0 ai &amp;#039;&amp;#039;&amp;#039;value&amp;#039;&amp;#039;&amp;#039;, în această ordine)&lt;br /&gt;
*Intrarea &amp;#039;&amp;#039;&amp;#039;selection&amp;#039;&amp;#039;&amp;#039; se va conecta la SW7-SW6 (corespunzător biților 1-&amp;gt;0 ai &amp;#039;&amp;#039;&amp;#039;selection&amp;#039;&amp;#039;&amp;#039;, în această ordine)&lt;br /&gt;
*Biții &amp;#039;&amp;#039;&amp;#039;out_seg&amp;#039;&amp;#039;&amp;#039; corespund cu segmentele în modul următor:&lt;br /&gt;
**Bitul 7 corespunde segmentului G&lt;br /&gt;
**Bitul 6 corespunde segmentului B&lt;br /&gt;
**Bitul 5 corespunde segmentului E&lt;br /&gt;
**Bitul 4 corespunde segmentului C&lt;br /&gt;
**Bitul 3 corespunde segmentului F&lt;br /&gt;
**Bitul 2 corespunde segmentului A&lt;br /&gt;
**Bitul 1 corespunde segmentului D&lt;br /&gt;
**Bitul 0 corespunde segmentului P&lt;br /&gt;
*Ieșirile se vor conecta la pinii corespunzători pentru afișajul cu 7 segmente.&lt;br /&gt;
&lt;br /&gt;
[[Fișier:transcoder.png]]&lt;br /&gt;
&lt;br /&gt;
== Submiterea Exercițiilor ==&lt;br /&gt;
&lt;br /&gt;
Pentru notare, se vor submite următoarele fișiere, către adresa de e-mail indicată de cadrul didactic.&lt;br /&gt;
&lt;br /&gt;
O arhivă &amp;lt;span style=&amp;quot;color: red; font-weight: bold&amp;quot;&amp;gt;zip&amp;lt;/span&amp;gt; ce va conține:&lt;br /&gt;
*Un fișier Verilog cu extensia .v care conține descrierea Verilog a circuitului&lt;br /&gt;
*Un fișier de constrângeri, cu extensia .qsf&lt;br /&gt;
*Un fișier de tip proiect Quartus, cu extensia .qpf&lt;br /&gt;
Atentie, arhiva va contine doar cele 3 fisiere (fara directoare).&lt;br /&gt;
&lt;br /&gt;
Subiectul mesajului de e-mail trebuie să respecte formatul &amp;lt;span style=&amp;quot;color: red; font-weight: bold&amp;quot;&amp;gt;[Nume]_[Prenume]_[Grupa]_7seg_[Nr. Exercitiu]&amp;lt;/span&amp;gt; de exemplu Petrica_Lucian_423B_7seg_4&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
Creați un proiect Xilinx ISE, descrierea Verilog și constrângerile necesare pentru a implementa pe placa Nexys2 circuitul care afișează, pe una din cifrele afișajului cu 7 segmente, primele 4 numere (0, 1, 2, 3), atunci când valoarea binară corespunzătoare este formată prin apăsarea butoanelor BTN0 și BTN1. Astfel, circuitul descris trebuie să respecte următoarele cerințe:&lt;br /&gt;
* are o intrare numită &amp;#039;&amp;#039;&amp;#039;binary_input&amp;#039;&amp;#039;&amp;#039; de doi biți, bitul cel mai putin semnificativ fiind conectat la BTN0, iar bitul cel mai semnificativ fiind conectat la BTN1&lt;br /&gt;
* are ieșirile necesare pentru activarea afișajului cu 7 segmente, denumite &amp;#039;&amp;#039;&amp;#039;ca&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;cb&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;cc&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;cd&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;ce&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;cf&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;cg&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;cp&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* are ieșirile necesare pentru controlul aprinderii cifrei, denumite &amp;#039;&amp;#039;&amp;#039;an0&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;an1&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;an2&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;an3&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* folosește operatori logici și blocuri de tip &amp;#039;&amp;#039;&amp;#039;assign&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Recomandări pentru cadrele didactice ==&lt;br /&gt;
* Se vor introduce noțiunile necesare folosirii [[Dispozitiv_de_IO:_Afișajul_cu_7_segmente|afișajului cu 7 segmente]]&lt;br /&gt;
&amp;lt;!--* În vederea rezolvării cerinței, cadrul didactic va desena tabela de adevăr a funcției logice care activează segmentul CA, și va ghida studenții pentru identificarea funcției logice și implementarea ei în Verilog folosind operatori logici.--&amp;gt;&lt;/div&gt;</summary>
		<author><name>Mdascalu</name></author>
	</entry>
	<entry>
		<id>http://wiki.dcae.pub.ro/index.php?title=CID_Lab_Lucrarea_2&amp;diff=5274</id>
		<title>CID Lab Lucrarea 2</title>
		<link rel="alternate" type="text/html" href="http://wiki.dcae.pub.ro/index.php?title=CID_Lab_Lucrarea_2&amp;diff=5274"/>
		<updated>2017-03-15T14:00:42Z</updated>

		<summary type="html">&lt;p&gt;Mdascalu: /* Exerciții */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Noțiuni și cunoștințe necesare ==&lt;br /&gt;
&lt;br /&gt;
* [[Tutorial_Quartus_II| Utilizarea programului de sinteză Altera Quartus II]]&lt;br /&gt;
* [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]&lt;br /&gt;
* [[Introducere. Verilog HDL și ModelSim|Logică booleană și sisteme de numerație]]&lt;br /&gt;
* Noțiuni de sintaxă [[Verilog]]&lt;br /&gt;
* [[Dispozitiv_de_IO:_Afișajul_cu_7_segmente|Afișajul cu 7 segmente]]&lt;br /&gt;
&lt;br /&gt;
== Exemplul 1 ==&lt;br /&gt;
&lt;br /&gt;
Realizați un decodor de doi biți folosind un bloc &amp;#039;&amp;#039;&amp;#039;case&amp;#039;&amp;#039;&amp;#039;. Testați decodorul legând intrările la switch-uri și ieșirile la led-uri.&lt;br /&gt;
&lt;br /&gt;
== Exemplul 2 ==&lt;br /&gt;
 &lt;br /&gt;
Realizați un transcodor pentru afișajul cu 7 segmente, folosind un bloc &amp;#039;&amp;#039;&amp;#039;case&amp;#039;&amp;#039;&amp;#039;, care să poată afișa valorile de la 0 la 3. Intrarea modulului se va numi &amp;#039;&amp;#039;&amp;#039;value&amp;#039;&amp;#039;&amp;#039; iar ieșirea &amp;#039;&amp;#039;&amp;#039;out_seg&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
Testați decodorul aplicând intrarea pe SW1 și SW0 și afișând ieșirea pe afișajul cu 7 segmente, cifra din dreapta (Digit0).&lt;br /&gt;
&lt;br /&gt;
== Exerciții ==&lt;br /&gt;
&lt;br /&gt;
Completați transcodorul de la exemplul 2 astfel încât să poată afișa valorile de la 0 la 15, în baza 16 (10 = A, 11 = b, 12 = C, 13 = d, 14 = E, 15 = F). Adăugați circuitului un decodor folosit pentru a selecta care din cele 4 cifre să afișeze valoarea selectată. Intrarea pentru selecția cifrei se va numi &amp;#039;&amp;#039;&amp;#039;selection&amp;#039;&amp;#039;&amp;#039;, iar ieșirea &amp;#039;&amp;#039;&amp;#039;out_sel&amp;#039;&amp;#039;&amp;#039;. Corespondența între &amp;#039;&amp;#039;&amp;#039;selection&amp;#039;&amp;#039;&amp;#039; și cele 4 cifre cu 7 segmente de pe placa DE1 este conform regulii:&lt;br /&gt;
* selection = 0 aprinde cifra corespunzătoare Digit0&lt;br /&gt;
* selection = 1 aprinde cifra corespunzătoare Digit1&lt;br /&gt;
* selection = 2 aprinde cifra corespunzătoare Digit2&lt;br /&gt;
* selection = 3 aprinde cifra corespunzătoare Digit3&lt;br /&gt;
&lt;br /&gt;
Modulul top-level se va numi &amp;#039;&amp;#039;&amp;#039;afisaj7seg&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
=== Exercitiul 1===&lt;br /&gt;
&lt;br /&gt;
*Intrarea &amp;#039;&amp;#039;&amp;#039;value&amp;#039;&amp;#039;&amp;#039; se va conecta la switchurile SW3-SW0 (corespunzător biților 3-&amp;gt;0 ai &amp;#039;&amp;#039;&amp;#039;value&amp;#039;&amp;#039;&amp;#039;, în această ordine).&lt;br /&gt;
*Intrarea &amp;#039;&amp;#039;&amp;#039;selection&amp;#039;&amp;#039;&amp;#039; se va conecta la SW7-SW6 (corespunzător biților 1-&amp;gt;0 ai &amp;#039;&amp;#039;&amp;#039;selection&amp;#039;&amp;#039;&amp;#039;, în această ordine).&lt;br /&gt;
*Biții &amp;#039;&amp;#039;&amp;#039;out_seg&amp;#039;&amp;#039;&amp;#039; corespund cu segmentele în modul următor:&lt;br /&gt;
&lt;br /&gt;
**Bitul 6 corespunde segmentului 6&lt;br /&gt;
**Bitul 5 corespunde segmentului 5&lt;br /&gt;
**Bitul 4 corespunde segmentului 4&lt;br /&gt;
**Bitul 3 corespunde segmentului 3&lt;br /&gt;
**Bitul 2 corespunde segmentului 2&lt;br /&gt;
**Bitul 1 corespunde segmentului 1&lt;br /&gt;
**Bitul 0 corespunde segmentului 0&lt;br /&gt;
&lt;br /&gt;
*Ieșirile se vor conecta la pinii corespunzători pentru afișajul cu 7 segmente.&lt;br /&gt;
&lt;br /&gt;
===Exercitiul 2===&lt;br /&gt;
&lt;br /&gt;
*Intrarea &amp;#039;&amp;#039;&amp;#039;value&amp;#039;&amp;#039;&amp;#039; se va conecta la switchurile SW7-SW4 (corespunzător biților 3-&amp;gt;0 ai &amp;#039;&amp;#039;&amp;#039;value&amp;#039;&amp;#039;&amp;#039;, în această ordine)&lt;br /&gt;
*Intrarea &amp;#039;&amp;#039;&amp;#039;selection&amp;#039;&amp;#039;&amp;#039; se va conecta la SW1-SW0 (corespunzător biților 1-&amp;gt;0 ai &amp;#039;&amp;#039;&amp;#039;selection&amp;#039;&amp;#039;&amp;#039;, în această ordine)&lt;br /&gt;
*Biții &amp;#039;&amp;#039;&amp;#039;out_seg&amp;#039;&amp;#039;&amp;#039; corespund cu segmentele în modul următor:&lt;br /&gt;
&lt;br /&gt;
**Bitul 6 corespunde segmentului A&lt;br /&gt;
**Bitul 5 corespunde segmentului G&lt;br /&gt;
**Bitul 4 corespunde segmentului D&lt;br /&gt;
**Bitul 3 corespunde segmentului F&lt;br /&gt;
**Bitul 2 corespunde segmentului B&lt;br /&gt;
**Bitul 1 corespunde segmentului E&lt;br /&gt;
**Bitul 0 corespunde segmentului C&lt;br /&gt;
&lt;br /&gt;
*Ieșirile se vor conecta la pinii corespunzători pentru afișajul cu 7 segmente.&lt;br /&gt;
&lt;br /&gt;
===Exercitiul 3===&lt;br /&gt;
&lt;br /&gt;
*Intrarea &amp;#039;&amp;#039;&amp;#039;value&amp;#039;&amp;#039;&amp;#039; se va conecta la switchurile SW6-SW3 (corespunzător biților 3-&amp;gt;0 ai &amp;#039;&amp;#039;&amp;#039;value&amp;#039;&amp;#039;&amp;#039;, în această ordine)&lt;br /&gt;
*Intrarea &amp;#039;&amp;#039;&amp;#039;selection&amp;#039;&amp;#039;&amp;#039; se va conecta la SW2-SW1 (corespunzător biților 1-&amp;gt;0 ai &amp;#039;&amp;#039;&amp;#039;selection&amp;#039;&amp;#039;&amp;#039;, în această ordine)&lt;br /&gt;
*Biții &amp;#039;&amp;#039;&amp;#039;out_seg&amp;#039;&amp;#039;&amp;#039; corespund cu segmentele în modul următor:&lt;br /&gt;
**Bitul 7 corespunde segmentului P&lt;br /&gt;
**Bitul 6 corespunde segmentului G&lt;br /&gt;
**Bitul 5 corespunde segmentului F&lt;br /&gt;
**Bitul 4 corespunde segmentului E&lt;br /&gt;
**Bitul 3 corespunde segmentului D&lt;br /&gt;
**Bitul 2 corespunde segmentului C&lt;br /&gt;
**Bitul 1 corespunde segmentului B&lt;br /&gt;
**Bitul 0 corespunde segmentului A&lt;br /&gt;
*Ieșirile se vor conecta la pinii corespunzători pentru afișajul cu 7 segmente.&lt;br /&gt;
&lt;br /&gt;
===Exercitiul 4===&lt;br /&gt;
&lt;br /&gt;
*Intrarea &amp;#039;&amp;#039;&amp;#039;value&amp;#039;&amp;#039;&amp;#039; se va conecta la switchurile SW5-SW2 (corespunzător biților 3-&amp;gt;0 ai &amp;#039;&amp;#039;&amp;#039;value&amp;#039;&amp;#039;&amp;#039;, în această ordine)&lt;br /&gt;
*Intrarea &amp;#039;&amp;#039;&amp;#039;selection&amp;#039;&amp;#039;&amp;#039; se va conecta la SW7-SW6 (corespunzător biților 1-&amp;gt;0 ai &amp;#039;&amp;#039;&amp;#039;selection&amp;#039;&amp;#039;&amp;#039;, în această ordine)&lt;br /&gt;
*Biții &amp;#039;&amp;#039;&amp;#039;out_seg&amp;#039;&amp;#039;&amp;#039; corespund cu segmentele în modul următor:&lt;br /&gt;
**Bitul 7 corespunde segmentului G&lt;br /&gt;
**Bitul 6 corespunde segmentului B&lt;br /&gt;
**Bitul 5 corespunde segmentului E&lt;br /&gt;
**Bitul 4 corespunde segmentului C&lt;br /&gt;
**Bitul 3 corespunde segmentului F&lt;br /&gt;
**Bitul 2 corespunde segmentului A&lt;br /&gt;
**Bitul 1 corespunde segmentului D&lt;br /&gt;
**Bitul 0 corespunde segmentului P&lt;br /&gt;
*Ieșirile se vor conecta la pinii corespunzători pentru afișajul cu 7 segmente.&lt;br /&gt;
&lt;br /&gt;
[[Fișier:transcoder.png]]&lt;br /&gt;
&lt;br /&gt;
== Submiterea Exercițiilor ==&lt;br /&gt;
&lt;br /&gt;
Pentru notare, se vor submite următoarele fișiere, către adresa de e-mail indicată de cadrul didactic.&lt;br /&gt;
&lt;br /&gt;
O arhivă &amp;lt;span style=&amp;quot;color: red; font-weight: bold&amp;quot;&amp;gt;zip&amp;lt;/span&amp;gt; ce va conține:&lt;br /&gt;
*Un fișier Verilog cu extensia .v care conține descrierea Verilog a circuitului&lt;br /&gt;
*Un fișier de constrângeri, cu extensia .qsf&lt;br /&gt;
*Un fișier de tip proiect Quartus, cu extensia .qpf&lt;br /&gt;
Atentie, arhiva va contine doar cele 3 fisiere (fara directoare).&lt;br /&gt;
&lt;br /&gt;
Subiectul mesajului de e-mail trebuie să respecte formatul &amp;lt;span style=&amp;quot;color: red; font-weight: bold&amp;quot;&amp;gt;[Nume]_[Prenume]_[Grupa]_7seg_[Nr. Exercitiu]&amp;lt;/span&amp;gt; de exemplu Petrica_Lucian_423B_7seg_4&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
Creați un proiect Xilinx ISE, descrierea Verilog și constrângerile necesare pentru a implementa pe placa Nexys2 circuitul care afișează, pe una din cifrele afișajului cu 7 segmente, primele 4 numere (0, 1, 2, 3), atunci când valoarea binară corespunzătoare este formată prin apăsarea butoanelor BTN0 și BTN1. Astfel, circuitul descris trebuie să respecte următoarele cerințe:&lt;br /&gt;
* are o intrare numită &amp;#039;&amp;#039;&amp;#039;binary_input&amp;#039;&amp;#039;&amp;#039; de doi biți, bitul cel mai putin semnificativ fiind conectat la BTN0, iar bitul cel mai semnificativ fiind conectat la BTN1&lt;br /&gt;
* are ieșirile necesare pentru activarea afișajului cu 7 segmente, denumite &amp;#039;&amp;#039;&amp;#039;ca&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;cb&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;cc&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;cd&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;ce&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;cf&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;cg&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;cp&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* are ieșirile necesare pentru controlul aprinderii cifrei, denumite &amp;#039;&amp;#039;&amp;#039;an0&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;an1&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;an2&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;an3&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* folosește operatori logici și blocuri de tip &amp;#039;&amp;#039;&amp;#039;assign&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Recomandări pentru cadrele didactice ==&lt;br /&gt;
* Se vor introduce noțiunile necesare folosirii [[Dispozitiv_de_IO:_Afișajul_cu_7_segmente|afișajului cu 7 segmente]]&lt;br /&gt;
&amp;lt;!--* În vederea rezolvării cerinței, cadrul didactic va desena tabela de adevăr a funcției logice care activează segmentul CA, și va ghida studenții pentru identificarea funcției logice și implementarea ei în Verilog folosind operatori logici.--&amp;gt;&lt;/div&gt;</summary>
		<author><name>Mdascalu</name></author>
	</entry>
	<entry>
		<id>http://wiki.dcae.pub.ro/index.php?title=CID_Lab_Lucrarea_2&amp;diff=5271</id>
		<title>CID Lab Lucrarea 2</title>
		<link rel="alternate" type="text/html" href="http://wiki.dcae.pub.ro/index.php?title=CID_Lab_Lucrarea_2&amp;diff=5271"/>
		<updated>2017-03-15T12:58:04Z</updated>

		<summary type="html">&lt;p&gt;Mdascalu: /* Exemplul 2 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Noțiuni și cunoștințe necesare ==&lt;br /&gt;
&lt;br /&gt;
* [[Introducere în sinteza pe FPGA. Xilinx ISE]]&lt;br /&gt;
* [[Tutorial Xilinx ISE (13.4)|Utilizarea programului de sinteză Xilinx ISE]]&lt;br /&gt;
* [[Introducere. Verilog HDL și ModelSim|Logică booleană și sisteme de numerație]]&lt;br /&gt;
* Noțiuni de sintaxă [[Verilog]]&lt;br /&gt;
* [[Dispozitiv_de_IO:_Afișajul_cu_7_segmente|Afișajul cu 7 segmente]]&lt;br /&gt;
&lt;br /&gt;
== Exemplul 1 ==&lt;br /&gt;
&lt;br /&gt;
Realizați un decodor de doi biți folosind un bloc &amp;#039;&amp;#039;&amp;#039;case&amp;#039;&amp;#039;&amp;#039;. Testați decodorul legând intrările la switch-uri și ieșirile la led-uri.&lt;br /&gt;
&lt;br /&gt;
== Exemplul 2 ==&lt;br /&gt;
 &lt;br /&gt;
Realizați un transcodor pentru afișajul cu 7 segmente, folosind un bloc &amp;#039;&amp;#039;&amp;#039;case&amp;#039;&amp;#039;&amp;#039;, care să poată afișa valorile de la 0 la 3. Intrarea modulului se va numi &amp;#039;&amp;#039;&amp;#039;value&amp;#039;&amp;#039;&amp;#039; iar ieșirea &amp;#039;&amp;#039;&amp;#039;out_seg&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
Testați decodorul aplicând intrarea pe SW1 și SW0 și afișând ieșirea pe afișajul cu 7 segmente, cifra din dreapta (Digit0).&lt;br /&gt;
&lt;br /&gt;
== Exerciții ==&lt;br /&gt;
&lt;br /&gt;
Completați transcodorul de la exemplul 2 astfel încât să poată afișa valorile de la 0 la 15, în baza 16 (10 = A, 11 = b, 12 = C, 13 = d, 14 = E, 15 = F). Adăugați circuitului un decodor folosit pentru a selecta care din cele 4 cifre să afișeze valoarea selectată. Intrarea pentru selecția cifrei se va numi &amp;#039;&amp;#039;&amp;#039;selection&amp;#039;&amp;#039;&amp;#039;, iar ieșirea &amp;#039;&amp;#039;&amp;#039;out_sel&amp;#039;&amp;#039;&amp;#039;. Corespondența între &amp;#039;&amp;#039;&amp;#039;selection&amp;#039;&amp;#039;&amp;#039; și cele 4 cifre cu 7 segmente de pe placa Nexys 2 este conform regulii:&lt;br /&gt;
* selection = 0 aprinde cifra corespunzătoare AN0&lt;br /&gt;
* selection = 1 aprinde cifra corespunzătoare AN1&lt;br /&gt;
* selection = 2 aprinde cifra corespunzătoare AN2&lt;br /&gt;
* selection = 3 aprinde cifra corespunzătoare AN3&lt;br /&gt;
&lt;br /&gt;
Modulul top-level se va numi &amp;#039;&amp;#039;&amp;#039;afisaj7seg&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
=== Exercitiul 1===&lt;br /&gt;
&lt;br /&gt;
*Intrarea &amp;#039;&amp;#039;&amp;#039;value&amp;#039;&amp;#039;&amp;#039; se va conecta la switchurile SW3-SW0 (corespunzător biților 3-&amp;gt;0 ai &amp;#039;&amp;#039;&amp;#039;value&amp;#039;&amp;#039;&amp;#039;, în această ordine).&lt;br /&gt;
*Intrarea &amp;#039;&amp;#039;&amp;#039;selection&amp;#039;&amp;#039;&amp;#039; se va conecta la SW7-SW6 (corespunzător biților 1-&amp;gt;0 ai &amp;#039;&amp;#039;&amp;#039;selection&amp;#039;&amp;#039;&amp;#039;, în această ordine).&lt;br /&gt;
*Biții &amp;#039;&amp;#039;&amp;#039;out_seg&amp;#039;&amp;#039;&amp;#039; corespund cu segmentele în modul următor:&lt;br /&gt;
**Bitul 7 corespunde segmentului A &lt;br /&gt;
**Bitul 6 corespunde segmentului B&lt;br /&gt;
**Bitul 5 corespunde segmentului C&lt;br /&gt;
**Bitul 4 corespunde segmentului D&lt;br /&gt;
**Bitul 3 corespunde segmentului E&lt;br /&gt;
**Bitul 2 corespunde segmentului F&lt;br /&gt;
**Bitul 1 corespunde segmentului G&lt;br /&gt;
**Bitul 0 corespunde segmentului P&lt;br /&gt;
*Ieșirile se vor conecta la pinii corespunzători pentru afișajul cu 7 segmente.&lt;br /&gt;
&lt;br /&gt;
===Exercitiul 2===&lt;br /&gt;
&lt;br /&gt;
*Intrarea &amp;#039;&amp;#039;&amp;#039;value&amp;#039;&amp;#039;&amp;#039; se va conecta la switchurile SW7-SW4 (corespunzător biților 3-&amp;gt;0 ai &amp;#039;&amp;#039;&amp;#039;value&amp;#039;&amp;#039;&amp;#039;, în această ordine)&lt;br /&gt;
*Intrarea &amp;#039;&amp;#039;&amp;#039;selection&amp;#039;&amp;#039;&amp;#039; se va conecta la SW1-SW0 (corespunzător biților 1-&amp;gt;0 ai &amp;#039;&amp;#039;&amp;#039;selection&amp;#039;&amp;#039;&amp;#039;, în această ordine)&lt;br /&gt;
*Biții &amp;#039;&amp;#039;&amp;#039;out_seg&amp;#039;&amp;#039;&amp;#039; corespund cu segmentele în modul următor:&lt;br /&gt;
**Bitul 7 corespunde segmentului P&lt;br /&gt;
**Bitul 6 corespunde segmentului A&lt;br /&gt;
**Bitul 5 corespunde segmentului G&lt;br /&gt;
**Bitul 4 corespunde segmentului D&lt;br /&gt;
**Bitul 3 corespunde segmentului F&lt;br /&gt;
**Bitul 2 corespunde segmentului B&lt;br /&gt;
**Bitul 1 corespunde segmentului E&lt;br /&gt;
**Bitul 0 corespunde segmentului C&lt;br /&gt;
*Ieșirile se vor conecta la pinii corespunzători pentru afișajul cu 7 segmente.&lt;br /&gt;
&lt;br /&gt;
===Exercitiul 3===&lt;br /&gt;
&lt;br /&gt;
*Intrarea &amp;#039;&amp;#039;&amp;#039;value&amp;#039;&amp;#039;&amp;#039; se va conecta la switchurile SW6-SW3 (corespunzător biților 3-&amp;gt;0 ai &amp;#039;&amp;#039;&amp;#039;value&amp;#039;&amp;#039;&amp;#039;, în această ordine)&lt;br /&gt;
*Intrarea &amp;#039;&amp;#039;&amp;#039;selection&amp;#039;&amp;#039;&amp;#039; se va conecta la SW2-SW1 (corespunzător biților 1-&amp;gt;0 ai &amp;#039;&amp;#039;&amp;#039;selection&amp;#039;&amp;#039;&amp;#039;, în această ordine)&lt;br /&gt;
*Biții &amp;#039;&amp;#039;&amp;#039;out_seg&amp;#039;&amp;#039;&amp;#039; corespund cu segmentele în modul următor:&lt;br /&gt;
**Bitul 7 corespunde segmentului P&lt;br /&gt;
**Bitul 6 corespunde segmentului G&lt;br /&gt;
**Bitul 5 corespunde segmentului F&lt;br /&gt;
**Bitul 4 corespunde segmentului E&lt;br /&gt;
**Bitul 3 corespunde segmentului D&lt;br /&gt;
**Bitul 2 corespunde segmentului C&lt;br /&gt;
**Bitul 1 corespunde segmentului B&lt;br /&gt;
**Bitul 0 corespunde segmentului A&lt;br /&gt;
*Ieșirile se vor conecta la pinii corespunzători pentru afișajul cu 7 segmente.&lt;br /&gt;
&lt;br /&gt;
===Exercitiul 4===&lt;br /&gt;
&lt;br /&gt;
*Intrarea &amp;#039;&amp;#039;&amp;#039;value&amp;#039;&amp;#039;&amp;#039; se va conecta la switchurile SW5-SW2 (corespunzător biților 3-&amp;gt;0 ai &amp;#039;&amp;#039;&amp;#039;value&amp;#039;&amp;#039;&amp;#039;, în această ordine)&lt;br /&gt;
*Intrarea &amp;#039;&amp;#039;&amp;#039;selection&amp;#039;&amp;#039;&amp;#039; se va conecta la SW7-SW6 (corespunzător biților 1-&amp;gt;0 ai &amp;#039;&amp;#039;&amp;#039;selection&amp;#039;&amp;#039;&amp;#039;, în această ordine)&lt;br /&gt;
*Biții &amp;#039;&amp;#039;&amp;#039;out_seg&amp;#039;&amp;#039;&amp;#039; corespund cu segmentele în modul următor:&lt;br /&gt;
**Bitul 7 corespunde segmentului G&lt;br /&gt;
**Bitul 6 corespunde segmentului B&lt;br /&gt;
**Bitul 5 corespunde segmentului E&lt;br /&gt;
**Bitul 4 corespunde segmentului C&lt;br /&gt;
**Bitul 3 corespunde segmentului F&lt;br /&gt;
**Bitul 2 corespunde segmentului A&lt;br /&gt;
**Bitul 1 corespunde segmentului D&lt;br /&gt;
**Bitul 0 corespunde segmentului P&lt;br /&gt;
*Ieșirile se vor conecta la pinii corespunzători pentru afișajul cu 7 segmente.&lt;br /&gt;
&lt;br /&gt;
[[Fișier:transcoder.png]]&lt;br /&gt;
&lt;br /&gt;
== Submiterea Exercițiilor ==&lt;br /&gt;
&lt;br /&gt;
Pentru notare, se vor submite următoarele fișiere, către adresa de e-mail indicată de cadrul didactic &amp;lt;span style=&amp;quot;color: red; font-weight: bold&amp;quot;&amp;gt; și către adresa cid_lab_homework@dcae.pub.ro&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
O arhivă &amp;lt;span style=&amp;quot;color: red; font-weight: bold&amp;quot;&amp;gt;zip&amp;lt;span&amp;gt; ce va conține:&lt;br /&gt;
*Toate fișierele Verilog (cu extensia .v) care conțin descrierea circuitului de afișare pe 7 segmente&lt;br /&gt;
*Un fișier de constrângeri, cu extensia .ucf&lt;br /&gt;
*Un fișier de tip proiect Xilinx ISE, cu extensia .xise&lt;br /&gt;
Atenție, arhiva va conține doar fișiere (fără directoare).&lt;br /&gt;
&lt;br /&gt;
Subiectul mesajului de e-mail trebuie să respecte formatul &amp;lt;span style=&amp;quot;color: red; font-weight: bold&amp;quot;&amp;gt;[Nume]_[Prenume]_[Grupa]_7seg_[Nr. Exercitiu]&amp;lt;/span&amp;gt; de exemplu Petrica_Lucian_423B_7seg_4&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
Creați un proiect Xilinx ISE, descrierea Verilog și constrângerile necesare pentru a implementa pe placa Nexys2 circuitul care afișează, pe una din cifrele afișajului cu 7 segmente, primele 4 numere (0, 1, 2, 3), atunci când valoarea binară corespunzătoare este formată prin apăsarea butoanelor BTN0 și BTN1. Astfel, circuitul descris trebuie să respecte următoarele cerințe:&lt;br /&gt;
* are o intrare numită &amp;#039;&amp;#039;&amp;#039;binary_input&amp;#039;&amp;#039;&amp;#039; de doi biți, bitul cel mai putin semnificativ fiind conectat la BTN0, iar bitul cel mai semnificativ fiind conectat la BTN1&lt;br /&gt;
* are ieșirile necesare pentru activarea afișajului cu 7 segmente, denumite &amp;#039;&amp;#039;&amp;#039;ca&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;cb&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;cc&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;cd&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;ce&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;cf&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;cg&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;cp&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* are ieșirile necesare pentru controlul aprinderii cifrei, denumite &amp;#039;&amp;#039;&amp;#039;an0&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;an1&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;an2&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;an3&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* folosește operatori logici și blocuri de tip &amp;#039;&amp;#039;&amp;#039;assign&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Recomandări pentru cadrele didactice ==&lt;br /&gt;
* Se vor introduce noțiunile necesare folosirii [[Dispozitiv_de_IO:_Afișajul_cu_7_segmente|afișajului cu 7 segmente]]&lt;br /&gt;
&amp;lt;!--* În vederea rezolvării cerinței, cadrul didactic va desena tabela de adevăr a funcției logice care activează segmentul CA, și va ghida studenții pentru identificarea funcției logice și implementarea ei în Verilog folosind operatori logici.--&amp;gt;&lt;/div&gt;</summary>
		<author><name>Mdascalu</name></author>
	</entry>
	<entry>
		<id>http://wiki.dcae.pub.ro/index.php?title=CID_Lab_Lucrarea_2&amp;diff=5270</id>
		<title>CID Lab Lucrarea 2</title>
		<link rel="alternate" type="text/html" href="http://wiki.dcae.pub.ro/index.php?title=CID_Lab_Lucrarea_2&amp;diff=5270"/>
		<updated>2017-03-15T12:57:00Z</updated>

		<summary type="html">&lt;p&gt;Mdascalu: /* Exemplul 2 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Noțiuni și cunoștințe necesare ==&lt;br /&gt;
&lt;br /&gt;
* [[Introducere în sinteza pe FPGA. Xilinx ISE]]&lt;br /&gt;
* [[Tutorial Xilinx ISE (13.4)|Utilizarea programului de sinteză Xilinx ISE]]&lt;br /&gt;
* [[Introducere. Verilog HDL și ModelSim|Logică booleană și sisteme de numerație]]&lt;br /&gt;
* Noțiuni de sintaxă [[Verilog]]&lt;br /&gt;
* [[Dispozitiv_de_IO:_Afișajul_cu_7_segmente|Afișajul cu 7 segmente]]&lt;br /&gt;
&lt;br /&gt;
== Exemplul 1 ==&lt;br /&gt;
&lt;br /&gt;
Realizați un decodor de doi biți folosind un bloc &amp;#039;&amp;#039;&amp;#039;case&amp;#039;&amp;#039;&amp;#039;. Testați decodorul legând intrările la switch-uri și ieșirile la led-uri.&lt;br /&gt;
&lt;br /&gt;
== Exemplul 2 ==&lt;br /&gt;
 &lt;br /&gt;
Realizați un transcodor pentru afișajul cu 7 segmente, folosind un bloc &amp;#039;&amp;#039;&amp;#039;case&amp;#039;&amp;#039;&amp;#039;, care să poată afișa valorile de la 0 la 3. Intrarea modulului se va numi &amp;#039;&amp;#039;&amp;#039;value&amp;#039;&amp;#039;&amp;#039; iar ieșirea &amp;#039;&amp;#039;&amp;#039;out_seg&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
Testați decodorul aplicând intrarea pe SW1 și SW0 și afișând ieșirea pe afișajul cu 7 segmente, cifra din dreapta.&lt;br /&gt;
&lt;br /&gt;
== Exerciții ==&lt;br /&gt;
&lt;br /&gt;
Completați transcodorul de la exemplul 2 astfel încât să poată afișa valorile de la 0 la 15, în baza 16 (10 = A, 11 = b, 12 = C, 13 = d, 14 = E, 15 = F). Adăugați circuitului un decodor folosit pentru a selecta care din cele 4 cifre să afișeze valoarea selectată. Intrarea pentru selecția cifrei se va numi &amp;#039;&amp;#039;&amp;#039;selection&amp;#039;&amp;#039;&amp;#039;, iar ieșirea &amp;#039;&amp;#039;&amp;#039;out_sel&amp;#039;&amp;#039;&amp;#039;. Corespondența între &amp;#039;&amp;#039;&amp;#039;selection&amp;#039;&amp;#039;&amp;#039; și cele 4 cifre cu 7 segmente de pe placa Nexys 2 este conform regulii:&lt;br /&gt;
* selection = 0 aprinde cifra corespunzătoare AN0&lt;br /&gt;
* selection = 1 aprinde cifra corespunzătoare AN1&lt;br /&gt;
* selection = 2 aprinde cifra corespunzătoare AN2&lt;br /&gt;
* selection = 3 aprinde cifra corespunzătoare AN3&lt;br /&gt;
&lt;br /&gt;
Modulul top-level se va numi &amp;#039;&amp;#039;&amp;#039;afisaj7seg&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
=== Exercitiul 1===&lt;br /&gt;
&lt;br /&gt;
*Intrarea &amp;#039;&amp;#039;&amp;#039;value&amp;#039;&amp;#039;&amp;#039; se va conecta la switchurile SW3-SW0 (corespunzător biților 3-&amp;gt;0 ai &amp;#039;&amp;#039;&amp;#039;value&amp;#039;&amp;#039;&amp;#039;, în această ordine).&lt;br /&gt;
*Intrarea &amp;#039;&amp;#039;&amp;#039;selection&amp;#039;&amp;#039;&amp;#039; se va conecta la SW7-SW6 (corespunzător biților 1-&amp;gt;0 ai &amp;#039;&amp;#039;&amp;#039;selection&amp;#039;&amp;#039;&amp;#039;, în această ordine).&lt;br /&gt;
*Biții &amp;#039;&amp;#039;&amp;#039;out_seg&amp;#039;&amp;#039;&amp;#039; corespund cu segmentele în modul următor:&lt;br /&gt;
**Bitul 7 corespunde segmentului A &lt;br /&gt;
**Bitul 6 corespunde segmentului B&lt;br /&gt;
**Bitul 5 corespunde segmentului C&lt;br /&gt;
**Bitul 4 corespunde segmentului D&lt;br /&gt;
**Bitul 3 corespunde segmentului E&lt;br /&gt;
**Bitul 2 corespunde segmentului F&lt;br /&gt;
**Bitul 1 corespunde segmentului G&lt;br /&gt;
**Bitul 0 corespunde segmentului P&lt;br /&gt;
*Ieșirile se vor conecta la pinii corespunzători pentru afișajul cu 7 segmente.&lt;br /&gt;
&lt;br /&gt;
===Exercitiul 2===&lt;br /&gt;
&lt;br /&gt;
*Intrarea &amp;#039;&amp;#039;&amp;#039;value&amp;#039;&amp;#039;&amp;#039; se va conecta la switchurile SW7-SW4 (corespunzător biților 3-&amp;gt;0 ai &amp;#039;&amp;#039;&amp;#039;value&amp;#039;&amp;#039;&amp;#039;, în această ordine)&lt;br /&gt;
*Intrarea &amp;#039;&amp;#039;&amp;#039;selection&amp;#039;&amp;#039;&amp;#039; se va conecta la SW1-SW0 (corespunzător biților 1-&amp;gt;0 ai &amp;#039;&amp;#039;&amp;#039;selection&amp;#039;&amp;#039;&amp;#039;, în această ordine)&lt;br /&gt;
*Biții &amp;#039;&amp;#039;&amp;#039;out_seg&amp;#039;&amp;#039;&amp;#039; corespund cu segmentele în modul următor:&lt;br /&gt;
**Bitul 7 corespunde segmentului P&lt;br /&gt;
**Bitul 6 corespunde segmentului A&lt;br /&gt;
**Bitul 5 corespunde segmentului G&lt;br /&gt;
**Bitul 4 corespunde segmentului D&lt;br /&gt;
**Bitul 3 corespunde segmentului F&lt;br /&gt;
**Bitul 2 corespunde segmentului B&lt;br /&gt;
**Bitul 1 corespunde segmentului E&lt;br /&gt;
**Bitul 0 corespunde segmentului C&lt;br /&gt;
*Ieșirile se vor conecta la pinii corespunzători pentru afișajul cu 7 segmente.&lt;br /&gt;
&lt;br /&gt;
===Exercitiul 3===&lt;br /&gt;
&lt;br /&gt;
*Intrarea &amp;#039;&amp;#039;&amp;#039;value&amp;#039;&amp;#039;&amp;#039; se va conecta la switchurile SW6-SW3 (corespunzător biților 3-&amp;gt;0 ai &amp;#039;&amp;#039;&amp;#039;value&amp;#039;&amp;#039;&amp;#039;, în această ordine)&lt;br /&gt;
*Intrarea &amp;#039;&amp;#039;&amp;#039;selection&amp;#039;&amp;#039;&amp;#039; se va conecta la SW2-SW1 (corespunzător biților 1-&amp;gt;0 ai &amp;#039;&amp;#039;&amp;#039;selection&amp;#039;&amp;#039;&amp;#039;, în această ordine)&lt;br /&gt;
*Biții &amp;#039;&amp;#039;&amp;#039;out_seg&amp;#039;&amp;#039;&amp;#039; corespund cu segmentele în modul următor:&lt;br /&gt;
**Bitul 7 corespunde segmentului P&lt;br /&gt;
**Bitul 6 corespunde segmentului G&lt;br /&gt;
**Bitul 5 corespunde segmentului F&lt;br /&gt;
**Bitul 4 corespunde segmentului E&lt;br /&gt;
**Bitul 3 corespunde segmentului D&lt;br /&gt;
**Bitul 2 corespunde segmentului C&lt;br /&gt;
**Bitul 1 corespunde segmentului B&lt;br /&gt;
**Bitul 0 corespunde segmentului A&lt;br /&gt;
*Ieșirile se vor conecta la pinii corespunzători pentru afișajul cu 7 segmente.&lt;br /&gt;
&lt;br /&gt;
===Exercitiul 4===&lt;br /&gt;
&lt;br /&gt;
*Intrarea &amp;#039;&amp;#039;&amp;#039;value&amp;#039;&amp;#039;&amp;#039; se va conecta la switchurile SW5-SW2 (corespunzător biților 3-&amp;gt;0 ai &amp;#039;&amp;#039;&amp;#039;value&amp;#039;&amp;#039;&amp;#039;, în această ordine)&lt;br /&gt;
*Intrarea &amp;#039;&amp;#039;&amp;#039;selection&amp;#039;&amp;#039;&amp;#039; se va conecta la SW7-SW6 (corespunzător biților 1-&amp;gt;0 ai &amp;#039;&amp;#039;&amp;#039;selection&amp;#039;&amp;#039;&amp;#039;, în această ordine)&lt;br /&gt;
*Biții &amp;#039;&amp;#039;&amp;#039;out_seg&amp;#039;&amp;#039;&amp;#039; corespund cu segmentele în modul următor:&lt;br /&gt;
**Bitul 7 corespunde segmentului G&lt;br /&gt;
**Bitul 6 corespunde segmentului B&lt;br /&gt;
**Bitul 5 corespunde segmentului E&lt;br /&gt;
**Bitul 4 corespunde segmentului C&lt;br /&gt;
**Bitul 3 corespunde segmentului F&lt;br /&gt;
**Bitul 2 corespunde segmentului A&lt;br /&gt;
**Bitul 1 corespunde segmentului D&lt;br /&gt;
**Bitul 0 corespunde segmentului P&lt;br /&gt;
*Ieșirile se vor conecta la pinii corespunzători pentru afișajul cu 7 segmente.&lt;br /&gt;
&lt;br /&gt;
[[Fișier:transcoder.png]]&lt;br /&gt;
&lt;br /&gt;
== Submiterea Exercițiilor ==&lt;br /&gt;
&lt;br /&gt;
Pentru notare, se vor submite următoarele fișiere, către adresa de e-mail indicată de cadrul didactic &amp;lt;span style=&amp;quot;color: red; font-weight: bold&amp;quot;&amp;gt; și către adresa cid_lab_homework@dcae.pub.ro&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
O arhivă &amp;lt;span style=&amp;quot;color: red; font-weight: bold&amp;quot;&amp;gt;zip&amp;lt;span&amp;gt; ce va conține:&lt;br /&gt;
*Toate fișierele Verilog (cu extensia .v) care conțin descrierea circuitului de afișare pe 7 segmente&lt;br /&gt;
*Un fișier de constrângeri, cu extensia .ucf&lt;br /&gt;
*Un fișier de tip proiect Xilinx ISE, cu extensia .xise&lt;br /&gt;
Atenție, arhiva va conține doar fișiere (fără directoare).&lt;br /&gt;
&lt;br /&gt;
Subiectul mesajului de e-mail trebuie să respecte formatul &amp;lt;span style=&amp;quot;color: red; font-weight: bold&amp;quot;&amp;gt;[Nume]_[Prenume]_[Grupa]_7seg_[Nr. Exercitiu]&amp;lt;/span&amp;gt; de exemplu Petrica_Lucian_423B_7seg_4&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
Creați un proiect Xilinx ISE, descrierea Verilog și constrângerile necesare pentru a implementa pe placa Nexys2 circuitul care afișează, pe una din cifrele afișajului cu 7 segmente, primele 4 numere (0, 1, 2, 3), atunci când valoarea binară corespunzătoare este formată prin apăsarea butoanelor BTN0 și BTN1. Astfel, circuitul descris trebuie să respecte următoarele cerințe:&lt;br /&gt;
* are o intrare numită &amp;#039;&amp;#039;&amp;#039;binary_input&amp;#039;&amp;#039;&amp;#039; de doi biți, bitul cel mai putin semnificativ fiind conectat la BTN0, iar bitul cel mai semnificativ fiind conectat la BTN1&lt;br /&gt;
* are ieșirile necesare pentru activarea afișajului cu 7 segmente, denumite &amp;#039;&amp;#039;&amp;#039;ca&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;cb&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;cc&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;cd&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;ce&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;cf&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;cg&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;cp&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* are ieșirile necesare pentru controlul aprinderii cifrei, denumite &amp;#039;&amp;#039;&amp;#039;an0&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;an1&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;an2&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;an3&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* folosește operatori logici și blocuri de tip &amp;#039;&amp;#039;&amp;#039;assign&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Recomandări pentru cadrele didactice ==&lt;br /&gt;
* Se vor introduce noțiunile necesare folosirii [[Dispozitiv_de_IO:_Afișajul_cu_7_segmente|afișajului cu 7 segmente]]&lt;br /&gt;
&amp;lt;!--* În vederea rezolvării cerinței, cadrul didactic va desena tabela de adevăr a funcției logice care activează segmentul CA, și va ghida studenții pentru identificarea funcției logice și implementarea ei în Verilog folosind operatori logici.--&amp;gt;&lt;/div&gt;</summary>
		<author><name>Mdascalu</name></author>
	</entry>
	<entry>
		<id>http://wiki.dcae.pub.ro/index.php?title=CID_Lab_Lucrarea_1&amp;diff=5205</id>
		<title>CID Lab Lucrarea 1</title>
		<link rel="alternate" type="text/html" href="http://wiki.dcae.pub.ro/index.php?title=CID_Lab_Lucrarea_1&amp;diff=5205"/>
		<updated>2017-02-26T18:43:19Z</updated>

		<summary type="html">&lt;p&gt;Mdascalu: /* Exemplu */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Noțiuni și cunoștințe necesare ==&lt;br /&gt;
&lt;br /&gt;
* [[Introducere în sinteza pe FPGA. Xilinx ISE]]&lt;br /&gt;
* [[Tutorial Xilinx ISE (13.4)| Utilizarea programului de sinteză Xilinx ISE]]&lt;br /&gt;
* [[Introducere. Verilog HDL și ModelSim#Introducere în Circuite Digitale|Logică booleană și sisteme de numerație]]&lt;br /&gt;
* Noțiuni de sintaxă [[Verilog]]&lt;br /&gt;
&lt;br /&gt;
== Exemplu ==&lt;br /&gt;
&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Atenție!&amp;#039;&amp;#039;&amp;#039; Numele modulului top-level care va fi sintetizat trebuie setat corect cand creati proiectul (in cazul acesta, OrGate). &lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Verilog&amp;quot;&amp;gt;&lt;br /&gt;
module OrGate(&lt;br /&gt;
	output out,&lt;br /&gt;
	input in1,&lt;br /&gt;
	input in2&lt;br /&gt;
);&lt;br /&gt;
&lt;br /&gt;
assign out = in1 | in2;&lt;br /&gt;
&lt;br /&gt;
endmodule&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Adăugați constrângerile necesare pentru ca intrările și ieșirile circuitului să fie conectate astfel:&lt;br /&gt;
* in1 conectat la SW0:  PIN_L22&lt;br /&gt;
* in2 conectat la SW7:  PIN_M2&lt;br /&gt;
* out conectat la LDR3 (ledul roșu nr.3):  PIN_Y19&lt;br /&gt;
&lt;br /&gt;
Implementați proiectul pe placa DE1 și observați funcționalitatea circuitului descris de proiectul Quartus II.&lt;br /&gt;
&lt;br /&gt;
Pinii la care sunt conectați dispozitivele I/O pe placa experimentală DE1: &lt;br /&gt;
[[http://wiki.dcae.pub.ro/images/f/fc/Pinii_la_care_sunt_conectati_dispozitivele_I-O_pe_placa_experimentala_DE1.pdf]]&lt;br /&gt;
&lt;br /&gt;
== Exercițiul 1 ==&lt;br /&gt;
&lt;br /&gt;
Realizați descrierea în Verilog a modulului cu intrările &amp;#039;&amp;#039;&amp;#039;a&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;b&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;c&amp;#039;&amp;#039;&amp;#039; și ieșirea &amp;#039;&amp;#039;&amp;#039;q&amp;#039;&amp;#039;&amp;#039;, 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 q la LDG2.&lt;br /&gt;
&lt;br /&gt;
[[Fișier:lab1_ex1.jpg]]&lt;br /&gt;
&lt;br /&gt;
== Exercițiul 2 ==&lt;br /&gt;
&lt;br /&gt;
Realizați descrierea în Verilog a modulului cu intrările &amp;#039;&amp;#039;&amp;#039;a&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;b&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;c&amp;#039;&amp;#039;&amp;#039; și ieșirea &amp;#039;&amp;#039;&amp;#039;q&amp;#039;&amp;#039;&amp;#039;, 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 LDR7.&lt;br /&gt;
&lt;br /&gt;
[[Fișier:lab1_ex2.gif]]&lt;br /&gt;
&lt;br /&gt;
== Exercițiul 3 ==&lt;br /&gt;
&lt;br /&gt;
Realizați descrierea în Verilog a modulului cu intrările &amp;#039;&amp;#039;&amp;#039;a&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;b&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;c&amp;#039;&amp;#039;&amp;#039; și ieșirea &amp;#039;&amp;#039;&amp;#039;q&amp;#039;&amp;#039;&amp;#039;, 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 LDG3.&lt;br /&gt;
&lt;br /&gt;
[[Fișier:lab1_ex3.jpg]]&lt;br /&gt;
&lt;br /&gt;
== Exercițiul 4 ==&lt;br /&gt;
&lt;br /&gt;
Realizați descrierea în Verilog a modulului cu intrările &amp;#039;&amp;#039;&amp;#039;a&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;b&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;c&amp;#039;&amp;#039;&amp;#039; și ieșirea &amp;#039;&amp;#039;&amp;#039;q&amp;#039;&amp;#039;&amp;#039;, 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 q la LDR6.&lt;br /&gt;
&lt;br /&gt;
[[Fișier:lab1_ex4.png]]&lt;br /&gt;
&lt;br /&gt;
== Exercițiul 5 ==&lt;br /&gt;
&lt;br /&gt;
Realizați descrierea în Verilog a modulului cu intrările &amp;#039;&amp;#039;&amp;#039;a&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;b&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;c&amp;#039;&amp;#039;&amp;#039; și ieșirea &amp;#039;&amp;#039;&amp;#039;q&amp;#039;&amp;#039;&amp;#039;, 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 q la LDG4.&lt;br /&gt;
&lt;br /&gt;
[[Fișier:lab1_ex5.png]]&lt;br /&gt;
&lt;br /&gt;
== Exercițiul 6 ==&lt;br /&gt;
&lt;br /&gt;
Realizați descrierea în Verilog a modulului cu intrările &amp;#039;&amp;#039;&amp;#039;a&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;b&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;c&amp;#039;&amp;#039;&amp;#039; și ieșirea &amp;#039;&amp;#039;&amp;#039;q&amp;#039;&amp;#039;&amp;#039;, 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 q la LDR7.&lt;br /&gt;
&lt;br /&gt;
[[Fișier:lab1_ex6.png]]&lt;br /&gt;
&lt;br /&gt;
== Submiterea Exercițiilor ==&lt;br /&gt;
&lt;br /&gt;
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 &amp;lt;span style=&amp;quot;color: red; font-weight: bold&amp;quot;&amp;gt; și către adresa cid_lab_homework@dcae.pub.ro&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
O arhivă &amp;lt;span style=&amp;quot;color: red; font-weight: bold&amp;quot;&amp;gt;zip&amp;lt;span&amp;gt; ce va conține:&lt;br /&gt;
*Un fișier Verilog cu extensia .v care conține descrierea Verilog a circuitului&lt;br /&gt;
*Un fișier de constrângeri, cu extensia .ucf&lt;br /&gt;
*Un fișier de tip proiect Xilinx ISE, cu extensia .xise&lt;br /&gt;
Atentie, arhiva va contine doar cele 3 fisiere (fara directoare).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Subiectul mesajului de e-mail trebuie să respecte formatul &amp;lt;span style=&amp;quot;color: red; font-weight: bold&amp;quot;&amp;gt;[Nume]_[Prenume]_[Grupa]_[Numărul Exercițiului]&amp;lt;/span&amp;gt;. De exemplu Petrica_Lucian_423B_2&lt;br /&gt;
&lt;br /&gt;
== Recomandări pentru cadrele didactice ==&lt;br /&gt;
&lt;br /&gt;
* Parcurgerea tutorialului [[Introducere în sinteza pe FPGA. Xilinx ISE]], răspunzându-se la întrebările studenților.&lt;br /&gt;
* Implementarea unui exemplu de proiect Xilinx ISE, parcurgându-se tutorialul [[Tutorial Xilinx ISE (13.4)|Xilinx ISE]].&lt;/div&gt;</summary>
		<author><name>Mdascalu</name></author>
	</entry>
	<entry>
		<id>http://wiki.dcae.pub.ro/index.php?title=CID_Lab_Lucrarea_1&amp;diff=5204</id>
		<title>CID Lab Lucrarea 1</title>
		<link rel="alternate" type="text/html" href="http://wiki.dcae.pub.ro/index.php?title=CID_Lab_Lucrarea_1&amp;diff=5204"/>
		<updated>2017-02-26T18:42:25Z</updated>

		<summary type="html">&lt;p&gt;Mdascalu: /* Exemplu */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Noțiuni și cunoștințe necesare ==&lt;br /&gt;
&lt;br /&gt;
* [[Introducere în sinteza pe FPGA. Xilinx ISE]]&lt;br /&gt;
* [[Tutorial Xilinx ISE (13.4)| Utilizarea programului de sinteză Xilinx ISE]]&lt;br /&gt;
* [[Introducere. Verilog HDL și ModelSim#Introducere în Circuite Digitale|Logică booleană și sisteme de numerație]]&lt;br /&gt;
* Noțiuni de sintaxă [[Verilog]]&lt;br /&gt;
&lt;br /&gt;
== Exemplu ==&lt;br /&gt;
&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Atenție!&amp;#039;&amp;#039;&amp;#039; Numele modulului top-level care va fi sintetizat trebuie setat corect cand creati proiectul (in cazul acesta, OrGate). &lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Verilog&amp;quot;&amp;gt;&lt;br /&gt;
module OrGate(&lt;br /&gt;
	output out,&lt;br /&gt;
	input in1,&lt;br /&gt;
	input in2&lt;br /&gt;
);&lt;br /&gt;
&lt;br /&gt;
assign out = in1 | in2;&lt;br /&gt;
&lt;br /&gt;
endmodule&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Adăugați constrângerile necesare pentru ca intrările și ieșirile circuitului să fie conectate astfel:&lt;br /&gt;
* in1 conectat la SW0:  PIN_L22&lt;br /&gt;
* in2 conectat la SW7:  PIN_M2&lt;br /&gt;
* out conectat la LDR3 (ledul roșu nr.3):  PIN_Y19&lt;br /&gt;
&lt;br /&gt;
Implementați proiectul pe placa DE1 și observați funcționalitatea circuitului descris de proiectul Quartus II.&lt;br /&gt;
[[http://wiki.dcae.pub.ro/images/f/fc/Pinii_la_care_sunt_conectati_dispozitivele_I-O_pe_placa_experimentala_DE1.pdf]]&lt;br /&gt;
&lt;br /&gt;
== Exercițiul 1 ==&lt;br /&gt;
&lt;br /&gt;
Realizați descrierea în Verilog a modulului cu intrările &amp;#039;&amp;#039;&amp;#039;a&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;b&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;c&amp;#039;&amp;#039;&amp;#039; și ieșirea &amp;#039;&amp;#039;&amp;#039;q&amp;#039;&amp;#039;&amp;#039;, 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 q la LDG2.&lt;br /&gt;
&lt;br /&gt;
[[Fișier:lab1_ex1.jpg]]&lt;br /&gt;
&lt;br /&gt;
== Exercițiul 2 ==&lt;br /&gt;
&lt;br /&gt;
Realizați descrierea în Verilog a modulului cu intrările &amp;#039;&amp;#039;&amp;#039;a&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;b&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;c&amp;#039;&amp;#039;&amp;#039; și ieșirea &amp;#039;&amp;#039;&amp;#039;q&amp;#039;&amp;#039;&amp;#039;, 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 LDR7.&lt;br /&gt;
&lt;br /&gt;
[[Fișier:lab1_ex2.gif]]&lt;br /&gt;
&lt;br /&gt;
== Exercițiul 3 ==&lt;br /&gt;
&lt;br /&gt;
Realizați descrierea în Verilog a modulului cu intrările &amp;#039;&amp;#039;&amp;#039;a&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;b&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;c&amp;#039;&amp;#039;&amp;#039; și ieșirea &amp;#039;&amp;#039;&amp;#039;q&amp;#039;&amp;#039;&amp;#039;, 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 LDG3.&lt;br /&gt;
&lt;br /&gt;
[[Fișier:lab1_ex3.jpg]]&lt;br /&gt;
&lt;br /&gt;
== Exercițiul 4 ==&lt;br /&gt;
&lt;br /&gt;
Realizați descrierea în Verilog a modulului cu intrările &amp;#039;&amp;#039;&amp;#039;a&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;b&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;c&amp;#039;&amp;#039;&amp;#039; și ieșirea &amp;#039;&amp;#039;&amp;#039;q&amp;#039;&amp;#039;&amp;#039;, 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 q la LDR6.&lt;br /&gt;
&lt;br /&gt;
[[Fișier:lab1_ex4.png]]&lt;br /&gt;
&lt;br /&gt;
== Exercițiul 5 ==&lt;br /&gt;
&lt;br /&gt;
Realizați descrierea în Verilog a modulului cu intrările &amp;#039;&amp;#039;&amp;#039;a&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;b&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;c&amp;#039;&amp;#039;&amp;#039; și ieșirea &amp;#039;&amp;#039;&amp;#039;q&amp;#039;&amp;#039;&amp;#039;, 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 q la LDG4.&lt;br /&gt;
&lt;br /&gt;
[[Fișier:lab1_ex5.png]]&lt;br /&gt;
&lt;br /&gt;
== Exercițiul 6 ==&lt;br /&gt;
&lt;br /&gt;
Realizați descrierea în Verilog a modulului cu intrările &amp;#039;&amp;#039;&amp;#039;a&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;b&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;c&amp;#039;&amp;#039;&amp;#039; și ieșirea &amp;#039;&amp;#039;&amp;#039;q&amp;#039;&amp;#039;&amp;#039;, 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 q la LDR7.&lt;br /&gt;
&lt;br /&gt;
[[Fișier:lab1_ex6.png]]&lt;br /&gt;
&lt;br /&gt;
== Submiterea Exercițiilor ==&lt;br /&gt;
&lt;br /&gt;
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 &amp;lt;span style=&amp;quot;color: red; font-weight: bold&amp;quot;&amp;gt; și către adresa cid_lab_homework@dcae.pub.ro&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
O arhivă &amp;lt;span style=&amp;quot;color: red; font-weight: bold&amp;quot;&amp;gt;zip&amp;lt;span&amp;gt; ce va conține:&lt;br /&gt;
*Un fișier Verilog cu extensia .v care conține descrierea Verilog a circuitului&lt;br /&gt;
*Un fișier de constrângeri, cu extensia .ucf&lt;br /&gt;
*Un fișier de tip proiect Xilinx ISE, cu extensia .xise&lt;br /&gt;
Atentie, arhiva va contine doar cele 3 fisiere (fara directoare).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Subiectul mesajului de e-mail trebuie să respecte formatul &amp;lt;span style=&amp;quot;color: red; font-weight: bold&amp;quot;&amp;gt;[Nume]_[Prenume]_[Grupa]_[Numărul Exercițiului]&amp;lt;/span&amp;gt;. De exemplu Petrica_Lucian_423B_2&lt;br /&gt;
&lt;br /&gt;
== Recomandări pentru cadrele didactice ==&lt;br /&gt;
&lt;br /&gt;
* Parcurgerea tutorialului [[Introducere în sinteza pe FPGA. Xilinx ISE]], răspunzându-se la întrebările studenților.&lt;br /&gt;
* Implementarea unui exemplu de proiect Xilinx ISE, parcurgându-se tutorialul [[Tutorial Xilinx ISE (13.4)|Xilinx ISE]].&lt;/div&gt;</summary>
		<author><name>Mdascalu</name></author>
	</entry>
	<entry>
		<id>http://wiki.dcae.pub.ro/index.php?title=Fi%C8%99ier:Pinii_la_care_sunt_conectati_dispozitivele_I-O_pe_placa_experimentala_DE1.pdf&amp;diff=5203</id>
		<title>Fișier:Pinii la care sunt conectati dispozitivele I-O pe placa experimentala DE1.pdf</title>
		<link rel="alternate" type="text/html" href="http://wiki.dcae.pub.ro/index.php?title=Fi%C8%99ier:Pinii_la_care_sunt_conectati_dispozitivele_I-O_pe_placa_experimentala_DE1.pdf&amp;diff=5203"/>
		<updated>2017-02-26T18:40:10Z</updated>

		<summary type="html">&lt;p&gt;Mdascalu: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Mdascalu</name></author>
	</entry>
	<entry>
		<id>http://wiki.dcae.pub.ro/index.php?title=CID_Lab_Lucrarea_1&amp;diff=5202</id>
		<title>CID Lab Lucrarea 1</title>
		<link rel="alternate" type="text/html" href="http://wiki.dcae.pub.ro/index.php?title=CID_Lab_Lucrarea_1&amp;diff=5202"/>
		<updated>2017-02-26T18:18:00Z</updated>

		<summary type="html">&lt;p&gt;Mdascalu: /* Exemplu */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Noțiuni și cunoștințe necesare ==&lt;br /&gt;
&lt;br /&gt;
* [[Introducere în sinteza pe FPGA. Xilinx ISE]]&lt;br /&gt;
* [[Tutorial Xilinx ISE (13.4)| Utilizarea programului de sinteză Xilinx ISE]]&lt;br /&gt;
* [[Introducere. Verilog HDL și ModelSim#Introducere în Circuite Digitale|Logică booleană și sisteme de numerație]]&lt;br /&gt;
* Noțiuni de sintaxă [[Verilog]]&lt;br /&gt;
&lt;br /&gt;
== Exemplu ==&lt;br /&gt;
&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Atenție!&amp;#039;&amp;#039;&amp;#039; Numele modulului top-level care va fi sintetizat trebuie setat corect cand creati proiectul (in cazul acesta, OrGate). &lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Verilog&amp;quot;&amp;gt;&lt;br /&gt;
module OrGate(&lt;br /&gt;
	output out,&lt;br /&gt;
	input in1,&lt;br /&gt;
	input in2&lt;br /&gt;
);&lt;br /&gt;
&lt;br /&gt;
assign out = in1 | in2;&lt;br /&gt;
&lt;br /&gt;
endmodule&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Adăugați constrângerile necesare pentru ca intrările și ieșirile circuitului să fie conectate astfel:&lt;br /&gt;
* in1 conectat la SW0:  PIN_L22&lt;br /&gt;
* in2 conectat la SW7:  PIN_M2&lt;br /&gt;
* out conectat la LDR3 (ledul roșu nr.3):  PIN_Y19&lt;br /&gt;
&lt;br /&gt;
Implementați proiectul pe placa DE1 și observați funcționalitatea circuitului descris de proiectul Quartus II.&lt;br /&gt;
[[Pinii la care sunt conectați dispozitivele I/O pe placa experimentală DE1]]&lt;br /&gt;
&lt;br /&gt;
== Exercițiul 1 ==&lt;br /&gt;
&lt;br /&gt;
Realizați descrierea în Verilog a modulului cu intrările &amp;#039;&amp;#039;&amp;#039;a&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;b&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;c&amp;#039;&amp;#039;&amp;#039; și ieșirea &amp;#039;&amp;#039;&amp;#039;q&amp;#039;&amp;#039;&amp;#039;, 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 q la LDG2.&lt;br /&gt;
&lt;br /&gt;
[[Fișier:lab1_ex1.jpg]]&lt;br /&gt;
&lt;br /&gt;
== Exercițiul 2 ==&lt;br /&gt;
&lt;br /&gt;
Realizați descrierea în Verilog a modulului cu intrările &amp;#039;&amp;#039;&amp;#039;a&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;b&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;c&amp;#039;&amp;#039;&amp;#039; și ieșirea &amp;#039;&amp;#039;&amp;#039;q&amp;#039;&amp;#039;&amp;#039;, 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 LDR7.&lt;br /&gt;
&lt;br /&gt;
[[Fișier:lab1_ex2.gif]]&lt;br /&gt;
&lt;br /&gt;
== Exercițiul 3 ==&lt;br /&gt;
&lt;br /&gt;
Realizați descrierea în Verilog a modulului cu intrările &amp;#039;&amp;#039;&amp;#039;a&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;b&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;c&amp;#039;&amp;#039;&amp;#039; și ieșirea &amp;#039;&amp;#039;&amp;#039;q&amp;#039;&amp;#039;&amp;#039;, 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 LDG3.&lt;br /&gt;
&lt;br /&gt;
[[Fișier:lab1_ex3.jpg]]&lt;br /&gt;
&lt;br /&gt;
== Exercițiul 4 ==&lt;br /&gt;
&lt;br /&gt;
Realizați descrierea în Verilog a modulului cu intrările &amp;#039;&amp;#039;&amp;#039;a&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;b&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;c&amp;#039;&amp;#039;&amp;#039; și ieșirea &amp;#039;&amp;#039;&amp;#039;q&amp;#039;&amp;#039;&amp;#039;, 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 q la LDR6.&lt;br /&gt;
&lt;br /&gt;
[[Fișier:lab1_ex4.png]]&lt;br /&gt;
&lt;br /&gt;
== Exercițiul 5 ==&lt;br /&gt;
&lt;br /&gt;
Realizați descrierea în Verilog a modulului cu intrările &amp;#039;&amp;#039;&amp;#039;a&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;b&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;c&amp;#039;&amp;#039;&amp;#039; și ieșirea &amp;#039;&amp;#039;&amp;#039;q&amp;#039;&amp;#039;&amp;#039;, 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 q la LDG4.&lt;br /&gt;
&lt;br /&gt;
[[Fișier:lab1_ex5.png]]&lt;br /&gt;
&lt;br /&gt;
== Exercițiul 6 ==&lt;br /&gt;
&lt;br /&gt;
Realizați descrierea în Verilog a modulului cu intrările &amp;#039;&amp;#039;&amp;#039;a&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;b&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;c&amp;#039;&amp;#039;&amp;#039; și ieșirea &amp;#039;&amp;#039;&amp;#039;q&amp;#039;&amp;#039;&amp;#039;, 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 q la LDR7.&lt;br /&gt;
&lt;br /&gt;
[[Fișier:lab1_ex6.png]]&lt;br /&gt;
&lt;br /&gt;
== Submiterea Exercițiilor ==&lt;br /&gt;
&lt;br /&gt;
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 &amp;lt;span style=&amp;quot;color: red; font-weight: bold&amp;quot;&amp;gt; și către adresa cid_lab_homework@dcae.pub.ro&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
O arhivă &amp;lt;span style=&amp;quot;color: red; font-weight: bold&amp;quot;&amp;gt;zip&amp;lt;span&amp;gt; ce va conține:&lt;br /&gt;
*Un fișier Verilog cu extensia .v care conține descrierea Verilog a circuitului&lt;br /&gt;
*Un fișier de constrângeri, cu extensia .ucf&lt;br /&gt;
*Un fișier de tip proiect Xilinx ISE, cu extensia .xise&lt;br /&gt;
Atentie, arhiva va contine doar cele 3 fisiere (fara directoare).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Subiectul mesajului de e-mail trebuie să respecte formatul &amp;lt;span style=&amp;quot;color: red; font-weight: bold&amp;quot;&amp;gt;[Nume]_[Prenume]_[Grupa]_[Numărul Exercițiului]&amp;lt;/span&amp;gt;. De exemplu Petrica_Lucian_423B_2&lt;br /&gt;
&lt;br /&gt;
== Recomandări pentru cadrele didactice ==&lt;br /&gt;
&lt;br /&gt;
* Parcurgerea tutorialului [[Introducere în sinteza pe FPGA. Xilinx ISE]], răspunzându-se la întrebările studenților.&lt;br /&gt;
* Implementarea unui exemplu de proiect Xilinx ISE, parcurgându-se tutorialul [[Tutorial Xilinx ISE (13.4)|Xilinx ISE]].&lt;/div&gt;</summary>
		<author><name>Mdascalu</name></author>
	</entry>
	<entry>
		<id>http://wiki.dcae.pub.ro/index.php?title=CID_Lab_Lucrarea_1&amp;diff=5201</id>
		<title>CID Lab Lucrarea 1</title>
		<link rel="alternate" type="text/html" href="http://wiki.dcae.pub.ro/index.php?title=CID_Lab_Lucrarea_1&amp;diff=5201"/>
		<updated>2017-02-26T17:42:32Z</updated>

		<summary type="html">&lt;p&gt;Mdascalu: /* Exercițiul 6 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Noțiuni și cunoștințe necesare ==&lt;br /&gt;
&lt;br /&gt;
* [[Introducere în sinteza pe FPGA. Xilinx ISE]]&lt;br /&gt;
* [[Tutorial Xilinx ISE (13.4)| Utilizarea programului de sinteză Xilinx ISE]]&lt;br /&gt;
* [[Introducere. Verilog HDL și ModelSim#Introducere în Circuite Digitale|Logică booleană și sisteme de numerație]]&lt;br /&gt;
* Noțiuni de sintaxă [[Verilog]]&lt;br /&gt;
&lt;br /&gt;
== Exemplu ==&lt;br /&gt;
&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Atenție!&amp;#039;&amp;#039;&amp;#039; Numele modulului top-level care va fi sintetizat trebuie setat corect cand creati proiectul (in cazul acesta, OrGate). &lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Verilog&amp;quot;&amp;gt;&lt;br /&gt;
module OrGate(&lt;br /&gt;
	output out,&lt;br /&gt;
	input in1,&lt;br /&gt;
	input in2&lt;br /&gt;
);&lt;br /&gt;
&lt;br /&gt;
assign out = in1 | in2;&lt;br /&gt;
&lt;br /&gt;
endmodule&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Adăugați constrângerile necesare pentru ca intrările și ieșirile circuitului să fie conectate astfel:&lt;br /&gt;
* in1 conectat la SW0:  PIN_L22&lt;br /&gt;
* in2 conectat la SW7:  PIN_M2&lt;br /&gt;
* out conectat la LDR3 (ledul roșu nr.3):  PIN_Y19&lt;br /&gt;
&lt;br /&gt;
Implementați proiectul pe placa DE1 și observați funcționalitatea circuitului descris de proiectul Quartus II.&lt;br /&gt;
&lt;br /&gt;
== Exercițiul 1 ==&lt;br /&gt;
&lt;br /&gt;
Realizați descrierea în Verilog a modulului cu intrările &amp;#039;&amp;#039;&amp;#039;a&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;b&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;c&amp;#039;&amp;#039;&amp;#039; și ieșirea &amp;#039;&amp;#039;&amp;#039;q&amp;#039;&amp;#039;&amp;#039;, 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 q la LDG2.&lt;br /&gt;
&lt;br /&gt;
[[Fișier:lab1_ex1.jpg]]&lt;br /&gt;
&lt;br /&gt;
== Exercițiul 2 ==&lt;br /&gt;
&lt;br /&gt;
Realizați descrierea în Verilog a modulului cu intrările &amp;#039;&amp;#039;&amp;#039;a&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;b&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;c&amp;#039;&amp;#039;&amp;#039; și ieșirea &amp;#039;&amp;#039;&amp;#039;q&amp;#039;&amp;#039;&amp;#039;, 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 LDR7.&lt;br /&gt;
&lt;br /&gt;
[[Fișier:lab1_ex2.gif]]&lt;br /&gt;
&lt;br /&gt;
== Exercițiul 3 ==&lt;br /&gt;
&lt;br /&gt;
Realizați descrierea în Verilog a modulului cu intrările &amp;#039;&amp;#039;&amp;#039;a&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;b&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;c&amp;#039;&amp;#039;&amp;#039; și ieșirea &amp;#039;&amp;#039;&amp;#039;q&amp;#039;&amp;#039;&amp;#039;, 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 LDG3.&lt;br /&gt;
&lt;br /&gt;
[[Fișier:lab1_ex3.jpg]]&lt;br /&gt;
&lt;br /&gt;
== Exercițiul 4 ==&lt;br /&gt;
&lt;br /&gt;
Realizați descrierea în Verilog a modulului cu intrările &amp;#039;&amp;#039;&amp;#039;a&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;b&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;c&amp;#039;&amp;#039;&amp;#039; și ieșirea &amp;#039;&amp;#039;&amp;#039;q&amp;#039;&amp;#039;&amp;#039;, 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 q la LDR6.&lt;br /&gt;
&lt;br /&gt;
[[Fișier:lab1_ex4.png]]&lt;br /&gt;
&lt;br /&gt;
== Exercițiul 5 ==&lt;br /&gt;
&lt;br /&gt;
Realizați descrierea în Verilog a modulului cu intrările &amp;#039;&amp;#039;&amp;#039;a&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;b&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;c&amp;#039;&amp;#039;&amp;#039; și ieșirea &amp;#039;&amp;#039;&amp;#039;q&amp;#039;&amp;#039;&amp;#039;, 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 q la LDG4.&lt;br /&gt;
&lt;br /&gt;
[[Fișier:lab1_ex5.png]]&lt;br /&gt;
&lt;br /&gt;
== Exercițiul 6 ==&lt;br /&gt;
&lt;br /&gt;
Realizați descrierea în Verilog a modulului cu intrările &amp;#039;&amp;#039;&amp;#039;a&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;b&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;c&amp;#039;&amp;#039;&amp;#039; și ieșirea &amp;#039;&amp;#039;&amp;#039;q&amp;#039;&amp;#039;&amp;#039;, 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 q la LDR7.&lt;br /&gt;
&lt;br /&gt;
[[Fișier:lab1_ex6.png]]&lt;br /&gt;
&lt;br /&gt;
== Submiterea Exercițiilor ==&lt;br /&gt;
&lt;br /&gt;
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 &amp;lt;span style=&amp;quot;color: red; font-weight: bold&amp;quot;&amp;gt; și către adresa cid_lab_homework@dcae.pub.ro&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
O arhivă &amp;lt;span style=&amp;quot;color: red; font-weight: bold&amp;quot;&amp;gt;zip&amp;lt;span&amp;gt; ce va conține:&lt;br /&gt;
*Un fișier Verilog cu extensia .v care conține descrierea Verilog a circuitului&lt;br /&gt;
*Un fișier de constrângeri, cu extensia .ucf&lt;br /&gt;
*Un fișier de tip proiect Xilinx ISE, cu extensia .xise&lt;br /&gt;
Atentie, arhiva va contine doar cele 3 fisiere (fara directoare).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Subiectul mesajului de e-mail trebuie să respecte formatul &amp;lt;span style=&amp;quot;color: red; font-weight: bold&amp;quot;&amp;gt;[Nume]_[Prenume]_[Grupa]_[Numărul Exercițiului]&amp;lt;/span&amp;gt;. De exemplu Petrica_Lucian_423B_2&lt;br /&gt;
&lt;br /&gt;
== Recomandări pentru cadrele didactice ==&lt;br /&gt;
&lt;br /&gt;
* Parcurgerea tutorialului [[Introducere în sinteza pe FPGA. Xilinx ISE]], răspunzându-se la întrebările studenților.&lt;br /&gt;
* Implementarea unui exemplu de proiect Xilinx ISE, parcurgându-se tutorialul [[Tutorial Xilinx ISE (13.4)|Xilinx ISE]].&lt;/div&gt;</summary>
		<author><name>Mdascalu</name></author>
	</entry>
	<entry>
		<id>http://wiki.dcae.pub.ro/index.php?title=CID_Lab_Lucrarea_1&amp;diff=5200</id>
		<title>CID Lab Lucrarea 1</title>
		<link rel="alternate" type="text/html" href="http://wiki.dcae.pub.ro/index.php?title=CID_Lab_Lucrarea_1&amp;diff=5200"/>
		<updated>2017-02-26T17:41:56Z</updated>

		<summary type="html">&lt;p&gt;Mdascalu: /* Exercițiul 5 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Noțiuni și cunoștințe necesare ==&lt;br /&gt;
&lt;br /&gt;
* [[Introducere în sinteza pe FPGA. Xilinx ISE]]&lt;br /&gt;
* [[Tutorial Xilinx ISE (13.4)| Utilizarea programului de sinteză Xilinx ISE]]&lt;br /&gt;
* [[Introducere. Verilog HDL și ModelSim#Introducere în Circuite Digitale|Logică booleană și sisteme de numerație]]&lt;br /&gt;
* Noțiuni de sintaxă [[Verilog]]&lt;br /&gt;
&lt;br /&gt;
== Exemplu ==&lt;br /&gt;
&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Atenție!&amp;#039;&amp;#039;&amp;#039; Numele modulului top-level care va fi sintetizat trebuie setat corect cand creati proiectul (in cazul acesta, OrGate). &lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Verilog&amp;quot;&amp;gt;&lt;br /&gt;
module OrGate(&lt;br /&gt;
	output out,&lt;br /&gt;
	input in1,&lt;br /&gt;
	input in2&lt;br /&gt;
);&lt;br /&gt;
&lt;br /&gt;
assign out = in1 | in2;&lt;br /&gt;
&lt;br /&gt;
endmodule&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Adăugați constrângerile necesare pentru ca intrările și ieșirile circuitului să fie conectate astfel:&lt;br /&gt;
* in1 conectat la SW0:  PIN_L22&lt;br /&gt;
* in2 conectat la SW7:  PIN_M2&lt;br /&gt;
* out conectat la LDR3 (ledul roșu nr.3):  PIN_Y19&lt;br /&gt;
&lt;br /&gt;
Implementați proiectul pe placa DE1 și observați funcționalitatea circuitului descris de proiectul Quartus II.&lt;br /&gt;
&lt;br /&gt;
== Exercițiul 1 ==&lt;br /&gt;
&lt;br /&gt;
Realizați descrierea în Verilog a modulului cu intrările &amp;#039;&amp;#039;&amp;#039;a&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;b&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;c&amp;#039;&amp;#039;&amp;#039; și ieșirea &amp;#039;&amp;#039;&amp;#039;q&amp;#039;&amp;#039;&amp;#039;, 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 q la LDG2.&lt;br /&gt;
&lt;br /&gt;
[[Fișier:lab1_ex1.jpg]]&lt;br /&gt;
&lt;br /&gt;
== Exercițiul 2 ==&lt;br /&gt;
&lt;br /&gt;
Realizați descrierea în Verilog a modulului cu intrările &amp;#039;&amp;#039;&amp;#039;a&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;b&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;c&amp;#039;&amp;#039;&amp;#039; și ieșirea &amp;#039;&amp;#039;&amp;#039;q&amp;#039;&amp;#039;&amp;#039;, 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 LDR7.&lt;br /&gt;
&lt;br /&gt;
[[Fișier:lab1_ex2.gif]]&lt;br /&gt;
&lt;br /&gt;
== Exercițiul 3 ==&lt;br /&gt;
&lt;br /&gt;
Realizați descrierea în Verilog a modulului cu intrările &amp;#039;&amp;#039;&amp;#039;a&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;b&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;c&amp;#039;&amp;#039;&amp;#039; și ieșirea &amp;#039;&amp;#039;&amp;#039;q&amp;#039;&amp;#039;&amp;#039;, 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 LDG3.&lt;br /&gt;
&lt;br /&gt;
[[Fișier:lab1_ex3.jpg]]&lt;br /&gt;
&lt;br /&gt;
== Exercițiul 4 ==&lt;br /&gt;
&lt;br /&gt;
Realizați descrierea în Verilog a modulului cu intrările &amp;#039;&amp;#039;&amp;#039;a&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;b&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;c&amp;#039;&amp;#039;&amp;#039; și ieșirea &amp;#039;&amp;#039;&amp;#039;q&amp;#039;&amp;#039;&amp;#039;, 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 q la LDR6.&lt;br /&gt;
&lt;br /&gt;
[[Fișier:lab1_ex4.png]]&lt;br /&gt;
&lt;br /&gt;
== Exercițiul 5 ==&lt;br /&gt;
&lt;br /&gt;
Realizați descrierea în Verilog a modulului cu intrările &amp;#039;&amp;#039;&amp;#039;a&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;b&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;c&amp;#039;&amp;#039;&amp;#039; și ieșirea &amp;#039;&amp;#039;&amp;#039;q&amp;#039;&amp;#039;&amp;#039;, 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 q la LDG4.&lt;br /&gt;
&lt;br /&gt;
[[Fișier:lab1_ex5.png]]&lt;br /&gt;
&lt;br /&gt;
== Exercițiul 6 ==&lt;br /&gt;
&lt;br /&gt;
Realizați descrierea în Verilog a modulului cu intrările &amp;#039;&amp;#039;&amp;#039;a&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;b&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;c&amp;#039;&amp;#039;&amp;#039; și ieșirea &amp;#039;&amp;#039;&amp;#039;q&amp;#039;&amp;#039;&amp;#039;, cu funcționalitatea conform schemei alăturate. Implementați circuitul pe placa Nexys2 conectând intrările a, b, c la SW5, SW4, respectiv SW1, iar ieșirea q la LD5.&lt;br /&gt;
&lt;br /&gt;
[[Fișier:lab1_ex6.png]]&lt;br /&gt;
&lt;br /&gt;
== Submiterea Exercițiilor ==&lt;br /&gt;
&lt;br /&gt;
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 &amp;lt;span style=&amp;quot;color: red; font-weight: bold&amp;quot;&amp;gt; și către adresa cid_lab_homework@dcae.pub.ro&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
O arhivă &amp;lt;span style=&amp;quot;color: red; font-weight: bold&amp;quot;&amp;gt;zip&amp;lt;span&amp;gt; ce va conține:&lt;br /&gt;
*Un fișier Verilog cu extensia .v care conține descrierea Verilog a circuitului&lt;br /&gt;
*Un fișier de constrângeri, cu extensia .ucf&lt;br /&gt;
*Un fișier de tip proiect Xilinx ISE, cu extensia .xise&lt;br /&gt;
Atentie, arhiva va contine doar cele 3 fisiere (fara directoare).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Subiectul mesajului de e-mail trebuie să respecte formatul &amp;lt;span style=&amp;quot;color: red; font-weight: bold&amp;quot;&amp;gt;[Nume]_[Prenume]_[Grupa]_[Numărul Exercițiului]&amp;lt;/span&amp;gt;. De exemplu Petrica_Lucian_423B_2&lt;br /&gt;
&lt;br /&gt;
== Recomandări pentru cadrele didactice ==&lt;br /&gt;
&lt;br /&gt;
* Parcurgerea tutorialului [[Introducere în sinteza pe FPGA. Xilinx ISE]], răspunzându-se la întrebările studenților.&lt;br /&gt;
* Implementarea unui exemplu de proiect Xilinx ISE, parcurgându-se tutorialul [[Tutorial Xilinx ISE (13.4)|Xilinx ISE]].&lt;/div&gt;</summary>
		<author><name>Mdascalu</name></author>
	</entry>
	<entry>
		<id>http://wiki.dcae.pub.ro/index.php?title=CID_Lab_Lucrarea_1&amp;diff=5199</id>
		<title>CID Lab Lucrarea 1</title>
		<link rel="alternate" type="text/html" href="http://wiki.dcae.pub.ro/index.php?title=CID_Lab_Lucrarea_1&amp;diff=5199"/>
		<updated>2017-02-26T17:41:37Z</updated>

		<summary type="html">&lt;p&gt;Mdascalu: /* Exercițiul 4 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Noțiuni și cunoștințe necesare ==&lt;br /&gt;
&lt;br /&gt;
* [[Introducere în sinteza pe FPGA. Xilinx ISE]]&lt;br /&gt;
* [[Tutorial Xilinx ISE (13.4)| Utilizarea programului de sinteză Xilinx ISE]]&lt;br /&gt;
* [[Introducere. Verilog HDL și ModelSim#Introducere în Circuite Digitale|Logică booleană și sisteme de numerație]]&lt;br /&gt;
* Noțiuni de sintaxă [[Verilog]]&lt;br /&gt;
&lt;br /&gt;
== Exemplu ==&lt;br /&gt;
&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Atenție!&amp;#039;&amp;#039;&amp;#039; Numele modulului top-level care va fi sintetizat trebuie setat corect cand creati proiectul (in cazul acesta, OrGate). &lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Verilog&amp;quot;&amp;gt;&lt;br /&gt;
module OrGate(&lt;br /&gt;
	output out,&lt;br /&gt;
	input in1,&lt;br /&gt;
	input in2&lt;br /&gt;
);&lt;br /&gt;
&lt;br /&gt;
assign out = in1 | in2;&lt;br /&gt;
&lt;br /&gt;
endmodule&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Adăugați constrângerile necesare pentru ca intrările și ieșirile circuitului să fie conectate astfel:&lt;br /&gt;
* in1 conectat la SW0:  PIN_L22&lt;br /&gt;
* in2 conectat la SW7:  PIN_M2&lt;br /&gt;
* out conectat la LDR3 (ledul roșu nr.3):  PIN_Y19&lt;br /&gt;
&lt;br /&gt;
Implementați proiectul pe placa DE1 și observați funcționalitatea circuitului descris de proiectul Quartus II.&lt;br /&gt;
&lt;br /&gt;
== Exercițiul 1 ==&lt;br /&gt;
&lt;br /&gt;
Realizați descrierea în Verilog a modulului cu intrările &amp;#039;&amp;#039;&amp;#039;a&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;b&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;c&amp;#039;&amp;#039;&amp;#039; și ieșirea &amp;#039;&amp;#039;&amp;#039;q&amp;#039;&amp;#039;&amp;#039;, 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 q la LDG2.&lt;br /&gt;
&lt;br /&gt;
[[Fișier:lab1_ex1.jpg]]&lt;br /&gt;
&lt;br /&gt;
== Exercițiul 2 ==&lt;br /&gt;
&lt;br /&gt;
Realizați descrierea în Verilog a modulului cu intrările &amp;#039;&amp;#039;&amp;#039;a&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;b&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;c&amp;#039;&amp;#039;&amp;#039; și ieșirea &amp;#039;&amp;#039;&amp;#039;q&amp;#039;&amp;#039;&amp;#039;, 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 LDR7.&lt;br /&gt;
&lt;br /&gt;
[[Fișier:lab1_ex2.gif]]&lt;br /&gt;
&lt;br /&gt;
== Exercițiul 3 ==&lt;br /&gt;
&lt;br /&gt;
Realizați descrierea în Verilog a modulului cu intrările &amp;#039;&amp;#039;&amp;#039;a&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;b&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;c&amp;#039;&amp;#039;&amp;#039; și ieșirea &amp;#039;&amp;#039;&amp;#039;q&amp;#039;&amp;#039;&amp;#039;, 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 LDG3.&lt;br /&gt;
&lt;br /&gt;
[[Fișier:lab1_ex3.jpg]]&lt;br /&gt;
&lt;br /&gt;
== Exercițiul 4 ==&lt;br /&gt;
&lt;br /&gt;
Realizați descrierea în Verilog a modulului cu intrările &amp;#039;&amp;#039;&amp;#039;a&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;b&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;c&amp;#039;&amp;#039;&amp;#039; și ieșirea &amp;#039;&amp;#039;&amp;#039;q&amp;#039;&amp;#039;&amp;#039;, 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 q la LDR6.&lt;br /&gt;
&lt;br /&gt;
[[Fișier:lab1_ex4.png]]&lt;br /&gt;
&lt;br /&gt;
== Exercițiul 5 ==&lt;br /&gt;
&lt;br /&gt;
Realizați descrierea în Verilog a modulului cu intrările &amp;#039;&amp;#039;&amp;#039;a&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;b&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;c&amp;#039;&amp;#039;&amp;#039; și ieșirea &amp;#039;&amp;#039;&amp;#039;q&amp;#039;&amp;#039;&amp;#039;, cu funcționalitatea conform schemei alăturate. Implementați circuitul pe placa Nexys2 conectând intrările a, b, c la SW5, SW6, respectiv SW7, iar ieșirea q la LD4.&lt;br /&gt;
&lt;br /&gt;
[[Fișier:lab1_ex5.png]]&lt;br /&gt;
&lt;br /&gt;
== Exercițiul 6 ==&lt;br /&gt;
&lt;br /&gt;
Realizați descrierea în Verilog a modulului cu intrările &amp;#039;&amp;#039;&amp;#039;a&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;b&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;c&amp;#039;&amp;#039;&amp;#039; și ieșirea &amp;#039;&amp;#039;&amp;#039;q&amp;#039;&amp;#039;&amp;#039;, cu funcționalitatea conform schemei alăturate. Implementați circuitul pe placa Nexys2 conectând intrările a, b, c la SW5, SW4, respectiv SW1, iar ieșirea q la LD5.&lt;br /&gt;
&lt;br /&gt;
[[Fișier:lab1_ex6.png]]&lt;br /&gt;
&lt;br /&gt;
== Submiterea Exercițiilor ==&lt;br /&gt;
&lt;br /&gt;
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 &amp;lt;span style=&amp;quot;color: red; font-weight: bold&amp;quot;&amp;gt; și către adresa cid_lab_homework@dcae.pub.ro&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
O arhivă &amp;lt;span style=&amp;quot;color: red; font-weight: bold&amp;quot;&amp;gt;zip&amp;lt;span&amp;gt; ce va conține:&lt;br /&gt;
*Un fișier Verilog cu extensia .v care conține descrierea Verilog a circuitului&lt;br /&gt;
*Un fișier de constrângeri, cu extensia .ucf&lt;br /&gt;
*Un fișier de tip proiect Xilinx ISE, cu extensia .xise&lt;br /&gt;
Atentie, arhiva va contine doar cele 3 fisiere (fara directoare).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Subiectul mesajului de e-mail trebuie să respecte formatul &amp;lt;span style=&amp;quot;color: red; font-weight: bold&amp;quot;&amp;gt;[Nume]_[Prenume]_[Grupa]_[Numărul Exercițiului]&amp;lt;/span&amp;gt;. De exemplu Petrica_Lucian_423B_2&lt;br /&gt;
&lt;br /&gt;
== Recomandări pentru cadrele didactice ==&lt;br /&gt;
&lt;br /&gt;
* Parcurgerea tutorialului [[Introducere în sinteza pe FPGA. Xilinx ISE]], răspunzându-se la întrebările studenților.&lt;br /&gt;
* Implementarea unui exemplu de proiect Xilinx ISE, parcurgându-se tutorialul [[Tutorial Xilinx ISE (13.4)|Xilinx ISE]].&lt;/div&gt;</summary>
		<author><name>Mdascalu</name></author>
	</entry>
	<entry>
		<id>http://wiki.dcae.pub.ro/index.php?title=CID_Lab_Lucrarea_1&amp;diff=5198</id>
		<title>CID Lab Lucrarea 1</title>
		<link rel="alternate" type="text/html" href="http://wiki.dcae.pub.ro/index.php?title=CID_Lab_Lucrarea_1&amp;diff=5198"/>
		<updated>2017-02-26T17:40:41Z</updated>

		<summary type="html">&lt;p&gt;Mdascalu: /* Exemplu */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Noțiuni și cunoștințe necesare ==&lt;br /&gt;
&lt;br /&gt;
* [[Introducere în sinteza pe FPGA. Xilinx ISE]]&lt;br /&gt;
* [[Tutorial Xilinx ISE (13.4)| Utilizarea programului de sinteză Xilinx ISE]]&lt;br /&gt;
* [[Introducere. Verilog HDL și ModelSim#Introducere în Circuite Digitale|Logică booleană și sisteme de numerație]]&lt;br /&gt;
* Noțiuni de sintaxă [[Verilog]]&lt;br /&gt;
&lt;br /&gt;
== Exemplu ==&lt;br /&gt;
&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Atenție!&amp;#039;&amp;#039;&amp;#039; Numele modulului top-level care va fi sintetizat trebuie setat corect cand creati proiectul (in cazul acesta, OrGate). &lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Verilog&amp;quot;&amp;gt;&lt;br /&gt;
module OrGate(&lt;br /&gt;
	output out,&lt;br /&gt;
	input in1,&lt;br /&gt;
	input in2&lt;br /&gt;
);&lt;br /&gt;
&lt;br /&gt;
assign out = in1 | in2;&lt;br /&gt;
&lt;br /&gt;
endmodule&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Adăugați constrângerile necesare pentru ca intrările și ieșirile circuitului să fie conectate astfel:&lt;br /&gt;
* in1 conectat la SW0:  PIN_L22&lt;br /&gt;
* in2 conectat la SW7:  PIN_M2&lt;br /&gt;
* out conectat la LDR3 (ledul roșu nr.3):  PIN_Y19&lt;br /&gt;
&lt;br /&gt;
Implementați proiectul pe placa DE1 și observați funcționalitatea circuitului descris de proiectul Quartus II.&lt;br /&gt;
&lt;br /&gt;
== Exercițiul 1 ==&lt;br /&gt;
&lt;br /&gt;
Realizați descrierea în Verilog a modulului cu intrările &amp;#039;&amp;#039;&amp;#039;a&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;b&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;c&amp;#039;&amp;#039;&amp;#039; și ieșirea &amp;#039;&amp;#039;&amp;#039;q&amp;#039;&amp;#039;&amp;#039;, 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 q la LDG2.&lt;br /&gt;
&lt;br /&gt;
[[Fișier:lab1_ex1.jpg]]&lt;br /&gt;
&lt;br /&gt;
== Exercițiul 2 ==&lt;br /&gt;
&lt;br /&gt;
Realizați descrierea în Verilog a modulului cu intrările &amp;#039;&amp;#039;&amp;#039;a&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;b&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;c&amp;#039;&amp;#039;&amp;#039; și ieșirea &amp;#039;&amp;#039;&amp;#039;q&amp;#039;&amp;#039;&amp;#039;, 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 LDR7.&lt;br /&gt;
&lt;br /&gt;
[[Fișier:lab1_ex2.gif]]&lt;br /&gt;
&lt;br /&gt;
== Exercițiul 3 ==&lt;br /&gt;
&lt;br /&gt;
Realizați descrierea în Verilog a modulului cu intrările &amp;#039;&amp;#039;&amp;#039;a&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;b&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;c&amp;#039;&amp;#039;&amp;#039; și ieșirea &amp;#039;&amp;#039;&amp;#039;q&amp;#039;&amp;#039;&amp;#039;, 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 LDG3.&lt;br /&gt;
&lt;br /&gt;
[[Fișier:lab1_ex3.jpg]]&lt;br /&gt;
&lt;br /&gt;
== Exercițiul 4 ==&lt;br /&gt;
&lt;br /&gt;
Realizați descrierea în Verilog a modulului cu intrările &amp;#039;&amp;#039;&amp;#039;a&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;b&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;c&amp;#039;&amp;#039;&amp;#039; și ieșirea &amp;#039;&amp;#039;&amp;#039;q&amp;#039;&amp;#039;&amp;#039;, cu funcționalitatea conform schemei alăturate. Implementați circuitul pe placa Nexys2 conectând intrările a, b, c la SW3, SW4, respectiv SW5, iar ieșirea q la LD6.&lt;br /&gt;
&lt;br /&gt;
[[Fișier:lab1_ex4.png]]&lt;br /&gt;
&lt;br /&gt;
== Exercițiul 5 ==&lt;br /&gt;
&lt;br /&gt;
Realizați descrierea în Verilog a modulului cu intrările &amp;#039;&amp;#039;&amp;#039;a&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;b&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;c&amp;#039;&amp;#039;&amp;#039; și ieșirea &amp;#039;&amp;#039;&amp;#039;q&amp;#039;&amp;#039;&amp;#039;, cu funcționalitatea conform schemei alăturate. Implementați circuitul pe placa Nexys2 conectând intrările a, b, c la SW5, SW6, respectiv SW7, iar ieșirea q la LD4.&lt;br /&gt;
&lt;br /&gt;
[[Fișier:lab1_ex5.png]]&lt;br /&gt;
&lt;br /&gt;
== Exercițiul 6 ==&lt;br /&gt;
&lt;br /&gt;
Realizați descrierea în Verilog a modulului cu intrările &amp;#039;&amp;#039;&amp;#039;a&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;b&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;c&amp;#039;&amp;#039;&amp;#039; și ieșirea &amp;#039;&amp;#039;&amp;#039;q&amp;#039;&amp;#039;&amp;#039;, cu funcționalitatea conform schemei alăturate. Implementați circuitul pe placa Nexys2 conectând intrările a, b, c la SW5, SW4, respectiv SW1, iar ieșirea q la LD5.&lt;br /&gt;
&lt;br /&gt;
[[Fișier:lab1_ex6.png]]&lt;br /&gt;
&lt;br /&gt;
== Submiterea Exercițiilor ==&lt;br /&gt;
&lt;br /&gt;
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 &amp;lt;span style=&amp;quot;color: red; font-weight: bold&amp;quot;&amp;gt; și către adresa cid_lab_homework@dcae.pub.ro&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
O arhivă &amp;lt;span style=&amp;quot;color: red; font-weight: bold&amp;quot;&amp;gt;zip&amp;lt;span&amp;gt; ce va conține:&lt;br /&gt;
*Un fișier Verilog cu extensia .v care conține descrierea Verilog a circuitului&lt;br /&gt;
*Un fișier de constrângeri, cu extensia .ucf&lt;br /&gt;
*Un fișier de tip proiect Xilinx ISE, cu extensia .xise&lt;br /&gt;
Atentie, arhiva va contine doar cele 3 fisiere (fara directoare).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Subiectul mesajului de e-mail trebuie să respecte formatul &amp;lt;span style=&amp;quot;color: red; font-weight: bold&amp;quot;&amp;gt;[Nume]_[Prenume]_[Grupa]_[Numărul Exercițiului]&amp;lt;/span&amp;gt;. De exemplu Petrica_Lucian_423B_2&lt;br /&gt;
&lt;br /&gt;
== Recomandări pentru cadrele didactice ==&lt;br /&gt;
&lt;br /&gt;
* Parcurgerea tutorialului [[Introducere în sinteza pe FPGA. Xilinx ISE]], răspunzându-se la întrebările studenților.&lt;br /&gt;
* Implementarea unui exemplu de proiect Xilinx ISE, parcurgându-se tutorialul [[Tutorial Xilinx ISE (13.4)|Xilinx ISE]].&lt;/div&gt;</summary>
		<author><name>Mdascalu</name></author>
	</entry>
	<entry>
		<id>http://wiki.dcae.pub.ro/index.php?title=CID_Lab_Lucrarea_1&amp;diff=5197</id>
		<title>CID Lab Lucrarea 1</title>
		<link rel="alternate" type="text/html" href="http://wiki.dcae.pub.ro/index.php?title=CID_Lab_Lucrarea_1&amp;diff=5197"/>
		<updated>2017-02-26T17:38:22Z</updated>

		<summary type="html">&lt;p&gt;Mdascalu: /* Exercițiul 2 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Noțiuni și cunoștințe necesare ==&lt;br /&gt;
&lt;br /&gt;
* [[Introducere în sinteza pe FPGA. Xilinx ISE]]&lt;br /&gt;
* [[Tutorial Xilinx ISE (13.4)| Utilizarea programului de sinteză Xilinx ISE]]&lt;br /&gt;
* [[Introducere. Verilog HDL și ModelSim#Introducere în Circuite Digitale|Logică booleană și sisteme de numerație]]&lt;br /&gt;
* Noțiuni de sintaxă [[Verilog]]&lt;br /&gt;
&lt;br /&gt;
== Exemplu ==&lt;br /&gt;
&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Verilog&amp;quot;&amp;gt;&lt;br /&gt;
module OrGate(&lt;br /&gt;
	output out,&lt;br /&gt;
	input in1,&lt;br /&gt;
	input in2&lt;br /&gt;
);&lt;br /&gt;
&lt;br /&gt;
assign out = in1 | in2;&lt;br /&gt;
&lt;br /&gt;
endmodule&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Adăugați constrângerile necesare pentru ca intrările și ieșirile circuitului să fie conectate astfel:&lt;br /&gt;
* in1 conectat la SW0:  PIN_L22&lt;br /&gt;
* in2 conectat la SW7:  PIN_M2&lt;br /&gt;
* out conectat la LDR3 (ledul roșu nr.3):  PIN_Y19&lt;br /&gt;
&lt;br /&gt;
Implementați proiectul pe placa DE1 și observați funcționalitatea circuitului descris de proiectul Quartus II.&lt;br /&gt;
&lt;br /&gt;
== Exercițiul 1 ==&lt;br /&gt;
&lt;br /&gt;
Realizați descrierea în Verilog a modulului cu intrările &amp;#039;&amp;#039;&amp;#039;a&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;b&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;c&amp;#039;&amp;#039;&amp;#039; și ieșirea &amp;#039;&amp;#039;&amp;#039;q&amp;#039;&amp;#039;&amp;#039;, 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 q la LDG2.&lt;br /&gt;
&lt;br /&gt;
[[Fișier:lab1_ex1.jpg]]&lt;br /&gt;
&lt;br /&gt;
== Exercițiul 2 ==&lt;br /&gt;
&lt;br /&gt;
Realizați descrierea în Verilog a modulului cu intrările &amp;#039;&amp;#039;&amp;#039;a&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;b&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;c&amp;#039;&amp;#039;&amp;#039; și ieșirea &amp;#039;&amp;#039;&amp;#039;q&amp;#039;&amp;#039;&amp;#039;, 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 LDR7.&lt;br /&gt;
&lt;br /&gt;
[[Fișier:lab1_ex2.gif]]&lt;br /&gt;
&lt;br /&gt;
== Exercițiul 3 ==&lt;br /&gt;
&lt;br /&gt;
Realizați descrierea în Verilog a modulului cu intrările &amp;#039;&amp;#039;&amp;#039;a&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;b&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;c&amp;#039;&amp;#039;&amp;#039; și ieșirea &amp;#039;&amp;#039;&amp;#039;q&amp;#039;&amp;#039;&amp;#039;, 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 LDG3.&lt;br /&gt;
&lt;br /&gt;
[[Fișier:lab1_ex3.jpg]]&lt;br /&gt;
&lt;br /&gt;
== Exercițiul 4 ==&lt;br /&gt;
&lt;br /&gt;
Realizați descrierea în Verilog a modulului cu intrările &amp;#039;&amp;#039;&amp;#039;a&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;b&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;c&amp;#039;&amp;#039;&amp;#039; și ieșirea &amp;#039;&amp;#039;&amp;#039;q&amp;#039;&amp;#039;&amp;#039;, cu funcționalitatea conform schemei alăturate. Implementați circuitul pe placa Nexys2 conectând intrările a, b, c la SW3, SW4, respectiv SW5, iar ieșirea q la LD6.&lt;br /&gt;
&lt;br /&gt;
[[Fișier:lab1_ex4.png]]&lt;br /&gt;
&lt;br /&gt;
== Exercițiul 5 ==&lt;br /&gt;
&lt;br /&gt;
Realizați descrierea în Verilog a modulului cu intrările &amp;#039;&amp;#039;&amp;#039;a&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;b&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;c&amp;#039;&amp;#039;&amp;#039; și ieșirea &amp;#039;&amp;#039;&amp;#039;q&amp;#039;&amp;#039;&amp;#039;, cu funcționalitatea conform schemei alăturate. Implementați circuitul pe placa Nexys2 conectând intrările a, b, c la SW5, SW6, respectiv SW7, iar ieșirea q la LD4.&lt;br /&gt;
&lt;br /&gt;
[[Fișier:lab1_ex5.png]]&lt;br /&gt;
&lt;br /&gt;
== Exercițiul 6 ==&lt;br /&gt;
&lt;br /&gt;
Realizați descrierea în Verilog a modulului cu intrările &amp;#039;&amp;#039;&amp;#039;a&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;b&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;c&amp;#039;&amp;#039;&amp;#039; și ieșirea &amp;#039;&amp;#039;&amp;#039;q&amp;#039;&amp;#039;&amp;#039;, cu funcționalitatea conform schemei alăturate. Implementați circuitul pe placa Nexys2 conectând intrările a, b, c la SW5, SW4, respectiv SW1, iar ieșirea q la LD5.&lt;br /&gt;
&lt;br /&gt;
[[Fișier:lab1_ex6.png]]&lt;br /&gt;
&lt;br /&gt;
== Submiterea Exercițiilor ==&lt;br /&gt;
&lt;br /&gt;
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 &amp;lt;span style=&amp;quot;color: red; font-weight: bold&amp;quot;&amp;gt; și către adresa cid_lab_homework@dcae.pub.ro&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
O arhivă &amp;lt;span style=&amp;quot;color: red; font-weight: bold&amp;quot;&amp;gt;zip&amp;lt;span&amp;gt; ce va conține:&lt;br /&gt;
*Un fișier Verilog cu extensia .v care conține descrierea Verilog a circuitului&lt;br /&gt;
*Un fișier de constrângeri, cu extensia .ucf&lt;br /&gt;
*Un fișier de tip proiect Xilinx ISE, cu extensia .xise&lt;br /&gt;
Atentie, arhiva va contine doar cele 3 fisiere (fara directoare).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Subiectul mesajului de e-mail trebuie să respecte formatul &amp;lt;span style=&amp;quot;color: red; font-weight: bold&amp;quot;&amp;gt;[Nume]_[Prenume]_[Grupa]_[Numărul Exercițiului]&amp;lt;/span&amp;gt;. De exemplu Petrica_Lucian_423B_2&lt;br /&gt;
&lt;br /&gt;
== Recomandări pentru cadrele didactice ==&lt;br /&gt;
&lt;br /&gt;
* Parcurgerea tutorialului [[Introducere în sinteza pe FPGA. Xilinx ISE]], răspunzându-se la întrebările studenților.&lt;br /&gt;
* Implementarea unui exemplu de proiect Xilinx ISE, parcurgându-se tutorialul [[Tutorial Xilinx ISE (13.4)|Xilinx ISE]].&lt;/div&gt;</summary>
		<author><name>Mdascalu</name></author>
	</entry>
	<entry>
		<id>http://wiki.dcae.pub.ro/index.php?title=CID_Lab_Lucrarea_1&amp;diff=5196</id>
		<title>CID Lab Lucrarea 1</title>
		<link rel="alternate" type="text/html" href="http://wiki.dcae.pub.ro/index.php?title=CID_Lab_Lucrarea_1&amp;diff=5196"/>
		<updated>2017-02-26T17:37:58Z</updated>

		<summary type="html">&lt;p&gt;Mdascalu: /* Exercițiul 1 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Noțiuni și cunoștințe necesare ==&lt;br /&gt;
&lt;br /&gt;
* [[Introducere în sinteza pe FPGA. Xilinx ISE]]&lt;br /&gt;
* [[Tutorial Xilinx ISE (13.4)| Utilizarea programului de sinteză Xilinx ISE]]&lt;br /&gt;
* [[Introducere. Verilog HDL și ModelSim#Introducere în Circuite Digitale|Logică booleană și sisteme de numerație]]&lt;br /&gt;
* Noțiuni de sintaxă [[Verilog]]&lt;br /&gt;
&lt;br /&gt;
== Exemplu ==&lt;br /&gt;
&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Verilog&amp;quot;&amp;gt;&lt;br /&gt;
module OrGate(&lt;br /&gt;
	output out,&lt;br /&gt;
	input in1,&lt;br /&gt;
	input in2&lt;br /&gt;
);&lt;br /&gt;
&lt;br /&gt;
assign out = in1 | in2;&lt;br /&gt;
&lt;br /&gt;
endmodule&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Adăugați constrângerile necesare pentru ca intrările și ieșirile circuitului să fie conectate astfel:&lt;br /&gt;
* in1 conectat la SW0:  PIN_L22&lt;br /&gt;
* in2 conectat la SW7:  PIN_M2&lt;br /&gt;
* out conectat la LDR3 (ledul roșu nr.3):  PIN_Y19&lt;br /&gt;
&lt;br /&gt;
Implementați proiectul pe placa DE1 și observați funcționalitatea circuitului descris de proiectul Quartus II.&lt;br /&gt;
&lt;br /&gt;
== Exercițiul 1 ==&lt;br /&gt;
&lt;br /&gt;
Realizați descrierea în Verilog a modulului cu intrările &amp;#039;&amp;#039;&amp;#039;a&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;b&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;c&amp;#039;&amp;#039;&amp;#039; și ieșirea &amp;#039;&amp;#039;&amp;#039;q&amp;#039;&amp;#039;&amp;#039;, 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 q la LDG2.&lt;br /&gt;
&lt;br /&gt;
[[Fișier:lab1_ex1.jpg]]&lt;br /&gt;
&lt;br /&gt;
== Exercițiul 2 ==&lt;br /&gt;
&lt;br /&gt;
Realizați descrierea în Verilog a modulului cu intrările &amp;#039;&amp;#039;&amp;#039;a&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;b&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;c&amp;#039;&amp;#039;&amp;#039; și ieșirea &amp;#039;&amp;#039;&amp;#039;q&amp;#039;&amp;#039;&amp;#039;, cu funcționalitatea conform schemei alăturate. Implementați circuitul pe placa Nexys2 conectând intrările a, b, c la SW3, SW4, respectiv SW7, iar ieșirea q la LDR7.&lt;br /&gt;
&lt;br /&gt;
[[Fișier:lab1_ex2.gif]]&lt;br /&gt;
&lt;br /&gt;
== Exercițiul 3 ==&lt;br /&gt;
&lt;br /&gt;
Realizați descrierea în Verilog a modulului cu intrările &amp;#039;&amp;#039;&amp;#039;a&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;b&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;c&amp;#039;&amp;#039;&amp;#039; și ieșirea &amp;#039;&amp;#039;&amp;#039;q&amp;#039;&amp;#039;&amp;#039;, 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 LDG3.&lt;br /&gt;
&lt;br /&gt;
[[Fișier:lab1_ex3.jpg]]&lt;br /&gt;
&lt;br /&gt;
== Exercițiul 4 ==&lt;br /&gt;
&lt;br /&gt;
Realizați descrierea în Verilog a modulului cu intrările &amp;#039;&amp;#039;&amp;#039;a&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;b&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;c&amp;#039;&amp;#039;&amp;#039; și ieșirea &amp;#039;&amp;#039;&amp;#039;q&amp;#039;&amp;#039;&amp;#039;, cu funcționalitatea conform schemei alăturate. Implementați circuitul pe placa Nexys2 conectând intrările a, b, c la SW3, SW4, respectiv SW5, iar ieșirea q la LD6.&lt;br /&gt;
&lt;br /&gt;
[[Fișier:lab1_ex4.png]]&lt;br /&gt;
&lt;br /&gt;
== Exercițiul 5 ==&lt;br /&gt;
&lt;br /&gt;
Realizați descrierea în Verilog a modulului cu intrările &amp;#039;&amp;#039;&amp;#039;a&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;b&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;c&amp;#039;&amp;#039;&amp;#039; și ieșirea &amp;#039;&amp;#039;&amp;#039;q&amp;#039;&amp;#039;&amp;#039;, cu funcționalitatea conform schemei alăturate. Implementați circuitul pe placa Nexys2 conectând intrările a, b, c la SW5, SW6, respectiv SW7, iar ieșirea q la LD4.&lt;br /&gt;
&lt;br /&gt;
[[Fișier:lab1_ex5.png]]&lt;br /&gt;
&lt;br /&gt;
== Exercițiul 6 ==&lt;br /&gt;
&lt;br /&gt;
Realizați descrierea în Verilog a modulului cu intrările &amp;#039;&amp;#039;&amp;#039;a&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;b&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;c&amp;#039;&amp;#039;&amp;#039; și ieșirea &amp;#039;&amp;#039;&amp;#039;q&amp;#039;&amp;#039;&amp;#039;, cu funcționalitatea conform schemei alăturate. Implementați circuitul pe placa Nexys2 conectând intrările a, b, c la SW5, SW4, respectiv SW1, iar ieșirea q la LD5.&lt;br /&gt;
&lt;br /&gt;
[[Fișier:lab1_ex6.png]]&lt;br /&gt;
&lt;br /&gt;
== Submiterea Exercițiilor ==&lt;br /&gt;
&lt;br /&gt;
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 &amp;lt;span style=&amp;quot;color: red; font-weight: bold&amp;quot;&amp;gt; și către adresa cid_lab_homework@dcae.pub.ro&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
O arhivă &amp;lt;span style=&amp;quot;color: red; font-weight: bold&amp;quot;&amp;gt;zip&amp;lt;span&amp;gt; ce va conține:&lt;br /&gt;
*Un fișier Verilog cu extensia .v care conține descrierea Verilog a circuitului&lt;br /&gt;
*Un fișier de constrângeri, cu extensia .ucf&lt;br /&gt;
*Un fișier de tip proiect Xilinx ISE, cu extensia .xise&lt;br /&gt;
Atentie, arhiva va contine doar cele 3 fisiere (fara directoare).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Subiectul mesajului de e-mail trebuie să respecte formatul &amp;lt;span style=&amp;quot;color: red; font-weight: bold&amp;quot;&amp;gt;[Nume]_[Prenume]_[Grupa]_[Numărul Exercițiului]&amp;lt;/span&amp;gt;. De exemplu Petrica_Lucian_423B_2&lt;br /&gt;
&lt;br /&gt;
== Recomandări pentru cadrele didactice ==&lt;br /&gt;
&lt;br /&gt;
* Parcurgerea tutorialului [[Introducere în sinteza pe FPGA. Xilinx ISE]], răspunzându-se la întrebările studenților.&lt;br /&gt;
* Implementarea unui exemplu de proiect Xilinx ISE, parcurgându-se tutorialul [[Tutorial Xilinx ISE (13.4)|Xilinx ISE]].&lt;/div&gt;</summary>
		<author><name>Mdascalu</name></author>
	</entry>
	<entry>
		<id>http://wiki.dcae.pub.ro/index.php?title=CID_Lab_Lucrarea_1&amp;diff=5195</id>
		<title>CID Lab Lucrarea 1</title>
		<link rel="alternate" type="text/html" href="http://wiki.dcae.pub.ro/index.php?title=CID_Lab_Lucrarea_1&amp;diff=5195"/>
		<updated>2017-02-26T17:37:38Z</updated>

		<summary type="html">&lt;p&gt;Mdascalu: /* Exercițiul 3 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Noțiuni și cunoștințe necesare ==&lt;br /&gt;
&lt;br /&gt;
* [[Introducere în sinteza pe FPGA. Xilinx ISE]]&lt;br /&gt;
* [[Tutorial Xilinx ISE (13.4)| Utilizarea programului de sinteză Xilinx ISE]]&lt;br /&gt;
* [[Introducere. Verilog HDL și ModelSim#Introducere în Circuite Digitale|Logică booleană și sisteme de numerație]]&lt;br /&gt;
* Noțiuni de sintaxă [[Verilog]]&lt;br /&gt;
&lt;br /&gt;
== Exemplu ==&lt;br /&gt;
&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Verilog&amp;quot;&amp;gt;&lt;br /&gt;
module OrGate(&lt;br /&gt;
	output out,&lt;br /&gt;
	input in1,&lt;br /&gt;
	input in2&lt;br /&gt;
);&lt;br /&gt;
&lt;br /&gt;
assign out = in1 | in2;&lt;br /&gt;
&lt;br /&gt;
endmodule&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Adăugați constrângerile necesare pentru ca intrările și ieșirile circuitului să fie conectate astfel:&lt;br /&gt;
* in1 conectat la SW0:  PIN_L22&lt;br /&gt;
* in2 conectat la SW7:  PIN_M2&lt;br /&gt;
* out conectat la LDR3 (ledul roșu nr.3):  PIN_Y19&lt;br /&gt;
&lt;br /&gt;
Implementați proiectul pe placa DE1 și observați funcționalitatea circuitului descris de proiectul Quartus II.&lt;br /&gt;
&lt;br /&gt;
== Exercițiul 1 ==&lt;br /&gt;
&lt;br /&gt;
Realizați descrierea în Verilog a modulului cu intrările &amp;#039;&amp;#039;&amp;#039;a&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;b&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;c&amp;#039;&amp;#039;&amp;#039; și ieșirea &amp;#039;&amp;#039;&amp;#039;q&amp;#039;&amp;#039;&amp;#039;, cu funcționalitatea conform schemei alăturate. Implementați circuitul pe placa Nexys2 conectând intrările a, b, c la SW2, SW4, respectiv SW6, iar ieșirea q la LDG2.&lt;br /&gt;
&lt;br /&gt;
[[Fișier:lab1_ex1.jpg]]&lt;br /&gt;
&lt;br /&gt;
== Exercițiul 2 ==&lt;br /&gt;
&lt;br /&gt;
Realizați descrierea în Verilog a modulului cu intrările &amp;#039;&amp;#039;&amp;#039;a&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;b&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;c&amp;#039;&amp;#039;&amp;#039; și ieșirea &amp;#039;&amp;#039;&amp;#039;q&amp;#039;&amp;#039;&amp;#039;, cu funcționalitatea conform schemei alăturate. Implementați circuitul pe placa Nexys2 conectând intrările a, b, c la SW3, SW4, respectiv SW7, iar ieșirea q la LDR7.&lt;br /&gt;
&lt;br /&gt;
[[Fișier:lab1_ex2.gif]]&lt;br /&gt;
&lt;br /&gt;
== Exercițiul 3 ==&lt;br /&gt;
&lt;br /&gt;
Realizați descrierea în Verilog a modulului cu intrările &amp;#039;&amp;#039;&amp;#039;a&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;b&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;c&amp;#039;&amp;#039;&amp;#039; și ieșirea &amp;#039;&amp;#039;&amp;#039;q&amp;#039;&amp;#039;&amp;#039;, 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 LDG3.&lt;br /&gt;
&lt;br /&gt;
[[Fișier:lab1_ex3.jpg]]&lt;br /&gt;
&lt;br /&gt;
== Exercițiul 4 ==&lt;br /&gt;
&lt;br /&gt;
Realizați descrierea în Verilog a modulului cu intrările &amp;#039;&amp;#039;&amp;#039;a&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;b&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;c&amp;#039;&amp;#039;&amp;#039; și ieșirea &amp;#039;&amp;#039;&amp;#039;q&amp;#039;&amp;#039;&amp;#039;, cu funcționalitatea conform schemei alăturate. Implementați circuitul pe placa Nexys2 conectând intrările a, b, c la SW3, SW4, respectiv SW5, iar ieșirea q la LD6.&lt;br /&gt;
&lt;br /&gt;
[[Fișier:lab1_ex4.png]]&lt;br /&gt;
&lt;br /&gt;
== Exercițiul 5 ==&lt;br /&gt;
&lt;br /&gt;
Realizați descrierea în Verilog a modulului cu intrările &amp;#039;&amp;#039;&amp;#039;a&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;b&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;c&amp;#039;&amp;#039;&amp;#039; și ieșirea &amp;#039;&amp;#039;&amp;#039;q&amp;#039;&amp;#039;&amp;#039;, cu funcționalitatea conform schemei alăturate. Implementați circuitul pe placa Nexys2 conectând intrările a, b, c la SW5, SW6, respectiv SW7, iar ieșirea q la LD4.&lt;br /&gt;
&lt;br /&gt;
[[Fișier:lab1_ex5.png]]&lt;br /&gt;
&lt;br /&gt;
== Exercițiul 6 ==&lt;br /&gt;
&lt;br /&gt;
Realizați descrierea în Verilog a modulului cu intrările &amp;#039;&amp;#039;&amp;#039;a&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;b&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;c&amp;#039;&amp;#039;&amp;#039; și ieșirea &amp;#039;&amp;#039;&amp;#039;q&amp;#039;&amp;#039;&amp;#039;, cu funcționalitatea conform schemei alăturate. Implementați circuitul pe placa Nexys2 conectând intrările a, b, c la SW5, SW4, respectiv SW1, iar ieșirea q la LD5.&lt;br /&gt;
&lt;br /&gt;
[[Fișier:lab1_ex6.png]]&lt;br /&gt;
&lt;br /&gt;
== Submiterea Exercițiilor ==&lt;br /&gt;
&lt;br /&gt;
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 &amp;lt;span style=&amp;quot;color: red; font-weight: bold&amp;quot;&amp;gt; și către adresa cid_lab_homework@dcae.pub.ro&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
O arhivă &amp;lt;span style=&amp;quot;color: red; font-weight: bold&amp;quot;&amp;gt;zip&amp;lt;span&amp;gt; ce va conține:&lt;br /&gt;
*Un fișier Verilog cu extensia .v care conține descrierea Verilog a circuitului&lt;br /&gt;
*Un fișier de constrângeri, cu extensia .ucf&lt;br /&gt;
*Un fișier de tip proiect Xilinx ISE, cu extensia .xise&lt;br /&gt;
Atentie, arhiva va contine doar cele 3 fisiere (fara directoare).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Subiectul mesajului de e-mail trebuie să respecte formatul &amp;lt;span style=&amp;quot;color: red; font-weight: bold&amp;quot;&amp;gt;[Nume]_[Prenume]_[Grupa]_[Numărul Exercițiului]&amp;lt;/span&amp;gt;. De exemplu Petrica_Lucian_423B_2&lt;br /&gt;
&lt;br /&gt;
== Recomandări pentru cadrele didactice ==&lt;br /&gt;
&lt;br /&gt;
* Parcurgerea tutorialului [[Introducere în sinteza pe FPGA. Xilinx ISE]], răspunzându-se la întrebările studenților.&lt;br /&gt;
* Implementarea unui exemplu de proiect Xilinx ISE, parcurgându-se tutorialul [[Tutorial Xilinx ISE (13.4)|Xilinx ISE]].&lt;/div&gt;</summary>
		<author><name>Mdascalu</name></author>
	</entry>
	<entry>
		<id>http://wiki.dcae.pub.ro/index.php?title=CID_Lab_Lucrarea_1&amp;diff=5194</id>
		<title>CID Lab Lucrarea 1</title>
		<link rel="alternate" type="text/html" href="http://wiki.dcae.pub.ro/index.php?title=CID_Lab_Lucrarea_1&amp;diff=5194"/>
		<updated>2017-02-26T17:37:05Z</updated>

		<summary type="html">&lt;p&gt;Mdascalu: /* Exercițiul 2 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Noțiuni și cunoștințe necesare ==&lt;br /&gt;
&lt;br /&gt;
* [[Introducere în sinteza pe FPGA. Xilinx ISE]]&lt;br /&gt;
* [[Tutorial Xilinx ISE (13.4)| Utilizarea programului de sinteză Xilinx ISE]]&lt;br /&gt;
* [[Introducere. Verilog HDL și ModelSim#Introducere în Circuite Digitale|Logică booleană și sisteme de numerație]]&lt;br /&gt;
* Noțiuni de sintaxă [[Verilog]]&lt;br /&gt;
&lt;br /&gt;
== Exemplu ==&lt;br /&gt;
&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Verilog&amp;quot;&amp;gt;&lt;br /&gt;
module OrGate(&lt;br /&gt;
	output out,&lt;br /&gt;
	input in1,&lt;br /&gt;
	input in2&lt;br /&gt;
);&lt;br /&gt;
&lt;br /&gt;
assign out = in1 | in2;&lt;br /&gt;
&lt;br /&gt;
endmodule&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Adăugați constrângerile necesare pentru ca intrările și ieșirile circuitului să fie conectate astfel:&lt;br /&gt;
* in1 conectat la SW0:  PIN_L22&lt;br /&gt;
* in2 conectat la SW7:  PIN_M2&lt;br /&gt;
* out conectat la LDR3 (ledul roșu nr.3):  PIN_Y19&lt;br /&gt;
&lt;br /&gt;
Implementați proiectul pe placa DE1 și observați funcționalitatea circuitului descris de proiectul Quartus II.&lt;br /&gt;
&lt;br /&gt;
== Exercițiul 1 ==&lt;br /&gt;
&lt;br /&gt;
Realizați descrierea în Verilog a modulului cu intrările &amp;#039;&amp;#039;&amp;#039;a&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;b&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;c&amp;#039;&amp;#039;&amp;#039; și ieșirea &amp;#039;&amp;#039;&amp;#039;q&amp;#039;&amp;#039;&amp;#039;, cu funcționalitatea conform schemei alăturate. Implementați circuitul pe placa Nexys2 conectând intrările a, b, c la SW2, SW4, respectiv SW6, iar ieșirea q la LDG2.&lt;br /&gt;
&lt;br /&gt;
[[Fișier:lab1_ex1.jpg]]&lt;br /&gt;
&lt;br /&gt;
== Exercițiul 2 ==&lt;br /&gt;
&lt;br /&gt;
Realizați descrierea în Verilog a modulului cu intrările &amp;#039;&amp;#039;&amp;#039;a&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;b&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;c&amp;#039;&amp;#039;&amp;#039; și ieșirea &amp;#039;&amp;#039;&amp;#039;q&amp;#039;&amp;#039;&amp;#039;, cu funcționalitatea conform schemei alăturate. Implementați circuitul pe placa Nexys2 conectând intrările a, b, c la SW3, SW4, respectiv SW7, iar ieșirea q la LDR7.&lt;br /&gt;
&lt;br /&gt;
[[Fișier:lab1_ex2.gif]]&lt;br /&gt;
&lt;br /&gt;
== Exercițiul 3 ==&lt;br /&gt;
&lt;br /&gt;
Realizați descrierea în Verilog a modulului cu intrările &amp;#039;&amp;#039;&amp;#039;a&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;b&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;c&amp;#039;&amp;#039;&amp;#039; și ieșirea &amp;#039;&amp;#039;&amp;#039;q&amp;#039;&amp;#039;&amp;#039;, cu funcționalitatea conform schemei alăturate. Implementați circuitul pe placa Nexys2 conectând intrările a, b, c la SW1, SW6, respectiv SW7, iar ieșirea q la LD3.&lt;br /&gt;
&lt;br /&gt;
[[Fișier:lab1_ex3.jpg]]&lt;br /&gt;
&lt;br /&gt;
== Exercițiul 4 ==&lt;br /&gt;
&lt;br /&gt;
Realizați descrierea în Verilog a modulului cu intrările &amp;#039;&amp;#039;&amp;#039;a&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;b&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;c&amp;#039;&amp;#039;&amp;#039; și ieșirea &amp;#039;&amp;#039;&amp;#039;q&amp;#039;&amp;#039;&amp;#039;, cu funcționalitatea conform schemei alăturate. Implementați circuitul pe placa Nexys2 conectând intrările a, b, c la SW3, SW4, respectiv SW5, iar ieșirea q la LD6.&lt;br /&gt;
&lt;br /&gt;
[[Fișier:lab1_ex4.png]]&lt;br /&gt;
&lt;br /&gt;
== Exercițiul 5 ==&lt;br /&gt;
&lt;br /&gt;
Realizați descrierea în Verilog a modulului cu intrările &amp;#039;&amp;#039;&amp;#039;a&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;b&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;c&amp;#039;&amp;#039;&amp;#039; și ieșirea &amp;#039;&amp;#039;&amp;#039;q&amp;#039;&amp;#039;&amp;#039;, cu funcționalitatea conform schemei alăturate. Implementați circuitul pe placa Nexys2 conectând intrările a, b, c la SW5, SW6, respectiv SW7, iar ieșirea q la LD4.&lt;br /&gt;
&lt;br /&gt;
[[Fișier:lab1_ex5.png]]&lt;br /&gt;
&lt;br /&gt;
== Exercițiul 6 ==&lt;br /&gt;
&lt;br /&gt;
Realizați descrierea în Verilog a modulului cu intrările &amp;#039;&amp;#039;&amp;#039;a&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;b&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;c&amp;#039;&amp;#039;&amp;#039; și ieșirea &amp;#039;&amp;#039;&amp;#039;q&amp;#039;&amp;#039;&amp;#039;, cu funcționalitatea conform schemei alăturate. Implementați circuitul pe placa Nexys2 conectând intrările a, b, c la SW5, SW4, respectiv SW1, iar ieșirea q la LD5.&lt;br /&gt;
&lt;br /&gt;
[[Fișier:lab1_ex6.png]]&lt;br /&gt;
&lt;br /&gt;
== Submiterea Exercițiilor ==&lt;br /&gt;
&lt;br /&gt;
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 &amp;lt;span style=&amp;quot;color: red; font-weight: bold&amp;quot;&amp;gt; și către adresa cid_lab_homework@dcae.pub.ro&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
O arhivă &amp;lt;span style=&amp;quot;color: red; font-weight: bold&amp;quot;&amp;gt;zip&amp;lt;span&amp;gt; ce va conține:&lt;br /&gt;
*Un fișier Verilog cu extensia .v care conține descrierea Verilog a circuitului&lt;br /&gt;
*Un fișier de constrângeri, cu extensia .ucf&lt;br /&gt;
*Un fișier de tip proiect Xilinx ISE, cu extensia .xise&lt;br /&gt;
Atentie, arhiva va contine doar cele 3 fisiere (fara directoare).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Subiectul mesajului de e-mail trebuie să respecte formatul &amp;lt;span style=&amp;quot;color: red; font-weight: bold&amp;quot;&amp;gt;[Nume]_[Prenume]_[Grupa]_[Numărul Exercițiului]&amp;lt;/span&amp;gt;. De exemplu Petrica_Lucian_423B_2&lt;br /&gt;
&lt;br /&gt;
== Recomandări pentru cadrele didactice ==&lt;br /&gt;
&lt;br /&gt;
* Parcurgerea tutorialului [[Introducere în sinteza pe FPGA. Xilinx ISE]], răspunzându-se la întrebările studenților.&lt;br /&gt;
* Implementarea unui exemplu de proiect Xilinx ISE, parcurgându-se tutorialul [[Tutorial Xilinx ISE (13.4)|Xilinx ISE]].&lt;/div&gt;</summary>
		<author><name>Mdascalu</name></author>
	</entry>
</feed>