欢迎来到天天文库
浏览记录
ID:55832668
大小:340.50 KB
页数:36页
时间:2020-06-09
《VHDL语言的顺序语句.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、VHDL语言的顺序语句VHDL语言的顺序语句顺序语句(SequentialStatements)用来实现模型的算法描述。这些语句从多侧面完整地描述数字系统的硬件结构和基本逻辑功能,其中包括通信的方式、信号的赋值、多层次的元件例化以及系统行为等。顺序语句和并行语句是VHDL程序设计中两大基本描述语句系列。并行语句(ConcurrentStatements)用来表示各模型算法描述之间的连接关系。顺序语句只能出现在进程(PROCESS)、过程(PROCEDURE)、函数(FUNCTION)中。在同一设计实体中,所有的进程是并行执行的,每个进程内部是顺序执行的。顺序语句是相对于并行语
2、句而言的,其特点是按程序书写的顺序自上而下、一条一条地执行的。利用顺序语句可以描述数字逻辑系统中的组合逻辑电路和时序逻辑电路。VHDL有如下六类基本顺序语句:信号赋值语句变量赋值语句1、赋值语句2、流程控制语句3、等待语句4、子程序调用语句5、返回语句6、空操作语句IF语句CASE语句LOOP语句NEXT语句EXIT语句RETURN语句NULL语句WAIT语句过程调用函数调用变量的说明和赋值限定在顺序区域内,即只能在进程或子程序中使用,它无法传递到进程之外。目的信号<=表达式;例:y<=‘1’;例:x:=15;信号赋值可以在顺序区域内作顺序语句,也可以在结构体中当作并行语句使
3、用。1、赋值语句A、变量赋值语句B、信号赋值语句目的变量:=表达式;2、流程控制语句第一种A、IF语句IF条件句THEN顺序语句;ENDIF;例:IF(SET=’1’)THENc<=bENDIF;例:IF(sel=’1’)THENc<=a;ELSEc<=b;ENDIF;第二种IF条件句THEN顺序语句1;ELSE顺序语句2;ENDIF;第三种IF条件句1THEN顺序语句1;ELSIF条件2THEN顺序语句2;…ELSIF条件nTHEN顺序语句n;ELSE顺序语句n+1;ENDIF;例用IF语句描述一个四选一电路LIBRARYIEEE;USEIEEE.STE_LOGIC_116
4、4.ALL;ENTITYmux4ISPORT(input:INSTD_LOGIC_VECTOR(3DOWNTO0);sel:INSTD_LOGIC_VECTOR(1DOWNTO0);Y:OUTSTD_LOGIC);ENDmux4;ARCHITECTURErt1OFmux4ISBEGINPROCESS(input,sel)BEGINIF(sel=”00”)THENY<=input(0);ELSIF(sel=”01”)THENY<=input(1);ELSIF(sel=”10”)THENY<=input(2);ELSEY<=input(3);ENDIF;ENDPROCESS;EN
5、Drt1;IF语句不仅可用于选择器设计,还可用于比较器,译码器等进行条件控制的逻辑设计。IF语句中至少应有一个条件句,条件句必须由布尔表达式构成,条件表达式中能使用关系运算操作及逻辑运算操作的组合表达式。IF语句中,先处理最起始的条件;如果不满足,再处理下一个条件。一般把条件约束最多的作为起始条件。IF语句颠倒条件判别次序,会引起在综合时逻辑功能的变化,即IF语句判别条件不可颠倒。例8线3线优先编码器的设计LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;ENTITYcoderISPORT(a:INSTD_LOGIC_VECTOR(7DOWNTO0
6、));y:OUTSTD_LOGIC_VECTOR(2DOWNTO0));ENDcoder;ARCHITECTUREegOFcoderISBEGINPROCESS(a)BEGINIF(a(7)=’0’)THENy<=”111”;ELSIF(a(6)=’0’)THENy<=”110”;ELSIF(a(5)=’0’)THENy<=”101”;ELSIF(a(4)=’0’)THENy<=”100”;ELSIF(a(3)=’0’)THENy<=”011”;ELSIF(a(2)=’0’)THENy<=”010”;ELSIF(a(1)=’0’)THENy<=”001”;ELSEy<=”00
7、0”;ENDIF;ENDPROCESS;ENDeg;B、CASE语句CASE表达式ISWhen选择值=>顺序语句;When选择值=>顺序语句;...[WhenOTHERS=>顺序语句;]ENDCASE;选择值可以有四种不同的表达方式:单个普通数值,如6。数值选择范围,如(2TO4),表示取值为2、3或4。并列数值,如35,表示取值为3或者5。混合方式,以上三种方式的混合。例用CASE语句描述4选1数据选择器。LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;ENTITYMU
此文档下载收益归作者所有