在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 16022|回复: 9

[讨论] Verilog直接用除号“/”的讨论

[复制链接]
发表于 2014-3-1 18:53:09 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
目前设计里边需要用到除法,直接用除号“/”也能综合出来(我认为也能得到正确的值,因为以前读过的一个DS18b20温度传感器的程序都是用除号得到温度的十位个位十分位的),我的问题是:

1.那么用除号“/”就意味着在一个时钟周期内可以得到商吗?


2.用除号“/”和用除法模块lpm_divider是一样的吗?因为我看到两者最后都是调用了扩展名为tdf的LPM_DIVIDE文件。

3.如果不考虑面积,是否可以直接用除号“/”而不用自己写一个数个周期才能出结果的除法算法。

大神留步!!
发表于 2014-3-2 00:54:01 | 显示全部楼层
这里的除号只是语法中的,无法生成实际电路。
 楼主| 发表于 2014-3-2 08:26:09 | 显示全部楼层
回复 2# buley

版主你好,可以详细解释下吗?看过网上AD的代码也是用了除号的,若不能得到实际电路,怎么电压测量感觉是正确的呢?
发表于 2014-3-2 10:32:19 | 显示全部楼层
回复 3# fkl523


    因为FPGA除非你用到dsp的核,否则你用逻辑生成除法运算是非常困难的。你那个除法符号仅仅可能只是用于仿真语言编写或者参数设置需要,这只是我个人经验,不一定全对,你可以去验证一下是不是这样。或者你把你说的A/D的代码编译布线看看是一个什么样的电路,用到了哪些逻辑资源,有没有用到DSP
发表于 2014-3-2 20:38:10 | 显示全部楼层
刚刚使用quartus13.1上测试了基于cyclone5的lpm_divide IP,没有使用 DSP,那么和“/”是一样的。
A1
一个周期内得到结果,需要看时钟频率、和输入数据的宽度,对于温度采集这类慢速ADC来说,估计可以在单周期内得到结果,但是不使用LUT后级的寄存器,也是浪费掉了。使用多级流水会提升速度的。
A2
应该一样的,“/”没有试了。LZ可以试试
A3
应该可以
发表于 2014-3-2 22:34:42 | 显示全部楼层
不能得到除法
发表于 2014-3-2 22:37:13 | 显示全部楼层
不能哦,亲
发表于 2014-3-2 22:38:07 | 显示全部楼层
好东西
发表于 2014-3-3 10:10:13 | 显示全部楼层
回复 1# fkl523

1.是的~


2.3.

我以前用quartus 直接写”/” 合成时会直接去呼叫一个divider模块,

所以答案也是
肯定的,这部份与ASIC一样,要看library

没有提供”/”语法的模块,所以直接写”/”貌似兼容性不太好,有错

还请各位先进指正~



发表于 2014-3-3 11:01:35 | 显示全部楼层
1.不是一个周期,看你综合工具最后除法器的实现。你把它当组合逻辑延迟就行,位数越大,delay越大。而且面积会非常大,一般aisc不会这么做的,不考虑面积,timing也不紧,可以这么用。
2 FPGA直接用/就行了,工具会调用合理的lpm,除非你有更好的除法器实现方法。
3跟2一样,自己写数个周期除法器,fmax可能会提高。总时间不好说,看你的算法了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /2 下一条


小黑屋| 手机版| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-11-25 16:33 , Processed in 0.021822 second(s), 8 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表