网站大量收购独家精品文档,联系QQ:2885784924

EDA技术案例教程第4章.pptx

  1. 1、本文档共165页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第4章 VHDL设计进阶; 4.1 学习VHDL的基本语句 ;   顺序语句通常用来描述各种逻辑功能,即算法的实现。   顺序语句只能在进程(Process)和子程序(函数和过程)中使用。   VHDL有六种顺序语句:赋值语句、流程控制语句、等待语句、子程序调用语句、返回语句、空操作语句。   1. 赋值语句   【例4-1】 用VHDL设计一个按键控制八个发光二极管,键按下时,间隔点亮;键松开时,都不亮。程序代码如下: ;;   赋值语句的功能就是将一个值或一个表达式的结果传递给某一数据对象,如信号或变量。VHDL设计实体内的数据传递以及对外部数据的读写都是通过赋值语句来实现的。   赋值语句有两种,即信号赋值语句和变量赋值语句。每一种赋值语句都由三个基本部分组成,即赋值目标、赋值符号和赋值源。赋值目标是所赋值的受体,它可以是信号或变量;赋值符号只有两种,信号赋值符是“=”;变量赋值符是“:=”;赋值源是赋值的主体,它可以是一个数值,也可以是一个逻辑或运算表达式。VHDL规定,赋值目标和赋值源的数据类型必须一致。 ;   1) 变量赋值与信号赋值   变量赋值语句及信号赋值语句的格式如下:    变量赋值目标 := 赋值源;    信号赋值目标 = 赋值源; ;;;   比较例4-2和例4-3,可以看出它们唯一的区别是对进程(process)中的a和b做了不同的定义,前者定义为信号而后者定义为变量。然而,它们综合的结果却有很大的不同,前者的电路图是图4-1,而后者的电路图是图4-2。 ;;   信号赋值和变量赋值的区别:   (1) 变量是局部、暂时性数据对象,它的有效性只局限于一个进程或一个子程序中,在进程内部定义;信号具有全局特征,在进程的外部定义。   (2) 变量的赋值是立即发生的;信号的赋值并不是立即发生的,而是在进程结束时进行的,同一进程中,同一信号赋值目标有多个赋值源时,信号赋值目标获得的是最后一个赋值源的赋值。   (3) 信号赋值符和变量赋值符的区别。 ;   2) 省略赋值(OTHERS=X)   在位数较多的矢量???值中,为了简化表达可以使用短语“(OTHERS=X)”作省略化的赋值,如以下语句: ;   以上两条语句等同于A1 = “00000”、B1 :=,其优点是在给位数较多的矢量赋值时简化了表述,明确了含义,而且这种表述与位矢量的长度无关。   利用“(OTHERS=X)”短语还可以在给位矢量的某些位赋值之后再用OTHERS给剩余的位赋值,如A1 = (1 = 1,4 = 1,OTHERS = 0),此赋值语句的含义是给矢量A1的第1位和第4位赋值为1,而其余位赋值为0,即A1 = 10010。 ;   2.流程控制语句   流程控制语句是通过设置条件和判断条件是否成立来控制语句的执行的。这类语句共有五种:IF语句、CASE语句、LOOP语句、NEXT语句、EXIT语句。   1) ?IF语句   IF语句是VHDL中最重要的语句结构之一,它根据语句中设置的一种或多种条件,有选择地执行指定的顺序语句。IF语句的基本结构有以下四种: ;   (1) IF 条件句 THEN --第一种IF语句结构    顺序语句;   END IF;   (2) IF 条件句 THEN --第二种IF语句结构    顺序语句;    ELSE    顺序语句;    END IF; ;   (3) IF 条件句 THEN --第三种IF语句结构    IF 条件句 THEN    顺序语句;   END IF;    END IF;   (4) IF 条件句 THEN --第四种IF语句结构    顺序语句;    ELSIF条件句 THEN    顺序语句;    END IF; ;   IF语句中至少要有一个条件句,条件句必须是一个BOOLEAN类型的表达式,即结果只能是TRUE或FALSE。   如:    IF A THEN …    IF (A and B) THEN …   这里的A和B都是布尔类型的标识符,IF语句根据条件句的结果,选择执行其后的顺序语句。 ;   下面简要介绍这四种类型的IF语句。   (1) 第一种结构是最简单的IF语句结构。执行此句时,首先判断条件句的结果,若结果为TRUE,则执行关键词“THEN”和“END IF”之间的顺序语句;若条件为FALSE,则不执行,直接结束IF语句。这是一种非完整性的条件语句,通常用于产生时序电路。例如:    IF (ab) THEN    Output = ‘1’;    END IF;   当条件句(

文档评论(0)

水风波 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档