日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

vivado cordic IP学习记录

發布時間:2024/1/1 编程问答 45 豆豆
生活随笔 收集整理的這篇文章主要介紹了 vivado cordic IP学习记录 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一、QN格式(Q數據格式)

????????XQN格式數據,是一個1bit符號位+X bits整數位+N bits小數位的補碼數據。可表達的數據的范圍是,

????????比如Q15,指的是X=0,N=15的Q格式數據,加上符號位合計16位數據(等同于Q1.15)。

????????又比如1Q15,指的是X=1,N=15的Q格式數據,加上符號位合計17位數據(等同于Q2.15)。

????????Q格式數據也可以用Fix格式數據表示。

????????對于有符號數,表示為Fix(1+X+N)_N,X表示整數位數,N表示小數位數。

????????對于無符號數,表示為uFix(X+N)_N,X表示整數位數,N表示小數位數。

舉例

????????1Q7格式數據(Q2.7)

????????2Q7格式數據(Q3.7)

?二、CORDIC算法中的Q格式

2.1笛卡爾坐標數據的表示

????????笛卡爾坐標數據使用定點數補碼表示,無視總的數據位寬,整數位固定2位,其余為小數位。使用Q數據格式表達為1QN,小數位N=總數據位寬-2。

????????一般情況下,輸入數據X_IN和Y_IN范圍為[-1,1]。超范圍可能會導致未定義的結果。

????????最大值和最小值表示如下:

????????計算平方根時,若設置為無符號小數,X_IN范圍時[0,2],Q數據格式為1bit整數位,其余是小數位(沒有符號位)

????????若設置為無符號整數X_IN范圍時,Q格式數據位寬全部為整數位。

2.2相位/弧度數據的表示

????????PHASE_IN和PHASE_OUT使用二進制補碼形式的定點數表示,整數位一共3位,其余為小數位。

????????相位數據格式可使用兩種表達形式:Radians和scaled Radians。

????????選用Radians表達形式時,PHASE_IN范圍為[-π,π]。最大值和最小值可以表達如下:

????????選用scaled Radians表達形式時,PHASE_IN范圍為[-1,1]。最大值和最小值可以表達如下:

2.3舉例

????????舉例:旋轉模式下,從坐標(Xin,Yin)旋轉角度Pin,目標坐標的值為(Xout,Yout)。Q 格式數據示例如下:

????????上圖表示的是,從坐標(0.707,0.25)順時針旋轉90°,旋轉到坐標(0.25,-0.707)。

????????舉例:向量模式下,坐標(Xin,Yin)旋轉到x軸上,得到的橫坐標和旋轉的角度值。Q 格式數據表示如下:

??????????上圖表示的是,從坐標(0.707,0.25)旋轉到橫坐標(0.75,0),一共旋轉的弧度是0.336

三、映射不同數據格式

????????假設輸入數據與輸出數據位寬不一致時,需要進行映射處理。同一個二進制數據,按照不同的XQN格式,其表達的十進制數據是不同的。

????????如果輸出數據寬度比輸入數據寬度小,CORDIC算法輸出的結果減少了小數部分bits數。當數據輸出比輸入數據寬度大,那么增加小數部分的bits數。

平方根數據的映射。

無符號數X_IN:00001000

?UFix8_7:

UFix8_1:

UFix8_0:

平方根X_OUT輸出:00100000,在不同的Q格式下,X_OUT代表的數值:

?UFix8_7:

UFix8_1:

UFix8_0:

CORDIC計算平方根的X_IN的取值范圍是[0,2)。根據上表,我們發現,如果直接用Ufix8_1和Ufix8_1格式計算X_OUT,計算出來的數值明顯錯誤。那么該如何處理呢?

????????我們先計輸入數據范圍在[0,2)的數據為X,輸入數據范圍在[2,∞)為xalt,輸出出數據為Y。

????????我們先計輸入數據X,輸出出數據為Y,。范圍在[0,2)的輸入數據X記為,其平方根即為;范圍在[2,∞)輸入數據X 記為,其平方根記為;

????????當輸入數據取值為,數據格式為Ufix8_7,正常按照CORDIC算法處理得出平方根結果即可。

????????當輸入數據取值為,直接使用CORDIC算法處理得到的數據不正確,需要先對數據進行縮放處理。

????????縮放處理方式:右移A位,變換成Ufix8_7格式(A=m-1)。(實際二進制數值不發生任何變化,僅從意義上更改了Q格式小數點位置而已)

?

?

????????根據上面兩個公式,我們發現,將X按照不同的取值范圍方式進行CORDIC處理,得到的Y值存在的倍數關系。即超過數值2的輸入X_IN,經過CORDIC算法計算平方根時,需要乘上。

再回到剛才的示例:

X_IN:00001000

?UFix8_7:

UFix8_1:

UFix8_0:

X_OUT:00100000

UFix8_7:?

UFix8_1:? ? ?(整數位共7位,因此A=7-1=6)

UFix8_0:????(整數位共7位,因此A=8-1=7)

