(1.6)--6Verilog条件语句可编程逻辑器件及应用.pdfVIP

(1.6)--6Verilog条件语句可编程逻辑器件及应用.pdf

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

1文档简介

本文将介绍VerilogHDL中的条件语句和多路分支语句,这些语句与C语言

有些类似,比较容易理解,在学习的过程中需要有意识地把条件语句与电路的硬

件结构和测试联系起来,深刻理解语句的物理意义。

2条件语句(if-else语句)

条件语句时用来判断所给定的条件是否满足,根据判断的结果(真或假)决

定执行给出的两种操作之一。在VerilogHDL中提供了三种形式的条件语句:

格式一:if(condition)statement;

格式二:if(condition)statement1;

elsestatement2;

格式三:if(condition1)statement1;

elseif(condition2)statement2;

elseif(condition3)statement3;

……

elsestatementn;

下面对条件语句进行一些简单的说明。

1、三种形式的条件语句中在if后面都有条件表达式,一般为逻辑表达式或

关系表达式。系统对表达式的值进行判断,若为0、x或z,都按照“假”来处理;

若为1,则按照“真”来处理。

2、在if、elseif或else后面可以包含一条内嵌的操作语句,也可以包含多个

操作语句;如果有多个操作语句的话,需要用begin和end这两个关键字将语句

包含起来成为一个复合块语句。

例如:if(ab)beginout1=in1;

out2=in2;

end

3、允许一定形式的表达式简写方式。

例如:if(expression)等同于if(expression==1)

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

4、条件语句可以嵌套,即在if语句中可以包含一个或者多个if语句。应当

注意if与else的配对关系,else总是与它上面最近的未配对的if配对。为了程序

的可读性,可以添加begin…end语句块。

下面是利用条件语句的嵌套完成四选一的多路选择器的例子。

5、条件语句的执行过程隐含优先级。首先判断if语句后面的条件是否成立,

若成立,则执行if后面的操作语句,然后整个条件语句结束;若if语句后面的条

件不成立,则继续判断elseif后面的条件,若成立则执行elseif后面的操作语句,

然后整个条件语句结束;……依此类推。

3多路分支语句

多路分支语句用于多分支选择,常常用于译码功能和有限状态机的描述,以

及微处理器中的指令译码。多路分支语句的一般形式如下:

case(expression)

value1:statement1;

value2:statement2;

……

valuen:statementn;

default:statement;

endcase

下面对多路分支语句进行一些简单的说明。

1、在case语句后面的表达式称为控制表达式,case分支项中的表达式或值

称为分支表达式。控制表达式通常表示为控制信号的某些位,分支表达式则用这

些控制信号的具体状态值来表示,因此分支表达式又可以称为常量表达式。

2、当控制表达式的值与分支表达式的值相等时,就执行分支表达式后面的

语句。如果所有的分支表达式的值都没有与控制表达式的值相匹配,就执行

default后面的语句。

3、每一个case分项的分支表达式的值必须互不相同,且控制表达式的值与

分支表达式的值是按位做全等比较的。下面是具体的例子。

另外,多路分支语句有两种扩展的语句,包括:

casez语句:忽略表达式中的高阻态值;

casex语句:忽略表达式中的高阻态值和不定态值。

4条件语句使用不当的情况

在VerilogHDL设计中,容易出现的一个通病是由于对语句理解不全面,使

用不准确,从而生成了并不想要的锁存器的情况。如下面所示:

文档评论(0)

158****6446 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档