第五章 VHDL语言的主要描述语句课件.ppt

  1. 1、本文档共109页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第五章 VHDL语言的主要描述语句课件

(2)属性’STABLE 属性’STABLE用来确定信号(所产生的特别信号)对应的有效电平(高电平“1”或低电平“0” ),它可以在一个指定的时间间隔内,确定信号(原信号或输入信号)是否正好发生改变或者没有发生改变(即信号活跃)。属性返回的值就时信号(所产生的特别信号)本身的值,用它可以触发其它的进程。 LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL ENTITY pulse_gen IS PORT ( a : IN STD_LOGIC; b : OUT STD_LOGIC); END pulse_gen; ARCHITECTURE puls_gen OF pulse_gen IS BEGIN b=a’ STABLE(10ns); END pulse_gen; 当a没有发生改变时,b为高电平;当a发生改变时,b由高电平变为低电平,低电平持续时间为10ns(该值由属性括号内的时间值确定)。 上图所示,当波形a加到上页程序模块时,即可得到输出波形b。左图中,a在10ns和30ns各有一次改变,因而b在10ns和30ns各有10ns的低电平时间。在55ns处和60ns处a又各有一次改变,但是,由于改变的间隔小于10ns,因此b从55ns处开始到70ns处结束,将变为低电平。如果属性’STABLE后跟括号中的时间值被说明为0ns或者未加说明,那么当a发生改变时,输出b在对应的时间位置将产生Δ宽度的低电平,见右图。 a b 属性’STABLE也可用于检测信号的上升沿,例如: IF (( clk’EVENT) AND (clk=‘1’) AND ( clk’LAST_VALUE=‘0’ )) THEN --- IF (NOT( clk’STABLE) AND (clk=‘1’) AND ( clk’LAST_VALUE=‘0’ )) THEN --- 上述两种情况都可以检出上升沿,但是,在’EVENT情况下,在内存有效利用及速度方面将更加有效。这是因为属性’STABLE需要建立一个额外的信号,这将使其使用更多的内存。 (3)属性’QUIT 属性’QUIT具有与’STABLE相同的功能,但是,属性’QUIT由所加信号上的电平值的改变所触发(事件除外)。属性’QUIT将建立一个布尔信号,当所加的信号没有发亮,或者在所说明的时间内没有发生事件是,利用该属性可得到一个“真”的结果。 该属性常用于描述较复杂的一些信号值的变化,如开关电平或者器件的值的解析。 (4)属性’TRANSACTION 属性’TRANSACTION将建立一个数据类型为BIT的信号,当属性所加的信号每次从“1”或“0”发生改变时,就触发该BIT信号翻转。该属性通常用于进程调用。 4. 数据类型属性 利用该属性可以得到数据类型的一个值。它仅仅是一种类型属性,而且必须使用数据值类或函数类属性的值来表示。其格式为: t’BASE 利用该属性可以得到数据t的类型或子类型,它仅仅作为其它属性的前缀来使用。例: TYPE color IS (red, blue, green, yellow, brown, black ); SUBTYPE color_gun IS color RANGE red TO green; VARIABLE a : color; 则: a:=color_gun’BASE’RIGHT; --a=black a:=color’BASE’LEFT; --a=red a:=color_gunBASE’SUCC(green); --a=yellow 枚举类型数据定义,数据的序号值从左到右递增 Color_gun’BASE返回color数据类型,’RIGHT得到数据的最右端值 Color’BASE返回color_gun数据类型 ’succ(x)得到输入x值的下一个值 5. 数据区间类属性 在VHDL语言中有两类数据区间类属性,这两类属性仅用于受约束的数组类型数据,并且可返回所选择输入参数的索引区间。这两个属性是: a’RANGE[ (n)] 将返回一个由参数n值

文档评论(0)

yan698698 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档