Extras din laborator
1.Scopul lucrării:
Să se descrie următoarele module prin metoda structurală de descriere:
1. decodor 2 din 4;
2. folosind schema de extindere 2n, să se descrie un decodor 4 din 16;
3. pe baza decodorului, să se proiecteze un multiplexor;
4. să se extindă multiplexorul;
5. să se scrie câte un modul de testare pentru modulele proiectate;
2.Date teoretice
Introducere în VERILOG:
Verilog HDL reprezintă un limbaj utilizat pentru descrierea sistemelor digitale. Sistemele digitale pot fi calculatoare, componenete ale acestora sau alte structuri care manipulează informaţie digitala.
Verilog poate fi utilizat pentru descrierea sisemelor digitale din punct de vedere comportamental, structural şi flux de date:
Descrierea comportamentală este legată de modul în care operează sistemul şi utilizează construcţii ale limbajelor traditionale de programare, de exemplu if sau atribuiri.
Descrierea structurală exprimă modul în care entităţile/componentele logice ce alcătuiesc sistemul sunt interconectate în vedeea realizării comportamentului dorit.
Descriera prin metoda fulx de date - acest stil e similar ecuaţiilor logice, cu toate că nu e limitat numai la valori logice. Metoda constă în expresii ale semnalelor de intrare asociate ieşirii. În cele mai multe cazuri, o asemenea descriere uşor poate fi transformată într-o structură şi apoi implementată
Proprietăţile Verilog.
- Fondal puternic. Elaborarea şi promovarea Verilog este susţinută din 1991 de către Open Verilog International (OVI) menită pentru promovarea acestui limbaj. Pînă 1990 Verilog a fost proprietate unei companii comerciale, care a întărit aplicarea lui în practică, însă şi a restricţionat popularitatea lui.
- Suport industrial. Verilog a fost întotdeauna popular pentru proiectanţi in ASIC pentru că este uşor de învăţat şi permite o simulare rapidă şi o sinteză efectivă. Referîndu-ne la “EETimes” din 1993 pentru fondurile ASIC 85% a fost proiectate în Verilog. Această este estimat mai mult de un miliard de USD investiţi în Verilog în ultimii 10 ani.
- Universalitate. Verilog permite ca procesele de proiectare să fie efectuate într-un singur mediu de proiectare incluzînd atit proiectarea catît şi verificarea. Însă Verilog nu este cel mai potrivit pentru proiectele de complexitate la nivelul „System” şi asta este principalul său neajuns.
- Extensibilitate. Standardul IEEE 1364 conţine definiţii pentru Verilog PLI (Programing Language Interface), interfaţa limbajului de programare, care permite extinderea capacităţilor limbajului Verilog. Această este o colecţie de instrumente care permite accesul la datele dintr-un proiect Verilog.
Definirea unui modul
Un modul (module) este construcţia de bază în Verilog. El poate specifica un sistem de cea mai mare complexitate – de la un singur tranzistor până la blocuri. Indiferent de complexitatea lui, specificaţia modului are tot timpul aceeaşi structură.
Fiecare modul începe cu cuvântul cheie module urmat de numele modulului şi se termină cu alt cuvânt cheie endmodule (fără spaţiu între ,,end’’ şi ,,module’’). Între aceste două cuvinte cheie sunt localizate trei elemente care au fost introduse în secţiunile precedente:
- interfaţa constă în declaraţia de porturi şi parametrii lor.
- corpul – specificaţia părţii interne a modulului.
- opţional componente adăugătoare; specificate undeva în modul cu directiva de compilator include
Numele modulului
Numele de modul formal numit identificator serveşte pentru ţeluri documentale, Bazându-ne pe asta, cu nume de modul putem utiliza un cuvânt sau mai multe care descrie mai bine ce face sistemul. Pentru ca să fie mai clar folosim litere mari şi mici, de exemplu FastBynaryCntr.
Fiecare identificator în Verilog inclusiv numele de modul trebuie să respecte următoarele reguli:
- el trebuie să fie compus din litere, cifre, semn dolarului ($) şi caracterul sublinie ( _ );
- poate să înceapă cu o literă sau semnul ( _ );
- nici un spaţiu în identificator;
- literele mari şi mici sunt diferite;
- cuvintele rezervate nu pot fi utilizate ca identificator.
Caracterele escape permit utilizarea a altor caractere şi cuvinte cheie în interiorul numelui de modul însă nu este recomandabilă utilizarea lor deoarece codul devine nu prea citeţ.
Comentarii în Verilog
Un design nu ese considerat prea bun dacă nu este bine documentat, o documentare bună este nu numai câteva pagini de descriere, dar şi comentariile în interiorul specificaţiei. Este veridic faptul cît pentru limbajele de programare, cât şi pentru limbajele de descriere HDL, inclusiv Verilog. Verilog oferă două tipuri de comentarii:
Comentarii de o linie şi blocuri de comentarii. Comentariile de o linie încep cu dublu slash (//) şi se termină cu sfârşitul liniei.
Blocurile de comentarii încep cu slash asterisc (/*) şi se termină cu asterisc urmat de slash (/*). Ele se pot extinde pe mai multe linii şi pot conţine în interior chiar şi comentariile de o linie.
Comentariile pot fi localizate practic oriunde cu excepţia: în interiorul unui identificator sau a unui cuvânt cheie.
Preview document
Conținut arhivă zip
- lab_1_SEP
- compile
- contents.lib~lab_1_SEP
- lab_1_SEP.epr
- lab_1_SEP.erf
- lab_1_SEP.opt
- lab_1_SEP.opv
- sources.sth
- vcp_cmd.log
- vsim.log
- log
- console.log
- src
- dcd_2_4.v
- dcd_2_4_TB.v
- dcd_4_16.v
- dcd_4_16_TB.v
- muxe.v
- muxe_TB.v
- mux_1_4.v
- mux_1_4_TB.v
- mux_1_8.v
- wave.asdb
- 0lab_1_SEP.mgf
- 1lab_1_SEP.mgf
- 3lab_1_SEP.mgf
- Advdataflow.png
- bde.set
- compilation.order
- compile.cfg
- dcd4.png
- Edfmap.ini
- elaboration.log
- exp2pdf.dat
- lab_1_SEP.adf
- lab_1_SEP.LIB
- lab_1_SEP.rlb
- lab_1_SEP.wsp
- lab_1_SEP_0.rep
- projlib.cfg
- synthesis.order
- exp2html.dat
- lab_1_SEP.aws
- lab_1_SEP.doc
- lab_1_SEP.wsw
- library.cfg