- 1、本文档共82页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
EDAVHDL顺序语句
4.5 VHDL顺序语句 顺序语句(Sequential Statements)和并行语句(Concurrent Statements)是VHDL程序设计中两大基本描述语句系列。在逻辑系统的设计中,这些语句从多侧面完整地描述数字系统的硬件结构和基本逻辑功能,其中包括通信的方式、信号的赋值、多层次的元件例化以及系统行为等。 顺序语句是相对于并行语句而言的,其特点是每一条顺序语句的执行(指仿真执行)顺序是与它们的书写顺序基本一致的,但其相应的硬件逻辑工作方式未必如此,希望读者在理解过程中要注意区分VHDL语言的软件行为及描述综合后的硬件行为间的差异。 顺序语句只能出现在进程(Process)和子程序中。在VHDL中,一个进程是由一系列顺序语句构成的,而进程本身属并行语句,这就是说,在同一设计实体中,所有的进程是并行执行的。然而任一给定的时刻内,在每一个进程内,只能执行一条顺序语句。一个进程与其设计实体的其他部分进行数据交换的方式只能通过信号或端口。如果要在进程中完成某些特定的算法和逻辑操作,也可以通过依次调用子程序来实现,但子程序本身并无顺序和并行语句之分。利用顺序语句可以描述逻辑系统中的组合逻辑、时序逻辑或它们的综合体。 VHDL有如下六类基本顺序语句: 赋值语句; 流程控制语句; 等待语句; 子程序调用语句; 返回语句; 空操作语句。 赋值语句的功能就是将一个值或一个表达式的运算结果传递给某一数据对象,如信号或变量,或由此组成的数组。VHDL设计实体内的数据传递以及对端口界面外部数据的读/写都必须通过赋值语句的运行来实现。 1.信号和变量赋值 赋值语句有两种,即信号赋值语句和变量赋值语句。 变量赋值与信号赋值的区别在于,变量具有局部特征, 它的有效只局限在所定义的进程、过程和子程序中。它是一个局部的、暂时性数据对象(在某些情况下) ,它的赋值是立刻发生的,即赋值延迟时间为零。 变量赋值语句和信号赋值语句的语法格式如下: 变量赋值目标:= 赋值源; 信号赋值目标= 赋值源; 在信号赋值中,需要注意的是,当在同一进程中,同一信号赋值目标有多个赋值源时,信号赋值目标获得的是最后一个赋值源的赋值,其前面相同的赋值目标则不作任何变化。 【例4.1】 SIGNAL S1,S2:STD_LOGIC; SIGNAL SVEC :STD_LOGIC_VECTOR(0 TO 7); ... PROCESS(S1,S2) IS VARIABLE V1,V2:STD_LOGIC; BEGIN V1 := ‘1’; --立即将V1置位为1 V2 := ‘1’; --立即将V2置位为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; 2.赋值目标 赋值语句中的赋值目标有四种类型。 标识符赋值目标:标识符赋值目标是以简单的标识符作为被赋值的信号或变量名。 数组单元素赋值目标 数组单元素赋值目标的表达形式为: 数组类信号或变量名(下标名) 段下标元素赋值目标 集合块赋值目标 其中,下标名可以是一个具体的数字,也可以是一个文字表示的数字名,它的取值范围在该数组元素个数范围内。下标名若是未明确表示取值的文字(
您可能关注的文档
最近下载
- 三级安全教育试题及答案(包含公司级、部门级、班组级).docx
- GB∕T 9971-2017 原料纯铁(高清版).pdf
- 中小学校园防欺凌机制与实践探讨教学研究课题报告.docx
- brother数控系统TC-S2Z NC操作说明书.pdf
- 变频器基础知识培训.pptx VIP
- GB∕T 33104-2016 船用SCR蜂窝式脱硝催化剂检测方法.pdf
- 《建筑与市政工程施工现场临时用电安全技术标准》JGJT46-2024知识培训.pptx
- 维稳培训课件.pptx VIP
- 2024-2025学年小学信息技术(信息科技)三年级全一册义务教育版(2024)教学设计合集.docx
- 轨道交通15号线工程用户需求及技术规格书-综合监控系统—ISCS技术要求.docx
文档评论(0)