这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 嵌入式开发 » 软件与操作系统 » case语句和if 语句有什么区别吗?

共12条 1/2 1 2 跳转至

case语句和if 语句有什么区别吗?

助工
2007-10-22 20:25:09     打赏

process(row_t,col,he)
begin
 he<=col&row_t;
  case he is
   when "0111101111"=>bcd_8_t<="00000001"; --01  
   when "1011101111"=>bcd_8_t<="00000010"; --02 
   when "1101101111"=>bcd_8_T<="00000011"; --03
   when "1110101111"=>bcd_8_T<="00000100"; --04
   when "1111001111"=>bcd_8_T<="00000101"; --05
  end case;
end process;

这段程序用if语句写的话,编译就会报错,为什么呢?

process(row_t,col,he)
begin
 he<=col&row_t;
   if he= "0111101111" then  bcd_8_t<="00000001"; --01  
   elsif  he= "1011101111" then  bcd_8_t<="00000010"; --02  
   elsif   he= "1101101111"   then  bcd_8_T<="00000011"; --03
   elsif   he= "1110101111"    then bcd_8_T<="00000100"; --04
   elsif   he= "1111001111"    then bcd_8_T<="00000101"; --05
  end if;

end process;




关键词: 语句     什么     区别    

助工
2007-10-23 10:21:02     打赏
2楼

应该是有区别的
具体的已经不记得拉


菜鸟
2007-11-11 13:23:15     打赏
3楼

综合效果不一样。
if是有优先级的mux,而case是没有优先级的mux。


工程师
2007-11-15 12:47:17     打赏
4楼
是有区别的,在应用中就能体会到啊!

助工
2007-11-16 14:39:05     打赏
5楼
if……else 与case不同,前者有优先级之分,而case是平行的。在建立优先级结构时会消耗大量的组合逻辑,因此能用case尽量用case。
不过现在有些综合器会自动把if……else综合成平行结构,效果和case一样

工程师
2008-01-01 12:45:00     打赏
6楼

用 CASE的效率更高一些,尽量避免IF ELSE


菜鸟
2008-01-04 11:42:44     打赏
7楼
if else 有优先级
case 没有
if else效率相比之下低于case

菜鸟
2008-01-10 11:46:02     打赏
8楼

  五楼正解


高工
2022-08-01 23:00:11     打赏
9楼

谢谢分享


专家
2022-08-13 13:32:45     打赏
10楼

  五楼正解


共12条 1/2 1 2 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]