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

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

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 5830|回复: 7

[求助] 求助下述代码的综合结果和资源消耗情况

[复制链接]
发表于 2012-9-25 00:00:09 | 显示全部楼层 |阅读模式

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

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

x
(1)
assign c=(sel)?a:b;
(2)
always @(sel or a or b)
begin
  if(sel)
c = a;
  else
c = b;
end

这两端代码,我用quartus综合出来的结果都是一个选择器,但是我私以为,这样两种风格的代码,我们都会偏向使用第一种,除了书写方便外,是否还有别的优势?如资源分配等?
发表于 2012-9-25 09:21:26 | 显示全部楼层
一切以最后综合出来的结果为准,都是选择器就没有区别
发表于 2012-9-25 21:18:41 | 显示全部楼层
第一种好。
if else的逻辑是:只要条件不符合,就走else路。
试想如果上级电路出错,出现sel=1'bx的时候,那么代码(2)的c就会走else路=b。
而? :的运行结果跟实际电路更接近:连控制端sel都是不定值了,那c毫无疑问地应该是x,除非a=b。
总之,代码(1)在综合结果、资源利用等方面和(2)是完全一致的,但(1)的前仿结果跟后仿、跟实际电路更接近。
发表于 2012-9-27 10:58:00 | 显示全部楼层
学习了!!!
发表于 2012-9-27 11:56:08 | 显示全部楼层
学习了!!!
发表于 2012-9-28 13:50:13 | 显示全部楼层
学习学习。谢谢楼主
发表于 2012-10-1 09:46:24 | 显示全部楼层
编码规范严格的企业里,是规定要用第二种的,
可靠性比第一种高,不容易写错
发表于 2012-10-1 13:19:07 | 显示全部楼层
似乎只要综合出来的结果一样,对电路应该没什么区别吧
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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


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

GMT+8, 2024-12-23 10:44 , Processed in 0.024551 second(s), 9 queries , Gzip On, Redis On.

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