[原创] NIOS浮点数运算性能估计 FPGA(cyclone4)开发板心得第04贴

astwyg   2013-6-18 18:52 楼主
这个事情应该算是有点意义吧.

基本上用默认配置搭建的IP核,NIOS选择的s.片上RAM 4k.晶振40M,无PLL.用NIOS来做浮点数乘除法,结果是:
1分钟运行了大约41M次.即目前配置下,浮点数乘除法平均速度是:1.46us/次

这个数据很熟吧 和cortex M3水平基本持平.

给一个参考比较:
CM3在IAR、50MHz下的浮点运算速度(理论平均值,不考虑等待):
加:1.2us
减:1.2us
乘:1.0us
除:1.6us
C8051在KEIL、50MHz下的浮点运算速度(理论平均值,不考虑等待):
加:3.46us
减:3.58us
乘:4.5us
除:17.54us

目前在想提速,怎么在系统中加入一个乘法model呢?Qsys(就是SOPC builder)不知道有没有现成的.还是需要自己用verilog写一个.还需要和NIOS接口,估计..会很复杂.

不过.对于FPGA的运算能力还是很期待的.

上个图:
浮点数.jpg

回复评论 (5)

注意有二:
1.必须现在quartus中下载.sof 否则在NIOS IDE中下载的时候会找不到cable,就是target中报错但是刷新不出来JTAG连接.
2. alt_printf       Only supports %s, %x, and %c ( < 1 Kbyte)
这里好像在编译的时候会自动补上一个结束符.所以只用到5字节但是必须声明6个,否则会报错.
点赞  2013-6-18 23:31
谢谢分享
加油!在电子行业默默贡献自己的力量!:)
点赞  2013-6-19 10:10

4楼 kdy 

记得好像是NIOS生成是就已经选用了硬件乘法器。请看“软核也疯狂1—图解NIOS建立”的第2章,第11节。默认选择硬件乘法器,可以选择硬件除法器。
不过这样测试可能有些不准确,包含了软件指令的开销时间,这是NIOS的弱项,呵呵 稍后会用HDL模拟一个准确的乘法器试试时间的,感谢楼主的努力了
Net:Wxeda.taobao.com QQ:1035868547 Blog:https://home.eeworld.com.cn/space-uid-390804.html
点赞  2013-6-22 00:31
多谢分享哈 楼主继续加油吧
点赞  2013-7-25 17:56
多谢分享哈 楼主继续加油吧
点赞  2013-7-25 17:57
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复