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]] | ||