- 1、本文档共18页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第5讲VHDL的LOOP语句
第五讲 VHDL硬件描述语言_3 教学课时:2学时 教学内容: 1、VHDL语句(1学时) loop语句 next语句 exit语句 wait语句 null语句 2、实例演示(1学时) loop语句 LOOP语句就是循环语句,它可以使包含的一组顺序语句被循环执行,其执行的次数受迭代算法控制。在VHDL中常用来描述迭代电路的行为。 1.单个LOOP语句 单个LOOP语句的书写格式如下: [标号:] LOOP 顺序语句 END LOOP[标号]; 这种循环语句需引入其他控制语句(如EXIT)后才能确定,否则为无限循环。其中的标号是可选的。 例2:8位奇偶校验电路的WHILE_LOOP设计形式. 思考题1: 用VHDL设计一个8-3线优先编码器,输入信号为A、B、C、D、E、F、G、H,输出信号为out0,out1,out2.输入信号中A的优先级最低,依次类推,H的优先级最高。 方法1:使用条件赋值语句。 格式: 赋值目标=表达式1 when 赋值条件1 else 表达式2 when 赋值条件2 else ...... 表达式n; next语句 NEXT语句的书写格式为: NEXT[标号][WHEN 条件] 该语句主要用于LOOP语句内部的循环控制。当NEXT语句后不跟[标号],NEXT语句作用于当前最内层循环,即从LOOP语句的起始位置进入下一次循环。若NEXT语句不跟[WHEN 条件],NEXT语句立即无条件跳出本次循环,而进入下一次循环。 例:NEXT语句应用举例 ┇ WHILE data 1 LOOP data := data+1; NEXT WHEN data=3 - -条件成立而无标号,跳出循环 data := data* data; END LOOP; exit语句 EXIT语句的书写格式为: EXIT[标号][WHEN条件]; EXIT语句也是用来控制LOOP的内部循环,与NEXT语句不同的是EXIT语句跳向LOOP终点,结束LOOP语句;而NEXT语句是跳向LOOP语句的起始点,结束本次循环,开始下一次循环。当EXIT语句中含有标号时,表明跳到标号处继续执行。含[WHEN条件]时,如果条件为“真”,跳出LOOP语句;如果条件为“假”,则继续执行LOOP循环。 EXIT语句不含标号和条件时,表明无条件结束LOOP语句的执行,因此,它为程序需要处理保护、出错和警告状态,提供了一种快捷、简便的调试方法。 WAIT 语句 在进程中,当执行到WAIT等待语句时,运行程序将被挂起,暂停执行,直到条件满足,再重新开始执行进程中的程序。 WAIT语句有以下几种形式: (1)WAIT 这种形式的WAIT语句在关键字WAIT后面不带任何信息,是无限等待的情况。 (2)WAIT ON 信号表 这种形式的WAIT语句使进程暂停,直到敏感信号表中某个信号值发生变化,就将再次启动进程。 例如: process begin y=a and b; wait on a,b; end process; (3)wait until 条件 这种形式的wait语句使进程暂停,直到预期的条件为真,则进程脱离挂起状态,继续执行下面的语句。 (4)wait for 时间表达式 例如: wait for 40 ns; 当进程执行到该语句时,将等待40ns,经过40ns后,进程执行wait for的后继语句。 null(空操作)语句 空操作语句的格式为: null; null语句不完成任何操作,它可以作为跨入下一步执行语句的缓冲。 作业3姓名: 学号: 1、设计一个8位二进制数全加器的VHDL源程序。 提示:设端口引脚为 port(A,B:in integer range 0 to 255; --加数 cin:in integer range 0 to 1;--来自低位的进位 cout:out integer range 0 to 1;--向高位输出的进位 sum:out integer range 0 to 255 -- 和); 算法:设一个变量s用来存放A+B+cin,因此S的定义应为 s: integer range 0 to 511; 若s=255则sum为s,进位输出为0,否则sum为s-256 ,进位输出为1. 2、设计一个将1KHz的方波信号变为正、负周期相等的50Hz的方波信号的分频电路并仿真。 提示:端口引脚可定义为: port( clk_in:in st
您可能关注的文档
- 第5单元︰奇妙的动物世界.ppt
- 第5章Transact–SQL基本语句.ppt
- 第5章基本杆组–运动学仿真.ppt
- 第5章对付风险的方法.ppt
- 第5章–宾客入住.ppt
- 第4讲︰营销理论与实战––林枫.ppt
- 第5章市场问卷调查技术.ppt
- 第5章政党与社团一、市民社会的意义研究表明,民主政治.ppt
- 第5章现金出纳业.ppt
- 第5章现金出纳业务核算–副本.ppt
- 基于人工智能教育平台的移动应用开发,探讨跨平台兼容性影响因素及优化策略教学研究课题报告.docx
- 高中生物实验:城市热岛效应对城市生态系统服务功能的影响机制教学研究课题报告.docx
- 信息技术行业信息安全法律法规研究及政策建议教学研究课题报告.docx
- 人工智能视角下区域教育评价改革:利益相关者互动与政策支持研究教学研究课题报告.docx
- 6 《垃圾填埋场渗滤液处理与土地资源化利用研究》教学研究课题报告.docx
- 小学音乐与美术教师跨学科协作模式构建:人工智能技术助力教学创新教学研究课题报告.docx
- 《航空航天3D打印技术对航空器装配工艺的创新与效率提升》教学研究课题报告.docx
- 教育扶贫精准化策略研究:人工智能技术在区域教育中的应用与创新教学研究课题报告.docx
- 《区块链技术在电子政务电子档案管理中的数据完整性保障与优化》教学研究课题报告.docx
- 《中医护理情志疗法对癌症患者心理状态和生活质量提升的长期追踪研究》教学研究课题报告.docx
文档评论(0)