字体:  

弱弱的问一下,这个表达式用verilog怎么写?

colinwang 发表于: 2006-10-05 23:35 来源: DICDER -- 博客专栏

cur=1e-7*(exp((v(vout)-v(n1))/((v(vph)-v(n2))/0.026/39))-1)

最新回复

5life at 2006-10-06 04:47:09
如果用数字硬件实现,确定好各个信号的表示方式,比如信号大小范围。以决定多少位来表示该信号。

常数除法首先简化,看时序要求,确定如何实现该常数除法。

如果有面积要求,必须考虑用多少个算术逻辑单元。
seraph1001 at 2006-10-06 21:15:39
乘除法用移位,01支持,但是大多还是用95
zhide1983 at 2006-10-17 10:16:20
主要问题在于除法和指数运算
除法如果是常数出发,可以使用除法器,但是硬件资源消耗比较大,2的幂次可以直接移位完成
指数运算就不可能有直接对应的硬件单元,想法有两个,
1.通过级数展开按照精度不同要求取前几项近似,转换成乘法和除法,运算量依然很大
2.如果是单变量指数运算,还不如直接采用查表方式(包括单变量复杂除法也一样),直接case出结果

QUOTE:

原帖由 colinwang 于 2006-10-5 11:35 PM 发表
cur=1e-7*(exp((v(vout)-v(n1))/((v(vph)-v(n2))/0.026/39))-1)
moniker at 2006-11-23 13:57:34
细化很重要的啊
hua
ic_qiand at 2006-11-27 09:13:10
而且好像除法器就算用Verilog语言出来的话,综合的时候还是有可能遇到问题的吧。新手。
zhide1983 at 2006-11-28 10:13:46
只要是可综合风格的代码,满足时序要求,就没有问题
lxxxr at 2006-12-25 23:12:03
怎么这么复杂,打死我也弄不出来呀。我是新手,顶一下!!
jerry.xia at 2006-12-26 16:50:49
有点难,的确是有点难吧?:)
mytest at 2006-12-29 17:24:23
关于除法和指数运算:网上应该有Free Core.
mprifle at 2007-1-17 16:11:55
楼主估计也没有考虑的那么深吧。要不给出个些参数,让坛子里面的达人赐教个代码,楼主再自己去仿真一下吧。