Cuprins:

Algoritmul cordic folosind VHDL: 4 pași
Algoritmul cordic folosind VHDL: 4 pași

Video: Algoritmul cordic folosind VHDL: 4 pași

Video: Algoritmul cordic folosind VHDL: 4 pași
Video: Verilog for fun and profit (intro) - Hardware Description Languages for FPGA Design 2024, Iulie
Anonim

De AmCoderhttps://www.linkedin.com/in/mitu Urmăriți mai multe de la autor:

Proiectarea unui FIFO sincron, LIFO / Stack în Verilog
Proiectarea unui FIFO sincron, LIFO / Stack în Verilog
Proiectarea unui FIFO sincron, LIFO / Stack în Verilog
Proiectarea unui FIFO sincron, LIFO / Stack în Verilog
Interfață video cu FPGA folosind VGA
Interfață video cu FPGA folosind VGA
Interfață video cu FPGA folosind VGA
Interfață video cu FPGA folosind VGA
Sincronizatoare, încrucișare domeniu de ceas, generatoare de ceas, detectoare de margine, mult mai mult - Circuite esențiale de ajustare
Sincronizatoare, încrucișare domeniu de ceas, generatoare de ceas, detectoare de margine, mult mai mult - Circuite esențiale de ajustare
Sincronizatoare, încrucișare domeniu de ceas, generatoare de ceas, detectoare de margine, mult mai mult - Circuite esențiale de ajustare
Sincronizatoare, încrucișare domeniu de ceas, generatoare de ceas, detectoare de margine, mult mai mult - Circuite esențiale de ajustare

Despre: Mitu Raj - Doar un hobbyst și un student - Chip Designer - Dezvoltator de software - Entuziast în fizică și matematică Mai multe despre AmCoder »

## Acesta este cel mai clicat link din Google pentru implementarea VHDL a CORDIC ALGORITHM pentru a genera undă sinusoidală și cosinus ## În prezent există mulți algoritmi eficienți hardware, dar aceștia nu sunt bine cunoscuți din cauza dominanței sistemelor software asupra mulți ani. CORDIC este un astfel de algoritm care nu este altceva decât un set de schimbare și adăugare de logici utilizate pentru calcularea unei game largi de funcții, inclusiv anumite funcții trigonometrice, hiperbolice, liniare și logaritmice. Acesta este algoritmul utilizat în calculatoare etc. Astfel, prin simpla utilizare a schimbătorilor și a adderilor simpli, putem proiecta un hardware cu o complexitate mai mică, dar puterea DSP utilizând algoritmul cordic. Prin urmare, poate fi proiectat ca un design RTL gol în VHDL sau Verilog fără a utiliza unități dedicate în virgulă mobilă sau IP-uri matematice complexe.

Pasul 1: VHDL și Modelsim

Aici algoritmul cordic este implementat folosind VHDL pentru a genera o undă sinusoidală și o undă cose. Poate emite sinus și cosinusul unghiului de intrare cu mare precizie. Codul este sintetizabil pe FPGA. Modelsim este utilizat pentru a simula proiectarea și banca de testare.

Pasul 2: Cod VHDL pentru proiectare și bancul de testare

Cod VHDL pentru proiectare și bancul de testare
Cod VHDL pentru proiectare și bancul de testare

Tehnica scalării binare este utilizată pentru a reprezenta numerele în virgulă mobilă.

Vă rugăm să treceți prin documentele atașate înainte de a codifica.

Treceți prin simularea cordic_v4.vhd - Designul - Intrarea este unghiulară în 32 de biți + bit de semn; poate procesa orice unghi de la 0 la +/- 360 grade cu o precizie de intrare de 0,000000000233 grade. Când dați intrare -> MSB este bitul de semn, iar restul de 32 de biți reprezintă magnitudine. cu precizie 0,00001526. Vă rugăm să rețineți că ieșirea este afișată în forma de compliment 2, dacă valoarea sinus sau cos respectivă este negativă. Simularea testb.vhd - Banc de testare pentru proiectare (1) Unghiuri de intrare și resetare de tragere = '0'. După doi pași de simulare, trageți resetarea la „1” și „rulați totul”. (2) În fereastra de simulare setați radioul semnalelor sin și cos ca zecimal și format> Analog (automat). (3) Micșorați pentru a vedea forma de undă corect.

Pasul 3: Fișiere atașate

(1) cordic_v4.vhd - Proiectare. (2) testb.vhd - Banc de testare pentru proiectare.

(3) Documentați cum să forțați intrările unghiulare și să convertiți rezultatele binare.

Actualizare: ACESTE FIȘIERE SUNT OBSELETE ȘI NU MAI SUNT FURNIZATE. Vă rugăm să utilizați fișiere din pasul următor

Pasul 4: Core IP Mini-Cordic - 16 biți

Limitarea implementării de mai sus este - frecvența de funcționare a ceasului mai lentă, mai scăzută din cauza efectuării calculelor într-un singur ciclu de ceas. Core IP Mini-Cordic - 16 biți

- Trasee critice distribuite pe mai multe cicluri pentru a îmbunătăți performanța. precedent. Banc de testare:

complet automatizat de la 0 la 360 de grade intrări unghiulare

Fișiere atașate: 1) mini cordic fișier principal vhdl2) mini banc de testare cordic3) Mini Cordic IP Core manual 4) Doc despre cum să forțați unghiurile și să convertiți rezultatele

Pentru orice întrebări, nu ezitați să mă contactați:

Mitu Raj

urmează-mă:

mail: [email protected]

### Descărcări totale: 325 până la 01.05.2021 ###

### Ultima modificare a codului: 07 iulie 2020 ###

Recomandat: