Chip123 科技應用創新平台

標題: 用verilog撰寫取對數log電路 [打印本頁]

作者: michael6172    時間: 2008-3-4 07:41 PM
標題: 用verilog撰寫取對數log電路
各位大大:
( V5 Y. H% X5 E3 n9 _
/ I& A7 K( w9 k7 o7 l  P1 d想請問如何用Verilog撰寫將輸入信號取log電路,不知是否有大大寫過或網路上有提供 free code4 f! k8 d9 l, G
% k2 P! ?) y# x! u* K: I  x+ w) _
謝謝
作者: kevin    時間: 2008-3-6 09:19 PM
欲求A=Log(X),X為整數.A為fixed point.  q2 L0 e: W  b) o
X 先normalized to 0.5~1的範圍.即X = a x 2^n (a = 0.5~1)
/ @* a# ?- N" |0 h) v; j) |( z) |再令a=1-h
7 g. }7 H  T  |5 |/ U則A=Log(X)=n*Log(2)+Log(a)
5 a7 }& O) S7 L5 T  @          =n*Log(2)-(h+h^2/2+h^3/3+h^4/4+ ....)------->>此為泰勒級數展開.( w8 [! C# X( t
可參考一下verilog code.
6 r! z6 _8 B5 u& j[attach]3129[/attach]
作者: michael6172    時間: 2008-3-7 01:27 PM
謝謝大大的解答,我會照您提供的code試試看,謝謝囉
作者: ooo7    時間: 2008-3-31 09:56 AM
我也對log的verilog寫法 很好奇 感謝您的程式
作者: masonchung    時間: 2008-3-31 11:58 AM
泰勒級數展開 =>great method
作者: hellovivi29    時間: 2008-4-1 01:27 PM
標題: 回復 2# 的帖子
Thanks a lot.) l( j* f, k% |: [

, a+ y0 `$ U' |8 l! D* a6 i6 a真的很受用哦!
0 c7 M# T. g" c9 D. i% G2 m9 p
1 u  z+ c  X" b% d3 C) t. G& a) ~3 f  C' G7 s1 J
Thanks a lot.( h0 X$ c) L; p+ h' ~

$ E. Y9 k0 w& E0 s) N! W真的很受用哦!
作者: paulmanwu    時間: 2008-4-20 10:03 AM
rickfu:感謝分享阿~ 對初學者真是一大福音泰勒級數展開 =>great methodrickfu:感謝分享阿~ 對初學者真是一大福音泰勒級數展開 =>great methodrickfu:感謝分享阿~ 對初學者真是一大福音泰勒級數展開 =>great method
作者: chingth    時間: 2008-5-5 10:12 AM
感謝分享喔!...) Q& O! L. L% G0 g# x0 Q
對這個code 很有興趣...
) T$ c  k4 F1 B6 k2 l  V載來看看
作者: tear086    時間: 2008-5-8 10:28 PM
很受用,楼主能对泰勒级数如此活用。很佩服。! Y2 x" F1 A5 b! [
谢谢共享代码。
作者: tear086    時間: 2008-5-8 10:54 PM
但是我用MATLAB和Mathematica都無法作Log[X]的Taylor Series。
. A: v% j7 d- \9 }  {很無奈。
# O' i, ~0 E+ u1 G7 B* [請指教。
作者: jamie.chen72    時間: 2008-5-14 05:58 PM
Verilog 新手看到這個Code5 ?! a4 S% T$ x# M+ i* b

) d; u* d; R: L, d. j9 B5 B希望可以快快完成老闆交代的工作../ ]7 a5 F/ \7 \3 ?

0 P) R6 U$ D  X* M5 R7 A真是太感謝你提供程式啦!!!
作者: 賴永諭    時間: 2008-5-16 11:57 AM
請問一下!!為什麼input X=1,output Z=5: z. d- Q' h& E8 l0 a: v
似乎不是log的function
& b) u9 k% t/ \7 H8 {* I9 c! ?可否舉個simulation 的例子
- n/ y! i4 p' X! R急~~~~~~~~~~阿~~~~~~~
作者: 賴永諭    時間: 2008-5-19 03:11 PM
急阿~~~+ ]" T: l+ M! V- w* f
有人試過這各程式嗎????可以用嗎?????
作者: 賴永諭    時間: 2008-5-21 02:30 PM
有誰用過這個code的發表一下意見阿!!!!!
作者: kevin    時間: 2008-5-25 10:47 PM
input X=20'b00000000000000000001$ S* U9 C% S7 ?9 F
output Z=20'b00000000000000000101
! f- B/ k+ W: m0 y/ h* u+ ~輸出格式要看成XXXX.XXXXXXXXXXXXXXXX  Fixed Point Value,就是Q4.16格式* f; `  C+ \: l7 R6 u
20'b00000000000000000101---->>代表0.0000762939453125,因為泰勒級數有限項數,不會為0.只是近似吧
作者: squallscer    時間: 2008-5-31 08:35 PM
想請問你一下可以大溉敘述一下原理和如何操作嗎??  r9 n+ f+ Y" K$ A
看了程式碼但仍然有許多的地方不懂.....9 c0 b+ U& }) `$ X
謝謝大大的分享
作者: mengchung68    時間: 2008-6-2 11:50 AM
我也好想看∼∼∼∼
% c: Y5 W& x% N2 K謝謝大大您的分享∼∼∼∼∼∼
作者: nmnmnm    時間: 2008-9-3 06:07 PM
標題: 感謝分享
似乎是個很有趣的主題( J9 o9 j9 g3 J3 C

- Y; d7 r. g) t+ d下載來研究看看
0 W1 ?- F9 t; V, z' ?
, m! A; h$ T2 D感謝無私分享
作者: yhc    時間: 2008-9-6 10:57 AM
想看看 k 大是如何解決這個問題
+ t. L. ?- w6 m0 i' N2 S感謝 K 大的分享 謝謝~
作者: sea1    時間: 2008-9-16 11:41 PM
请问前辈X = a x 2^n (a = 0.5~1)是怎么来的?
作者: sea1    時間: 2008-9-16 11:45 PM
这里要求X范围0.5~1,并且a也是0.5~1 。那么举个例子当n=3时,2^3=8  =>X=a*8   =>X  范围【0.5,8】,那么这里要问n是什么,怎么确定的?
作者: roc2007    時間: 2008-9-25 12:16 PM
好复杂啊∼∼∼∼∼∼∼∼∼
# ~) S" A! @; j& F怎么要用到级数呢?
作者: darrens    時間: 2008-9-25 04:42 PM
謝謝大大…- h: O$ e7 b: a( [
看到好東西了4 ?8 s" z/ ~; n7 V  R3 ?; Z% ?
我要去測試看看了
作者: jungswee    時間: 2008-10-7 12:59 PM
謝謝大大& i+ e% A) R, ?
學習一下  [7 r, {7 \2 C" ]6 w2 |" T) \
筆試有的用了: g. t$ X- S/ C" `- V# A' `
不過還是不太明白,A和X幹嘛要定個範圍呀
作者: kuannan    時間: 2008-11-18 10:29 AM
下載來研究看看8 V( |; T) A) }0 A
; y$ U4 O% n& q+ f: y, z
感謝 K 大的 無私分享
# `3 b7 S4 L+ }" G9 z
+ i  \' R0 c" \6 ]謝謝!!
作者: eric0920    時間: 2008-12-21 02:52 PM
感謝分享阿~ 對初學者真是一大福音泰勒級數展開 =>great methodrickfu:感謝分享阿~ 對初學者真是一大福音泰勒級數展開 =>great methodrickfu:感謝分享阿~ 對初學者真是一大福音泰勒級數展開 =>great method
作者: anita66    時間: 2008-12-24 10:40 AM
感謝大大無私分享, 但是, 15 & 21樓的大大問的也是滿有道理的, 有其他大大能夠解釋一下嗎??3Q~
作者: lkbinbin    時間: 2008-12-26 06:47 PM
我现在做的是fpu中的除法器,先把大大的log程序收藏了,可能以后会用到,谢谢
作者: zanthia    時間: 2009-1-1 06:46 PM
如果沒有需要很精確. r, l9 e/ a( \0 \& {; J
我會用查表法
作者: saayairie    時間: 2009-1-13 05:17 PM
我也好想看∼∼∼∼
4 g* e" f( `# S/ W6 q4 }0 q3 e" w6 q$ ^2 A+ f7 O4 O
謝謝大大您的分享∼∼∼∼∼∼
作者: a0916463297    時間: 2009-3-18 12:12 AM
最近剛好做到類似的電路 0 D# e' [+ D- G# n" P" ~
我也想看∼
- v, C$ U! H# V9 W: J* l 謝謝大大您的分享
作者: oomusou    時間: 2009-4-23 03:52 PM
感謝
: q$ p8 |2 E# [; X3 u! X' M1 Y正需要! z& [' {* Z# v' d; B# J* L
你真是人太好啦& l+ H: i& B( X6 \* `$ ]

; a; s+ T2 O) X$ U  d我也好想看∼∼∼∼4 c" z8 }1 [% m2 z4 O
謝謝大大您的分享∼∼∼∼∼∼
作者: francislu    時間: 2009-4-30 12:27 AM
標題: 回復 1# 的帖子
感謝囉 這位大大的分享..4 X; Y% N& Z8 ~, w  u; ~

2 b+ q% F  c! o# ^- |5 B下載來看看..^^  學習學習~~~
作者: zero183642    時間: 2009-5-1 03:55 PM
取對數的問題,也是困擾了我好久,真的非常的感謝您!!
作者: abore2009    時間: 2009-5-4 04:29 PM
很想知道如何建構!5 `1 x" j, O: P* V/ W1 L( h. ~
不過感覺很難的樣子!
作者: yen0126    時間: 2009-5-27 04:41 PM
沒想過用RLT處理對數。看看K大的方法,研究一下吧!或許下次有機會用到。, p/ i  p" D" A+ H. {. b& W4 y) J
謝謝!
作者: yaojie    時間: 2009-6-18 11:38 PM
好想看看喔~~~; L) S) X) Y3 X4 \* t- ~" s9 I
謝謝分享...
* N! b  |, @+ i. d# U對數的做法沒想過耶
作者: abore2009    時間: 2009-6-19 09:51 PM
對此一電路有興趣
8 A7 X0 R' ~5 B4 Y感謝說明指引!
作者: liuyanruuestc    時間: 2009-7-20 08:32 AM
好不容易注册上了,希望下载来的可以用啊。
" g, u1 g+ B4 t& f4 d据我所知可用CORDIC算法,但是不知道咋用?
作者: eceking    時間: 2009-8-26 03:27 PM
謝謝分享喔!....................................
. m+ K& Q, S. z  i( I0 b下載來研究看看!
作者: jhshao    時間: 2009-9-1 06:37 PM
谢谢,谢谢,下来看看,学习一下
作者: jhshao    時間: 2009-9-1 06:38 PM
谢谢,谢谢,下来看看,学习一下
作者: jhshao    時間: 2009-9-1 06:38 PM
谢谢,谢谢,下来看看,学习一下
作者: jhshao    時間: 2009-9-1 06:38 PM
谢谢,谢谢,下来看看,学习一下
作者: ssshman    時間: 2009-9-15 03:25 PM
剛好在研究verilog
! i1 j4 l& w( \' ~2 Y* M7 }& }/ a9 Z對這個程式很有興趣
; U5 }2 N5 R6 G* Z6 |4 l感謝分享 謝謝
作者: tommy123    時間: 2009-9-24 02:19 PM
我也想來看看怎麼做的,不過我們公司是用VHDL的...
作者: milksoda    時間: 2009-10-11 05:58 PM
標題: cool

作者: milksoda    時間: 2009-10-12 09:12 AM
標題: 我想看我想看
我也想看看怎麼寫的@@ 8 c* M7 `$ d/ ~: n! w' }
...............................
作者: impishjoseph    時間: 2009-10-16 03:03 PM
最近在做電路~~剛好碰到此類問題~~謝謝分享~~~
作者: phil1801    時間: 2009-10-19 10:54 AM
使用泰勒展開式這個做法真的是很棒 , 要學一下 !!
作者: milksoda    時間: 2009-10-20 10:25 AM
標題: @@
雖然看完了...但還是看不太懂其原理= =................
作者: chiro1982    時間: 2009-10-27 11:40 PM
多謝大大的分享喔3 M& u4 `# `( m( L; T3 |' ^/ r. u
sin跟cos或arctan可以用cordic解log到是第一次聽到
作者: duffrose    時間: 2009-11-19 03:58 PM
嗯,這是好的近似方法,若能夠寫成參數化的模組,就更有彈性了。
作者: eecc    時間: 2010-1-26 05:19 PM
感謝你的程式   我也對如何取log感到好奇
作者: k369    時間: 2010-3-3 10:23 AM
That is it. I just need it. very good
作者: for_ofdmcdma    時間: 2010-3-5 06:09 PM
謝謝各位大師的分享, 小弟學到很多
作者: 13572468    時間: 2010-5-9 01:21 PM
thanks for your help very much
作者: ishoni    時間: 2010-5-11 12:14 AM
補充一下 我看了一下code 如果要合成電路的話 把第2個always裡面的log_conv_b3, log_conv_b5... 重複的地方換個名字會更好一點,要不然就是分三組 _bn, _cn, _rn 等等, 另外這個展式好像是以e為底的? 如果要換底數的話不知道原來的展式還是不適用?
作者: alita    時間: 2010-6-17 02:54 PM
用verilog撰寫取對數log電路 , 感謝無私分享..!
作者: bbbaabbb    時間: 2010-7-21 12:04 PM
很久以前也有這個疑惑3 w9 d! E# e7 [# y7 V- c" u* l
也忘了之前怎麼處理= ="
1 B3 u% N* p+ x& g9 i+ d/ h+ N再拿來看看- K4 W+ h1 P" ?* U
謝謝大大分享
作者: sunnyttl    時間: 2010-8-2 09:13 PM
下来参考参考。谢谢了。
作者: keyway    時間: 2010-8-15 08:20 AM
剛好在研究+ u2 Z0 e" w$ v% w% P$ [9 c
對這個程式很有興趣9 j1 E8 ?5 y7 |' S, g4 t# y
感謝分享 謝謝
作者: npicorange    時間: 2010-12-15 11:48 PM
先回覆,改天在來看code
6 t1 D$ }& J# E9 d% G7 C- m" P3 v6 G* A
我也有在做對數轉換器+ M5 e  s- y" \+ [# G
我是將數字表示成 N = 2^k(1+x)
0 }1 ^/ j0 H5 O% Q% [以Mitchell的方法為基礎進行改良2 X3 U) V& r* g

