版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
VHDL的各种表达式由操作数和操作符组成,其中,操作数是各种运算的对象,而操作符则规定运算的方式。四、VHDL语言的操作符在VHDL中,一般有四类操作符:1.操作符种类及对应的操作数类型逻辑操作符(LogicaOperator)关系操作符(RelationaOperator)算术操作符(ArithmeticOperator)符号操作符(SignOperator)第一页,共二十四页。
VHDL操作符列表第二页,共二十四页。第三页,共二十四页。VHDL操作符优先级第四页,共二十四页。2.各种操作符的使用说明(2)注意操作符之间的优先级别。当一个表达式中有两个以上的运算符时,可使用括号将这些运算分组。(1)严格遵循在基本操作符间操作数是同数据类型的规则;严格遵循操作数的数据类型必须与操作符所要求的数据类型完全一致的规则。第五页,共二十四页。(4)关系操作符的作用是将相同数据类型的数据对象进行数值比较(=、/=)或关系排序判断(<、<=、>、>=),并将结果以布尔类型(BOOLEAN)的数据表示出来,即TRUE或FALSE两种。(3)VHDL共有七种基本逻辑操作符,对于数组型(如STD_LOGIC_VECTOR)数据对象的相互作用是按位进行的。(5)表中所列的17种算术操作符可以分为求和操作符、求积操作符、符号操作符、混合操作符、移位操作符等五类操作符。第六页,共二十四页。求和操作符包括加减操作符和并置操作符。求积操作符包括*(乘)、/(除)、MOD(取模)和REM(取余)四种操作符。符号操作符“+”和“-”的操作数只有一个,操作数的数据类型是整数。混合操作符包括**(乘方)操作符和取ABS(绝对值)操作符两种。六种移位操作符号SLL、SRL、SLA、SRA、ROL和ROR都是VHDL'93标准新增的运算符,在1987标准中没有。第七页,共二十四页。例如:将“1101”执行各种1位移位操作,其移位操作后的结果移位操作符的语句格式是:标识符号移位操作符号移位位数;第八页,共二十四页。并置操作符&用于进行位的连接,例如:“VH”&“DL”的结果为“VHDL”‘0’&‘1’的结果为“01”SIGNALa:STD_LOGIC;SIGNALc:STD_LOGIC_VECTOR(2DOWNTO0);则可以:
c<=(a&a&a);
或c<=(a,a,a);--不适用位矢量间的连接第九页,共二十四页。为了方便各种不同数据类型间的运算,VHDL允许用户对原有的基本操作符重新定义,赋予新的含义和功能,从而建立一种新的操作符,这就是重载操作符,定义这种操作符的函数称为重载函数。事实上,在程序包STD_LOGIC_UNSIGNED中已定义了多种可供不同数据类型间操作的算符重载函数。3.重载操作符第十页,共二十四页。Synopsys的程序包STD_LOGIC_ARITH、STD_LOGIC_UNSIGNED和STD_LOGIC_SIGNED中已经为许多类型的运算重载了算术运算符和关系运算符,因此只要引用这些程序包,SINGEND、UNSIGEND、STD_LOGIC和INTEGER之间即可混合运算,INTEGER、STD_LOGIC和STD_LOGIC_VECTOR之间也可以混合运算。第十一页,共二十四页。
操作符可以用以产生电路。就提高综合效率而言,使用常量值或简单的一位数据类型能够生成较紧凑的电路,而表达式复杂的数据类型(如数组)将相应地生成更多的电路。第十二页,共二十四页。五、VHDL语言的属性描述VHDL中可以具有属性的项目如下:
某一项目的特定属性或特征通常可以用一个值或一个表达式来表示,属性的值与对象(信号、变量和常量)的值完全不同,在任一给定的时刻,一个对象只能具有一个值,但却可以具有多个属性。VHDL还允许设计者自己定义属性。类型、子类型;过程、函数;信号、变量、常量;实体、结构体、配置、程序包;元件;语句标号。第十三页,共二十四页。预定义的属性函数功能表第十四页,共二十四页。第十五页,共二十四页。综合器支持的属性有:LEFT、RIGHT、HIGH、LOW、RANGE、REVERSE_RANGE、LENGTH、EVENT及STABLE。第十六页,共二十四页。
信号类属性中,最常用的当属EVENT。1)信号类属性例如:语句“CLOCK'EVENT”就是对以CLOCK为标识符的信号,在当前的一个极小的时间段内发生事件的情况进行检测。所谓发生事件,就是电平发生变化,从一种电平方式转变到另一种电平方式。第十七页,共二十四页。CLOCK'EVENTANDCLOCK=‘1’
是对CLOCK信号上升沿的测试。即一旦测试到CLOCK有一个上升沿时,此表达式将返回一个布尔值TRUE。CLOCK'EVENTANDCLOCK=‘0’RISING_EDGE(CLOCK)FALLING_EDGE(CLOCK)第十八页,共二十四页。PROCESS(CLOCK)ISIF(CLOCK'EVENTANDCLOCK=‘1’)THENQ<=DATA;ENDIF;ENDPROCESS;语句“NOT(clock’STABLEANDclock='1')”的表达方式是不可综合的。以下两语句的功能是一样的。
(NOTclock’STABLEANDclock='1')(clock’EVENTANDclock='1')注意:第十九页,共二十四页。2)值类属性例:VARIABLEx:INTEGER;sdown:INSTD_LOGIC_VECTOR(8DOWNTO0);则有:x:=sdown’left;--x值为8x:=sdown’right;--x值为0x:=sdown’length;--x值为9x:=sdown’low;--x值为0第二十页,共二十四页。3)数据区间类属性例:...SIGNALy1:INSTD
LOGIC
VECTOR(0TO7);...FORiINy1'RANGELOOP...第二十一页,共二十四页。ATTRIBUTE属性名:数据类型;ATTRIBUTE属性名OF对象名:对象类型IS值;
例如Synplify综合器支持的特殊属性都在synplify.attributes程序包中,使用前加入以下语句即可:
LIBRARYsynplify;USEsynplicity.attributes.all;4)用户定义属性例:
ATTRIBUTEPINNUM:STRING;
ATTRIBUTEPINNUMOFClk:signalis"1";
ATTRIBUTEPINNUMOFClr:signalis"2";ATTRIBUTEPINNUMOFQ:signalis"17,16,15,14";第二十二页,共二十四页。VHDL语言要求设计实体中的每一个常数、信号、变量、函数以及设定的各种参量都必须具有确定的数据类型,并且只有数据类型相同的量才能互相传递和作用。而且相同类型,但位长不同的也不能直接代入,否则EDA工具在编译综合时会报告类型错。VHDL语言提供了许多标准的数据类型;用户也可自定义数据类型,这样使VHDL语言的描述能力和自由度进一步提高。因此,为了熟练地使用VHDL语言编写程序,必须很好地理解各种数据类型的意义。第二十三页,共二十四页。内容总结VHDL的各种表达式由操作数和操作符组成,其中,操作数是各种运算的对象,而操作符则规定运算的方式。‘0’&‘1’的结果为“01”。c<=(a&a&a)。或c<
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024外贸企业海外分支机构设立合同3篇
- 2024年高速公路泥水作业班组承包合同3篇
- 二零二五年度110KV变电站电力电缆采购与安装合同3篇
- 二零二五年二手房买卖合同公证及附属设施使用合同3篇
- 2025年度安防设备生产与销售合同2篇
- 2025版茶叶产业投资基金管理服务合同2篇
- 2024年碳排放权交易咨询服务合同
- 2025版物流咨询服务合同4篇
- 2024年版特定电气设备安装分包合作合同一
- 2024年中国电视鞋市场调查研究报告
- 山东省滨州市2023-2024学年高一上学期1月期末考试 政治 含答案
- 电力行业电力调度培训
- 【MOOC】气排球-东北大学 中国大学慕课MOOC答案
- 全力以赴备战期末-2024-2025学年上学期备战期末考试主题班会课件
- 《庆澳门回归盼祖国统一》主题班会教案
- 物流公司自然灾害、突发性事件应急预案(2篇)
- 《视频拍摄与制作:短视频 商品视频 直播视频(第2版)》-课程标准
- 公司战略与风险管理战略实施
- 2024年-2025年《农作物生产技术》综合知识考试题库及答案
- 洗衣房工作人员岗位职责培训
- 广东省深圳市光明区2022-2023学年五年级上学期数学期末试卷(含答案)
评论
0/150
提交评论