Verilog基础学习—条件语句

条件语句

1.	条件语句分为两种:if-else语句和case语句
2.	特点:顺序语句,应放在“always”块内使用

if-else语句

1.	判定所给的条件是否满足,根据判定的结果(真或假)决定执行给出的两种操作之一。
2.	if-else语句的形式:(对于每个if-else语句,他只有两个分支,if或者else)
	(1)其中“表达式”为逻辑表达式或关系表达式,或一位的变量;
	(2)若表达式的值为0、或z,则判定的结果为“假”;若为1,则结果为“真”。(默认只判定“1”为真,其余均为假);	
	(3)语句可为单句,也可为多句;多句时一定要用“begin_end”语句括起来,形成一个复合块语句。
3.	格式:
	(1)方式1:
		if(表达式) 语句1;//如果表达式成立,则执行语句1,如果不成立,则保持原状
	(2)方式2:
		if(表达式1) 语句1;
		else		语句2;
	(3)方式3:(使用与不同的条件,执行不同的语句)
		if(表达式1) 语句1; 
		else if(表达式2)语句2;
        … 
        else if(表达式n)语句n;
     注意:允许一定形式的表达式简写,比如:
     		if(a)等同于if(a==1)
     		if(!a)等同于if(a !=1)
4.	if语句可以进行嵌套
5.	当if与else的数目不一样的时候,注意要使用“begin_end”语句来确定if与else的对应关系
	例如:
		if(表达式1) 
			begin 
				if(表达式2)语句1; 
			end 
		else
			语句2;

case 语句(多分支语句)

1.	当敏感表达式取不同的值时, 执行不同的语句。
2.	形式:case、casez、casex
3.	case语句:
(1)格式:case(敏感表达式) 
			值1:语句1;
            值2:语句2;
            …
            值n:语句n;
            default: 语句n+1;
          endcase
(2)说明:
	a.	值1~值n必须互不相同
	b.	值1~值n的位宽必须相等,且与控制表达式的位宽相同
	c.	default项可有可无,在一个case语句中只能有一个default项
4.	casez和casex语句(case语句的两种变体)
	(1)case语句中,每一个分支表达式的每一位的值都是确定的,或者为1或者为0;
	(2)在casez语句中,当分支表达式中的某些位的值是高阻值z,那么就对这些位的比较不进行考虑;
	(3)在casex语句中,当分支表达式的某些位的值是高阻值z或者不定值x,那么就对这些位的比较不进行考虑。
	(4)在分支表达式中,可以用“?”来表示x或z

使用条件语句的注意事项

1.	在使用条件语句时,必须要列写出所有的条件分支,否则当条件不满足的时候,编译器会生成一个锁存器来保持原值;
2.	在组合电路的设计过程中,要避免生成隐含锁存器,所以要在if语句最后写上else,在case语句最后写上default来结束条件语句。
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值