Sari la conținut
ELFORUM - Forumul electronistilor

Cid-Proiect Verilog


Vizitator Oana02

Postări Recomandate

Vizitator Oana02

Buna!Ma poate ajuta si pe mine cineva cu cateva idei legate de un proiect in verilog?Proiectul presupune transformarea gradelor Celsius in Fahrenheit dupa formula: F=1,8*C+32, dar fara a se folosi inmultirea, ci doar shiftare de biti si adunari. Valoarea gradelor Celsius de intrare se va selecta din 6 comutatoare, iar valoarea gradelor Fahrenheit de iesire va fi afisata pe 4 afisoare de 7 segmente. (circuitul se implementeaza pt FPGA)

Multumesc anticipat!

Editat de Oana02
Nu e nevoie sa scri pe fond rosu ca sa vedem
Link spre comentariu

Buna,

 

Ideea e sa transformi inmultirea cu 1.8 in deplasari si adunari. Ptr asta trebuie sa rescrii inmultirea si sa descompui factorul lui x in suma de puteri ale lui 2.

 

Metoda 1========1.8*x = 2*x-0.2*x = 2*x-51.2*x/256 ~ 2*x-51*x/25651=64-8-4-1 = 2^6 - 2^3 - 2^2 -11.8*x + 32 = x<<1 - (x<<6 + x<<3 + x<<2 +x)>>8 +32Metoda 2========1.8*x ~ 461*x/256461 = 256+128+64+8+4+1 =2^8+2^7+2^6+2^3+2^2+11.8*x + 32 = (x<<8 + x<<7 + x<<6 + x<<3 + x<<2 + x)>>8 + 32Unde am notat:

~ aproximativ egal cu

<<n deplasare (shift) la stanga cu n locatii, echivalenta cu inmultirea cu 2^n

>>n deplasare (shift) la dreapta cu n locatii, echivalenta cu impartirea cu 2^n

 

Cred ca de aici poti sa scrii singura codul. Nu te baza 100% pe ce am scris eu. In mod normal scrii codul si simulezi. Ce mediu de dezvoltare Verilog folosesti?

 

Cirip

Editat de cirip
Link spre comentariu

Creează un cont sau autentifică-te pentru a adăuga comentariu

Trebuie să fi un membru pentru a putea lăsa un comentariu.

Creează un cont

Înregistrează-te pentru un nou cont în comunitatea nostră. Este simplu!

Înregistrează un nou cont

Autentificare

Ai deja un cont? Autentifică-te aici.

Autentifică-te acum
×
×
  • Creează nouă...

Informații Importante

Am plasat cookie-uri pe dispozitivul tău pentru a îmbunătății navigarea pe acest site. Poți modifica setările cookie, altfel considerăm că ești de acord să continui.Termeni de Utilizare si Ghidări