第10讲 VHDL的运算符1精选.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第10讲 VHDL的运算符1精选

第十讲 VHDL的运算符 运算符 * 本讲知识点: 算术运算符 逻辑运算符 操作符和操作数间的运算应注意: VHDL中共有四类操作符: 逻辑操作符、关系操作符、算术操作符和连接操作符 基本操作符间操作数是同数据类型 操作数的数据类型必须与操作符所要求的数据类型一致 注意操作符之间的优先级 通常在一个表达式中有两个以上的算符时,需要使用括号将这些运算分组,若其中的算符相同且为AND、OR、XOR 中的一种则不需使用括号。 1、逻辑运算符: 逻辑运算符共有7种,分别是: 操作符 功能 操作数类型 AND 与 bit、 std_logic等及其一维向量 OR 或 同上 NOT 取反 同上 NAND 与非 同上 NOR 或非 同上 XOR 异或 同上 XNOR 同或 同上 当一个语句种存在两个以上的逻辑表达式时,在C语言种运算有自左至右的优先级顺序规定,而在VHDL语言中,左右没有优先级差别。   这7种逻辑运算符可以对“STD_LOGIC”和“BIT”等的逻辑型数据、“STD_LOGIC_VECTOR”逻辑型数组及布尔型数据进行逻辑运算。必须注意,运算符的左边和右边,以及代入的信号的数据类型必须是相同的。 例子: SIGNAL a ,b,c : 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不属and、or、xor三种算符,必须加括号 l=(m XOR n)AND(o XOR p); -- 操作符不同,必须加括号 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、算术运算符 VHDL的算术运算符共有十几种,其中常用的有如下几种: 操作符 功能 操作数类型 + 加法 整数 - 减法 整数 * 乘法 整数和实数 SLL等 移位 bit或布尔类型的一维数组 (SLL SLR SLA SRA ROL ROR) 在运用算术运算符对如下的数据类型进行运算时,应注意: (1)unsigned, signed:需打开std_logic_arith程序包; (2)std_logic:需打开std_logic_unsigned 或std_logic_signed 程序包; 1. 求和操作符 2. 求积操作符 *(乘)、 /(除)、 MOD(取模) 、 RED(取余) 3. 符号操作符 “+”和“-” 4. 混合操作符 “**” “ABS” maxplus2不支持“MOD”、“RED”运算 5. 移位操作符 SLL、SRL、SLA、SRA、ROL 、ROR 要求操作数的数据类型必须为1维数组,元素必须为bit或BOOLEAN类型;操作符右边必须为整形。 逻辑左移和右移:移空的位用0填补; 逻辑左、右环移:数据内环行移动。 算术左、右移:其移空的为用最初的首位填补。 移位操作符的语句格式是: 标识符 移位操作符 移位位数 ; 5. 移位操作符 *

文档评论(0)

tazhiq2 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档