CID Seminar 1

De la WikiLabs
Jump to navigationJump to search

În acest seminar veţi învăţa să descrieţi unele circuite digitale simple în limbajul Verilog şi să folosiţi programul Xilinx ISim pentru a simula funcţionarea acestora.


Cuvinte cheie: formă de undă, proiect, modul, instanţiere, testbench

Sintaxa Verilog: module, assign, initial, $stop


În domeniul digital, toate sistemele, circuitele şi blocurile funcţionale sunt conectate între ele numai prin semnale digitale, adică dreptunghiulare (care pot lua doar două valori, 0 si 1). Cum obţinem formele de undă de la ieşirea unui circuit? Descriem circuitul într-o manieră inteligibilă (folosind un HDL – în cazul nostru, Verilog). Aplicăm semnale pe intrare şi apoi simulăm funcţionarea, folosind un simulator (aici, Xilinx ISim).


Exemplul 1

Descrieţi în Verilog un circuit de incrementare pentru numere binare pe 4 biţi şi testaţi funcţionarea acestui circuit, folosind modulul test_inc, cu ajutorul programului Model Sim.

Schema bloc pentru exemplul 1

Explicaţii suplimentare

Descrierea unui circuit include:

  • descrierea interfetei (declararea porturilor)
  • descrierea funcţiei (ce face circuitul? în esenţă, cum depind ieşirile de intrări)

Circuitul din acest exemplu are o intrare (in), pe 4 biţi şi o ieşire (out), pe 5 biţi. Bus-urile sunt semnale pe mai mulţi biţi care au o semnificaţie comună, este mai avantajos să îi definim împreună. Funcţia realizată de circuit este out = in + 1.

Regulă: Descrierile circuitelor în Verilog sunt alcătuite din module.

Intrările în Verilog se definesc cu cuvântul input, ieşirile sunt output. Orice modul începe cu cuvântul module şi se termină cu endmodule. Modulele nu se pot suprapune şi nu pot fi incluse unele în altele.

module circuitul_meu(lista_porturi); /* porturile sunt conexiunile externe ale circuitului*/

	……//declaraţi mai întâi porturile
	……//apoi daţi detaliile funcţionale
endmodule