1、if else:

(1)if(表达式)语句;

(2)if(表达式)

     语句一else语句二

(3)if(表达式1)

          语句一;else if(表达式2)  语句2;else if(表达式3)  语句3;else if(表达式4)  语句4;

#语句使用要点:

(1)条件语句必须在过程块中使用。所谓过程块语句是指由initial、always引导的执行语句集合。

        出了这两个语句块引导的begin end块中可以编写条件语句外,模块中的其他地方都不能编写。(2)if语句中的表达式一般为逻辑表达式或者关系表达式。系统对表达式的值进行判断;若为0,z,X;按照假处理;若为1按照真处理,执行指定的语句;(3)if(a)等价于if(a == 1);(4)if语句可以·嵌套·使用(5)end总是与离它最近的一份else配对。

如果if语句使用不当可能会综合出来意想不到的锁存器,具体请看下面例子:

在这里插入代码片
```always@(al or b)beginif(a)q <= d;end
上述的代码,只写出了a==1时q应该的取值,a==0时的情况并不知道在always块里面,如果在给定的条件下变量没有被赋值,这个变量将会保持原来的值,也就是说会生成一个锁存器。另外一种情况会生成意想不到的锁存器时当case语句中没有default语句时的情况。

3、case语句
语句格式:
case(表达式)分支表达式1:   语句1;分支表达式2:   语句2;分支表达式3:   语句3;分支表达式4:   语句4;分支表达式5:   语句5;default:            语句6;
endcase
使用注意事项:
(1)每一个分支表达式的值必须互不相同,否则就会出现问题,即对表达式的同一个值出现多种执行方案,产生矛盾;
(2)执行完一个case的分支语句之后跳出该case语句体结构中止此case语句的执行;
(3)case语句表达式的比较过程中的表达式值必须相同(位宽、数值)才能正确;例如:‘bx。‘bz与n‘bx,n‘bz比较,‘bx。‘bz默认计算机位宽,一般为32位,n不等于32时就会出现错误。4、casez:casez语句的分支表达式在与表达式比较时不考虑高阻值zcasex语句的分支表达式在与表达式比较时不考虑高阻值z  和不定值x    

verilog 中if....else语句以及case语句详细理解相关推荐

  1. (24)Verilog HDL条件语句:case语句

    (24)Verilog HDL条件语句:case语句 1.1 目录 1)目录 2)FPGA简介 3)Verilog HDL简介 4)Verilog HDL条件语句:case语句 5)结语 1.2 FP ...

  2. Verilog中可综合及不可综合语句概述

    Verilog中可综合及不可综合语句概述 2017-06-02 23:51 379人阅读 评论(0) 收藏 举报  分类: FPGA(4)  Verilog中可综合及不可综合语句概述 Verilog硬 ...

  3. switch语句和case语句的特性

    ** switch语句和case语句的特性 ** switch语句格式: switch(表达式) {case 常量值1:语句体1;break;case 常量值2:语句体2;break;...defau ...

  4. Verilog中if- else if语句和case语句用法:

    一.if语句: 1.两种情况 if(条件语句)begin-- end else begin-- end 2.多种情况 if(条件语句)begin-- end else if(条件语句)begin-- ...

  5. FPGA之道(35)Verilog中的并行与串行语句

    文章目录 前言 Verilog的并行语句 Verilog连续赋值语句 普通连续赋值语句 条件连续赋值语句 Verilog程序块语句 沿事件 纯组合always 纯时序always 具有同步复位的alw ...

  6. Verilog初级教程(15)Verilog中的阻塞与非阻塞语句

    文章目录 前言 正文 阻塞赋值 非阻塞赋值 往期回顾 参考资料以及推荐关注 前言 本文通过仿真的方式,形象的说明阻塞赋值以及非阻塞赋值的区别,希望和其他教程相辅相成,共同辅助理解. 正文 阻塞赋值 阻 ...

  7. php中的select case语句吗,VBS教程:VBScript 语句-Select Case 语句

    Select Case 语句 根据表达式的值执行几组语句之一. Select Case testexpression [Case expressionlist-n [statements-n]] . ...

  8. db2case语句_SQL中的IF ELSE(CASE语句的使用)

    大家对IF ELSE语句可能都很熟悉,它是用来对过程进行控制的.在SQL的世界中CASE语句语句有类似的效果.下面简单的介绍CASE语句的用法.考虑下面的情况,假设有个user表,定义如下: CREA ...

  9. shell之case和循环语句(case语句的格式与举例)(for循环,while循环until循环语句的详解和continue,break解释, 九九乘法口诀表 ,等腰三角形)

    文章目录 shell编程之case语句与循环语句(for,while) case多分支语句 case语句的实例 使用for循环语句 for语句实例 用循环语句输出1-10的数字的五种办法 计算偶数/奇 ...

最新文章

  1. 斯坦福DAWNBench:华为云ModelArts深度学习训练全球最快
  2. 【26】Python Iterator笔记
  3. imx6的kernel3.4.15启动流程
  4. 小贝拉机器人是朋友_报废机器人应该属于什么垃圾?《宝莱坞机器人2.0》给你答案...
  5. eureka 其它语言_SpringCloud之Eureka-Go语言中文社区
  6. SQL(一)- 数据库介绍与基础操作
  7. netbeans连接数据库_NetBeans Java EE技巧#1 –数据库中的实体类
  8. 用java单源最短路径问题_单源最短路径-贪心算法
  9. 键盘发展简史:144年独孤求败的QWERT键盘
  10. HTML5设备API 大批美女等你来摇一摇
  11. MFC对话框自适应大小(四舍五入)高精度版本
  12. Redis 介绍2——常见基本类型
  13. SaaS服务和个性化需求,就不能鱼和熊掌兼得吗?
  14. 新特汽车在重庆“复活”:打造新品牌“电动屋”,已获网约车牌照
  15. grep -A -B -C -a -c -n -v -i等
  16. 你可能不知道的iOS性能优化建议(来自前Apple工程师)
  17. 数字媒体技术作业题代码:matlab将三个灰度图片转化成一个彩色图片
  18. java自学练习网站推荐
  19. 怎么网络同步计算机的本地时间,VBA实现本地计算机时间与网服务器时间的同步...
  20. Ubuntu20安装erlang和rabbitmq

热门文章

  1. excel php 数字科学计数_excel单元格设置技巧:这些自定义格式,你用过哪些?
  2. 递归java程序_JAVA编程基础之递归结构
  3. 根据录入的计算公式计算_建筑行业公式大全(一)之“钢筋工程量计算”
  4. JavaScript数组的声明及使用(1)
  5. python文件管不了_Python文件_管道与模块编写
  6. Unity3D基础33:物理射线
  7. 牛客练习赛21:A. 黑妹的游戏I
  8. 一些数据链路层的题目
  9. javascript学习之数组的使用三 slice方法 splice方法
  10. Python中self的用法详解(链接传送)