Inhaltsverzeichnis:
2025 Autor: John Day | [email protected]. Zuletzt bearbeitet: 2025-01-23 12:52
Von AmCoderhttps://www.linkedin.com/in/mituFollow Mehr vom Autor:
Über: Mitu Raj -- Nur ein Hobby- und Lerner -- Chip-Designer -- Software-Entwickler -- Physik- und Mathematik-Enthusiast Mehr über AmCoder »
##Dies ist der am häufigsten angeklickte und beliebteste Link in Google für die VHDL-Implementierung des CORDIC-ALGORITHMUS zur Generierung von Sinus- und Cosinuswellen## Gegenwärtig existieren viele hardwareeffiziente Algorithmen, diese sind jedoch aufgrund der Dominanz von Softwaresystemen über die vielen Jahre. CORDIC ist ein solcher Algorithmus, der nichts anderes ist als ein Satz von Shift- und Add-Logiken, die zum Berechnen einer breiten Palette von Funktionen verwendet werden, einschließlich bestimmter trigonometrischer, hyperbolischer, linearer und logarithmischer Funktionen. Dies ist der Algorithmus, der in Taschenrechnern usw. verwendet wird. Somit können wir durch die Verwendung einfacher Shifter und Addierer eine Hardware mit weniger Komplexität, aber DSP-Leistung mit Cordic-Algorithmus entwerfen. Daher kann es als reines RTL-Design in VHDL oder Verilog entworfen werden, ohne dedizierte Gleitkommaeinheiten oder komplexe mathematische IPs zu verwenden.
Schritt 1: VHDL und Modelsim
Hier wird der Cordic-Algorithmus unter Verwendung von VHDL implementiert, um eine Sinuswelle und eine Kosewelle zu erzeugen. Es kann Sinus und Cosinus des Eingangswinkels mit hoher Präzision ausgeben. Der Code ist auf FPGA synthetisierbar. Modelsim wird verwendet, um das Design und den Prüfstand zu simulieren.
Schritt 2: VHDL-Code für das Design und den Prüfstand
Die binäre Skalierungstechnik wird verwendet, um Gleitkommazahlen darzustellen.
Bitte gehen Sie die angehängten Dokumente durch, bevor Sie codieren.
Gehen Sie durchSimulieren von cordic_v4.vhd - Das Design - Die Eingabe ist Winkel in 32 Bit + Vorzeichenbit; es kann jeden Winkel von 0 bis +/-360 Grad mit einer Eingabegenauigkeit von 0,0000000000233 Grad verarbeiten. Bei Eingabe -> MSB ist das Vorzeichenbit und die restlichen 32 Bits stellen die Größe dar.-Die Ausgabe des Designs ist der Sinus- und Cos-Wert in 16 Bit + Vorzeichenbit.ie; mit Genauigkeit 0.00001526. Bitte beachten Sie, dass die Ausgabe im 2er-Komplement dargestellt wird, wenn der jeweilige Sinus- oder Cos-Wert negativ ist. Simulieren von testb.vhd - Prüfstand für das Design (1) Eingabewinkel und Pull-Reset ='0'. Nach zwei Simulationsschritten ziehen Sie den Reset auf '1' und "run all".(2) Im Simulationsfenster stellen Sie die Wurzel der Sinus- und Cos-Signale als Dezimal und Format > Analog (automatisch) ein.(3) Verkleinern Sie die Wellenform richtig.
Schritt 3: Angehängte Dateien
(1) cordic_v4.vhd - Design.(2) testb.vhd - Prüfstand für das Design.
(3) Dokumentieren Sie, wie Sie Winkeleingaben erzwingen und die binären Ergebnisse konvertieren.
Update: DIESE DATEIEN SIND VERALTET UND NICHT MEHR ZUR VERFÜGUNG GESTELLT. BITTE VERWENDEN SIE DATEIEN AUS DEM NÄCHSTEN SCHRITT
Schritt 4: Mini-Cordic IP Core - 16 Bit
Einschränkung der obigen Implementierung ist langsame, niedrigere Taktfrequenz des Betriebs, da Berechnungen in einem einzigen Taktzyklus durchgeführt werden. Mini-Cordic IP Core - 16 Bit
- Kritische Pfade werden auf mehrere Zyklen verteilt, um die Leistung zu verbessern. - Schneller - FPGA-bewährtes Design synthetisiert bis zu 100 MHz Takt vorherige. Testbench:
komplett automatisiert von 0 bis 360 Grad Winkeleingaben
Angehängte Dateien:1) Mini Cordic Haupt-VHDL-Datei2) Mini Cordic Prüfstand3) Mini Cordic IP Core Handbuch4) Dokumentation zum Erzwingen von Winkeln und zum Umrechnen von Ergebnissen
Bei Fragen können Sie mich gerne kontaktieren:
Mitu Raja
Folgen Sie mir:
Mail: [email protected]
###Downloads insgesamt: 325 bis zum 01.05.2021###
### Code zuletzt bearbeitet: Juli-07-2020 ###
Empfohlen:
Heimwerken -- Einen Spinnenroboter herstellen, der mit einem Smartphone mit Arduino Uno gesteuert werden kann – wikiHow
Heimwerken || Wie man einen Spider-Roboter herstellt, der mit einem Smartphone mit Arduino Uno gesteuert werden kann: Während man einen Spider-Roboter baut, kann man so viele Dinge über Robotik lernen. Wie die Herstellung von Robotern ist sowohl unterhaltsam als auch herausfordernd. In diesem Video zeigen wir Ihnen, wie Sie einen Spider-Roboter bauen, den wir mit unserem Smartphone (Androi
Bewegungsaktivierte Cosplay Wings mit Circuit Playground Express - Teil 1: 7 Schritte (mit Bildern)
Bewegungsaktivierte Cosplay-Flügel mit Circuit Playground Express - Teil 1: Dies ist Teil 1 eines zweiteiligen Projekts, in dem ich Ihnen meinen Prozess zur Herstellung eines Paars automatisierter Feenflügel zeige. Der erste Teil des Projekts ist der Mechanik der Flügel, und der zweite Teil macht es tragbar und fügt die Flügel hinzu
Raspberry Pi mit Node.js mit der Cloud verbinden – wikiHow
So verbinden Sie Raspberry Pi mit Node.js mit der Cloud: Dieses Tutorial ist nützlich für alle, die einen Raspberry Pi mit Node.js mit der Cloud, insbesondere mit der AskSensors IoT-Plattform, verbinden möchten. Sie haben keinen Raspberry Pi? Wenn Sie derzeit keinen Raspberry Pi besitzen, empfehle ich Ihnen, sich einen Raspberry Pi zuzulegen
DIY Circuit Activity Board mit Büroklammern - HERSTELLER - STEM: 3 Schritte (mit Bildern)
DIY Circuit Activity Board mit Büroklammern | HERSTELLER | STEM: Mit diesem Projekt können Sie den Weg des elektrischen Stroms ändern, um durch verschiedene Sensoren zu laufen. Mit diesem Design können Sie zwischen dem Aufleuchten einer blauen LED oder dem Aktivieren eines Summers wechseln. Sie haben auch die Wahl, einen lichtabhängigen Widerstand mit
Beginnen Sie mit Light Painting (kein Photoshop): 5 Schritte (mit Bildern)
Beginnend mit Light Painting (kein Photoshop): Ich habe vor kurzem eine neue Kamera gekauft und einige ihrer Funktionen untersucht, als ich im Internet auf Light Painting oder Langzeitbelichtung gestoßen bin. Die meisten von uns werden die Grundform des Lightpaintings mit einem Foto in einer Stadt mit einer Straße gesehen haben