Turinys:
2025 Autorius: John Day | [email protected]. Paskutinį kartą keistas: 2025-01-23 14:58
Stebėkite daugiau autoriaus:
Apie: Mitu Raj - tiesiog hobis ir besimokantis - mikroschemų dizaineris - programinės įrangos kūrėjas - fizikos ir matematikos entuziastas Plačiau apie „AmCoder“»
## Tai yra labiausiai spustelėta, populiariausia „Google“nuoroda, skirta CORDIC ALGORITHM VHDL diegimui, kad būtų sukurta sinusinė ir kosinusinė banga. daugelį metų. „CORDIC“yra toks algoritmas, kuris yra ne kas kita, kaip poslinkio ir pridėjimo logikos rinkinys, naudojamas įvairioms funkcijoms, įskaitant tam tikras trigonometrines, hiperbolines, linijines ir logaritmines funkcijas, apskaičiuoti. Tai algoritmas, naudojamas skaičiuotuvuose ir pan. Taigi, tiesiog naudodami paprastus perjungiklius ir priedus, mes galime suprojektuoti aparatūrą, kurios sudėtingumas yra mažesnis, tačiau DSP galia naudojant kordinį algoritmą. Taigi jis gali būti suprojektuotas kaip plikas RTL dizainas VHDL arba „Verilog“, nenaudojant jokių specialių slankiojo kablelio vienetų ar sudėtingų matematinių IP.
1 žingsnis: VHDL ir „Modelsim“
Čia kordinis algoritmas įgyvendinamas naudojant VHDL, kad būtų sukurtos sinusinės ir kosminės bangos. Jis gali labai tiksliai išvesti įvesties kampo sinusus ir kosinusus. Kodą galima sintezuoti naudojant FPGA. Modelisim naudojamas modeliuoti dizainą ir bandymų stendą.
2 žingsnis: dizaino ir bandymo suolo VHDL kodas
Dvejetainio mastelio keitimo technika naudojama slankiojo kablelio skaičiams pavaizduoti.
Prieš koduodami, eikite per pridėtus dokumentus.
Eiti per simuliaciją cordic_v4.vhd - dizainas - įvestis yra 32 bitų kampas + ženklo bitas; jis gali apdoroti bet kokį kampą nuo 0 iki +/- 360 laipsnių, kai įvesties tikslumas yra 0,000000000233 laipsnių. Pateikiant įvestį -> MSB yra ženklo bitas, o likusieji 32 bitai -tai dydis. tikslumu 0,00001526. Atminkite, kad išvestis rodoma 2 komplimento formoje, jei atitinkama sinuso ar cos vertė yra neigiama. Imituoti testb.vhd - dizaino bandymo stendas (1) Įvesties kampai ir traukimo atstatymas = '0'. Po dviejų modeliavimo žingsnių traukite iš naujo į „1“ir „paleiskite viską“. (2) Modeliavimo lange nustatykite sin ir cos signalų spindulį kaip dešimtainį ir formatą> Analoginis (automatinis). (3) Sumažinkite, kad pamatytumėte bangos formą tinkamai.
3 veiksmas: pridedami failai
(1) cordic_v4.vhd - dizainas. (2) testb.vhd - dizaino bandymo stendas.
(3) Dokumentas, kaip priversti įvesti kampo įvestis ir konvertuoti dvejetainius rezultatus.
Atnaujinimas: šie failai yra nesaugūs ir daugiau nepateikiami. NAUDOKITĖS Failai iš kito žingsnio
4 žingsnis: „Mini -Cordic IP Core“- 16 bitų
Pirmiau minėto įgyvendinimo apribojimas yra lėtas, mažesnis laikrodžio veikimo dažnis, nes skaičiavimai atliekami per vieną laikrodžio ciklą. „Mini-Cordic IP Core“- 16 bitų
- Kritiniai keliai, paskirstyti keliems ciklams, siekiant pagerinti našumą.- Greitesnis- FPGA įrodyta konstrukcija, susintetinta iki 100 Mhz laikrodžio.- Daugiau srities, optimizuota naudojant HDL, mažesnė aparatinė įranga.- Pridėti apkrovos ir atliktos būsenos signalai.- Vienintelis trūkumas yra mažesnė skiriamoji geba, palyginti su ankstesnis. Bandymų stendas:
visiškai automatizuotas nuo 0 iki 360 laipsnių kampo įvestis
Pridedami failai: 1) mini kordinis pagrindinis vhdl failas2) mini laidinis bandymų stendas3) „Mini Cordic IP Core“vadovas4) Dokumentas, kaip priversti kampus ir konvertuoti rezultatus
Jei turite klausimų, nedvejodami susisiekite su manimi:
Mitu Raj
sekite mane:
paštu: [email protected]
### Iš viso atsisiųsta: 325 iki 2021-05-01 ###
### Kodas paskutinį kartą redaguotas: 2020-07-07 ###
Rekomenduojamas:
Kaip sukurti MP3 grotuvą naudojant LCD naudojant „Arduino“ir „DFPlayer Mini“MP3 grotuvo modulį: 6 žingsniai
Kaip sukurti MP3 grotuvą naudojant skystųjų kristalų ekraną naudojant „Arduino“ir „DFPlayer Mini“MP3 grotuvo modulį: Šiandien mes pagaminsime MP3 grotuvą su LCD, naudodami „Arduino“ir „DFPlayer“mini MP3 grotuvo modulį. Projektas gali nuskaityti MP3 failus SD kortelėje ir gali pristabdyti ir žaisti taip pat, kaip ir prieš 10 metų. Taip pat jame yra linksma ankstesnė ir kita daina
Savaime balansuojantis robotas - PID valdymo algoritmas: 3 žingsniai
Savaiminio balansavimo robotas - PID valdymo algoritmas: Šis projektas buvo sukurtas, nes man buvo įdomu sužinoti daugiau apie valdymo algoritmus ir kaip efektyviai įgyvendinti funkcines PID kilpas. Projektas dar tik kuriamas, nes dar reikia pridėti „Bluetooth“modulį, kuris
Stalo žaidimas Dirbtinis intelektas: „Minimax“algoritmas: 8 žingsniai
Stalo žaidimas Dirbtinis intelektas: „Minimax“algoritmas: Ar kada susimąstėte, kaip sukurti kompiuteriai, prieš kuriuos žaidžiate šachmatais ar šaškėmis? Neskubėkite ieškoti šios instrukcijos, nes ji parodys, kaip sukurti paprastą, bet veiksmingą dirbtinį intelektą (AI) naudojant „Minimax“algoritmą! Naudodamiesi t
Pagrindinis chronometras naudojant VHDL ir „Basys3 Board“: 9 žingsniai
Pagrindinis chronometras naudojant VHDL ir „Basys3 Board“: Sveiki atvykę į instrukcijas, kaip sukurti chronometrą naudojant pagrindinę VHDL ir „Basys 3“plokštę. Džiaugiamės galėdami pasidalinti savo projektu su jumis! Tai buvo paskutinis CPE 133 (skaitmeninio dizaino) kurso projektas Cal Poly, SLO 2016 m. Rudenį. Projektas, kurį mes kuriame
„Tic Tac Toe“„Arduino“su AI („Minimax“algoritmas): 3 žingsniai
„Tic Tac Toe“„Arduino“su AI („Minimax“algoritmas): Šioje instrukcijoje aš jums parodysiu, kaip sukurti „Tic Tac Toe“žaidimą su AI naudojant „Arduino“. Galite žaisti prieš „Arduino“arba žiūrėti, kaip „Arduino“žaidžia prieš save. Aš naudoju algoritmą, vadinamą „minimumx algoritmu“