Inhoudsopgave:
- Stap 1: VHDL en Modelsim
- Stap 2: VHDL-code voor het ontwerp en de testbank
- Stap 3: Bijgevoegde bestanden
- Stap 4: Mini-Cordic IP-kern - 16 bit
![Cordic-algoritme met VHDL - Ajarnpa Cordic-algoritme met VHDL - Ajarnpa](https://i.howwhatproduce.com/images/004/image-10004-j.webp)
Video: Cordic-algoritme met VHDL - Ajarnpa
![Video: Cordic-algoritme met VHDL - Ajarnpa Video: Cordic-algoritme met VHDL - Ajarnpa](https://i.ytimg.com/vi/XaYGfNlhX0c/hqdefault.jpg)
2024 Auteur: John Day | [email protected]. Laatst gewijzigd: 2024-01-30 11:15
Door AmCoderhttps://www.linkedin.com/in/mituVolg meer door de auteur:
![Een synchrone FIFO, LIFO/Stack ontwerpen in Verilog Een synchrone FIFO, LIFO/Stack ontwerpen in Verilog](https://i.howwhatproduce.com/images/004/image-10004-1-j.webp)
![Een synchrone FIFO, LIFO/Stack ontwerpen in Verilog Een synchrone FIFO, LIFO/Stack ontwerpen in Verilog](https://i.howwhatproduce.com/images/004/image-10004-2-j.webp)
![Video-interface met FPGA met VGA Video-interface met FPGA met VGA](https://i.howwhatproduce.com/images/004/image-10004-3-j.webp)
![Video-interface met FPGA met VGA Video-interface met FPGA met VGA](https://i.howwhatproduce.com/images/004/image-10004-4-j.webp)
![Synchronisatoren, Clock Domain Crossing, Clock Generators, Edge Detectors, veel meer - Essentiële Tweak Circuits Synchronisatoren, Clock Domain Crossing, Clock Generators, Edge Detectors, veel meer - Essentiële Tweak Circuits](https://i.howwhatproduce.com/images/004/image-10004-5-j.webp)
![Synchronisatoren, Clock Domain Crossing, Clock Generators, Edge Detectors, veel meer - Essentiële Tweak Circuits Synchronisatoren, Clock Domain Crossing, Clock Generators, Edge Detectors, veel meer - Essentiële Tweak Circuits](https://i.howwhatproduce.com/images/004/image-10004-6-j.webp)
Over: Mitu Raj -- Gewoon een hobbyist en leerling -- Chipontwerper -- Softwareontwikkelaar -- Natuur- en wiskundeliefhebber Meer over AmCoder »
##Dit is de meest aangeklikte, populaire link in Google voor VHDL-implementatie van CORDIC ALGORITHM om sinus- en cosinusgolven te genereren## Op dit moment bestaan er veel hardware-efficiënte algoritmen, maar deze zijn niet goed bekend vanwege de dominantie van softwaresystemen over de vele jaren. CORDIC is zo'n algoritme dat niets anders is dan een reeks verschuivings- en add-logica's die worden gebruikt voor het berekenen van een breed scala aan functies, waaronder bepaalde trigonometrische, hyperbolische, lineaire en logaritmische functies. Dit is het algoritme dat wordt gebruikt in rekenmachines enz. Dus door alleen eenvoudige shifters en adders te gebruiken, kunnen we een hardware ontwerpen met minder complexiteit maar met de kracht van DSP met behulp van een cordic-algoritme. Daarom kan het worden ontworpen als kaal RTL-ontwerp in VHDL of Verilog zonder speciale drijvende-komma-eenheden of complexe wiskundige IP's te gebruiken.
Stap 1: VHDL en Modelsim
Hier wordt het cordic-algoritme geïmplementeerd met behulp van VHDL om een sinusgolf en cose-golf te genereren. Het kan sinus en cosinus van invoerhoek met grote precisie uitvoeren. De code is synthetiseerbaar op FPGA. Modelsim wordt gebruikt om het ontwerp en de testbank te simuleren.
Stap 2: VHDL-code voor het ontwerp en de testbank
![VHDL-code voor het ontwerp en de testbank VHDL-code voor het ontwerp en de testbank](https://i.howwhatproduce.com/images/004/image-10004-7-j.webp)
Binaire schaaltechniek wordt gebruikt om getallen met drijvende komma weer te geven.
Ga door de bijgevoegde documenten voordat u codeert.
Ga doorSimuleren cordic_v4.vhd - Het ontwerp - De invoer is een hoek in 32 bits + tekenbit; het kan elke hoek van 0 tot +/- 360 graden verwerken met een invoerprecisie van 0.000000000233 graden. Bij het geven van invoer -> MSB is het tekenbit en de rest 32 bits vertegenwoordigen magnitude.-De uitvoer van het ontwerp is de sinus- en cos-waarde in 16 bits + tekenbit.ie; met precisie 0,00001526. Houd er rekening mee dat de uitvoer wordt weergegeven in de vorm van een 2 als de respectieve sinus- of cos-waarde negatief is. Simuleren testb.vhd - Testbank voor het ontwerp (1) Invoerhoeken en pull-reset ='0'. Trek na twee simulatiestappen terug naar '1' en "alles uitvoeren". (2) Stel in het simulatievenster de radix van sin en cos-signalen in als decimaal en formaat> Analoog (automatisch). (3) Zoom uit om de golfvorm te zien naar behoren.
Stap 3: Bijgevoegde bestanden
(1) cordic_v4.vhd - Ontwerp.(2) testb.vhd - Testbank voor het ontwerp.
(3) Documenteer hoe u hoekinvoer forceert en de binaire resultaten converteert.
Update: DEZE BESTANDEN ZIJN OBSELETE EN NIET MEER GELEVERD. GEBRUIK DE BESTANDEN VAN DE VOLGENDE STAP
Stap 4: Mini-Cordic IP-kern - 16 bit
Beperking van de bovenstaande implementatie is- langzame, lagere klokfrequentie vanwege het doen van berekeningen in een enkele klokcyclus. Mini-Cordic IP Core - 16 Bit
- Kritieke paden verdeeld over meerdere cycli om de prestaties te verbeteren. - Sneller - FPGA bewezen ontwerp gesynthetiseerd tot 100 Mhz klok. - Meer gebied geoptimaliseerd in HDL, minder hardware. - Load and Done Status-signalen toegevoegd.- Enige nadeel is een lagere resolutie vergeleken met de vorige. Testbench:
volledig geautomatiseerd van 0 tot 360 graden hoekinvoer
Bijgevoegde bestanden:1) mini cordic belangrijkste vhdl-bestand2) mini cordic testbank3) Mini Cordic IP Core handleiding4) Doc over hoe hoeken te forceren en resultaten om te zetten
Voor vragen kunt u gerust contact met mij opnemen:
Mitu Raj
volg mij:
mail: [email protected]
###Totaal aantal downloads: 325 tot 01-05-2021###
### Code laatst aangepast: juli-07-2020 ###
Aanbevolen:
Digitale klok met netwerktijd met behulp van de ESP8266: 4 stappen (met afbeeldingen)
![Digitale klok met netwerktijd met behulp van de ESP8266: 4 stappen (met afbeeldingen) Digitale klok met netwerktijd met behulp van de ESP8266: 4 stappen (met afbeeldingen)](https://i.howwhatproduce.com/images/005/image-14045-j.webp)
Digitale netwerkklok met de ESP8266: we leren hoe we een schattige kleine digitale klok kunnen bouwen die communiceert met NTP-servers en de netwerk- of internettijd weergeeft. We gebruiken de WeMos D1 mini om verbinding te maken met een wifi-netwerk, de NTP-tijd te verkrijgen en deze weer te geven op een OLED-module. De video hierboven
DIY slimme weegschaal met wekker (met wifi, ESP8266, Arduino IDE en Adafruit.io): 10 stappen (met afbeeldingen)
![DIY slimme weegschaal met wekker (met wifi, ESP8266, Arduino IDE en Adafruit.io): 10 stappen (met afbeeldingen) DIY slimme weegschaal met wekker (met wifi, ESP8266, Arduino IDE en Adafruit.io): 10 stappen (met afbeeldingen)](https://i.howwhatproduce.com/images/001/image-2845-29-j.webp)
DIY Slimme Weegschaal Met Wekker (met Wi-Fi, ESP8266, Arduino IDE en Adafruit.io): In mijn vorige project ontwikkelde ik een slimme weegschaal met Wi-Fi. Het kan het gewicht van de gebruiker meten, het lokaal weergeven en naar de cloud sturen. U kunt hier meer informatie over krijgen op onderstaande link: https://www.instructables.com/id/Wi-Fi-Smart-Scale-wi
Draadloze afstandsbediening met 2,4 GHz NRF24L01-module met Arduino - Nrf24l01 4-kanaals / 6-kanaals zenderontvanger voor quadcopter - RC Helikopter - RC-vliegtuig met Arduino: 5 stappen (met afbeeldingen)
![Draadloze afstandsbediening met 2,4 GHz NRF24L01-module met Arduino - Nrf24l01 4-kanaals / 6-kanaals zenderontvanger voor quadcopter - RC Helikopter - RC-vliegtuig met Arduino: 5 stappen (met afbeeldingen) Draadloze afstandsbediening met 2,4 GHz NRF24L01-module met Arduino - Nrf24l01 4-kanaals / 6-kanaals zenderontvanger voor quadcopter - RC Helikopter - RC-vliegtuig met Arduino: 5 stappen (met afbeeldingen)](https://i.howwhatproduce.com/images/003/image-7044-j.webp)
Draadloze afstandsbediening met 2,4 GHz NRF24L01-module met Arduino | Nrf24l01 4-kanaals / 6-kanaals zenderontvanger voor quadcopter | RC Helikopter | Rc-vliegtuig met Arduino: een Rc-auto besturen | Quadcopter | Drone | RC vliegtuig | RC-boot, we hebben altijd een ontvanger en zender nodig, stel dat we voor RC QUADCOPTER een 6-kanaals zender en ontvanger nodig hebben en dat type TX en RX is te duur, dus we gaan er een maken op onze
Videoverwerking met VHDL en een Zybo: 10 stappen
![Videoverwerking met VHDL en een Zybo: 10 stappen Videoverwerking met VHDL en een Zybo: 10 stappen](https://i.howwhatproduce.com/images/002/image-3360-39-j.webp)
Videoverwerking met VHDL en een Zybo: FPGA's zijn sneller te verwerken dan CPU's, omdat ze veel parallel kunnen rekenen. Opmerking: dit project is nog in aanbouw en zal worden verbeterd (zodra ik tijd heb). Ondertussen reis ik de wereld rond
VHDL-stopwatch: 8 stappen (met afbeeldingen)
![VHDL-stopwatch: 8 stappen (met afbeeldingen) VHDL-stopwatch: 8 stappen (met afbeeldingen)](https://i.howwhatproduce.com/images/001/image-733-72-j.webp)
VHDL-stopwatch: dit is een tutorial over het maken van een stopwatch met VHDL en een FPGA-printplaat, zoals een Basys3 Atrix-7-bord. De stopwatch kan tellen van 00.00 seconden tot 99,99 seconden. Het maakt gebruik van twee knoppen, één voor de start/stop-knop en een andere voor de