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

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

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 6684|回复: 13

[讨论] 完整case情况下的default该怎么写?

[复制链接]
发表于 2011-3-3 17:49:00 | 显示全部楼层 |阅读模式

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

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

x
本帖最后由 kexin74 于 2011-3-3 21:47 编辑

举个简单的例子:
always@(a)
  case(a)
    1'b0: b=4'ha;
    1'b1: b=4'hb;
    default:
  endcase

此处default有两种写法
1. default: b=4'hx;
2. default: b=4'ha;

请问这种情况怎么写好,综合出来有什么区别,特别是在状态机中,在状态编码是完全使用的情况下(此处a=0和a=1的情况都有了),default是state<=IDLE,还是state<=4'bx;

这两种情况会有什么区别,综合出来的电路有什么区别?

谢谢
 楼主| 发表于 2011-3-3 21:48:31 | 显示全部楼层
没人愿意帮助解释一下吗?
发表于 2011-3-3 21:55:37 | 显示全部楼层
x比较好吧……
虽然综合出来一样,但rtl仿真阶段,default是x更有利于x的传播。
俺也是新手,欢迎指正~
发表于 2011-3-4 08:53:37 | 显示全部楼层

1'b1:
改成
default:
-----------
完整case时综合结果一样,但有利于代码覆盖率检查。
 楼主| 发表于 2011-3-4 09:06:08 | 显示全部楼层
6楼的意见比较好,如果是完全编码的case的话,额外的default在做代码覆盖率检查时是不覆盖的,但是不是这种写法是推荐写法?状态机中也一样吗?
发表于 2011-3-4 10:11:21 | 显示全部楼层
如果是完整的case没有必要写default,虽然不会有什么问题,但是增加了工作量同时会降低代码覆盖率。
而且,以楼主的例子来说,当a = x的时候,b也是x,增加一条default: b= 4'hx没有任何意义。
发表于 2011-3-4 12:46:03 | 显示全部楼层
6楼的想法不错。。。。。。
发表于 2011-3-4 14:22:37 | 显示全部楼层
写成X完全是为了方便仿真阶段出错时易于发现,对于综合应该没有区别。
发表于 2011-3-4 15:34:29 | 显示全部楼层
举个简单的例子
发表于 2011-3-6 12:39:23 | 显示全部楼层
xuexile!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

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

GMT+8, 2024-11-5 19:30 , Processed in 0.030541 second(s), 8 queries , Gzip On, Redis On.

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