Dupa terminarea acestui exercitiu de laborator se dobandesc cunostintele necesare
pentru a proiecta, simula, si implementa o tastatura folosind VHDL.
Referinte bibliografice generale:
"Digital Design with CPLD Applications"
Materiale necesare:
FPGA Spartan 3
Xilinx ISE
Modeltech ModelSim
Note experimentale:
Proiectarea masinii algoritmice de stare consta intr-un circuit secvential sincron a
carui stare progreseaza in functie de proiectul mostenit al masinii si posibil in
conformitate cu starea unui semnal de control.
Un caz particular pentru o masina algoritmica de stare este acela al unei tastaturi
cu 16 taste. Diagrama starilor unei tastaturi este cea din figura urmatoare:
Schema bloc a functionarii tastaturii (generata de soft-ul XILINX ISE pe baza
codului VHDL) este cea din figura urmatoare. Aceasta schema este un bun suport pentru
intelegerea algoritmului folosit.
In randurile urmatoare se va descrie algoritmul folosit la impementarea acestui
proiect (intr-o ordine logica a caii pe care o parcurge informatia):
COUNTERUL:
-genereaza numere cuprinse intre ,,00" si ,,11", pe care le transmite
decodificatorului;
-generarea numarului urmator se face in functie de semnalul de ceas (clk) si
comanda masinii de stare (count_enable);
DECODIFICATORUL:
-preia numerele de la counter si in functie de valoarea lor va genera ,,1" pe o
singura linie, celelalte ramanand ,,0" (semnalul to_keyboard);
CODIFICATORUL:
-preia semnalele to_keyboard si from_keyboard (semnal generat aleator - va face
obiectul datelor de intrare ale simularii) si le interpreteaza ca fiind linia si respectiv
coloana activate;
-transmite registrului codul tastei apasate (key_code);
REGISTRUL:
-preia semnalul key_code la semnalul de ceas (clk) si comanda masinii de stare
(load_enable) si il inregistreaza;
-va genera semnalul de iesire (outp) care va reprezenta codul tastei apasate;
TASTA:
-preia semnalul from_keyboard, verifica daca o tasta a fost apasata si transmite
rezultatul (keypressed) masinii de stare;
MASINA DE STARE:
(este suficienta parcurgerea diagramei starilor pentru intelegerea functionarii
masinii de stare).
Realizrea proiectului:
Introducere in VHDL:
VHDL (abrevierea VHSIC HDL) este acronimul folosit pentru Very High Speed
Integrated Circuit Hardware Description Language. Este vorba despre un limbaj de
descriere a hardware-lui (Hardware Description Language - HDL), destinat descrierii
comportamentului si/sau arhitecturii unui "modul" electronic logic, cu alte cuvinte al unei
functiuni logice combinatorii si/sau secventiale. Alaturi de Verilog, este cel mai utilizat
limbaj de proiectare a sistemelor electronice digitale. E una din uneltele principale pentru
proiectarea circuitelor integrate moderne, aplicat cu succes in campul microprocesoarelor
(DSP, acceleratoare grafice), in telecomunicatii (TV, celulare), automobile (navigatie,
sisteme de control al stabilitatii) si altele. La fel ca in orice limbaj evoluat de programare,
proiectarea ierarhizata a aplicatiilor in VHDL prin utilizarea modulelor permite
descrierea proiectului pe mai multe nivele, imbunatateste lizibilitatea si permite
reutilizarea unor module. Un proiect ierarhizat este alcatuit din mai multe module. O
aplicatie poate fi descrisa la nivelul cel mai de sus (top) printr-o sursa VHDL. In aceasta
sursa se definesc interfete corespunzatoare cu alte module situate pe nivele inferioare,
module care descriu parti componente ale aplicatiei. Nu exista o limita a numarului de
nivele ierarhice pe care un proiect poate sa-l contina. Principalul avantaj al proiectarii
ierarhizate a unei aplicatii este acela ca incurajeaza modularizarea. Alt avantaj este ca
permite organizarea proiectului pe nivele corespunzatoare de abstractizare si detaliu
precum si reutilizarea unor module.
Documentul este oferit gratuit,
trebuie doar să te autentifici in contul tău.