Numărător binar și BCD cu controlul intrărilor

Laborator
7.5/10 (2 voturi)
Domeniu: Calculatoare
Conține 1 fișier: doc
Pagini : 25 în total
Cuvinte : 3568
Mărime: 1.73MB (arhivat)
Publicat de: Dragomir Achim
Puncte necesare: 0
Profesor îndrumător / Prezentat Profesorului: Mereuta Lucian
laboratorul prezinta realizarea cap coada a numaratorului BCD pe 2 digiti

Extras din laborator

Obiective Dupa parcurgerea acestui laborator veti fi in masura sa:

• Proiectati numaratorul binar presetabil in VHDL.

• Proiectati numaratorul BCD presetabil in VHDL.

• Simulati functionarea numaratoarelor.

• Testati iesirile numaratorului.

Referinte Dueck, Robert K., Digital Design with CPLD Applications and VHDL, 2/e

Capitolul 9: Counters and Shift Registers

9.1 Basic Concepts of Digital Counters

9.2 Synchronous Counters

9.3 Design of Synchronous Counters

9.4 Programming Binary Counters in VHDL

9.5 Control Options for Synchronous Counters

9.6 Programming Presettable and Bidirectional Counters in VHDL

Echipament Placa FPGA de testare Spartan 3

necesar Xilinx ISE 10.1 software + ModelSim XE III 6.3c

Adaptor AC, iesire minima: 7 VDC, 250 mA DC

Manseta antistatica

Fire cu miez solid

Cleste pentru dezizolat cabluri

Notiuni Experimentale

Proiectarea numaratorului binar si BCD in VHDL

Numaratoarele pot fi proiectate in VHDL cu functii precum activare, controlul directional (crescator sau descrescator), resetare sincrona si incarcare (presetare) sincrona sau asincrona. Aceste functii pot fi implimentate asignand o valoare unei variabile count sau direct modificand un port de iesire, depinzand de conditiile specifice din blocurile IF ale unui unui PROCESS. Pentru mai multe detalii consultati sectiunea 9.6 din manualul Digital Design with CPLD Applications and VHDL, 2/e.

Un numarator pe 2 digiti poate numara de la 00 pana la 99 si apoi se intoarce la 00. Valori reprezentand un numar hexazecimal de la A la F nu este valid in acest cod.

Pentru numaratorul BCD pe 2 digiti folositi doua iesiri paralele pe 4 biti: o iesire pentru digitul unitatilor si a doua pentru digitul zecilor. Mai simplu decat o incrementare a unei variabile cu rangul intre 0 si 255, folositi doua variabile, fiecare luand valori de la 0 la 9. Cand cifra unitatilor este 9, trebuie sa ia valoarea 0 la urmatoarea incrementare si cifra zecilor se incrementeaza cu 1. Daca amandoua variabile sunt 9, ele trebuie sa devina 0 la urmatoarea incrementare. Dupa fiecare puls de ceas amandoua variabilele trebuie asignate la pinii de iesire, unde pot fi afisate direct ca numere binare sau decodate spre dispozitivul de afisare.

Cerinte

1. Numaratorul BCD

Pasul 1. Scrieti o fisier VHDL pentru numaratorul BCD pe 2 digiti cu resetare asincrona pe front descrescator (active-LOW asynchronous ), incarcare sincrona pe front crescator (active-HIGH synchronous), activare a numaratorului pe front crescator si directionarea (direction) ce face ca circuitul sa numere crescator pentru DIRECTION=1 si descrescator pentru DIRECTION=0.

Salvati fisierul cu numele ct2bcd.vhdl

Numaratorul trebuie sa numere de la 00 la 09, apoi de la 10 la 19 pana cand ajunge la 99. In acest moment numaratorul o va lua de la capat cu valoarea 00. Intrarile binare paralele trebuie sa incarce orice valoare de la 0 la 9. Daca intrarile binare paralele nu sunt valabile pentru numaratorul BCD (valoarea lor este intre “1010” si “1111”) pe fiecare digit se va afisa valoarea 9.

Pasul 2. Realizati un fisier de testare(Test Bench Waveform) pentru numaratorul BCD pe 2 digiti. Simularea trebuie sa contina un ciclu complet al numaratorului ce va permite testarea tuturor functiilor.

Salvati fisierul cu numele ct2bcd_tbh.tbw

