书签 分享 收藏 举报 版权申诉 / 28
上传文档赚钱

类型第四章VHDL语言程序设计4.ppt

  • 上传人(卖家):hyngb9260
  • 文档编号:5791278
  • 上传时间:2023-05-09
  • 格式:PPT
  • 页数:28
  • 大小:108.50KB
  • 【下载声明】
    1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
    2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
    3. 本页资料《第四章VHDL语言程序设计4.ppt》由用户(hyngb9260)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
    4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
    5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
    配套讲稿:

    如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

    特殊限制:

    部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

    关 键  词:
    第四 VHDL 语言程序设计
    资源描述:

    1、五、五、VHDLVHDL语言的顺序语句语言的顺序语句顺序语句顺序语句(Sequential Statements)用来用来实现模型的算法描实现模型的算法描述。述。这些语句从多侧面完整地描述数字系统的硬件结构这些语句从多侧面完整地描述数字系统的硬件结构和基本逻辑功能,其中包括通信的方式、信号的赋值、和基本逻辑功能,其中包括通信的方式、信号的赋值、多层次的元件例化以及系统行为等。多层次的元件例化以及系统行为等。顺序语句和并行语句是顺序语句和并行语句是VHDL程序设计中程序设计中两大基本描述语句系列。两大基本描述语句系列。并行语句并行语句(Concurrent Statements)用来用来表示各模

    2、型算法描表示各模型算法描述之间的连接关系。述之间的连接关系。顺序语句只能出现在顺序语句只能出现在 进程(进程(PROCESS)过程(过程(PROCEDURE)函数(函数(FUNCTION)中,其它都是并行语句。中,其它都是并行语句。顺序语句是相对于并行语句而言的,其特点顺序语句是相对于并行语句而言的,其特点是每一条顺序语句的执行是每一条顺序语句的执行(指仿真执行指仿真执行)顺序是与顺序是与它们的书写顺序基本一致的,它们的书写顺序基本一致的,理解理解 一个进程是由一系列顺序语句构成的,而进一个进程是由一系列顺序语句构成的,而进程本身属并行语句。也就是说,在同一设计实体程本身属并行语句。也就是说,

    3、在同一设计实体中,所有的进程是并行执行的,每个进程内部是中,所有的进程是并行执行的,每个进程内部是顺序执行的。顺序执行的。VHDL有如下六类基本顺序语句:有如下六类基本顺序语句:信号赋值语句信号赋值语句变量赋值语句变量赋值语句1、赋值语句、赋值语句2、流程控制语句、流程控制语句3、等待语句、等待语句4、子程序调用语句、子程序调用语句5、返回语句、返回语句6、空操作语句、空操作语句IF语句语句CASE语句语句LOOP语句语句NEXT语句语句EXIT语句语句RETURN语句语句NULL语句语句WAIT语句语句过程调用过程调用函数调用函数调用目的变量目的变量:=表达式;表达式;变量的说明和赋值限定在

    4、顺序区域内,即只能在变量的说明和赋值限定在顺序区域内,即只能在进程或子程序中使用,它无法传递到进程之外。进程或子程序中使用,它无法传递到进程之外。目的信号目的信号=表达式;表达式;例:例:y=1;例:例:x:=15;信号信号赋值可以在顺序区域内作顺序语句,也可以赋值可以在顺序区域内作顺序语句,也可以在结构体中当作并行语句使用。在结构体中当作并行语句使用。1、赋值语句、赋值语句A、变量赋值语句变量赋值语句B、信号赋值语句信号赋值语句2、流程控制语句、流程控制语句第一种第一种第二种第二种A、IF 语句语句IF IF 条件句条件句 THEN THEN 顺序语句顺序语句;END IF;END IF;I

    5、F IF 条件句条件句 THEN THEN 顺序语句顺序语句;ELSE ELSE 顺序语句顺序语句;END IFEND IF;第三种第三种IF IF 条件句条件句1 1 THEN THEN 顺序语句顺序语句1;1;ELSIF ELSIF 条件条件2 2 THEN THEN 顺序语句顺序语句2;2;ELSIF ELSIF 条件条件n THEN n THEN 顺序语句顺序语句n;n;ELSE ELSE 顺序语句顺序语句n+1;n+1;END IF;END IF;例例:IF(SET=1)THEN c=b END IF;例例:IF(sel=1)THEN c=a;ELSE c=b;END IF;例例 用

    6、用IF语句描述一个四选一电路语句描述一个四选一电路LIBRARY IEEE;USE IEEE.STE_LOGIC_1164.ALL;ENTITY mux4 IS PORT(input:IN STD_LOGIC_VECTOR(3 DOWNTO 0);sel:IN STD_LOGIC_VECTOR(1 DOWNTO 0);Y:OUT STD_LOGIC);END mux4;ARCHITECTURE rt1 OF mux4 ISBEGIN PROCESS(input,sel)BEGIN IF(sel=”00”)THEN Y=input(0);ELSIF(Sel=”01”)THEN Y=input(1

    7、);ELSIF(Sel=”10”)THEN Y=input(2);ELSE Y =顺序语句;顺序语句;When When 选择值选择值=顺序语句;顺序语句;.When OTHERS =When OTHERS =顺序语句;顺序语句;END CASE END CASE;选择值可以有四种不同的表达方式:选择值可以有四种不同的表达方式:单个普通数值,如单个普通数值,如6 6。数值选择范围,如数值选择范围,如(2(2 TO 4)TO 4),表示取值为表示取值为2 2、3 3或或4 4。并列数值,如并列数值,如3 3 5 5,表示取值为,表示取值为3 3或者或者5 5。混合方式,以上三种方式的混合。混合方

    8、式,以上三种方式的混合。例 用用CASE语句描述语句描述4选选1多路选择器。多路选择器。LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY MUX41 ISPORT(S1,S2:IN STD_LOGIC;A,B,C,D:IN STD_LOGIC;Z:OUT STD_LOGIC);END ENTITY MUX41;ARCHITECTURE ART OF MUX41 ISSIGNA S:STD_LOGIC_VECTOR(1 DOWNTO 0);BEGINSZZZZZ10;-当当a大于大于10时跳出循环时跳出循环 END LOOP L2;.(2)FOR L

    9、OOP语句,语法格式如下:语句,语法格式如下:(1)单个)单个LOOP语句,其语法格式如下:语句,其语法格式如下:标号标号:LOOP 顺序语句顺序语句;END LOOP 标号标号;标号:标号:WHILE 条件条件 LOOP 顺序语句顺序语句;END LOOP 标号标号;(3)WHILE LOOP语句,语法格式如下:语句,语法格式如下:用法示例:用法示例:FOR I IN 0 TO 7 LOOP Tmp:=tmp XOR a(I);END LOOP;用法示例:用法示例:FOR I IN 0 TO 7 LOOP Tmp:=tmp XOR a(I);END LOOP;用法示例:用法示例:WHILE

    10、i4 LOOP b:=b AND a(i);vout(i):=b;I:=I+1;END LOOP;D、NEXT 语句语句NEXT;-第一种语句格式第一种语句格式NEXT LOOP 标号;标号;-第二种语句格式第二种语句格式NEXT LOOP 标号标号 WHEN 条件表达式;条件表达式;-第三种语句格式第三种语句格式NEXT有三种用法,其语法格式如下:有三种用法,其语法格式如下:当当LOOP 标号缺省时,则执行标号缺省时,则执行NEXT 语句时,即语句时,即刻无条件终止当前的循环,跳回到本次循环刻无条件终止当前的循环,跳回到本次循环LOOP语语句开始处,开始下一次循环,否则跳转到指定标号的句开始

    11、处,开始下一次循环,否则跳转到指定标号的LOOP语句开始处,重新开始执行循环操作。若语句开始处,重新开始执行循环操作。若WHEN子句出现并且条件表达式的值为子句出现并且条件表达式的值为TRUE,则执则执行行NEXT语句,进入跳转操作,否则继续向下执行。语句,进入跳转操作,否则继续向下执行。用法示例:用法示例:L1:FOR CNT IN 1 TO 8 LOOP S1:A(CNT):=0;NEXT WHEN (B=C);S2:A(CNT+8):=0;END LOOP L1;当程序执行到当程序执行到NEXT语句时,如果条件判断式(语句时,如果条件判断式(b=c)的结果为的结果为TRUE,将执行将执行

    12、NEXT语句,并返回到语句,并返回到L1,使使cnt加加1后执行后执行S1开开始的赋值语句,否则执行始的赋值语句,否则执行S2开始的赋值语句。开始的赋值语句。E、EXIT 语句语句EXIT;-第一种语句格式第一种语句格式EXIT LOOP 标号;标号;-第二种语句格式第二种语句格式EXIT LOOP 标号标号 WHEN 条件表达式;条件表达式;-第三种语句格式第三种语句格式EXIT有三种用法,其语法格式如下:有三种用法,其语法格式如下:这种语句格式与前述的这种语句格式与前述的NEXT 语句的格式和操作功能非常相语句的格式和操作功能非常相似,惟一的区别是似,惟一的区别是NEXT语句是跳向语句是跳

    13、向LOOP 语句的起始点,语句的起始点,而而EXIT语句则是跳向语句则是跳向LOOP语句的终点。语句的终点。EXIT语句为程序需要处理保护、出错和警告状态时,提供了语句为程序需要处理保护、出错和警告状态时,提供了一种快捷、简便的调试方法。一种快捷、简便的调试方法。3、等待语句、等待语句WAIT语句语句WAIT;-第一种语句格式第一种语句格式WAIT ON 信号表;信号表;-第二种语句格式第二种语句格式 WAIT UNTIL 条件表达式;条件表达式;-第三种语句格式第三种语句格式WAIT FOR 时间表达式;时间表达式;-第四种语句格式,第四种语句格式,超时等待语句超时等待语句EXIT有四种用法

    14、,其语法格式如下:有四种用法,其语法格式如下:用法示例用法示例1:SIGNAL s1,s2:STD_LOGIC;.PROCESSBEGIN.WAIT ON s1,s2;END PROCESS;WAIT ON 信号表信号表 UNTIL 条件表达式条件表达式 FOR 时间表达式时间表达式;用法示例用法示例2:.Wait until enable=1;单独的单独的WAIT表示永远挂起。表示永远挂起。一般地,只有一般地,只有WAIT_UNTIL格式的等待语句可以被综合器接受格式的等待语句可以被综合器接受(其余语其余语句格式只能在句格式只能在VHDL仿真器中使用仿真器中使用),WAIT_UNTIL语句有

    15、以下三种表达语句有以下三种表达方式:方式:WAIT UNTIL WAIT UNTIL 信号信号=Value Value;-(1)-(1)WAIT UNTIL WAIT UNTIL 信号信号EVENT AND EVENT AND 信号信号=Value;-(2)Value;-(2)WAIT UNTIL NOT WAIT UNTIL NOT 信号信号STABLE AND STABLE AND 信号信号=Value;-(3)Value;-(3)如果设如果设clock为时钟信号输入端,以下四条为时钟信号输入端,以下四条WAIT语句所设的进程启动条语句所设的进程启动条件都是时钟上跳沿,所以它们对应的硬件结

    16、构是一样的:件都是时钟上跳沿,所以它们对应的硬件结构是一样的:WAIT UNTIL clock=1;WAIT UNTIL clock=1;WAIT UNTIL rising_edge(clock);WAIT UNTIL rising_edge(clock);WAIT UNTIL NOT clockSTABLE AND clock=1;WAIT UNTIL NOT clockSTABLE AND clock=1;WAIT UNTIL clock=1 AND clockEVENT;WAIT UNTIL clock=1 AND clockEVENT;例:例:PROCESS BEGINrst_loop

    17、:LOOP WAIT UNTIL clock=1 AND clockEVENT;-等待时钟信号等待时钟信号 NEXT rst_loop WHEN(rst=1);-检测复位信号检测复位信号rst x=a;-无复位信号,执行赋值操作无复位信号,执行赋值操作 WAIT UNTIL clock=1 AND clockEVENT;-等待时钟信号等待时钟信号 NEXT rst_loop When(rst=1);-检测复位信号检测复位信号rst y =实参表达式实参表达式 ,形参名形参名=实参表达式实参表达式);一个过程的调用将分别完成以下三个步骤:(1)将)将IN和和INOUT模式的实参值赋给欲调模式的实

    18、参值赋给欲调用的过程中与它们对应的形参;用的过程中与它们对应的形参;(2)执行这个过程;)执行这个过程;(3)将过程中)将过程中IN和和INOUT模式的形参值返回给对应的实参。模式的形参值返回给对应的实参。4、子程序调用语句、子程序调用语句A、过程调用语句过程调用语句B、函数调用语句函数调用语句 函数调用与过程调用是十分相似的,不同函数调用与过程调用是十分相似的,不同之处是,调用函数将返还一个指定数据类型的之处是,调用函数将返还一个指定数据类型的值,函数的参量只能是输入值。值,函数的参量只能是输入值。5、返回语句、返回语句RETURN语句是一段子程序结束后,返回主程序的语句是一段子程序结束后,

    19、返回主程序的控制语句。它有两种格式:控制语句。它有两种格式:第一种格式只能用于过程,它后面一定不能有表达式;第一种格式只能用于过程,它后面一定不能有表达式;第二种格式只能用于函数,它后面必须有条件表达式,第二种格式只能用于函数,它后面必须有条件表达式,它是函数结束的必要条件,函数结束必须用它是函数结束的必要条件,函数结束必须用RETURN语语句。句。RETURN;-第一种语句格式第一种语句格式RETURN 表达式;表达式;-第二种语句格式第二种语句格式【例】【例】PROCEDURE rs(SIGNAL s,r:IN STD_LOGIC;SIGNAL q,nq:INOUT STD_LOGIC)I

    20、S BEGIN IF(s=1 AND r=1)THEN REPORT Forbidden state:s and r are quual to 1;RETURN;ELSE q=s AND nq AFTER 5 ns;nq tmp:=rega AND regb;WHEN 101=tmp:=rega OR regb;WHEN 110=tmp:=NOT rega;WHEN OTHERS =NULL;END CASE;6、断言断言(ASSERT)语句语句ASSERT 条件表达式条件表达式 REPORT 字符串字符串 SEVERITY 错误等级错误等级SEVERITY_LEVEL;ASSERT语句的格式如下:语句的格式如下:断言断言(ASSERT)语句只能在语句只能在VHDL仿真器中使用,综合器仿真器中使用,综合器通常忽略此语句。通常忽略此语句。ASSERT语句判断指定的条件是否为语句判断指定的条件是否为TRUE,如果为如果为FALSE则报告错误。出错级别必须是四则报告错误。出错级别必须是四种错误等级中的一种。种错误等级中的一种。默认报告信息默认报告信息“Assertion Violation”默认错误级别为默认错误级别为“Error”分顺序断言和并行断言语句分顺序断言和并行断言语句

    展开阅读全文
    提示  163文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    关于本文
    本文标题:第四章VHDL语言程序设计4.ppt
    链接地址:https://www.163wenku.com/p-5791278.html

    Copyright@ 2017-2037 Www.163WenKu.Com  网站版权所有  |  资源地图   
    IPC备案号:蜀ICP备2021032737号  | 川公网安备 51099002000191号


    侵权投诉QQ:3464097650  资料上传QQ:3464097650
       


    【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。

    163文库