EDA字符及数据类型

上传人:油条 文档编号:26854609 上传时间:2018-01-02 格式:PPT 页数:19 大小:571KB
返回 下载 相关 举报
EDA字符及数据类型_第1页
第1页 / 共19页
EDA字符及数据类型_第2页
第2页 / 共19页
EDA字符及数据类型_第3页
第3页 / 共19页
EDA字符及数据类型_第4页
第4页 / 共19页
EDA字符及数据类型_第5页
第5页 / 共19页
点击查看更多>>
资源描述

《EDA字符及数据类型》由会员分享,可在线阅读,更多相关《EDA字符及数据类型(19页珍藏版)》请在金锄头文库上搜索。

1、赋值运算符逻辑运算符关系运算符算术运算符移位运算符并置运算符,VHDL操作符,与其他程序设计语言相似,VHDL中的表达式也是由运算符将基本元素连接起来形成。,在VHDL语言中共有6类操作符,在VHDL语言中,共有6种逻辑运算符,他们分别是: NOT 取反; AND 与; OR 或; NAND 与非; NOR 或非; XOR 异或。,逻辑运算符,这6种逻辑运算符可以对 “BIT”和“STD_LOGIC ”等逻辑型数据、“STD_LOGIC _VECTOR”逻辑型数组及布尔数据进行逻辑运算。必须注意: 运算符的左边和右边,以及代入的信号的数据类型必须是相同的。,【例1】 SIGNAL a ,b,c

2、 : STD_LOGIC_VECTOR (3 DOWNTO 0) ; SIGNAL d,e,f,g : STD_LOGIC_VECTOR (1 DOWNTO 0) ; SIGNAL h,I,j,k : STD_LOGIC ; SIGNAL l,m,n,o,p : BOOLEAN ; . a=b AND c; -b、c相与后向a赋值,a、b、c的数据类型同属4位长的位矢量 d=e OR f OR g ; - 两个操作符OR相同,不需括号 h=(i NAND j)NAND k ; - NAND不属上述三种算符中的一种,必须加括号 l=(m XOR n)AND(o XOR p); - 操作符不同,必

3、须加括号 h=i AND j AND k ; - 两个操作符都是AND,不必加括号 h=i AND j OR k ; - 两个操作符不同,未加括号,表达错误 a=b AND e ; - 操作数b 与 e的位矢长度不一致,表达错误 h=i OR l ; - i 的数据类型是位STD_LOGIC,而l的数据类型是 . - 布尔量BOOLEAN,因而不能相互作用,表达错误。,逻辑操作符,关系操作符,【例2】 ENTITY relational_ops_1 IS PORT ( a,b : IN BITVECTOR (0 TO 3) ; m : OUT BOOLEAN) ; END relational

4、_ops_1 ; ARCHITECTURE example OF relational_ops_1 IS BEGIN output ”(大于)、“=”(大于等于)“=”(小于等于),VHDL语言中有5类算术运算符,他们分别是:求和操作符: 、求积操作符:*、/、MOD、REM符号操作符: 、混合操作符: *、ABS移位操作符:SLL、SRL、SLA、SRA、ROL、ROR,算术运算符,求和操作符,【例5】VARIABLE a,b ,c ,d ,e ,f : INTEGER RANGE 0 TO 255 ;.a := b + c ; d := e f ;,【例4】PROCEDURE adding

5、_e (a :IN INTEGER ; b :INOUT INTEGER )IS.b := a + b ;,【例6】 PACKAGE example_arithmetic IS TYPE small_INt IS RANGE 0 TO 7 ; END example_arithmetic ; USE work.example_arithmetic.ALL ; ENTITY arithmetic IS PORT (a,b : IN SMALL_INT ; c : OUT SMALL_INT) ; END arithmetic ; ARCHITECTURE example OF arithmeti

6、c IS BEGIN c = a + b ; END example ;,求积操作符,符号操作符,求积操作符包括 * (乘)、 / (除)、MOD(取模)和REM(取余)四种操作符。,符号操作符“+”和“”的操作数只有一个。,混合操作符,【例7】SIGNAL a,b: INTEGER RANGE -8 to 7;SIGNAL c: INTEGER RANGE 0 to 15;SIGNAL d: INTEGER RANGE 0 to 3;a = ABS(b); c = 2 * d ;,混合操作符包括乘方“*”操作符和取绝对值“ABS”操作符两种,移位操作符,移位操作符的语句格式是: 标识符 移位

7、操作符 移位位数 ;,SLL(逻辑左移)SRL(逻辑右移)SLA(算术左移)SRA(算术右移)ROL(逻辑循环左移)ROR(逻辑循环右移),【例8】LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY decoder3to8 IS port ( input: IN STD_LOGIC_VECTOR(2 DOWNTO 0); output: OUT BIT_VECTOR (7 DOWNTO 0);END decoder3to8;ARCHITECTURE behave OF decoder3t

8、o8 ISBEGINoutput = 00000001 SLL CONV_INTEGER(input); -被移位部分是常数!END behave;,并置运算符,SIGNAL g,h,i:STD_LOGIC;SIGNAL c,d,e:STD_LOGIC _VECTOR(1 TO 0); d = i & NOT h; a = c & d;,元素与元素并置,形成长度为2的数组,数组与数组并置,形成长度为4的数组,& 连接,赋值运算符,赋值运算符用来给信号、变量和常量赋值。,0);-最低位是1,其它位0,即用户自定义操作符,可以与预定义的操作符具有相同的名称。对已存在的操作符重新定义,可进行不同类型

9、操作数之间的运算。例:对一个整数和一个1位的二进制数进行加法运算 function “+” (a: integer; b: bit) return integer is begin if (b=1) then return a+1; else return a; end if;end “+”;,重载操作符,运算符 NOT,ABS,*,/,MOD,REM +(正号),(负号)+,& SLL,SLA,SRL,SRA,ROL,ROR =,/=,= AND,OR,NAND,NOR,XOR,XNOR,VHDL操作符的优先顺序,最高优先级,最低优先级,优先级,运算操作符总汇列表如下:,VHDL操作符,接上页,thanks!,

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号