This shows you the differences between two versions of the page.
cn1:laboratoare:10 [2020/04/27 01:08] adina.smeu [3. Problemă examen] |
— (current) | ||
---|---|---|---|
Line 1: | Line 1: | ||
- | ===== Laboratorul 10 - Recapitulare ===== | ||
- | |||
- | ==== 1. Obiective ==== | ||
- | |||
- | {{page>cn1:laboratoare:10:goals&nofooter}} | ||
- | |||
- | ==== 2. Taskuri ==== | ||
- | |||
- | {{page>cn1:laboratoare:10:tasks&nofooter}} | ||
- | |||
- | ==== 3. Problemă examen ==== | ||
- | |||
- | {{page>cn1:laboratoare:10:exam&nofooter}} | ||
- | |||
- | ==== 4. Model colocviu ==== | ||
- | |||
- | {{page>cn1:laboratoare:10:test&nofooter}} | ||
- | |||
- | Colocviul va fi scris (nu există probă practică pe calculator). Acesta este closed book. Regulamentul se află [[https://ocw.cs.pub.ro/courses/cn1/regulament|aici]]. | ||
- | |||
- | Formatul acestuia va fi următorul: | ||
- | * 4 subiecte de câte 2.5 puncte | ||
- | * Timp de lucru 50 min. Fără documentații. Totul se redactează pe foaie. | ||
- | * Colocviul verifică toate cunoștințele din materia predată la laborator, printre care și noțiuni de Verilog (veți scrie cod pe foaie). | ||
- | |||
- | Exemple de subiecte: | ||
- | * Subiectul 1 va fi o întrebare de teorie/o comparație/o definiție/un algoritm/o idee/un principiu/etc din materia de laborator. | ||
- | * Subiectul 2 poate sa ceară corectarea unui cod Verilog dat, menționarea unor concepte + exemplificare prin cod Verilog (ex. semnătură module, instanțiere module), etc. | ||
- | * Subiectul 3 va presupune scrierea unui modul/o secvență de cod Verilog. Acesta va fi asemănător cu exercițiile deja codate în laboratoare. | ||
- | * Subiectul 3 va presupune scrierea unui modul/o secvență de cod Verilog. Acesta va fi asemănător cu exercițiile deja codate în laboratoare. | ||
- | * Indicii 1, 2, 3, 4 sunt orientativi. (Ex. Subiectul 1 poate sa fie FSM Moore, iar subiectul 4 poate sa fie o întrebare. Ați prins ideea. :D) | ||
- | |||
- | Mai jos puteți consulta un model. | ||
- | |||
- | <code verilog> | ||
- | Vineri 10-12 26.05.2017 | ||
- | Colocviu CN1 | ||
- | (2.5p) Care este diferența dintre un half adder și un full adder? De ce avem nevoie de ambele? | ||
- | |||
- | |||
- | (2.5p) Implementați în Verilog un sumator pe 2 biți. Sumatorul NU are intrare de carry. NU puteți folosi | ||
- | operatorul +. | ||
- | |||
- | (2.5p) Pornind de la următoarea descriere la nivel procedural al unui modul în Verilog scrieți descrierea | ||
- | la nivel structural al aceluiași modul. | ||
- | module foo(input a, input b, input c, output reg out); | ||
- | always @(*) begin | ||
- | case (b) | ||
- | 1’b0: begin | ||
- | out <= a | c; | ||
- | end | ||
- | 1’b1: begin | ||
- | out <= 0; | ||
- | end | ||
- | endcase | ||
- | end | ||
- | endmodule | ||
- | |||
- | (2.5p) Creați diagrama pentru un automat cu stări de tip Moore care primește intrările '1' și '0' și are ca | ||
- | ieșire "da" sau "nu". Automatul trebuie să recunoască secvențe care conțin subsecvența "1010". | ||
- | Exemplu: intrare "1010" => ieșire "da"; intrare "111010" => ieșire "da"; intrare "101001" => ieșire "da"; | ||
- | intrare "1111" => ieșire "nu"; intrare "1011" => ieșire "nu"; intrare "10010" => ieșire "nu". | ||
- | </code> | ||
- | |||
- | |||
- | ==== 5. Linkuri utile ==== | ||
- | |||
- | {{page>cn1:laboratoare:10:links&nofooter}} | ||
- | |||
- | [[https://ocw.cs.pub.ro/courses/cn1]] | ||