Chip123 科技應用創新平台

 找回密碼
 申請會員

QQ登錄

只需一步,快速開始

Login

用FB帳號登入

搜索
1 2 3 4
12
返回列表 發新帖
樓主: 呆頭鴨
打印 上一主題 下一主題

[問題求助] verilog 浮點數運算疑問@@

[複製鏈接]
21#
 樓主| 發表於 2009-10-19 20:05:06 | 只看該作者
mas大..但是如果轉成二補數42010000之後6 T0 y: q# G. b* E- |0 I+ {
與41b20000 偏移值調整後42590000 做有效位數相加=425A0000 ←這樣吧@@?' g' g  P6 H/ d  o
並不等於C1200000 的說....
22#
發表於 2009-10-21 12:08:33 | 只看該作者
42010000 (-32.25) 是IEEE754格式 也就是浮點數加法器的輸入A% m! q. }2 _" `
41b20000 (22.25) 是IEEE754格式 也就是浮點數加法器的輸入B
* ?. f8 n, |1 o5 a/ P' R/ a$ n/ b這個浮點加法器內部輸入級 的功用就是偏移值調整後做有效位數相加
2 J1 N1 y1 F1 i& R) o) R: i, g- y$ N( m, @
所以 浮點加法器內部 運算級* |8 |+ W, J3 H$ J( H" O5 @" `. z
A=1101_1111.11003 G0 J" _# Q0 |
B=0001_0110.0100
. w8 T( I4 i2 [! z3 R' u3 XA+B=1111_0110.0000 = -(10)2 F8 n& Z: p1 y& |+ z8 g, c/ G
* J' ?# W+ L1 v% }
再透過浮點數加法器輸出級 轉換為IEEE754格式
0 @- u4 C' _4 b. D+ ~輸出為C1200000
, M/ v) B$ f4 W, U$ B( z7 H6 R) c4 f% {- N6 T
[ 本帖最後由 masonchung 於 2009-11-2 11:16 AM 編輯 ]

評分

參與人數 1 +1 收起 理由
呆頭鴨 + 1 學無止境阿

查看全部評分

23#
 樓主| 發表於 2009-10-21 20:20:14 | 只看該作者
謝謝大大提點~又學到東西了...^^
. Z$ E7 S' G# e0 }; Y/ S# A3 h; i  Y* i, V5 Z8 T, ]( k' }* S/ F/ }) ~
另外想問做乘法運算
0 E7 n* ]2 J( q( W9 f! w  N  Z有效位數直接a*b跟  a+a 加b次  哪一種作法在硬體上速度較快呢?
! ^* P6 w: B/ V* P$ Q  v8 j- ~& r除法也是如此嗎?
24#
 樓主| 發表於 2009-10-23 20:43:11 | 只看該作者
大大~另外請問使用quartus做波形模擬的時候,input有辦法設定輸入10進制浮點數嗎? EX: (22.25)3 e7 N" j  m8 ?+ f7 x0 C) l6 B1 a
假如無法使用,這樣的話10進制的浮點數數值要如何輸入? 難道是輸入 A1= 22   A2=0.25  A1+A2=A  這樣訊號要怎麼分離@@~不知道大大有沒有聽的懂我的意思^^"
25#
發表於 2009-10-29 11:12:30 | 只看該作者
input有辦法設定輸入10進制浮點數嗎?- O8 E; n+ n5 Y
因為你的電路功能是浮點數ALU 輸入自然是IEEE-754格式5 I, ]; m, D/ Q' I$ v
先自行換算22.25 成IEEE-754格式 41b20000 輸入
+ b* `% k! d4 a5 L. }6 u: ~. B/ H, B( e. \
quartus 用32bit 就可以輸入阿
- O0 M5 w2 i: C# l  O/ w; ?$ d  i) {$ h& e  ]
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~" ~# @6 g( D$ D: A
如果規定要用10進制浮點數輸入
/ A: p% F0 K( K1 k5 U/ G那你的輸入級就要多一個轉換電路0 O# `8 B9 @! b: i
可把非IEEE 754格式的浮點數(Fixed Point)轉成IEEE 754格式(Float Point)
4 h% }" E2 w! z' T# j0 l7 ?/ F7 D+ O/ O" `* J0 ^: I6 H* V
[ 本帖最後由 masonchung 於 2009-10-29 01:13 PM 編輯 ]

評分

參與人數 1 +5 收起 理由
呆頭鴨 + 5 每問一次~就多長知識

查看全部評分

26#
 樓主| 發表於 2009-10-30 20:28:16 | 只看該作者

回復 25# 的帖子

如果規定要用10進制浮點數輸入" F' \! V$ n* C5 w* e- t' m
那你的輸入級就要多一個轉換電路
$ p: v9 K4 `& e可把非IEEE 754格式的浮點數(Fixed Point)轉成IEEE 754格式(Float Point)* |$ M/ K' c  c
----------------------------------------
  A" d$ U3 A/ e7 U7 F# H6 }非IEEE 754格式的浮點數 輸入~ 是類似(22.25) => 10110.01 輸入至input ?
9 _2 O* m  @  L那在quartus看到的input是不是變成1011001 ?
) h4 M6 X9 R! s- g這樣的話我怎麼曉得我輸入訊號小數點位置在哪@@?(10.5)=>1010.1# u  v& `$ R2 S- D
還是說要給input的訊號,其訊號源必須要產生固定小數點N位的數值.: n  ?9 ^- S: `2 W
假如訊號源固定產生小數點3位的訊號~
; S% q, E% g8 ?  L' Y0 F22.25=> 10110.010   第3位補0
6 w# _9 h# V7 o' v1 P10.5  => 1010.100   後2位補0至第3位....是這樣嗎?  如果是這樣就可以在程式內部判斷[2:0]為小數[3:N]為整數.......不知道是不是這樣做?
1 D- T$ A: [* C5 f! `* a  @4 C2 \" ^/ p( _- S; {
-----------------------------------
/ o  X" n1 l9 R. G3 \4 P3 Iinput有辦法設定輸入10進制浮點數嗎?" W- h7 g  m0 j/ i
quartus 用32bit 就可以輸入阿
3 ]: A3 q7 {  k# | 這邊大大是說 我input寫成32bit就可以在模擬的時候使用類似22.25十進制的浮點數?
27#
發表於 2009-11-2 11:36:10 | 只看該作者

回復 26# 的帖子

小數點是人判定的,輸入不足位數要補0
, b7 C8 K" G. i/ G3 f硬體運算時對齊小數點即可
5 ^# q4 d" A/ m& n. `, Z9 E8 O' [; r* j" }" g5 o
*******************************************************. N1 i" C. [9 G, Y" [
41b20000 ==>32bit
% G. K& v# J# U9 C" K1 n這邊是說輸入已經是IEEE-754格式
+ w5 |6 O$ o7 l$ K; v*******************************************************% M8 L- ^3 A/ s) L
如果輸入是10進位浮點數 輸入quartus 後 要換成sign bit + 32-bit fixed-point
% m+ d+ T% [+ @$ p22.25 = (10110.01) 二進位 = {sign-bit=0,0016.4000} 十六進位 3 @5 J1 L. @- Y0 C0 B
- }! _& `8 K- _6 N
用fixed-point to float-point 轉換電路 * |  W8 i4 E& N" y0 X" ~- m
換算成IEEE-754浮點數格式- q. u. P# \. d  q  j
就可以給浮點數ALU 作運算
, k4 p2 ]7 y% B% Q" |4 T& @9 L9 T3 G7 O0 l1 x$ V
[ 本帖最後由 masonchung 於 2009-11-2 11:41 AM 編輯 ]
28#
 樓主| 發表於 2009-11-2 19:56:24 | 只看該作者
謝謝大大~我知道怎麼做了: _3 Y& f) C! Y% q8 ^2 t3 p
& \# Y8 p' s( C3 j! Q
另外請問,做浮點數除法運算時 做法為 指數相減 有效數相除
3 S; p9 {+ n" {4 D1 C但是為何A[22:0]跟B[22:0]的有效數相除時  C=A/B
, m& {* b% n8 T5 e. F如果A<B則無法運算, |& y# B. X& ?% |
是除法運算需要用其他方式完成嗎?
29#
發表於 2009-11-4 10:21:18 | 只看該作者

回復 28# 的帖子

除法運算在FPGA 沒有DW IP
& {5 i+ m1 v+ O6 T7 Q4 `9 p- z所以可用布斯Booth 或 SRT 的演算法來完成
- w# J8 d3 j- Y
8 r" P8 P" \. r* ?" y! l6 ~9 Y$ H[ 本帖最後由 masonchung 於 2009-11-4 10:27 AM 編輯 ]

評分

參與人數 1 +3 收起 理由
呆頭鴨 + 3 謝謝大大幫忙~我用BOOTH完成浮點數乘法器了

查看全部評分

30#
 樓主| 發表於 2009-11-10 22:47:59 | 只看該作者
大大~請問BOOTH做除法器.是只要把乘法的+ -規則相反變- +就可以了嗎@@"
6 X4 C8 ^, [" g# Y9 Q) ?& M2 F如果我乘法要一次判斷比較多位元規則該怎麼定呢??~因為網上找到的大多都是用2BIT作判斷~) ^3 q# [$ w- L9 s. ^, p

% j1 p7 i5 B+ v4 k, ?9 A另外請問一下.SRT俗稱是^^?
您需要登錄後才可以回帖 登錄 | 申請會員

本版積分規則

首頁|手機版|Chip123 科技應用創新平台 |新契機國際商機整合股份有限公司

GMT+8, 2024-6-16 09:34 AM , Processed in 0.138517 second(s), 17 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回復 返回頂部 返回列表