$ ~) `' _* X1 u1 D: W好久沒上來了XD+ s9 z. q$ @. H: J6 f
上一次來是在問FPGA方面的東西
/ z- M# x( U5 ^- f" C& M) f# N( ]因為要在上面實做對數轉換器
5 c9 C0 c9 T- B! }不過那時沒得到協助
, ^1 O5 ]( ^( @8 W) y幸好最後有成功做出來
作者: aei23    時間: 2010-12-28 09:19 AM
非常感謝分享~~~  
. T- q& T3 N4 r& v/ c. W% B: \4 u8 z2 ~, ~! p8 S* ]( s
Thanks.
作者: eobh1987    時間: 2011-1-13 08:15 PM
不過用了log 還得找個exp 這樣 才能做更多用途 感謝分寫
作者: lintonny    時間: 2011-8-9 09:31 PM
感謝大大無私的分享!!!!!!!
作者: lintonny    時間: 2011-8-9 09:36 PM
這個電路我想了好久還是沒寫出來
作者: jackhsiao    時間: 2011-12-8 08:37 AM
很好的方法!不過我的錢不夠,無法下載!
作者: lizard009    時間: 2012-2-2 09:42 AM
想看看 k 大是如何解決這個問題
- k. t* _  l, A# P: l) |- k% D" W: S+ O( a0 ^6 _2 H感謝 K 大的分享 謝謝~
作者: peter7612    時間: 2012-2-19 06:04 PM
剛好有在做這個研究,學習了
& p8 T" v  Z6 u. d. A謝謝!
作者: yu80742    時間: 2012-2-22 11:10 AM
感謝分享喔!
( l6 z1 ], M9 G7 W3 W對這個code 很有興趣,研究一下
作者: wet80126    時間: 2012-6-29 05:36 PM
感謝分享!!!感謝分享!!!感謝分享!!!感謝分享!!!
作者: 失眠    時間: 2012-10-10 08:53 PM
正好有面试用到这个,学习了
作者: key456456    時間: 2012-11-21 03:09 AM
專題也需要用到LOG3 ?4 |. t/ ^0 c/ E( l+ I3 S
想破頭都想不出來怎麼寫~
作者: shesinaasfs    時間: 2013-7-13 09:35 AM
標題: 这年头,沙发板凳都比较难抢!
这年头,沙发板凳都比较难抢!
作者: seraphim0512    時間: 2014-3-26 09:37 PM
謝謝前輩分享,不過我也對X = a x 2^n (a = 0.5~1)這一句很好奇,為什麼要有這個設定?
作者: sieg70    時間: 2015-4-9 04:15 PM
seraphim0512 發表於 2014-3-26 09:37 PM% n* R2 O( W5 z3 S$ i! w* D' d
**** 作者被禁止或刪除 內容自動屏蔽 ****
' v! P2 S; E- ^, q
其實是原作者一時手快, 原文應該寫成下面這樣比較好懂...
7 |7 s5 N# {. `( \# `! A
5 }7 A5 {% X: [+ h' UX 先寫成 X = a * 2^n,  (a = 0.5~1) 的form(形式) ,  將乘數 a 給normalized to 0.5~1的範圍. + V& _# _( j2 U$ ^2 b/ t
/ R0 b' |) T# \4 a* S$ y
這樣子 X = 2時,   a = 1, n = 1
$ Z. l8 O- o8 y- ^X = 6 時, x= 0.75, n = 3( q2 T2 o3 b# a" m. j! ]3 l
# t, g/ W8 Y3 q- \- N9 U9 p
原因是 a 介於 0.5~1時, 它的小數表示法會是 0.1xxx (2進位) 對整個表達空間的使用會比較好 (不會浪費太多bit).
! [2 W) Z+ o, g3 a7 {  }0 }/ [7 t/ F6 M) j* w, d+ [, A
至於用泰勒展開式, 是工程計算常用的方法, 因為.... 它能有效的控制到精度誤差 (就是收斂, 到第幾項能收斂到多少, 是可以確定的), 又很萬用
5 n. D% Q- s; _- v5 s- D, ^所以在數值計算上, 泰勒展開式很常見到. 但不見得是最好的解, 有時候看場合會改用查表法, cordic...7 ^- ?! w# x. d1 g" T3 ~
! \. L5 l8 A8 S. M
數學真的很重要! (雖然我都忘光了 haha)0 J: u7 W5 u4 Z- x

$ T( Q( k( ~1 H( G) J
作者: dawsaf0079    時間: 2018-3-14 08:27 PM
不錯!不錯喔!" f" Y) w" E7 c; E4 g
來玩玩看
作者: 林阿呆呆    時間: 2021-7-30 08:14 AM
感謝分享 感謝分享  感謝分享
作者: kuodemon    時間: 2021-12-17 04:54 PM
最近需要這個取對數的方式.感謝提供參考!!
& U' s7 c: R, a; u! V$ _
作者: Briangd    時間: 2022-1-14 10:39 AM
感謝您的程式 也對log的verilog寫法有興趣
作者: qqwert    時間: 2024-1-16 05:55 PM
剛好有在做這個研究,感謝大大無私的分享!




歡迎光臨 Chip123 科技應用創新平台 (http://www.chip123.com.tw/) Powered by Discuz! X3.2