這里我們需要知道的是,使用CORDIC算法計算[0,2)之間的數與[2,∞]之間的數,計算平方根時有上面描述的縮放處理的區別。

四、CORDIC IP核 IO用戶界面的參數配置

?

1、功能選擇 ????????????????????????????????????????

可選功能包括:

????????rotate :旋轉模式。輸入初始坐標和旋轉角度,輸出目標坐標值

????????Translate:向量模式。輸入初始坐標,將其旋轉到橫坐標軸,輸出旋轉弧度和目標橫坐標。

????????Sin and cos:輸入角度(弧度),輸出cos值和sin值

????????Sinh and cosh:輸入雙曲線角度(弧度),輸出cosh值和sinh值

????????Arctan:輸入初始坐標(x,y),旋轉到橫坐標軸,輸出atan(y/x)

????????Arctanh:輸入初始坐標,沿著雙曲線旋轉到橫坐標軸,輸出atanh(y/x)

????????Square root:輸入一個數值,輸出其平方根值

基本上涵蓋了CORDIC算法所能計算的全部運算。

當然,也可以通過基本的加減乘除運算簡介地實現下面的運算:

2、架構配置

????????并行架構:或者可以稱為流水線架構,每個時鐘可以輸出新的數據(輸入與其對應的輸出相差N個時鐘的延遲,N等于輸出數據寬度)。

????????串行架構:每N個時鐘輸出一個新的數據。(N等于輸出數據寬度)

3、流水線模式

????????NONE:CORDIC 實現時不使用流水線

????????Optimal:CORDIC算法實現時,使用流水線,但是盡可能不多使用查找表資源,相當于自動優化資源和時序。

????????Maximum:每個加減法運算都使用流水線。比較適合資源充裕時序困難的邏輯

4、數據格式

CORDIC算法提供了三種不同的格式表達輸入數據X和Y。

????????有符號小數:該格式是默認的設置,X和Y按照有符號定點數的補碼進行表述,并且整數位寬度為2bits。1位符號位,1位整數位,其余為小數位。

????????無符號小數:X和Y按照無符號定點數表達。1位整數位,其余為小數位。

????????無符號整數:X和Y按照無符號整數表達,僅用于計算平方根的時候。

5、相位格式

兩種相位格式可供選擇:

????????弧度:相位使用定點數補碼表示,整數位為3bits,單位是rad,范圍[-π,π]。比如01100000表示3.0rad

? ? ? ?歸一化弧度:使用定點數補碼表示,整數位寬3bits,單位是π rad,范圍[-1,1]。比如00100000表示1*πrad;又比如11110000表示-0.5*πrad。

6、輸入數據寬度

????????X_IN/Y_IN/PHASE_IN的數據寬度

7、輸出數據寬度

????????X_OUT/Y_OUT/PHASE_OUT的數據寬度

8、取整模式

提供了三種輸出數據的取整模式

????????Truncate:截斷模式,直接舍棄低位

????????Positive infinity:,正方向四舍五入,等效于matlab的floor(x+0.5)

????????Pos Neg infinity:正數正方向四舍五入,負數負方向四舍五入,等效于matlab的round(x)

????????Nearest Even:輸出數據取整為最近的整數,0.5向下取整,1.5向上取證

?

9、迭代次數

設置為0時,迭代次數由IP核自動決定。也可以手動輸入迭代次數。

10、精確度

配置CORDIC IP內部計算時的精確度,當設置為0時,IP核自動決定精確度取值。也可以手動輸入精確度。

11、粗略旋轉

控制CORDIC算法使用的象限,勾選時可以在所有象限中使用;不勾選時只能在第一象限使用。

12、補償方式

講解原理的時候,學習過使用CORDIC算法時,會帶來模長的拉伸,此處可選擇是否乘上補償因子。

????????No scale compensation:不乘補償因子

????????LUT based:基于查找表保存補償因子

????????BRAM:基于BRAM保存補償因子

????????Embedded Multiplier:使用DPS進行計算補償

五、CORDIC IP核的仿真使用

5.1 使用CORDIC IP核計算cos值和sin值

IP核配置截圖

?按照手冊要求、以Q3.13格式輸入Q碼數據,弧度值分別為

0,

π/6,

π/3,

π/2,

2π/3,

π,

-π/6,

-π/3,

-2π/3,

仿真后結果如下:(注意輸出的cos和sin數據為Q2.14格式)

輸入角度

輸入相位

輸入相位

理論cos值

理論sin值

CORDIC IP計算的cos值

CORDIC IP計算的sin值

/

/

/

/

/

有符號Q2.14碼

十進制轉換,近似值

有符號Q2.14碼

十進制轉換,近似值

0

0

0.000000

1.000000

0.000000

16'b01_00_0000_0000_0000

0

16'b11_11_1111_1111_1111

0

30°

pi/6

0.523599

0.866025

0.500000

16'b00_11_0111_0110_1100

0.86597

16'b00_10_0000_0000_0000

0.5

60°

pi/3

1.047198

0.500000

0.866025

