数字电子技术5_第1页
数字电子技术5_第2页
数字电子技术5_第3页
数字电子技术5_第4页
数字电子技术5_第5页
已阅读5页,还剩18页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

数字电子技术52024/3/25数字电子技术5VHDL操作符列表数字电子技术5数字电子技术5VHDL操作符优先级数字电子技术52.各种操作符的使用说明(2)注意操作符之间的优先级别。当一个表达式中有两个以上的运算符时,可使用括号将这些运算分组。(1)严格遵循在基本操作符间操作数是同数据类型的规则;严格遵循操作数的数据类型必须与操作符所要求的数据类型完全一致的规则。数字电子技术5(4)关系操作符的作用是将相同数据类型的数据对象进行数值比较(=、/=)或关系排序判断(<、<=、>、>=),并将结果以布尔类型(BOOLEAN)的数据表示出来,即TRUE或FALSE两种。(3)VHDL共有七种基本逻辑操作符,对于数组型(如STD_LOGIC_VECTOR)数据对象的相互作用是按位进行的。(5)表中所列的17种算术操作符可以分为求和操作符、求积操作符、符号操作符、混合操作符、移位操作符等五类操作符。数字电子技术5求和操作符包括加减操作符和并置操作符。求积操作符包括*(乘)、/(除)、MOD(取模)和REM(取余)四种操作符。符号操作符“+”和“-”的操作数只有一个,操作数的数据类型是整数。混合操作符包括**(乘方)操作符和取ABS(绝对值)操作符两种。六种移位操作符号SLL、SRL、SLA、SRA、ROL和ROR都是VHDL'93标准新增的运算符,在1987标准中没有。数字电子技术5例如:将“1101”执行各种1位移位操作,其移位操作后的结果移位操作符的语句格式是:标识符号移位操作符号移位位数;数字电子技术5并置操作符&用于进行位的连接,例如:“VH”&“DL”的结果为“VHDL”‘0’&‘1’的结果为“01”SIGNALa:STD_LOGIC;SIGNALc:STD_LOGIC_VECTOR(2DOWNTO0);则可以:c<=(a&a&a);或c<=(a,a,a);--不适用位矢量间的连接数字电子技术5为了方便各种不同数据类型间的运算,VHDL允许用户对原有的基本操作符重新定义,赋予新的含义和功能,从而建立一种新的操作符,这就是重载操作符,定义这种操作符的函数称为重载函数。事实上,在程序包STD_LOGIC_UNSIGNED中已定义了多种可供不同数据类型间操作的算符重载函数。3.重载操作符数字电子技术5Synopsys的程序包STD_LOGIC_ARITH、STD_LOGIC_UNSIGNED和STD_LOGIC_SIGNED中已经为许多类型的运算重载了算术运算符和关系运算符,因此只要引用这些程序包,SINGEND、UNSIGEND、STD_LOGIC和INTEGER之间即可混合运算,INTEGER、STD_LOGIC和STD_LOGIC_VECTOR之间也可以混合运算。数字电子技术5

操作符可以用以产生电路。就提高综合效率而言,使用常量值或简单的一位数据类型能够生成较紧凑的电路,而表达式复杂的数据类型(如数组)将相应地生成更多的电路。数字电子技术5五、VHDL语言的属性描述VHDL中可以具有属性的项目如下:

某一项目的特定属性或特征通常可以用一个值或一个表达式来表示,属性的值与对象(信号、变量和常量)的值完全不同,在任一给定的时刻,一个对象只能具有一个值,但却可以具有多个属性。VHDL还允许设计者自己定义属性。类型、子类型;过程、函数;信号、变量、常量;实体、结构体、配置、程序包;元件;语句标号。数字电子技术5预定义的属性函数功能表数字电子技术5数字电子技术5综合器支持的属性有:LEFT、RIGHT、HIGH、LOW、RANGE、REVERSE_RANGE、LENGTH、EVENT及STABLE。数字电子技术5

信号类属性中,最常用的当属EVENT。1)信号类属性例如:语句“CLOCK'EVENT”就是对以CLOCK为标识符的信号,在当前的一个极小的时间段内发生事件的情况进行检测。所谓发生事件,就是电平发生变化,从一种电平方式转变到另一种电平方式。数字电子技术5CLOCK'EVENTANDCLOCK=‘1’是对CLOCK信号上升沿的测试。即一旦测试到CLOCK有一个上升沿时,此表达式将返回一个布尔值TRUE。CLOCK'EVENTANDCLOCK=‘0’RISING_EDGE(CLOCK)FALLING_EDGE(CLOCK)数字电子技术5PROCESS(CLOCK)ISIF(CLOCK'EVENTANDCLOCK=‘1’)THENQ<=DATA;ENDIF;ENDPROCESS;语句“NOT(clock’STABLEANDclock='1')”的表达方式是不可综合的。以下两语句的功能是一样的。

(NOTclock’STABLEANDclock='1')(clock’EVENTANDclock='1')注意:数字电子技术52)值类属性例:VARIABLEx:INTEGER;sdown:INSTD_LOGIC_VECTOR(8DOWNTO0);则有:x:=sdown’left;--x值为8x:=sdown’right;--x值为0x:=sdown’length;--x值为9x:=sdown’low;--x值为0数字电子技术53)数据区间类属性例:...SIGNALy1:INSTD

LOGIC

VECTOR(0TO7);...FORiINy1'RANGELOOP...数字电子技术5ATTRIBUTE属性名:数据类型;ATTRIBUTE属性名OF对象名:对象类型IS值;

例如Synplify综合器支持的特殊属性都在synplify.attributes程序包中,使用前加入以下语句即可:

LIBRARYsynplify;USEsynplicity.attributes.all;4)用户定义属性例:ATTRIBUTEPINNUM:STRING;

ATTRIBUTEPINNUMOFClk:signalis"1";

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论