




已阅读5页,还剩104页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
顺序语句(SequentialStatements)相对于并行语句,特点是没一条语句的仿真执行顺序与书写顺序基本一致,它只能出现在进程和子程序中。VHDL有6类基本顺序语句:赋值语句、流程控制语句、等待语句、子程序调用语句、返回语句和空操作语句。,赋值语句的功能是将一个值或者一个表达式的运算结果传递给某一个数据对象,如信号或变量,或由此组成的数组。VHDL设计实体内的数据传递以及对端口界面外部数据的读写都必须通过赋值语句的运行来实现。赋值语句有两种,即信号赋值和变量赋值语句,由三部分组成。即赋值目标、赋值符号、赋值源。赋值目标是信号或变量,但是表现形式有多种:文字,标识符,数组等;赋值符号有信号赋值符,变量赋值符;赋值源可以是一个数值,也可以是一个逻辑或运算表达式,VHDL规定赋值源和赋值目标数据类型必须严格一致。,信号赋值与变量赋值的区别在于变量赋值具有局部特征,它的有效性只局限于所定义的一个进程中,或一个子程序中,它是一个局部的暂时性数据对象,对它的赋值立即发生,时间延时为零的赋值行为;信号赋值,具有全局性特征,它可以作为一个设计实体内部各单元之间数据传递的载体,也可以通过信号与其他实体进行通信。,IF语句也是重要的顺序语句结构。它的语句规则和使用方法,在前面第三章详细介绍过。,在前面我们也介绍过CASE语句,这里介绍其它相关内容和示例,CASE语句的多条件选择值得一般表达式为:,选择值可以有4种不同的表达方式:,下面例7-1描述的4选1选择器,是用IF语句和CASE语句共同完成的,它是根据4位输入码来确定4位输出中哪一位输出为1。例子中IF-THEN-ELSIF语句所起的作用是数据类型转换器的作用,即把输入的s4,s3,s2,s1的4位二进制值转化为能与se1对应的整数值,以便在条件句中进行比较。,给出了CASE语句使用中几种容易发生的错误。,与IF语句相比,CASE语句组的程序的可读性比较好,因为它把条件中所有可能出现的情况全部列出来了,可执行条件一目了然。而且CASE语句的执行过程,即条件是独立排它的,不像IF那样有一个逐项条件顺序比较的过程,CASE语句中条件句的次序是不重要的,它的执行过程更接近于并行方式。对于相同的逻辑功能,CASE语句比IF语句的描述耗用更多的硬件资源,有些逻辑只能用IF来描述,不能用CASE描述。IF语句具有条件相与功能,CASE语句只有条件相或得功能。下面例子7-3是一个算术逻辑单元的VHDL描述,它在信号opcode的控制下可分别完成加,减,相等或不相等比较等操作。程序在CASE语句中混合了IF-THEN语句。,循环语句,使一组顺序语句循环执行,LOOP语句有两种方式。,需要引入其他控制语句如EXIT,才可以跳出循环。,FOR后面的循环变量是一个临时变量,属于LOOP语句的局部变量,不必先定义,它只能作为赋值源,不能被赋值,由LOOP语句自动定义。在LOOP范围内不能再出现此变量同名的标识符。循环次数范围从初值开始,每执行一次顺序语句后递增1直到指定的最大值。,一个8位奇偶校验逻辑电路的VHDL程序,利用LOOP语句中的循环变量简化同类顺序语句的表达方式,LOOP循环的范围最好以常数表示,否则,在LOOP体内的逻辑可以重复任何可能的范围,这样将消耗大量的硬件资源,综合器不支持没有约束条件的循环。,NEXT语句主要用于在LOOP语句执行中进行有条件的或无条件的转向控制。有3种格式:,第一种格式:执行到NEXT语句时无条件终止当前的循环,跳回到本次循环LOOP语句处,开始下一次循环。,这里如果(b=c)成立将执行NEXT语句,第二种格式:当有多重LOOP语句嵌套时,可跳转到指定标号的LOOP语句处,重新开始执行循环操作。,第三种格式:分句”WHEN条件表达式”是执行NEXT语句的条件,条件表达式为TRUE,则执行NEXT语句,进入跳转操作,否则继续向下执行。,EXIT语句也是LOOP语句的内部循环控制语句,有3种格式:,这里每一种语句格式与对应的EXIT语句的格式和操作功能非常相似,区别是NEXT语句跳转的方向是LOOP标号指定的LOOP语句处,当没有LOOP标号时,跳转到当前LOOP语句的循环起始点,而EXIT语句的跳转方向是LOOP标号指定语句的结束处,即完全跳出指定的循环,并开始执行此循环外的语句。即NEXT语句是转向LOOP语句的起始点,而EXIT语句则是转向LOOP语句的终点。,两个元素位矢量值比较程序,a与b不同时由EXIT语句跳出循环比较程序。,其中NULL为空操作语句,是为了满足ELSE的转换。此程序先比较a和b的高位,高位是1者为大,输出判断结果true或false后中断比较程序,高位相等则比较低位。,在进程中当执行到WAIT语句时,运行程序将被挂起,直到满足此语句设置的结束挂起条件后,在重新开始执行进程。不同的结束挂起条件设置有四种。,第一种语句格式,未设置停止挂起条件的表达式,表示永远挂起。第二种语句格式,敏感信号等待语句,等待敏感信号变化则结束挂起,再次启动进程。,进程将在WAIT处被挂起,一直到s1或者s2中任一信号发生改变时,进程重新开始。该例子中Process语句没有列出任何敏感信号,VHDL中规定已列出敏感信号的进程中不能使用任何形式的WAIT语句,第三种语句格式称为条件等待语句,它多了一种重新启动进程的条件,即语句挂起的进程需顺序满足下面两个条件,进程才能脱离挂起。1)此条件表达式中所含的信号发生变化。2)信号改变后且满足WAIT语句所设的条件。两个条件缺一不可且按照顺序来完成。,下面两种表达是等效的,例7-10结束挂起所需满足的条件实际是一个信号的上跳沿,因为当满足条件后enable为1,可推知enable一定是由0变化而来。,通常只有WAIT_UNTIL格式的等待语句可以被综合器接受,其它只能在仿真器中使用,它有三种表达方式:,以上四句WAIT语句所设的进程启动条件都是时钟的上跳沿,对应的硬件结构也一样。,描述完成一个硬件求平均的功能,每一个时钟脉冲由a输入一个数值,4个时钟脉冲后将获得此4个数值的平均值。,每一个时钟上升沿的到来都将结束进程的挂起,继而检测电路的复位信号rst是否为高电平,如果高电平则返回循环的起始点,低电平则执行正常的顺序语句操作。用WAIT语句综合一般产生时序逻辑电路。,描述完成一个进程中,有一个无限循环的LOOP语句,其中用WAIT语句描述了一个具有同步复位功能的电路。,一个具有右移,左移,并行加载和同步复位的完整的VHDL设计,第一种语句格式只能用于过程,它只结束过程,不返回任何值。第二种语句格式只能用于函数,并且返回一个值。返回语句只用于子程序体中,用来结束子程序的执行无条件跳转到子程序的结束处END。用于函数则提供函数返回值。,下列是一过程定义程序,完成RS触发器功能,其中时间延迟语句和REPORT语句不可综合,当信号s和r同时为1时,在IF语句中的RETURN语句将中断过程。,上例定义的函数opt的返回值由输入参量opr决定,当opr为高电平时,返回相“与”值aANDb;当为低电平时,返回相“或”值aORb,空操作语句不完成任何操作,唯一功能是使逻辑运行流程跨入下一步语句的执行。一般用在case语句中,VHDL并行语句有多种语句形式,它们在结构体中的执行是同步进行的,在执行顺序上是平等的与书写顺序无关,并行语句之间可有信息往来也可相互独立,每一并行语句内部的语句运行方式可并行执行也可以顺序执行。,并行信号赋值语句(ConcurrentSignalAssignments)进程语句(ProcessStatements)块语句(BlockStatements)条件信号赋值语句(SelectedSignalAssignments)元件例化语句(ComponentInstantiations)生成语句(GenerateStatement)并行过程调用语句(Co
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 设备设施包保管理制度
- 设计公司内控管理制度
- 设计单位现场管理制度
- 设计项目人员管理制度
- 诊所医疗器械管理制度
- 诊断试剂风险管理制度
- 试验示范基地管理制度
- 财务资金收支管理制度
- 货仓搬运安全管理制度
- 货物海关代理管理制度
- 生活饮用水游离余氯方法验证报告
- DB32∕T 186-2015 建筑消防设施检测技术规程
- 巡检培训课件.ppt
- 北师大版五下书法《第6课戈字旁》课件
- 二代征信系统数据采集规范释义
- 苏教版二年级(下册)科学全册单元测试卷含期中期末(有答案)
- 国家开放大学电大本科《设施园艺学》2023-2024期末试题及答案(试卷代号:1329)
- 数列求和(错位相减法)
- 固废中心废气处理方案
- 关于地理高考四大能力要求解读
- 灭火救援作战计划图例
评论
0/150
提交评论