EDA第五章VHDL设计进阶2节-顺序语句-定稿材料.ppt

EDA第五章VHDL设计进阶2节-顺序语句-定稿材料.ppt

  1. 1、本文档共29页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
黑龙江大学电子工程学院 第五章 VHDL设计进阶 本章对VHDL的语言规则和语句类型做系统的论述。 一、 VHDL语言要素 二、VHDL顺序语句※ 三、VHDL并行语句 四、子程序 五、库、程序包及其配置 六、VHDL描述风格 七、常用元件设计举例 八、VHDL与原理图混合设计方式 一、 VHDL顺序语句 VHDL中有两类基本的描述语句—顺序语句和并行语句。 顺序语句具有:执行顺序与书写顺序一致,顺序语句只能出现在进程和子程序中,子程序又分为函数和过程。进程是由顺序语句构成的,但是进程本身属于并行语句。同一时间每个进程只能执行一条顺序语句;子程序本身没有顺序和并行之分。VHDL有如下六类基本的顺序语句:赋值语句、转向控制语句、等待语句、子程序调用语句,返回语句和空操作语句 1、赋值语句 √ 2、转向控制语句 3、WAIT语句 4、子程序调用语句 5、返回语句 6、Null语句和其他语句 1、 赋值语句 赋值语句功能是将一个值或者表达式的运算结果传递给某一个数据对象,如信号或者变量,或者数组。 (1)、信号或者变量的赋值 语法: 变量赋值目标:= 赋值源;--立即执行无延时 信号赋值目标 = 赋值源;--有延时,或者进程结束时 赋值目标和赋值源之间的数据类型必须一致。信号和变量赋值有区别: SIGNAL s1,s2:STD_LOGIC; SIGNAL svec:STD_LOGIC_VECTOR(0 TO 3); PROCESS(S1,S2) VARIABLE v1,v2:STD_LOGIC; BEGIN v1 :=‘1’; --变量赋值 s1 =‘1’;--信号赋值 svec(0) =v1; v1:=‘0’;--本进程中变量v1两次赋值都会发生变化 s1 =‘0’;本进程中信号s1两次赋值,最后一次有效 END PROCESS;--进程中的信号赋值都是在进程结束之后生效的 1、 赋值语句 从例子中可以看出, 赋值语句可以放到进程中,也可以放到结构体中,因此赋值语句即可以做顺序语句也可以作为并行语句使用。变量赋值立即生效,信号赋值生效是有延时的,在进程中的信号赋值是在进程结束时候一起生效的。进程内部信号可以多驱动源,但是最后一次生效,进程中信号赋值是在进程结束时候进行的,但是还是有先后顺序的,比如y的赋值过程,当从y 和y1来看多信号赋值又无先后顺序。 1、 赋值语句 (2)、赋值目标 I、标识符赋值目标和数组单元素赋值目标 标识符赋值目标可以理解为单独的信号或者变量作为赋值目标的情况,数组单元素赋值目标是以通过数组下标名称选择数组的某一元素作为赋值目标。赋值形式为: 数组类信号或者变量名(下标名),要求下标是一个具体的数值或者一个可计算的表达式。 x:=3; a(3) := 12; a(x+2) :=3; II、段下标元素赋值目标及集合块赋值目标 是以下标连续的多个元素作为赋值目标的情况。 a(1 TO 2) =“10”; a(3 DOWNTO 0) = “1011”; 集合块赋值目标,是以一个集合的方式来赋值的有位置关联和名字关联。 s = “1011” (a,b,c,d)= s; -- a=‘1’;b=0;c=1;d=1; 位置关联 (2=e,3=f,1=g(0),0=g(1):=s); -- e=s(2);f=s(3);g(0)=s(1); g(1)=s(0); 名字关联,可理解为下标名称关联方式 分为有IF语句、CASE语句、LOOP语句、NEXT语句和EXIT语句。 (1)、IF语句 I、IF 条件 THEN 语句; END IF; II、IF 条件 THEN 语句1; ELSE 语句2; END IF; III、IF 条件1 THEN --有优先级 语句1; ELSIF 条件2 THEN 语句2; ELSE 语句3; END IF; 2、 转向控制语句 例5-7 4位等值比较器描述方式1 LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; ENTITY eqcomp4 IS PORT( a,b: IN STD_LOGIC_VECTOR(3 DOWNTO 0); equals: OUT STD_LOGIC ); END eqcomp4; ARCHITECTURE behave OF eqcomp4 IS BEGIN comp:PROCESS(a,b) BEGIN

文档评论(0)

希望之星 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档