2. Numaratorul binar presetat

Pasul 1. Scrieti o fisier VHDL pentru numaratorul binar pe 8 biti cu resetare (reset) asincrona pe front descrescator (active-LOW aynchronous ), incarcare (load) sincrona pe front crescator, activarea (enable) numaratorului pe front crescator, si directionare (direction).

Salvati fisierul cu numele ct8bit.vhdl

Pasul 2. Realizati un fisier de testare (Test Bench Waveform). Simularea trebuie sa contina un ciclu complet al numaratorului si testarea tuturor functiilor. Trebuie verificat daca incarcarea sincrona este cu adevarat sincrona si ca resetarea are prioritate fata de incarcare, care are prioritate fata de activarea numaratorului.

Folositi aceste criterii pentru a crea o simulare in ModelSim XE III 6.3c

Salvati fisierul cu numele ct8bit_tbh.tbw

Rezolvarea pas cu pas a cerintelor laboratorului

1. Descrierea aplicaţiei

La fel ca in orice limbaj evoluat de programare proiectarea ierarhizată a aplicaţiilor in VHDL, prin utilizarea modulelor, permite descrierea proiectului pe mai multe nivele, îmbunătăţeşte lizibilitatea şi permite reutilizarea unor module.

Un proiect ierarhizat este alcătuit din mai multe module. O aplicaţie poate fi descrisă la nivelul cel mai de sus (top) printr-o sursă VHDL. În această sursă se definesc interfeţe corespunzătoare cu alte module situate pe nivele inferioare, module care descriu părţi componente ale aplicaţiei

Nu există o limită a numărului de nivele ierarhice pe care un proiect poate să-l conţină. Principalul avantaj al proiectării ierarhizate a unei aplicaţii este acela că încurajează modularizarea. Alt avantaj este că permite organizarea proiectului pe nivele corespunzătoare de abstractizare şi detaliu precum si reutilizarea unor module.

În sursa VHDL de pe nivelul top se vor utiliza cuvintele cheie (instrucţiunile)

component şi PORT MAP pentru a instanţia modulele de pe nivelele inferioare.

Vom ilustra conceptele de ierarhizare, modularizare şi reutilizare cu o aplicaţie care presupune implementarea unui numărător binar pe 8 biti bidirecţional (poate

număra in sus sau in jos), resetabil (poate fi adus in starea iniţială, starea 0), presetabil (poate incarca un vector de 8 biti, setand astfel numaratorul cu acest numar). Vectorul de iesire reprezinta un vector binar pe 8 biti in care primii patru biti reprezinta cifra unitatilor, iar ultimii 4 cifra zecilor.

Mai intai trebuie implementat un numarator pe 4 biti ce va numara de la 0 la 9 (modulo 10), cu numele count09.vhdl. Acesta va avea toate functionalitatile numaratorului binar BCD , inclusiv reset asincron pe front descrescator, load sincron pe front crescator, enable pe front crescator. Mai mult decat atat acesta va returna, pe langa numarul intre 0 si 9, o valoare pe un bit care va fii 1 atunci cand numaratoarea crescatoare a ajuns pe pozitia 9 (“1001”) sau numaratoarea descrescatoare a ajuns pe pozitia 0 (“0000”). Cu ajutorul acestui numarator modulo veti putea realiza un numarator BCD pe cati digiti doriti.

Preview document

Numărător binar și BCD cu controlul intrărilor - Pagina 1
Numărător binar și BCD cu controlul intrărilor - Pagina 2
Numărător binar și BCD cu controlul intrărilor - Pagina 3
Numărător binar și BCD cu controlul intrărilor - Pagina 4
Numărător binar și BCD cu controlul intrărilor - Pagina 5
Numărător binar și BCD cu controlul intrărilor - Pagina 6
Numărător binar și BCD cu controlul intrărilor - Pagina 7
Numărător binar și BCD cu controlul intrărilor - Pagina 8
Numărător binar și BCD cu controlul intrărilor - Pagina 9
Numărător binar și BCD cu controlul intrărilor - Pagina 10
Numărător binar și BCD cu controlul intrărilor - Pagina 11
Numărător binar și BCD cu controlul intrărilor - Pagina 12
Numărător binar și BCD cu controlul intrărilor - Pagina 13
Numărător binar și BCD cu controlul intrărilor - Pagina 14
Numărător binar și BCD cu controlul intrărilor - Pagina 15
Numărător binar și BCD cu controlul intrărilor - Pagina 16
Numărător binar și BCD cu controlul intrărilor - Pagina 17
Numărător binar și BCD cu controlul intrărilor - Pagina 18
Numărător binar și BCD cu controlul intrărilor - Pagina 19
Numărător binar și BCD cu controlul intrărilor - Pagina 20
Numărător binar și BCD cu controlul intrărilor - Pagina 21
Numărător binar și BCD cu controlul intrărilor - Pagina 22
Numărător binar și BCD cu controlul intrărilor - Pagina 23
Numărător binar și BCD cu controlul intrărilor - Pagina 24
Numărător binar și BCD cu controlul intrărilor - Pagina 25

