if和case用法比较

      Case语句时并发语句,需要采用并行逻辑来实现,不存在逻辑的优先级别。If……else语句时多级嵌套语句,通常采用逻辑的串联来实现,该结构具有优先级别问题。这两种结构分别如下图所示:

   Always @ (a or b or c or d or s[1:0])

   Begin

     Case(s)

      2’b00: out = a;

      2’b01: out = b;

      2’b10: out = c;

      2’b11: out = d;

    Default: out = a;

end

 

Always @ (a or b or c or d or s[1:0])

Begin

  If(s==2’b00)

   Out = a;

  Else if(s==2’b01)

   Out = b;

  Else if(s=2’b10)

   Out = c;

  Else if(s==2’b11)

   Out = d;

  Else

   Out = a;

End

 

      尽管这两种结构可以完成同样的功能,但逻辑实现的结构和效果却不同。Case速度快,但器件的资源利用率却不高。If…..else速度慢,但是逻辑资源利用率高。

转载于:https://www.cnblogs.com/xuzhi-fpga/p/3522442.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值