- 杂志
 搜 索: 
 论坛 » EDA/IC设计 » case语句和if 语句有什么区别吗?
广告招商
版主: sunshine0606 , zhao3367
 发表新贴 
 发表回复 
 case语句和if 语句有什么区别吗?  发表于 2007-10-22 20:25:09 [您是本帖的第890位阅读者]     [1楼] 
呢称:skywonderful
加我为好友

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;


 
 RE: case语句和if 语句有什么区别吗?  发表于 2007-10-23 10:21:02 [2楼] 
呢称:b03212316
加我为好友

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


 
 RE: case语句和if 语句有什么区别吗?  发表于 2007-11-11 13:23:15 [3楼] 
呢称:steed
加我为好友

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


 
 RE: case语句和if 语句有什么区别吗?  发表于 2007-11-15 12:47:17 [4楼] 
呢称:l0p0c
加我为好友
是有区别的,在应用中就能体会到啊!
电子学习,从EEPW开始!
 
 RE: case语句和if 语句有什么区别吗?  发表于 2007-11-16 14:39:05 [5楼] 
呢称:两毛
加我为好友
if……else 与case不同,前者有优先级之分,而case是平行的。在建立优先级结构时会消耗大量的组合逻辑,因此能用case尽量用case。
不过现在有些综合器会自动把if……else综合成平行结构,效果和case一样
 
 RE: case语句和if 语句有什么区别吗?  发表于 2008-01-01 12:45:00 [6楼] 
呢称:叮叮当当
加我为好友

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


 
 RE: case语句和if 语句有什么区别吗?  发表于 2008-01-04 11:42:44 [7楼] 
呢称:zhangfazhong
加我为好友
if else 有优先级
case 没有
if else效率相比之下低于case

 
 RE: case语句和if 语句有什么区别吗?  发表于 2008-01-10 11:46:02 [8楼] 
呢称:betten1983
加我为好友

  五楼正解


 
共8条 1/1 1   
   快速回复主题
  用户名 : 匿名不能发帖!请先 [ 登陆 ]
  标 题:
  内 容 :
 
EEPW元器件搜索  强力提供
关于我们 | 广告服务 | 企业会员服务 | 新手上路 | 联系我们 | 友情链接
《电子产品世界》杂志社 版权所有 北京东晓国际技术信息咨询有限公司
Copyright ©2002 ELECTRONIC ENGINEERING & PRODUCT WORLD. All rights reserved.
京ICP备060382号