EDA字符及数据类型.ppt_第1页
EDA字符及数据类型.ppt_第2页
EDA字符及数据类型.ppt_第3页
EDA字符及数据类型.ppt_第4页
EDA字符及数据类型.ppt_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

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

文档简介

赋值运算符逻辑运算符关系运算符算术运算符移位运算符并置运算符,VHDL操作符,与其他程序设计语言相似,VHDL中的表达式也是由运算符将基本元素连接起来形成。,在VHDL语言中共有6类操作符,在VHDL语言中,共有6种逻辑运算符,他们分别是:NOT取反;AND与;OR或;NAND与非;NOR或非;XOR异或。,逻辑运算符,这6种逻辑运算符可以对“BIT”和“STD_LOGIC”等逻辑型数据、“STD_LOGIC_VECTOR”逻辑型数组及布尔数据进行逻辑运算。必须注意:运算符的左边和右边,以及代入的信号的数据类型必须是相同的。,【例1】SIGNALa,b,c:STD_LOGIC_VECTOR(3DOWNTO0);SIGNALd,e,f,g:STD_LOGIC_VECTOR(1DOWNTO0);SIGNALh,I,j,k:STD_LOGIC;SIGNALl,m,n,o,p:BOOLEAN;.a=bANDc;-b、c相与后向a赋值,a、b、c的数据类型同属4位长的位矢量d=eORfORg;-两个操作符OR相同,不需括号h=(iNANDj)NANDk;-NAND不属上述三种算符中的一种,必须加括号l=(mXORn)AND(oXORp);-操作符不同,必须加括号h=iANDjANDk;-两个操作符都是AND,不必加括号h=iANDjORk;-两个操作符不同,未加括号,表达错误a=bANDe;-操作数b与e的位矢长度不一致,表达错误h=iORl;-i的数据类型是位STD_LOGIC,而l的数据类型是.-布尔量BOOLEAN,因而不能相互作用,表达错误。,逻辑操作符,关系操作符,【例2】ENTITYrelational_ops_1ISPORT(a,b:INBITVECTOR(0TO3);m:OUTBOOLEAN);ENDrelational_ops_1;ARCHITECTUREexampleOFrelational_ops_1ISBEGINoutput”(大于)、“=”(大于等于)“=”(小于等于),VHDL语言中有5类算术运算符,他们分别是:求和操作符:、求积操作符:*、/、MOD、REM符号操作符:、混合操作符:*、ABS移位操作符:SLL、SRL、SLA、SRA、ROL、ROR,算术运算符,求和操作符,【例5】VARIABLEa,b,c,d,e,f:INTEGERRANGE0TO255;.a:=b+c;d:=ef;,【例4】PROCEDUREadding_e(a:ININTEGER;b:INOUTINTEGER)IS.b:=a+b;,【例6】PACKAGEexample_arithmeticISTYPEsmall_INtISRANGE0TO7;ENDexample_arithmetic;USEwork.example_arithmetic.ALL;ENTITYarithmeticISPORT(a,b:INSMALL_INT;c:OUTSMALL_INT);ENDarithmetic;ARCHITECTUREexampleOFarithmeticISBEGINc=a+b;ENDexample;,求积操作符,符号操作符,求积操作符包括*(乘)、/(除)、MOD(取模)和REM(取余)四种操作符。,符号操作符“+”和“”的操作数只有一个。,混合操作符,【例7】SIGNALa,b:INTEGERRANGE-8to7;SIGNALc:INTEGERRANGE0to15;SIGNALd:INTEGERRANGE0to3;a=ABS(b);c=2*d;,混合操作符包括乘方“*”操作符和取绝对值“ABS”操作符两种,移位操作符,移位操作符的语句格式是:标识符移位操作符移位位数;,SLL(逻辑左移)SRL(逻辑右移)SLA(算术左移)SRA(算术右移)ROL(逻辑循环左移)ROR(逻辑循环右移),【例8】LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_UNSIGNED.ALL;ENTITYdecoder3to8ISport(input:INSTD_LOGIC_VECTOR(2DOWNTO0);output:OUTBIT_VECTOR(7DOWNTO0);ENDdecoder3to8;ARCHITECTUREbehaveOFdecoder3to8ISBEGINoutput=00000001SLLCONV_INTEGER(input);-被移位部分是常数!ENDbehave;,并置运算符,SIGNALg,h,i:STD_LOGIC;SIGNALc,d,e:STD_LOGIC_VECTOR(1TO0);d=i-最低位是1,其它位0,即用户自定义操作符,可以与预定义的操作符具有相同的名称。对已存在的操作符重新定义,可进行不同类型操作数之间的运算。例:对一个整数和一个1位的二进制数进行加法运算function“+”(a:integer;b:bit)returnintegerisbeginif(b=1)thenreturna+1;elsereturna;endif;end“+”;,重载操作符,运算符NOT,ABS,*,/,MOD,REM+(正号),(负号)+,&S

温馨提示

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

评论

0/150

提交评论