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

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

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 2178|回复: 0

[原创] 关于操作符和调用ip核的区别

[复制链接]
发表于 2012-3-12 17:31:54 | 显示全部楼层 |阅读模式

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

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

x
前两天纠结于这个问题,在论坛上也发了求助帖,今天自己测试整理了一下,跟大家分享下,如果有不对的地方请提出指正,谢谢
关于使用操作符(+、-、*)和调用IP核的区别
1.        实现方式
综合器见到+、-、*之后,会到库里去map各种IP,找到一个最适合的design ware,然后映射到网表中,然后基于这个网表做逻辑优化,包括timing/power的优化;而调用IP核,直接调用的是厂商已经设计优化的网表;
2.        综合生成逻辑(实测)
对于0时钟延时的加减法,直接用操作符和调用IP核得到的逻辑电路是一样的,电路的延时以及占用的资源都一样。
对于0时钟延时的乘法器,直接调用操作符综合结果和综合约束有关,特别是DSP资源的利用率(Synthesis Options->-dsp_utilization_ratio),决定乘法器是使用DSP资源实现还是LUTS实现。在使用LUTS实现时,操作符方式使用的LUTS更多,延时较短;在使用DSP资源时,DSP资源一样,但是调用IP核的延时较短;
               LUTS               DSP资源
操作符(*)        占用资源多,延时短        资源一样,延时长
调用IP核        占用资源少,延时长        资源一样,延时短
3.        可控性
直接使用操作符不能控制时钟延时,不能做到较高的速度;调用IP核可以根据实际需要进行配置;

32位定点乘法实测结果(*):
             LUTS                            DSP资源
操作符(*)        1571个-5.999ns        4个-8.879ns
调用IP核        1062个-6.299ns        4个- 8.650ns

引用:综合器见到+ - * /等操作符之后,到库里去map各种IP,找到一个合适的designware后映射到网表中,然后基于这个网表做逻辑优化,包括timing/power,我记得coding style的文档中有个要求,尽量实例化design ware,其基本过程是找到design ware的列表和文档,研究哪个在gatecont/power,timing方面最合适你,然后再rtl中使用。
如果是小尺寸的运算,可以考虑直接写操作符,如果是大尺寸,尤其是* /运算,最好不要直接用操作符,毕竟综合器的mapping及优化过程不完全可控。
所谓design based on spec,not based on tool
作者:yinchyang
中国电子顶级开发网(bbs.eetop.cn)
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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


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

GMT+8, 2024-12-25 22:57 , Processed in 0.020148 second(s), 9 queries , Gzip On, Redis On.

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