欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > PPT文档下载  

    VHDL主要描述语句顺序语句.ppt

    • 资源ID:5452180       资源大小:268KB        全文页数:52页
    • 资源格式: PPT        下载积分:15金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要15金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    VHDL主要描述语句顺序语句.ppt

    第五章 VHDL主要描述语句第一部顺序语句,5.1.1 赋值语句5.1.2 IF语句5.1.3 CAS E语句5.1.4 LOOP语句5.1.5 NEXT语句5.1.6 EXIT语句,5.1.7 WAIT语句5.1.8 子程序调用语句5.1.9 RETURN(返回)语句5.1.10 NULL语句5.1.11 ASSERT5.1.12 REPORT语句,5.1 顺序语句,顺序语句(Sequential Statements)和并行语句(Concurrent Parallel Statements)是VHDL程序设计中两大基本描述语句系列。在逻辑系统的设计中,这些语句从多侧面完整地描述数字系统的硬件结构和基本逻辑功能,其中包括通信的方式、信号的赋值、多层次的元件例化以及系统行为等。顺序语句是相对于并行语句而言的,其特点是每一条顺序语句的执行(指仿真执行)顺序是与它们的书写顺序基本一致的,但其相应的硬件逻辑工作方式未必如此,在理解过程中要注意区分VHDL语言的软件行为及描述综合后的硬件行为间的差异。,顺序语句只能出现在进程(Process)和子程序中。在VHDL中,一个进程是由一系列顺序语句构成的,而进程本身属并行语句,这就是说,在同一设计实体中,所有的进程是并行执行的。然而任一给定的时刻内,在每一个进程内,只能执行一条顺序语句。一个进程与其设计实体的其他部分进行数据交换的方式只能通过信号或端口。如果要在进程中完成某些特定的算法和逻辑操作,也可以通过依次调用子程序来实现,但子程序本身并无顺序和并行语句之分。利用顺序语句可以描述逻辑系统中的组合逻辑、时序逻辑或它们的综合体。顺序语句包括:赋值语句、IF语句、CASE语句、LOOP语句、NEXT语句、EXIT语句、WAIT语句、过程调用语句、RETURN语句、NULL语句、断言语句、REPORT语句。,赋值语句的功能就是将一个值或一个表达式的运算结果传递给某一数据对象,如信号或变量,或由此组成的数组。VHDL设计实体内的数据传递以及对端口界面外部数据的读/写都必须通过赋值语句的运行来实现。赋值语句有两种,即信号赋值语句和变量赋值语句。变量赋值与信号赋值的区别在于,变量具有局部特征,它的有效只局限于所定义的一个进程中,或一个子程序中,它是一个局部的、暂时性数据对象(在某些情况下)。,5.1.1 赋值语句,变量赋值语句和信号赋值语句的语法格式如下:变量赋值目标:=赋值源;信号赋值目标=赋值源;在信号赋值中,需要注意的是,当在同一进程中,同一信号赋值目标有多个赋值源时,信号赋值目标获得的是最后一个赋值源的赋值,其前面相同的赋值目标则不作任何变化。,例SIGNAL s1,s2:STD_LOGIC;SIGNAL svec:STD_LOGIC_VECTOR(0 TO 7);.PROCESS(s1,s2)ISVARIABLE v1,v2:STD_LOGIC;BEGIN v1:=1;-立即将v1置位为1 v2:=1;-立即将Vv置位为1 s1=1;-s1被赋值为1 s2=1;-由于在本进程中,这里的s2不是最后一个赋值语句故 不作任何赋值操作 svec(0)=v1;-将v1在上面的赋值1,赋给svec(0)svec(1)=v2;-将v2在上面的赋值1,赋给svec(1)svec(2)=s1;-将s1在上面的赋值1,赋给svec(2)svec(3)=s2;-将最下面的赋予s2的值0,赋给svec(3)v1:=0;-将v1置入新值0 v2:=0;-将v2置入新值0 s2:=0;-由于这是s2最后一次赋值,赋值有效,此0将上面准 备赋入的1覆盖掉 svec(4)=v1;-将v1在上面的赋值0,赋给svec(4)svec(5)=v2;-将v2在上面的赋值0,赋给svec(5)svec(6)=s1;-将 s1在上面的赋值1,赋给svec(6)svec(7)=s2;-将s2在上面的赋值0,赋给svec(7)END PROCESS,赋值目标 赋值语句中的赋值目标有四种类型。标识符赋值目标及数组单元素赋值目标 标识符赋值目标是以简单的标识符作为被赋值的信号或变量名。数组单元素赋值目标的表达形式为:数组类信号或变量名 下标名可以是一个具体的数字,也可以是一个文字表示的数字名,它的取值范围在该数组元素个数范围内。下标名若是未明确表示取值的文字(不可计算值),则在综合时,将耗用较多的硬件资源,且一般情况下不能被综合。(见上例),段下标元素赋值目标及集合块赋值目标 段下标元素赋值目标可用以下方式表示:数组类信号或变量名(下标1 TO/DOWNTO 下标2)括号中的两个下标必须用具体数值表示,并且其数值范围必须在所定义的数组下标范围内,两个下标的排序方向要符合方向关键词TO或DOWNTO,具体用法如下例所示:VARIABLE a,b:STD_LOGIC_VECTOR(1 TO 4);a(1 TO 2):=10;-等效于A(1):=1,A(2):=0 a(4 DOWNTO 1):=1011;,集合块赋值目标 集合块赋值目标,是以一个集合的方式来赋值的。对目标中的每个元素进行赋值的方式有两种,即位置关联赋值方式和名字关联赋值方式,具体用法如下例所示:SIGNAL a,b,c,d:STD_LOGIC:SIGNAL s:STD_LOGIC_VECTOR(1 TO 4).VARIABLE e,f:STD_LOGIC;VARIABLE g:STD_LOGIC_VECTOR(1 TO 2);VARIABLE h:STD_LOGIC_VECTOR(1 TO 4);s e,4=f,2=g(1),1=g(2):=h;-名字关联方式赋值,示例中的信号赋值语句属位置关联赋值方式,其赋值结果等效于:a=0;b=1;c=0;d=0;示例中的变量赋值语句属名字关联赋值方式,赋值结果等效于:g(2):=h(1);g(1):=h(2);e:=h(3);f:=h(4);,IF语句是一种条件语句,它根据语句中所设置的一种或多种条件,有选择地执行指定的顺序语句,其语句结构如下:IF 标号:IF 条件句 THEN 顺序语句;ELSIF 条件句 THEN 顺序语句;ELSE 顺序语句;END IF IF 标号:,5.1.2 IF语句,所以,IF语句共有三种类型。,例利用IF语句完成一个具有2输入与门功能的函数定义:FUNCTION and_func(x,y:IN BIT)RETURN BIT IS BEGIN IF x=1 AND y=1 THEN RETURN 1;ELSE RETURN 0;END IF;END and_func;,例LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY control_stmts IS PORT(a,b,c:IN BOOLEAN;output:OUT BOOLEAN);END control_stmts;ARCHITECTURE example OF control_stmts IS BEGINPROCESS(a,b,c)VARIABLE n:BOOLEAN;BEGIN IF a THEN n:=b;ELSE n:=c;END IF;output=n;END PROCESS,END example;,上例对应的硬件电路如下图所示:,例SIGNAL a,b,c,p1,p2,z:BIT;.IF(p1=1)THENz=a;-满足此语句的执行条件是(p1=1)ELSIF(p2=0)THENz=b;-满足此语句的执行条件是(p1=0)AND(p2=0)ELSEz=c;-满足此语句的执行条件是(p1=0)AND(p2=1)END IF;,该例是由两个2选1 多路选择器构成的电路逻辑描述,其中,p1和p2分别是两个多路选择器的通道选择开关,当为高电平时下端的通道接通。,双2选1多路选择器电路,5.1.3 CASE语句,CASE语句根据满足的条件直接选择多项顺序语句中的一项执行。CASE语句的结构如下:CASE 表达式 IS WHEN 选择值=顺序语句;WHEN 选择值=顺序语句;WHEN OTHERS=顺序语句;END CASE;,使用CASE语句需注意以下几点:条件句中的选择值必须在表达式的取值范围内。除非所有条件句中的选择值能完整覆盖CASE语句中表达式的取值,否则最末一个条件句中的选择必须用“OTHERS”表示。CASE语句中每一条语句的选择只能出现一次,不能有相同选择值的条件语句出现。CASE语句执行中必须选中,且只能选中所列条件语句中的一条。这表明CASE语句中至少要包含一个条件语句。,例:用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 activ OF mux41 ISSIGNAL s:STD_LOGIC_VECTOR(1 DOWNTO 0);BEGINs z z z z z=x;END CASE;END PROCESS;END activ;,注意本例的第五个条件名是必需的,因为对于定义STD_LOGIC_VECTOR数据类型的s,在VHDL综合过程中,它可能的选择值除了00、01、10和11外,还可以有其他定义于STD_LOGIC的选择值。本例的逻辑图如下所示:,4选1多路选择器,CASE语句与IF语句比较:CASE语句组的程序可读性比较好,这是因为它把条件中所有可能出现的情况全部列出来了,可执行条件一目了然。而且CASE语句的执行过程不像IF语句那样有一个逐项条件顺序比较的过程。CASE语句中条件句的次序是不重要的,它的执行过程更接近于并行方式。一般地,综合后,对相同的逻辑功能,CASE语句比IF语句的描述耗用更多的硬件资源,而且有的逻辑,CASE语句无法描述,只能用IF语句来描述。这是因为IF_THEN_ELSIF语句具有条件相与的功能和自动将逻辑值“-”包括进去的功能(逻辑值“-”有利于逻辑化简),而CASE语句只有条件相或的功能。,5.1.4 LOOP语句,LOOP语句就是循环语句,它可以使所包含的一组顺序语句被循环执行,其执行次数可由设定的循环参数决定,循环的方式由 NEXT和EXIT语句来控制。其语句格式如下:LOOP 标号:重复模式 LOOP 顺序语句END LOOPLOOP 标号;重复模式有两种:FOR 和WHILE,格式分别为:LOOP 标号:FOR 循环变量 IN 循环次数范围 LOOP-重复次数已知LOOP 标号:WHILE 循环控制条件 LOOP-重复次数未知,例:简单LOOP语句的使用。L2:LOOP a:=a+1;EXIT L2 WHEN a10;-当a大于10时跳出循环 END LOOP L2;,例:FORLOOP语句的使用(8位奇偶校验逻辑电路的VHDL程序)。LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY p_check IS PORT(a:IN STD_LOGIC_VECTOR(7 DOWNTO 0);y:OUT STD_LOGIC);END ENTITY p_check;ARCHITECTURE opt OF p_check IS SIGNAL tmp:STD_LOGIC;BEGIN PROCESS(a)BEGIN tmp=0;FOR i IN 0 TO 7 LOOP-每执行一次后递增1 tmp=tmp XOR a(i);END LOOP;y=tmp;END PROCESS;END opt;,例 WHILELOOP语句的使用。Shift 1:PROCESS(inputx)VARIABLE i:POSITIVE:=1;BEGIN L1:WHILE i=8 LOOP-这里的“=”是小于等于的意思 outputx(i)=inputx(i+8);i:=i+1;END LOOP L1;END PROCESS Shift 1;,在WHILELOOP语句的顺序语句中增加了一条循环次数的计算语句,用于循环语句的控制。在循环执行中,当i的值等于9时将跳出循环。,例ENTITY LOOP_stmt IS PORT(a:IN BIT_VECTOR(0 TO 3);out1:OUT BIT_VECTOR(0 TO 3);END ENTITY LOOP_stmt;ARCHITECTURE example OF LOOP_stmt IS BEGIN PROCESS(a)VARIABLE b:BIT;BEGIN b:=1;FOR i IN 0 TO 3 LOOP b:=a(3-i)AND b;out1(i)=b;END LOOP;END PROCESS;END example;,上例对应的硬件电路,上例对应的硬件电路,NEXT语句主要用在LOOP语句执行中有条件的或无条件的转向控制。它的语句格式有以下三种:NEXT;-第一种NEXT LOOP 标号;-第二种NEXT LOOP 标号 WHEN 条件表达式;-第三种当LOOP标号缺省时,则执行NEXT 语句时,即刻无条件终止当前的循环,跳回到本次循环LOOP语句开始处,开始下一次循环,否则跳转到指定标号的LOOP语句开始处,重新开始执行循环操作。若WHEN子句出现并且条件表达式的值为TRUE,则执行NEXT语句,进入跳转操作,否则继续向下执行。,5.1.5 NEXT语句,例 L1:FOR cnt_value IN 1 TO 8 LOOPs1:A(cnt_value):=0;NEXT WHEN(b=c);s2:A(cnt_value+8):=0;END LOOP L1;,在本例中,当程序执行到NEXT语句时,如果条件判断式(b=c)的结果为TRUE,将执行NEXT语句,并返回到L1,使cnt_value 加1后执行s1开始赋值语句,否则将执行s2开始的赋值语句。,例 L_x:FOR cnt_value IN 1 TO 8 LOOP s1:a(cnt_value):=0;k:=0;L_y:LOOP s2:b(k):=0;NEXT L_x WHEN(ef):s3:b(k+8):=0;k:=k+1;NEXT LOOP L_y;NEXT LOOP L_x;,在多重循环中,NEXT语句必须加上上例所示的跳转标号。当 ef 为TRUE时执行语句NEXT L_x,跳转到L_x,使cnt_value 加1,从s1处开始执行语句;若为FALSE,则执行s3后使k加1。,EXIT语句也是LOOP语句的内部循环控制语句,它的语句格式有以下三种:EXIT;-第一种EXIT LOOP 标号;-第二种EXIT LOOP 标号 WHEN 条件表达式;-第三种其每一种语句格式与前述的NEXT 语句的格式和操作功能非常相似,惟一的区别是NEXT语句是跳向LOOP 语句的起始点,而EXIT语句则是跳向LOOP语句的终点。下例是一个两元素位矢量值比较程序。在程序中,当发现比较值A和B不同时,由EXIT语句跳出循环比较程序,并报告比较结果。,5.1.6 EXIT语句,例 SIGNAL a,b:STD_LOGIC_VECTOR(1 DOWNTO 0);SIGNAL a_less_than_b:BOOLEAN;a_less_than_b=FALSE;-设初始值FOR i IN 1 DOWNTO 0 LOOP IF(a(i)=1 AND b(i)=0)THEN a_less_than_b=FALSE;EXIT;ELSIF(a(i)=0 AND b(i)=1)THEN a_less_than_b=TRUE;-ab EXIT;ELSE;NULL;END IF;-当i=1时返回LOOP语句继续比较END LOOP;,以上的IF 语句、CASE 语句、LOOP 语句、NEXT 语句和EXIT 语句称为转向控制语句,这五种语句通过条件控制开关决定是否执行一条或几条语句,或重复执行一条或几条语句,或跳过一条或几条语句。,在进程中(包括过程中),当执行到WAIT等待语句时,运行程序将被挂起(Suspension),直到满足此语句设置的结束挂起条件后,将重新开始执行进程或过程中的程序。但VHDL规定,已列出敏感量的进程中不能使用任何形式的WAIT语句。WAIT语句的语句格式如下:WAIT;-第一种语句格式 WAITON 信号表;-第二种语句格式 WAIT UNTI 条件表达式;-第三种语句格式 WAIT FOR 时间表达式;-第四种语句格式-超时等待语句,5.1.7 WAIT 语句,单独的WAIT,即未设置停止挂起条件的表达式,表示永远挂起。WAIT ON 信号表格式,称为敏感信号等待语句,在信号表中列出的信号是等待语句的敏感信号。当处于等待状态时,敏感信号的任何变化(如从01或从10的变化)将结束挂起,再次启动进程。如:WAIT ON s1,s2;表示当s1或s2中任一信号发生改变时,就恢复执行WAIT语句之后的语句。,WAIT UNTIL 条件表达式,称为条件等待语句,该语句将把进程挂起,直到条件表达式中所含信号发生了改变,并且条件表达式为真时,进程才能脱离挂起状态,恢复执行WAIT语句之后的语句。下例中的两种表达方式是等效的。(a)WAIT_UNTIL 结构(b)WAIT_ON结构.LOOP WAIT UNTIL enable=1;WAIT ON enable.EXIT WHEN enable=1;END LOOP;由以上脱离挂起状态、重新启动进程的两个条件可知,例中结束挂起所需满足的条件,实际上是一个信号的上跳沿。因为当满足所有条件后enable为1,可推知enable一定是由0变化来的。因此,上例中进程的启动条件是enable出现一个上跳信号沿。,WAIT_UNTIL语句有以下三种表达方式:WAIT UNTIL 信号=VALUE;-WAIT UNTIL 信号EVENT AND 信号=VALUE;-WAIT UNTIL NOT 信号STABLE AND 信号=VALUE-如果设CLOCK为时钟信号输入端,以下四条WAIT语句所设的进程启动条件都是时钟上跳沿,所以它们对应的硬件结构是一样的。WAIT UNTIL clock=1;WAIT UNTIL rising_edge(clock);WAIT UNTIL NOT clockSTABLE AND clock=1;WAIT UNTIL clock=1 AND clockEVENT;,下例中的进程将完成一个硬件求平均的功能,每一个时钟脉冲由a输入一个数值,4个时钟脉冲后将获得此4个数值的平均值。PROCESS(clk)BEGINWAIT UNTIL clk=1;ave=a;WAIT UNTIL clk=1;ave=ave+a;WAIT UNTIL clk=1;ave=ave+a;WAIT UNTIL clk=1;ave=(ave+a)/4;END PROCESS;,在进程中允许对子程序进行调用。子程序包括过程(PROCEDURE)和函数(FUNCTION),可以在VHDL的结构体或程序包中的任何位置对子程序进行调用。从硬件角度讲,一个子程序的调用类似于一个元件模块的例化,也就是说,VHDL综合器为子程序的每一次调用都生成一个电路逻辑块。所不同的是,元件的例化将产生一个新的设计层次,而子程序调用只对应于当前层次的一部分。,5.1.8 子程序调用语句,过程(PROCEDURE)调用 过程调用就是执行一个给定名字和参数的过程。调用过程的语句格式如下:过程名(形参名=实参表达式,形参名=实参表达式);其中,括号中的实参表达式称为实参,它可以是一个具体的数值,也可以是一个标识符,是当前调用程序中过程形参的接受体。在此调用格式中,形参名即为当前欲调用的过程中已说明的参数名,即与实参表达式相联系的形参名。被调用中的形参名与调用语句中的实参表达式的对应关系有位置关联法和名字关联法两种,位置关联可以省去形参名。,一个过程的调用有三个步骤:首先将IN 和INOUT模式的实参值赋给欲调用的过程中与它们对应的形参;然后执行这个过程;最后将过程中IN和INOUT模式的形参值赋还给对应的实参。实际上,一个过程对应的硬件结构中,其标识形参的输入输出是与其内部逻辑相连的。在下例中定义了一个名为swap的局部过程(没有放在程序包中的过程),这个过程的功能是对一个数组中的两个元素进行比较,如果发现这两个元素的排列不符合要求,就进行交换,使得左边的元素值总是大于右边的元素值。连续调用三次swap后,就能将一个三元素的数组元素从左至右按序排列好,最大值排在左边。,例:PACKAGE data_types IS-定义程序包TYPE data_element IS INTEGER RANGE 0 TO 3;-定义数据类型SUBTYPE data_array IS ARRAY(1 TO 3)OF data_element;END DATA_TYPES;USE WORK.data_types.ALL;-打开以上建立在当前工作库的-程序包data_typesENTITY sort IS PORT(in_array:IN data_array;out_array:OUT data_array);END sortARCHITECTURE exmp OF sort IS BEGIN PROCESS(in_array)-进程开始,设in_array为敏感信号 PROCEDURE swap(data:INOUT data_array;low,high:IN INTEGER)IS-swap的形参名为data、low、high VARIABLE temp:data_element;,例(续):BEGIN-开始描述本过程的逻辑功能 IF(data(low)data(high)THEN-检测数据 temp:=data(low);data(low):=data(high);data(high):=temp;END IF;END swap;-过程swap定义结束 VARIABLE my_array:data_array;-在本进程中定义变量my_array BEGIN-进程开始my_array:=in_array;-将输入值读入变量swap(my_array,1,2);-my_array、1、2是对应于data、low、high的实参swap(my_array,2,3);-位置关联法调用,第2、第3元素交换swap(my_array,1,2);-位置关联法调用,第1、第2元素再次交换 out_array=my_array;END PROCESS;END exmpl;,函数(FUNCTION)调用 函数调用与过程调用是十分相似的,不同之处是,调用函数将返还一个指定数据类型的值,函数的参量只能是输入值。,返回语句只能用于子程序体中,并用来结束当前子程序体的执行。其语句格式如下:RETURN 表达式;当表达式缺省时,只能用于过程,它只是结束过程,并不返回任何值;当有表达式时,只能用于函数,并且必须返回一个值。用于函数的语句中的表达式提供函数返回值。每一函数必须至少包含一个返回语句,并可以拥有多个返回语句,但是在函数调用时,只有其中一个返回语句可以将值带出。下例是一过程定义程序,它将完成一个RS触发器的功能。注意其中的时间延迟语句和REPORT语句是不可综合的。,5.1.9 RETURN(返回)语句,例:PROCEDURE rs(SIGNAL s,r:IN STD_LOGIC;SIGNAL q,nq:INOUT STD_LOGIC)ISBEGIN IF(s=1AND r=1)THEN REPORT“Forbidden state:s and r are equal to 1”;RETURN ELSE q=s NOR nq AFTER 5 ns;nq=r NOR q AFTER 5 ns;END IF;END PROCEDURE rs;,空操作语句的语句格式如下:NULL;空操作语句不完成任何操作,它惟一的功能就是使逻辑运行流程跨入下一步语句的执行。NULL常用于CASE语句中,为满足所有可能的条件,利用NULL来表示所余的不用条件下的操作行为。在下例的CASE语句中,NULL用于排除一些不用的条件:CASE Opcode IS WHEN“001”=tmp:=rega AND regb;WHEN“101”=tmp:=rega OR regb;WHEN“110”=tmp:=NOT rega;WHEN OTHERS=NULL;END CASE,5.1.10 NULL语句,断言(ASSERT)语句只能在VHDL仿真器中使用,综合器通常忽略此语句。ASSERT语句判断指定的条件是否为TRUE:如果条件为TRUE,就会向下执行另一个语句;如果条件为FALSE,则报告错误。语句格式是:ASSERT 条件表达式REPORT 报告信息(字符串)SEVERITY 错误等级SEVERITY_LEVEL;ASSERT语句可以作为顺序语句使用,也可以作为并行语句使用。作为并行语句时,ASSERT语句可看成为一个被动进程。,5.1.11 ASSERT语句,例 ASSERT NOT(S=1 AND R=1)REPORT BOTH VALUES OF SIGNALS S AND R ARE EQUAL TO1 SEVERITY ERROR;如果出现SEVERITY子句,则该子句一定要指定一个类型为SEVERITY_LEVEL的值。SEVERITY_LEVEL共有如下四种可能的值:NOTE,WARNING,ERROR和FAILURE。,REPORT语句类似于ASSERT语句,区别是它没有条件。其语句格式如下:REPORT 字符串;REPORT 字符串 SEVERITY SEVERITY_LEVEL。例:WHILE counter 50 THEN REPORT the counter is over 50;END IF;END LOOP;,5.1.12 REPORT语句,作业:P234 1、5、8、10,THANKS!,

    注意事项

    本文(VHDL主要描述语句顺序语句.ppt)为本站会员(小飞机)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开