16'b00_10_0000_0000_0000

0.5

16'b00_11_0111_0110_1101

0.86603

90°

pi/2

1.570796

0.000000

1.000000

16'b11_11_1111_1111_1100

0

16'b01_00_0000_0000_0000

1

120°

pi*2/3

2.094395

-0.500000

0.866025

16'b11_01_1111_1111_1111

-0.5

16'b00_11_0111_0110_1100

0.86597

180°

pi

3.141593

-1.000000

0.000000

16'b11_00_0000_0000_0000

-1

16'b00_00_0000_0000_0001

0

-30°

-pi/6

-0.523599

0.866025

-0.500000

16'b00_11_0111_0100_1110

0.86413

16'b11_10_0000_0000_0001

-0.5

-60°

-pi/3

-1.047198

0.500000

-0.866025

16'b00_10_0000_0000_0001

0.5

16'b11_00_1000_1001_0011

-0.86602

-120°

-pi*2/3

-2.094395

-0.500000

-0.866025

16'b11_10_0000_0000_0001

-0.5

16'b11_00_1000_1001_0010

-0.86602

-180°

-pi

-3.141593

-1.000000

0.000000

16'b10_11_1111_1111_1111

-1

16'b11_11_1111_1111_1111

0

?????????根據表格可以看出,經過CORDIC IP核計算出來的結果與理論結果非常相近。

5.2 使用CORDIC IP核計算平方根值

IP核配置截圖

?

按照手冊要求、輸入無符號整數數據,分別為

1

4

16386

4096

16384

0

仿真后結果如下:

輸入數值

理論的平方根

CORDIC算法計算的平方根

十六進制

十進制

/

十六進制

十進制

1

1

1

1

1

4

4

2

2

2

4002

16386

128.0078123

80

128

1000

4096

64

40

64

4000

16384

128

80

128

0

0

0

0

????????根據表格可以看出,經過CORDIC IP核計算出來的結果與理論結果非常相近。

總結

以上是生活随笔為你收集整理的vivado cordic IP学习记录的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 国产女同91疯狂高潮互磨 | 中文字幕在线观看视频一区二区 | 911美女片黄在线观看游戏 | 欧美黑大粗 | 国产精品一二三区视频 | 天天插夜夜 | 婷婷欧美 | 久久久毛片 | 性免费网站 | 国产精品色呦呦 | 欧美色图亚洲激情 | 色涩久久 | 久久99综合 | 欧美极品在线播放 | 亚洲一区二区三区不卡视频 | 日本美女动态图 | 黄色美女av | 午夜吃瓜 | 三级特黄视频 | 国产在线操 | 一区不卡在线 | 久草视频在线免费播放 | 成 人免费va视频 | 成人毛片视频网站 | 福利影院在线观看 | 成年人黄色在线观看 | www.奇米.com| 天天狠狠 | 久久网国产 | 青青毛片| 成人精品一区二区三区四区 | 久久久久香蕉 | 国产中文字幕一区二区 | 国产午夜无码精品免费看奶水 | 国产精品白嫩白嫩大学美女 | 99色在线| 一级特黄aaaaaa大片 | 午夜伦理福利视频 | 国产精品自偷自拍 | 亚洲人做受 | 六月丁香婷婷综合 | 国产香蕉视频 | 精品中出 | 极品销魂美女一区二区三区 | 麻豆激情网| 好吊一区二区三区视频 | 亚洲免费视 | 天天射天天色天天干 | 999免费视频 | 天天狠天天插天天透 | 日韩精品一区二区三区丰满 | 欧日韩av| 欧美成人免费播放 | 一区二区国产精品 | 鲁一鲁色一色 | 欧美3p视频 | 国产日韩欧美一区二区 | 国产精品少妇 | 美日韩三级 | 最新视频–x99av | 国产小视频在线免费观看 | 亚洲永久在线观看 | 少妇系列在线观看 | 精品人妻无码一区二区三区 | 国产欧美日韩精品一区二区三区 | 激情av | 久久高清| 无码精品国产一区二区三区免费 | 91久久精品美女高潮 | 在线艹| 国产999| 永久免费网站直接看 | 女人喷潮完整视频 | 国产情侣自拍小视频 | 围产精品久久久久久久 | 国产一区色 | 久久精品2019中文字幕 | 草草影院第一页 | 国产精品天天av精麻传媒 | 朋友人妻少妇精品系列 | 欧美裸体女人 | 欧美h网站 | 国产中文字幕乱人伦在线观看 | 色爽爽爽爽爽爽爽爽 | 日本一区二区三区免费在线观看 | 无码人妻精品一区二区蜜桃视频 | aaaaaabbbbbb毛片 | 91一二区| 美日韩在线视频 | 欧美一级片免费在线观看 | 亚洲一区免费电影 | 成人www.| 欧美精品一区二区三区蜜臀 | 久久96视频| 免费在线| 成人理论影院 | 合欢视频在线观看 | 国产精品欧美综合亚洲 | 中文字幕精品久久久久人妻红杏1 |