网站大量收购闲置独家精品文档,联系QQ:2885784924

第4VHDL基本语句与要素.pptVIP

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

2.算术运算符 和操作符(Adding Operator)+(加),-(减),(并置) 求积操作符(Multiplying Operator)*,/,MOD,REM 符号操作符(Sign Operator)+(正),-(负) 混合操作符(Miscellaneous Operator)**,ABS 移位操作符(Shift Operator)SLL,SRL,SLA,SRA,ROL,ROR 4.3 VHDL语言要素 4.3.4 VHDL操作符 (1)求和运算符 加减操作符的运算规则与常规的加减法是一致的,VHDL规定它们的操作数的数据类型是整数。 并置运算符用于位的连接,可以形成位矢量。也可以用并置运算符来连接两个位矢量,以构成更大的位矢量。并置运算符的应用举例如下: ‘0’’1’ --并置后为“01” “VH””DL” --并置后 为“VHDL” 4.3 VHDL语言要素 4.3.4 VHDL操作符 (2)求积运算符 求积运算符包括*(乘)、/(除)、MOD(取模)和RED(取余)四种。VHDL规定,乘与除的数据类型是整数和实数(包括浮点数)。运算符MOD和RED的本质与除法运算符是一样的,因此,可综合的MOD(取模)和RED(取余)的操作数必须是以2为底数的幂。MOD和RED的操作数数据类型只能是整数,运算操作结果也是整数。 4.3 VHDL语言要素 4.3.4 VHDL操作符 (3)符号运算符 符号运算符包括“+”和“-”,它们的操作数只有一个,操作数的数据类型是整数,运算符“+”对操作数不做任何改变,运算符“-”作用于操作数的返回值是对原操作数取负,在实际使用中,取负操作数需加括号,如: z:=x*(-y); 4.3 VHDL语言要素 4.3.4 VHDL操作符 (4)混合运算符 混合运算符包括乘方运算符“**”和取绝对值运算符“ABS”两种。VHDL规定,它们的操作数数据类型一般为整数类型。乘方运算的左边可以是整数或浮点数,但右边必须为整数,而且只有在左边为浮点数时,其右边才可以为负数。用法示例如下: 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; 4.3 VHDL语言要素 4.3.4 VHDL操作符 (5)移位运算符 SLL是将位矢向左移,右边跟进的位补零; SRL的功能恰好与SLL相反; ROL和ROR的移位方式稍有不同,它们移出的位将用于依次填补移空的位,执行的是自循环式移位方式;SLA和SRA是算术移位运算符,其移空位用最初的首位来填补。 移位操作符的语句格式是: 标识符 移位操作符 移位位数; 4.3 VHDL语言要素 4.3.4 VHDL操作符 例4.28利用移位操作符SLL和程序包STD_LOGIC_UNSIGNED中的数据类型转换函数CONV_INTEGER十分简洁地完成了3.8译码器的设计。 【例4.28】 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 decoder3to8 IS BEGIN output=0000000SLL CONV_INTEGER(input); --被移位部分是常数 END behave; 4.3 VHDL语言要素 4.3.4 VHDL操作符 3.关系运算符 4.3 VHDL语言要素 4.3.4 VHDL操作符 4.运算符的优先级 4.3 VHDL语言要素 4.3.4 VHDL操作符 4.4 VHDL子程序 子程序(SUBPROGRAM)是一个VHDL程序模块,这个模块内部的所有语句都是顺序的。 子程序有两种类型: 过程(Procedure) 和函数(Function) 4.4.1 函数 函数首的语句书写格式如下: FUNCTION 函数名(参数表)RETURN 数据类型 --函数首 函数体的语句书写格式如下:

文档评论(0)

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

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

1亿VIP精品文档

相关文档