勇敢的芯伴你玩转Altera FPGA连载32:可综合的语法子集3 特权同学,版权所有 配套例程和更多资料下载链接: http://pan.baidu.com/s/1i5LMUUD 多语句定义:begin…end。 通俗的说,它就是C语言里的 “{ }”,用于单个语法的多个语句定义。其使用示例如下: // 含有命名的begin语句 begin : <块名> // 可选申明部分 // 具体逻辑 end // 基本的begin语句 begin // 可选申明部分 // 具体逻辑 end 比较判断:if…else, case…default…endcase。 判断语法if…else及case语句是最常用的功能语法,其基本的使用示例如下: // if判断语句 if(<判断条件>) begin // 具体逻辑 end // if…else判断语句 if(<判断条件>) begin // 具体逻辑1 end else begin // 具体逻辑2 end // if…else if…else判断语句 if(<判断条件1>) begin // 具体逻辑1 end else if(<判断条件2>) begin // 具体逻辑2 end else begin // 具体逻辑3 end // case语句 case(<判断变量>) <取值1>: <具体逻辑1> <取值2>: <具体逻辑2> <取值3>: <具体逻辑3> default: <具体逻辑4> endcase 循环语句:for。 用的也比较少,但也会在一些特定的设计中使用它。其示例如下: // for语句 for(<变量名> = <初值>; <判断表达式>; <变量名> = <新值>) begin // 具体逻辑 end 任务定义:task…endtask。 Task更像是C语言中的子函数,task中可以有input、output和inout端口作为出入口参数,它可以用于实现一个时序控制。task没有返回值,因此不可以用在表达式中。其基本用法如下: task <task命名>; // 可选申明部分,如本地变量申明 begin // 具体逻辑 end endtask
|