第四章VHDL语言程序设计4.ppt
- 【下载声明】
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语语句开始处,开始下一次循环,否则跳转到指定标号的句开始
展开阅读全文