if条件语句

if语句是用来判定所给定的条件是否满足,根据判定的结果(真或假)决定执行给出的两种操作之一。Verilog HDL语言提供了3种形式的if语句。

 

第一种:if(表达式)语句。

if(a>b)

        out1 = int 1;

第二种:if(表达式)。

if(表达式)

                语句1

        else

                语句2

例如:

if(a>b)

        out1 = int1;

else

        out1 = int2;

第三种:

if(表达式1)

        语句1;

else        if(表达式2)        语句2;

else        if(表达式3)        语句3{\color{Red} \displaystyle \begin{matrix} & \end{matrix}};

                        .

                        .

                        .

else        if(表达式m)        语句m;

else                                  语句n;

条件语句必须在过程块语句中使用。所谓过程块语句是指由initial和always语句引导的执行语句集合。除这两种块语句引导的begin end块中可以编写条件语句外,模块的其他地方都不能编写。

注:1.三种形式的if语句,if后面都有“表达式”,一般为逻辑表达式或关系表达式,系统对表达式的值进行判断,若为0,x,z,按“假”处理,若为1,按“真”处理,执行指定的语句。

后两种,即第2和第3种形式的if语句,在每个else前面有一个分号,整个语句结束时有一个分号。

例如:

always@(some_event)

        begin

        if(a>b)        out1 = int1;

        else                if(a==b)        out1 = int2;

        else                                     out1 = int3;

分号是Verilog HDL语句中不可缺少的部分,是if语句中嵌套语句所要求的。

如果没有分号,就会出现语法错误。else语句不能单独使用,必须搭配if语句,必须是if语句的一部分。

2.允许一定形式的表达式简写形式:

if(expression)         等同于        if(expression = = 1)

if(! expression)       等同于        if(expression ! = 1)

你可能感兴趣的:(Verilog,学习,其他)