FPGA實(shí)現(xiàn)CORDIC核的應(yīng)用和解卷繞
在FPGA硬件實(shí)現(xiàn)CORDIC的邏輯其實(shí)是很簡單的,就是設(shè)置好輸入輸出的位寬,然后建立好對應(yīng)的精度表,通過旋轉(zhuǎn)加得到運(yùn)算結(jié)果。但是在IP核的使用中需要特別注意輸入數(shù)據(jù)的位寬和大小。IP核的申請配置如下圖:
這個選項(xiàng)卡里主要是選擇功能、處理速度和模式。
這個選項(xiàng)卡主要是選擇弧度輸出還是±1輸出、輸入輸出位寬和截位方式,一般選擇四舍五入的截位方式。
這個選項(xiàng)卡是配置輸出項(xiàng)的。還需要特別注意的就是輸入與輸出的延時(shí)latency;
這個IP的申請比較簡單,在實(shí)際仿真時(shí)需要注意的是輸入數(shù)據(jù)的大小。在官方文檔LogiCORE IP CORDIC v4.0中對輸入數(shù)據(jù)有著很嚴(yán)格的規(guī)定,我們在使用時(shí)也需要嚴(yán)格的遵守。數(shù)據(jù)輸入規(guī)定如下圖:
在滿足了上面IP的例化后通過modelsim仿真。分別輸入兩個信號,通過CORDIC核輸出相位信號,仿真波形如下圖:
從圖中可以看出輸入信號是連續(xù)的,而輸出信號存在跳躍,這是因?yàn)镃ORDIC核只能輸出-3.14到+3.14之間的信號,因此輸出信號存在著卷繞現(xiàn)象,這樣的輸出結(jié)果不能反映實(shí)際的相位信息,因此需要進(jìn)行解卷繞處理。
在CORDIC核輸出的相位信號發(fā)聲突變是在-3.14到+3.14處,因此我們只要根據(jù)突變前后數(shù)據(jù)的符號和大小即可通過加上或者減去6.28來實(shí)現(xiàn)解卷繞的過程。利用FPGA進(jìn)行解卷繞時(shí)至少需要兩個點(diǎn),通過判斷這兩個點(diǎn)的符號和差值的絕對值是否等于6.28來進(jìn)行確定相位突變的點(diǎn)和方向。在實(shí)際代碼仿真可知通過兩個點(diǎn)判斷這種方式是可行的,仿真波形如下圖所示:
審核編輯:劉清
-
FPGA
+關(guān)注
關(guān)注
1645文章
22042瀏覽量
618241 -
IP核
+關(guān)注
關(guān)注
4文章
338瀏覽量
50793 -
CORDIC算法
+關(guān)注
關(guān)注
0文章
17瀏覽量
9849
原文標(biāo)題:FPGA實(shí)現(xiàn)CORDIC核的應(yīng)用和解卷繞
文章出處:【微信號:gh_9d70b445f494,微信公眾號:FPGA設(shè)計(jì)論壇】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
RX系列三角函數(shù)單元(TFU)的使用介紹

ARM7如何實(shí)現(xiàn)三角函數(shù)
基于FPGA的數(shù)字三相鎖相環(huán)的基本原理分析
FPGA設(shè)計(jì)中必須掌握的Cordic算法
labview中的三角函數(shù)問題
Cordic IP用戶手冊
利用Cordic算法來計(jì)算三角函數(shù)的值

基于三角函數(shù)搜索因子的混合蛙跳算法
如何使用Cordic算法C語言實(shí)現(xiàn)三角函數(shù)的計(jì)算

如何使用DSP匯編語言實(shí)現(xiàn)高精度的三角函數(shù)

AD639:通用三角函數(shù)轉(zhuǎn)換器廢棄數(shù)據(jù)表

TI Arm內(nèi)核三角函數(shù)的優(yōu)化

評論