- 1、本文档共104页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
verilog 编程语句
6.5 条件语句;6.5.1 if-else条件语句 ;例如下面这条条件分支语句:
if(enable == 1) out = data_in;
在执行时就会根据条件表达式“enable==1”是否成立来决定
是否执行赋值语句“out=data_in;”:如果enable取值为
“1”,则赋值语句得到执行,输出信号out得到data的值;如
果enable的值为“0”、“x”或“z”(取值不为“1”),则不
执行指定的赋值语句,输出信号out保持原有值不变。
(2) 使用形式2:
if ( 条件表达式 ) 语句或语句块1
else 语句或语句块2
这种形式的条件分支语句将以如下方式得到执行:
? 如果指定的“条件表达式”成立(也就是这个条件
表达式的逻辑值为“1”),则执行条件分支语句第一行所指
定的“语句或语句块1”,然后结束条件分支语句的执行。
? 如果“条件表达式”不成立,则执行由条件分支语
句内第二行的else项所指定的“语句或语句块2”,然后结
束条件分支语句的执行。;一条带有else选项的if语句映射到硬件上,通常形成的是一个多路选择器(MUX)
例如,下面这条条件分支语句:
if(select==1) out=input1;
else out=input0;
在执行时会根据条件表达式“select==1”是否成立来
决定执行两条过程赋值语句中的哪一条。如果select
取值为“1”,则第一行if这一项所指定的赋值语句
“out=input1;”得到执行,输出信号out得到input1的
取值;如果select取值不为“1”(取值为“0”、“x”或
“z”),则执行第二行else项所指定的赋值语句
“out=input0;”,输出信号out将得到input0的取值。
; (3) 使用形式3:
if (条件表达式1) 语句或语句块1
else if (条件表达式2) 语句或语句块2
……
else if (条件表达式n) 语句或语句块n
else ? 语句或语句块n+1
在这种使用形式中一共出现了n+1个条件分支项,其中每个分支项都指定了当该分支项的条件满足时所要执行的操作。; 在执行这种形式的if-else条件分支语句时,将按照各分支项的排列顺序对各个条件表达式是否成立作出判断,当遇到某一项的条件表达式成立时,就执行这一项所指定的“语句或语句块”。比如假设“条件表达式m”成立,那么就执行“语句或语句块m”。
如果所有的条件表达式都不成立,则执行最后的else项(这一项没有给出条件表达式)所指定的操作(语句或语句块n+1)。
这种形式的if-else条件分支语句实现了一种多路分支选择控制。
比如在例6-21给出的模块中就使用了这种形式的if-else条件分支语句。; 【例6-21】第三种形式的if-else条件分支语句。
module sel_from_three(q,sela,selb,a,b,c );
input sela,selb,a,b,c;
output q;
reg q;
always @(sela or selb or a or b or c)
begin
if (sela) q = a;
else if (selb) q = b;
else q = c;
end
endmodule; 在例6-21模块内的if-else条件分支语句中出现了三个分支项,这个条件分支语句在执行时将依次对控制信号sela和selb的取值是否为“1”进行判断:
(1) 如果sela的取值为1,则第一个分支项的条件表达式“(sela)”成立,因而第一个分支项所指定的赋值操作“q=a;”将得到执行。
(2) 如果sela的取值不为1,而selb的取值为1,则第二个分支项的条件表达式“(selb)”成立,因而第二个分支项所指定的赋值操作“q=b;”将得到执行。
(3) 如果sela和selb的取值都不为1,则“(sela)”和“(selb)”这两个条件表达式都不成立,这时else分支项所指定的赋值操作“q=c;”将得到执行。
(4) 如果sela和selb的取值都是1,那么第一个条件表达式“(sela)”以及第二个条件表达式“(selb)”都是成立的。在这种情形下,由于首先被检测为成立的条件表达式是第一个分支项的条件表达式“(sela)”,所以此时将执行第一分支项指定的赋值操作q=a;”。 ;图6.11 例6-21所示模块描述的电路功能; 因此,例6-21所示模块描述的是图6.11所示的硬件电路功能。由上例条件表达式取值的第四种情况
您可能关注的文档
- c语言教程英文版讲义(六)1.pdf
- c语言教程英文版讲义(四).pdf
- c语言模拟试卷及答案.doc
- C语言画图及小动画制作(graphisc.h函数入门).pdf
- c语言考试资料.doc
- DB2 SQL字符串函数.pdf
- DbHelper数据操作类.doc
- DCS系统演示.ppt
- c语言教程英文版讲义(六).pdf
- DDR SDRAM工作机制简介.doc
- 中国国家标准 GB/T 45390-2025动力锂电池生产设备通信接口要求.pdf
- 中国国家标准 GB/T 45393.2-2025信息技术 建筑信息模型(BIM)软件 第2部分:参数化模型.pdf
- GB/T 45393.2-2025信息技术 建筑信息模型(BIM)软件 第2部分:参数化模型.pdf
- 《GB/T 45393.2-2025信息技术 建筑信息模型(BIM)软件 第2部分:参数化模型》.pdf
- GB/T 10184-2025电站锅炉性能试验规程.pdf
- 海尔智家股份有限公司海外监管公告 - 海尔智家股份有限公司2024年度环境、社会及管治报告.pdf
- 上海复旦张江生物医药股份有限公司2024 环境、社会及管治报告.pdf
- 中国邮政储蓄银行股份有限公司中国邮政储蓄银行2024年可持续发展报告.pdf
- 豫园股份:2024年环境、社会及管治(ESG)报告.pdf
- 南京熊猫电子股份有限公司海外监管公告 - 2024年度环境、社会及治理(ESG)报告.pdf
最近下载
- 骨科无菌术 手术区域的准备.pptx
- 《海岸带生态系统现状调查与评估技术导则 第7部分:牡蛎礁》(报批稿).pdf VIP
- GB4943-2001 信息技术设备 安全 第1部分:通用要求.pdf
- 基于舞弊风险因子理论的柏堡龙财务舞弊案例研究.pdf
- 《海岸带生态系统现状调查与评估技术导则 第5部分:珊瑚礁》(报批稿).pdf VIP
- 建筑施工安全风险辨识和分级管控指南、台账、企业安全风险分级管控清单.docx VIP
- 2025年施工员考试题库及完整答案【名师系列】.docx VIP
- 2025年施工员考试题库附完整答案【夺冠】.docx VIP
- 2025年白蚁防治员岗位职业技能资格知识考试题库(附含答案).docx
- 国际护士节护理操作技能竞赛理论题库.docx
文档评论(0)