Spisu treści:

Algorytm Cordic przy użyciu VHDL: 4 kroki
Algorytm Cordic przy użyciu VHDL: 4 kroki

Wideo: Algorytm Cordic przy użyciu VHDL: 4 kroki

Wideo: Algorytm Cordic przy użyciu VHDL: 4 kroki
Wideo: «Развлечение с музыкой и программированием», Коннор Харрис и Стивен Крюсон 2024, Lipiec
Anonim

By AmCoderhttps://www.linkedin.com/in/mituFollow Więcej autora:

Projektowanie synchronicznego FIFO, LIFO/Stack w Verilog
Projektowanie synchronicznego FIFO, LIFO/Stack w Verilog
Projektowanie synchronicznego FIFO, LIFO/Stack w Verilog
Projektowanie synchronicznego FIFO, LIFO/Stack w Verilog
Interfejs wideo z FPGA przy użyciu VGA
Interfejs wideo z FPGA przy użyciu VGA
Interfejs wideo z FPGA przy użyciu VGA
Interfejs wideo z FPGA przy użyciu VGA
Synchronizatory, przecinanie domeny zegara, generatory zegara, wykrywacze krawędzi i wiele więcej - niezbędne obwody podkręcające
Synchronizatory, przecinanie domeny zegara, generatory zegara, wykrywacze krawędzi i wiele więcej - niezbędne obwody podkręcające
Synchronizatory, przekroczenie domeny zegara, generatory zegara, detektory krawędzi i wiele więcej - niezbędne obwody do podkręcania
Synchronizatory, przekroczenie domeny zegara, generatory zegara, detektory krawędzi i wiele więcej - niezbędne obwody do podkręcania

O: Mitu Raj -- Po prostu hobbysta i uczeń -- Projektant chipów -- Programista -- Entuzjasta fizyki i matematyki Więcej o AmCoder »

##Jest to najczęściej klikany, popularny link w Google do implementacji algorytmu CORDIC ALGORYTM w języku VHDL do generowania fali sinusoidalnej i kosinusoidalnej## Obecnie istnieje wiele wydajnych algorytmów sprzętowych, ale nie są one dobrze znane ze względu na dominację systemów oprogramowania wiele lat. Takim algorytmem jest CORDIC, który jest niczym innym jak zbiorem logik przesunięcia i dodawania służących do obliczania szerokiego zakresu funkcji, w tym pewnych funkcji trygonometrycznych, hiperbolicznych, liniowych i logarytmicznych. Jest to algorytm używany w kalkulatorach itp. Tak więc używając prostych przełączników i sumatorów możemy zaprojektować sprzęt o mniejszej złożoności, ale o mocy DSP przy użyciu algorytmu cordic. Dlatego może być zaprojektowany jako czysty projekt RTL w VHDL lub Verilog bez użycia dedykowanych jednostek zmiennoprzecinkowych lub złożonych matematycznych adresów IP.

Krok 1: VHDL i Modelsim

Tutaj algorytm kordowy jest zaimplementowany przy użyciu VHDL do generowania fali sinusoidalnej i fali cose. Może z dużą precyzją wyprowadzać sinus i cosinus kąta wejściowego. Kod można zsyntetyzować na FPGA. Modelsim służy do symulacji projektu i stanowiska testowego.

Krok 2: Kod VHDL do projektowania i stanowiska testowego

Kod VHDL dla projektu i stanowiska testowego
Kod VHDL dla projektu i stanowiska testowego

Technika skalowania binarnego służy do reprezentowania liczb zmiennoprzecinkowych.

Przed przystąpieniem do kodowania zapoznaj się z załączonymi dokumentami.

Przejdź przezSimulating cordic_v4.vhd - Projekt - Dane wejściowe to kąt w 32 bitach + bit znaku; może przetwarzać dowolny kąt od 0 do +/-360 stopni z dokładnością wejściową 0,0000000000233 stopni. Podając dane wejściowe -> MSB to bit znaku, a pozostałe 32 bity reprezentują wielkość.-Wyjście projektu to jego wartość sinus i cos w 16 bitach + bit znaku.ie; z dokładnością 0.00001526. Należy pamiętać, że wynik jest wyświetlany w formie komplementu 2, jeśli odpowiednia wartość sinusa lub cos jest ujemna. Symulacja testb.vhd - Stanowisko testowe do projektowania (1) Wprowadź kąty i zresetuj ciąg ='0'. Po dwóch krokach symulacji przeciągnij zresetuj do '1' i "uruchom wszystko". (2) W oknie symulacji ustaw podstawę sygnałów sin i cos jako dziesiętną i format > Analog (automatycznie). (3) Oddal, aby zobaczyć przebieg odpowiednio.

Krok 3: Załączone pliki

(1) cordic_v4.vhd - Projekt.(2) testb.vhd - Stanowisko badawcze do projektowania.

(3) Dokument, w jaki sposób wymuszać wprowadzanie kątów i konwertować wyniki binarne.

Aktualizacja: TE PLIKI SĄ PRZESTARZAŁE I NIE JEST JUŻ DOSTARCZANE. PROSZĘ UŻYWAĆ PLIKÓW Z NASTĘPNEGO KROKU

Krok 4: Mini-Cordic IP Core - 16 bitów

Ograniczeniem powyższej implementacji jest powolna, niższa częstotliwość taktowania pracy z powodu wykonywania obliczeń w jednym cyklu zegara. Mini-Cordic IP Core - 16 Bit

- Ścieżki krytyczne dystrybuowane do wielu cykli w celu poprawy wydajności. - Szybsze - Sprawdzona konstrukcja FPGA zsyntetyzowana do zegara do 100 Mhz. - Większy obszar zoptymalizowany w HDL, mniejszy sprzęt. - Dodano sygnały stanu obciążenia i wykonania. - Jedynym minusem jest mniejsza rozdzielczość w porównaniu do poprzedni. Testbench:

całkowicie zautomatyzowany od 0 do 360 stopni kąta wejścia

Załączone pliki:1) główny plik vhdl mini cordic2) stół testowy mini cordic3) instrukcja obsługi Mini Cordic IP Core4) Dokument na temat wymuszania kątów i konwertowania wyników

W przypadku jakichkolwiek pytań zapraszam do kontaktu:

Mitu Raj

śledź mnie:

mail: [email protected]

###Łączna liczba pobrań: 325 do 01-05-2021###

### Ostatnia edycja kodu: 07.07.2020 ###

Zalecana: