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

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

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
12
返回列表 发新帖
楼主: larlyii

[求助] 关于多位的数据选择器

[复制链接]
发表于 2011-5-31 09:17:31 | 显示全部楼层
the difference between 'if else' and ' case'
发表于 2011-5-31 17:31:58 | 显示全部楼层
你这个是应用于FPGA的。就这个流程来说,我的分析如下(不一定完全正确,仅供参考)
1. 这两种写法都是完全合法的,实际上综合结果很明显会不一样的,这个是肯定的。if else的结构延迟会大一些的,毕竟是优先级编码。
2. 最后你看到的pin-to-pin延迟一样。很可能是因为FPGA综合后的优化动作,现在综合的工具也不是傻子,很智能的,它会根据你写的时序约束要求,优化你写的代码。将map之后的网表(你可以参考technical view,虽然不完全准确)优化到你时序约束的样子。所以,你看到的延迟是优化之后的。也许综合器(如quartus)帮你做了综合优化。

最后,需要强调的是,为了尽量减少综合器优化的代价,还是利用case来降低系统延迟,提高设计性能。这个是比较好的设计习惯。

综合器优化的代价有:
1. 综合和后端时间比较长,特别是时序约束比较紧(速度快)。
2. 综合器优化有些就事论事,或者说,比较笨,它只会根据自己的规则来做。而不会具体的设计具体分析。
 楼主| 发表于 2011-5-31 19:00:18 | 显示全部楼层
回复 10# jackertja


    谢谢你的回复哈!现在大概明白了!
 楼主| 发表于 2011-5-31 19:01:40 | 显示全部楼层
回复 12# acgoal


    谢谢你的回复哈!现在大概明白了!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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


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

GMT+8, 2025-1-3 23:19 , Processed in 0.208941 second(s), 6 queries , Gzip On, Redis On.

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