VHDL讲义第八章VHDL语言属性描述.ppt
《VHDL讲义第八章VHDL语言属性描述.ppt》由会员分享,可在线阅读,更多相关《VHDL讲义第八章VHDL语言属性描述.ppt(29页珍藏版)》请在三一办公上搜索。
1、第八章 VHDL语言属性描述 属性是指关于设计实体、结构体、类型、信号等项目的指定特性。属性提供了描述特定对象的多个侧面值的手段信号属性在检测信号变化和建立详细的时域模型时非常重要为什么要有属性:电路元件需要时钟信号同步需要控制信号控制整个电路的行为(进程的执行)时钟信号与控制信号的使用多种多样利用属性可以使VHDL源代码更加简明扼要,便于理解,属性,VHDL提供5类预定义属性:1、数值类属性2、函数类属性3、信号类属性4、数据类型类属性5、数组范围类属性,8.1.1 常用数据的数值属性 主要用于返回常用数据类型、数组或是块的有关值:例如:返回数组长度、数据类型的上下界等。常用数据类型的数值类
2、属性:left:返回一个数据类型或子类型最左边的值。right:返回一个数据类型或子类型最右边的值。high:返回一个数据类型或子类型的最大值。low:返回一个数据类型或子类型的最小值。,8.1 数值类属性,属性规则:上下限:对数值取最大、最小值;对枚举类型数据下限取左边界值,上限取右边界值;对数组取数组区间的最大最小值。左右边界:按书写顺序取左边或右边值。例:SUBTYPE nat IS Natural Range 0 to 255;X:=natHIGH;-x等于255X:=natLOW;-x等于0X:=natRIGHT;-x等于255X:=natLEFT;-x等于0,8.1 数值类属性,P
3、ROCESS(a)TYPE bit16 IS Array(15 downto 0)OF std_logic;VARIABLE lef,rig,up,low:NATURAL;BEGINlef:=bit16LEFT;-15rig:=bit16RIGHT;-0up:=bit16HIGH;-15low:=bit16LOW;-0END PROCESS;PROCESS(a)TYPE bit16 IS Array(0 to 15)OF std_logic;VARIABLE lef,rig,up,low:NATURAL;BEGINlef:=bit16LEFT;-0rig:=bit16RIGHT;-15up:=
4、bit16HIGH;-15low:=bit16LOW;-0END PROCESS;,8.1 数值类属性,在递增区间LEFT=LOWRIGHT=HIGH,在递减区间LEFT=HIGHRIGHT=LOW,例8-1:,例8-2 枚举类型数据数值属性描述Architecture voltb of volta IS TYPE volt IS(uV,mV,V,kV);SUBTYPE s_volt IS volt RANGE(V DOWNTO mV);SIGNAL S1,S2,S3,S4:VOLT;BEGINS1=voltHIGH;-kVS2=voltLOW;-uVS3=s_voltLEFT;-VS4=s_
5、voltRIGHT;-mVEND voltb;,8.1 数值类属性,8.1.1 数组的数值属性 数组属性只有一个:取数组的长度值。格式:LENGTH(n);其中n是多维数组的维数;如二维数组n=2;对一维数组n缺省。例8-3 一维数组数值属性描述PROCESS(b)TYPE bit8 IS array(7 downto 0)of bit;TYPE bit31_8 IS array(31 downto 8)of bit;VARIABLE b1,b2:integer;BEGINb1:=bit8LENGTH;-b1=8B2:=BIT31_8LENGTH;-b2=24END PROCESS,8.1 数
6、值类属性,指属性以函数的形式返回有关数据类型、数组或是信号的信息。函数类属性使用时以函数表达式的形式出现,属性根据输入的自变量值去执行函数,返回一个相应的值。该返回值可能是数组区间的某一个值,也可能是信号的变化值,或是枚举数据的位置序号等。函数类属性分三类:数据类型属性函数数组类型属性函数信号属性函数,8.2 函数类属性,8.2 函数类属性,8.2.1 数据类型属性函数主要用来得到数据类型的各种相关信息,共6种:(1)POS(X)-返回数据类型定义中输入的X值的位置序号(2)VAL(X)-返回输入的位置序号X处的值(3)SUCC(数据值)-返回数据类型定义中该值的下一个对应值(4)PRED(数
7、据值)-返回数据类型定义中该值的前一个对应值(5)LEFTOF(数据值)-返回数据类型定义中该值的左边值(6)RIGHTOF(数据值)-返回数据类型定义中该值的右边值 对于递增区间:SUCC(x)=RIGHTOF(x)PRED(x)=LEFTOF(x)对于递减区间:SUCC(x)=LEFTOF(x)PRED(x)=RIGHTOF(x),8.2 函数类属性,例8-4PACKAGE w_pack IS TYPE week IS(sun,mon,tue,wed,thu,fri,sat);TYPE r_week IS week RANGE sat DOWNTO sun;END w_pack;求自定义类
8、型的属性:weekSUCC(mon)-得tueweekPRED(mon)-得sunweekLEFTOF(mon)-得sunweek RIGHTOF(mon)-得tuer_weekSUCC(mon)-得tuer_weekPRED(mon)-得sunr_weekLEFTOF(mon)-得tuer_week RIGHTOF(mon)-得sun,8.2 函数类属性,8.2.2 数组属性函数主要用来得到数组的信息。共有4种属性:(1)LEFT(n)-得到n区间的左端边界号(2)RIGHT(n)-得到n区间的右端边界号(3)HIGH(n)-得到n区间的高端边界号(4)LOW(n)-得到n区间的低端边界号其
9、中n表示数组的区间序号(即维数)。当n=1时可以缺省,默认为一维数组。在递减区间LEFT=HIGHRIGHT=LOW在递增区间LEFT=LOWRIGHT=HIGH,TYPE matrix IS ARRAY(0 TO 7,15 DOWNTO 0)OF std_logic;i=matrix left(1);-i=0;i=matrix right(1);-i=7;i=matrix high(1);-i=7;i=matrix low(1);-i=0;i=matrix left(2);-i=15;i=matrix right(2);-i=0;i=matrix high(2);-i=15;i=matrix
10、 low(2);-i=0;,8.2 函数类属性,8.2.3 信号类型属性函数主要用来得到信号的各种行为功能信息:包括信号值的变化、信号变化后经过的时间、变化前的信号值等。共有5种属性:(1)EVENT-当前很短的时间内信号发生了变化,则返回TRUE,否则返回FALSE。(2)ACTIVE-当前信号等于1,则返回TRUE,否则返回FALSE。(3)LAST_EVENT-返回信号从前一个事件发生到现在的时间值。(4)LAST_VALUE-返回信号在最近一个事件发生以前的值(5)LAST_ACTIVE-返回信号从上一次等于1到现在的时间值,8.2 函数类属性,1 属性函数EVENT和 LAST_VA



- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- VHDL 讲义 第八 语言 属性 描述

链接地址:https://www.31ppt.com/p-6522940.html