Conținut arhivă zip

  • Numarator Binar si BCD cu Controlul Intrarilor.doc

Alții au mai descărcat și

Numărătorul Inel

CAPITOLUL I. Introducere -numărătoare Circuitele basculante bistabile (CBB) sunt circuite logice secvențiale cu 2 stări stabile (distincte),...

Arhitectura calculatoarelor - Intel vs AMD

Rezultatele din testul 3DS Max 7 SPECapc Test Testul alaturat consta in crearea modelelor 3D, modificarea si randarea scripturilor. Conform...

Sumatorul Complet și Sumatorul Binar Paralel

Obiective La finalul acestui exerciţiu de laborator, ar trebui să fiţi capabili să: - Creaţi şi să simulaţi un sumator complet în VHDL - Să...

Sinteza Numărătoarelor

Scopul lucrării: Studierea diferitor tipuri de numărătoare şi a metodelor de proiectare Notiuni teoretice: Numărătoarele sunt circuite...

Tehnici Navigare Internet

Introducere a. Definitie internet Primul lucru pe care trebuie să-l înţelegem este cum a apărut Internetul, ce este de fapt el şi de ce nu este...

Editoare de Texte

Noţiuni generale Calculatorul personal poate fi transformat într-o veritabilă maşină de scris, chiar într-o mini-tipografie cu ajutorul unei clase...

Portul Serial

mai greu de interfaţat decât portul paralel. In majoritatea cazurilor, dispozitivele conectate la portul serial vor avea nevoie de un convertor al...

Portul Paralel

Introducere Portul paralel este cel mai folosit port pentru conectarea machetelor de dezvoltare. Portul permite 9 biţi de intrare si 12 biţi de...

Te-ar putea interesa și

Automatizarea sistemului de întrare într-un garaj

PARTEA I Capitolul 1. Usi de garaj automate 1.1. Generalitãti Portile si usile de intrare în curte sau în garaj automatizate reprezintã solutia...

Comanda MPP implementată pe calculator

INTRODUCERE Apariţia microprocesoarelor, microcontrolerelor şi a calculatoarelor personale a deschis noi posibilităţi controlului şi comenzii in...

Utilizarea Procesoarelor de Semnal în Conducerea Proceselor în Timp Real

Memoriu justificativ De ce utilizam DSP-ul? Traim intr-o lume condusa de informatii: stiintifice, financiare, medicale, sportive si de...

Automat secvențial sincron - secventa 03574

Tema de lucru: Sa se proiecteze un automat secvential sincron cu bistabile care sa evolueze dupa o diagrama cu 5 stari, descries de secventa...

Numărătoare Electronice Sincrone

Capitolul I Numărătoare electronice I.1. Generalităţi Numărătoarele sunt circuite logice secvenţiale, destinate numărării impulsurilor care apar...

Bazele sistemelor de achiziție a datelor

1. Tema de proiectare. Să se proiecteze un sistem de achiziţie de date interfaţat cu PC pe portul serial care să achiziţioneze 4 semnale de la 4...

Automate Programabile

Automatul programabil (Programable Logic Controler) a apărut ca o alternativă flexibilă, ieftină şi sigură la panourile cu logică cablată (cu...

Circuite Integrate Digitale

LUCRAREA NR.1: STUDIUL PORŢILOR LOGICE 1.1.CONSIDERAŢII TEORETICE 1.1.1. NOŢIUNI DE ALGEBRĂ BOOLEANĂ Fie o mulţime formată din două elemente...

Ai nevoie de altceva?