Obsah:
2025 Autor: John Day | [email protected]. Naposledy zmenené: 2025-01-23 15:05
Autor: AmCoderhttps://www.linkedin.com/in/mitu
O: Mitu Raj - Len hobby a žiak - Chip Designer - Vývojár softvéru - Nadšenec fyziky a matematiky Viac o AmCoder »
## Toto je najklikanejší a najobľúbenejší odkaz v službe Google na implementáciu VHDL CORDIC ALGORITHM na generovanie sínusovej a kosínusovej vlny ## V súčasnej dobe existuje veľa hardvérovo efektívnych algoritmov, ktoré však nie sú dostatočne známe, pretože softvérové systémy dominujú nad mnoho rokov. CORDIC je taký algoritmus, ktorý nie je ničím iným ako súborom logiky posunu a pridania používanej na výpočet širokého spektra funkcií vrátane určitých goniometrických, hyperbolických, lineárnych a logaritmických funkcií. Toto je algoritmus používaný v kalkulačkách atď. Vďaka jednoduchému radeniu a sčítaču teda môžeme navrhnúť hardvér s menšou komplexnosťou, ale silou DSP, pomocou káblového algoritmu. Preto môže byť navrhnutý ako holý RTL dizajn vo VHDL alebo Verilog bez použitia vyhradených jednotiek s pohyblivou rádovou čiarkou alebo komplexných matematických IP.
Krok 1: VHDL a ModelSim
Tu je kordický algoritmus implementovaný pomocou VHDL na generovanie sínusovej a cose vlny. S vysokou presnosťou dokáže produkovať sínus a kosínus vstupného uhla. Kód je syntetizovateľný na FPGA. Modelsim sa používa na simuláciu dizajnu a testovacej stolice.
Krok 2: Kód VHDL pre návrh a testovaciu lavicu
Na reprezentáciu čísel s pohyblivou rádovou čiarkou sa používa technika binárneho škálovania.
Pred kódovaním si prosím prečítajte priložené dokumenty.
Prejdite simuláciou cordic_v4.vhd - návrh - Vstup je uhol v 32 bitoch + znakový bit; dokáže spracovať akýkoľvek uhol od 0 do +/- 360 stupňov s presnosťou vstupu 0,000000000233 stupňa. Pri zadávaní vstupu -> MSB je znakový bit a zvyšných 32 bitov predstavuje veľkosť. -Výstupom návrhu je jeho hodnota sínus a cos v 16 bitoch + znamienko bit.ie; s presnosťou 0,00001526. Upozorňujeme, že výstup je zobrazený vo forme komplimentu 2, ak je príslušná hodnota sínus alebo cos záporná. Simulácia testb.vhd - Skúšobná lavica pre návrh (1) Vstupné uhly a reset ťahu = '0'. Po dvoch krokoch simulácie vytiahnite reset na „1“a „spustite všetko“. (2) V okne simulácie nastavte radix signálov sin a cos na desatinnú a formát> Analógový (automatický). (3) Oddialením zobrazíte priebeh vlny poriadne.
Krok 3: Pripojené súbory
(1) cordic_v4.vhd - Dizajn. (2) testb.vhd - Skúšobná lavica pre návrh.
(3) Dokument o tom, ako vynútiť vstupy uhla a previesť binárne výsledky.
Aktualizácia: TIETO SÚBORY SÚ ZASTAVENÉ a už NIE SÚ POSKYTOVANÉ. PROSÍM POUŽÍVAJTE SÚBORY Z ĎALŠIEHO KROKU
Krok 4: Mini -Cordic IP Core - 16 bitov
Obmedzenie vyššie uvedenej implementácie je- pomalá, nižšia hodinová frekvencia prevádzky kvôli výpočtom v jednom hodinovom cykle. Mini-Cordic IP Core- 16 bitov
- Kritické cesty rozdelené do viacerých cyklov na zvýšenie výkonu.- Rýchlejšie- FPGA osvedčený dizajn syntetizovaný až na frekvenciu 100 Mhz.- Väčšia oblasť optimalizovaná v HDL, menší hardvér.- Pridané signály stavu načítania a dokončenia.- Jedinou nevýhodou je menšie rozlíšenie v porovnaní s predchádzajúci. Testbench:
plne automatizované vstupy uhla 0 až 360 stupňov
Pripojené súbory: 1) mini káblový hlavný súbor VHDL2) mini káblový testovací stolík3) Mini Cordic IP Core príručka4) Dokument o tom, ako vynútiť uhly a previesť výsledky
V prípade akýchkoľvek otázok ma neváhajte kontaktovať:
Mitu Raj
sledujte ma:
mail: [email protected]
### Celkový počet stiahnutí: 325 do 01-05-2021 ###
### Kód bol naposledy upravený: júl-07-2020 ###
Odporúča:
Samovyvažovací robot - algoritmus riadenia PID: 3 kroky
Self Balancing Robot - PID Control Algorithm: Tento projekt bol koncipovaný, pretože som mal záujem dozvedieť sa viac o riadiacich algoritmoch a o tom, ako efektívne implementovať funkčné slučky PID. Projekt je stále vo fáze vývoja, pretože ešte bude pridaný modul Bluetooth, ktorý bude
DC wattmeter využívajúci Arduino Nano (0-16V/0-20A): 3 kroky
DC wattmeter pomocou Arduino Nano (0-16V/0-20A): Ahoj priatelia !! Som tu, aby som vám ukázal DC wattmeter, ktorý sa dá ľahko vyrobiť pomocou Arduino nano. Jeden z hlavných problémov, s ktorými som sa ako nadšenec elektroniky stretával, je poznať množstvo prúdu a napätia aplikované na nabíjacie obvody, ktoré
Mini klavír využívajúci Arduino: 4 kroky
Mini piano využívajúce Arduino: Arduino Výukový program: Mini piano pomocou Arduina V tomto videu vám ukážem, ako si vyrobiť mini piano pomocou Arduina
Umelá inteligencia doskovej hry: Minimax algoritmus: 8 krokov
Umelá inteligencia doskových hier: Minimaxový algoritmus: Zaujímalo vás niekedy, ako sú vyrobené počítače, proti ktorým hráte v šachu alebo v dámach? Nehľadajte nič iné, než tento návod, pretože vám ukáže, ako vytvoriť jednoduchú, ale efektívnu umelú inteligenciu (AI) pomocou algoritmu Minimax! Použitím th
Tic Tac Toe na Arduine s AI (algoritmus Minimax): 3 kroky
Tic Tac Toe na Arduine s AI (Minimax algoritmus): V tomto návode vám ukážem, ako vytvoriť hru Tic Tac Toe s AI pomocou Arduina. Môžete buď hrať proti Arduinu, alebo sa pozerať, ako Arduino hrá proti sebe. Používam algoritmus nazývaný „algoritmus minimax“,