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

第三节 - VHDL设计初步.ppt

  1. 1、本文档共94页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
算术操作符分类表 类别 算术操作符分类 1 求和操作符 +(加),-(减),&(并置) 2 求积操作符 *,/,MOD,REM 3 混合操作符 **,ABS 4 移位操作符 SLL,SRL,SLA,SRA,ROL,ROR 算术操作符 类型 操作符 功能 操作数数据类型 算术 操作符 + 加 整数 - 减 整数 并 一维数组 * 乘 整数和实数 / 除 整数和实数 MOD 取模 整数 REM 求余 整数 SLL 逻辑左移 BIT或布尔型一维数组 SRL 逻辑右移 BIT或布尔型一维数组 SLA 算术左移 BIT或布尔型一维数组 SRA 算术右移 BIT或布尔型一维数组 ROL 逻辑循环左移 BIT或布尔型一维数组 ROR 逻辑循环右移 BIT或布尔型一维数组 ** 乘方 整数 ABS 取绝对值 整数  求和操作符    VHDL中的求和操作符包括加减操作符和并置操作符。 加减操作符的运算规则与常规的加减法一样,在VHDL中,规定它们的操作数的数据类型是整数。 【例9-24】   VARIABLE a, b, c, d, e, f: INTEGER RANE 0 TO 255; …    a:=b + c;     d:=e – f; 在综合后,由加减运算符产生的组合逻辑门所耗费的硬件资源的规模都比较大,例9-26说明了一个3位加法运算的逻辑电路。如果加减运算符中的一个操作数或两个操作数都为整型常数,则只需很少的电路资源。 【例9-26】   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 arithmetic IS BEGIN c= a + b; END example;    并置操作符“&”(P83)用来完成一维数组的位扩展,即将操作数或数组组合并起来形成新的数组。可以将一个元素并置于一个数组中形成更长的数组,也可以将两个数组并置形成一个新的数组。并置操作前后的数组长度应一致。如:“VH”&“DL”的结果为“VHDL”,‘0’&‘1’‘1’的结果为“011”  【例】   SIGNAL a :STD_LOGIC_VECTOR (3 DOWNTO 0); SIGNAL d :STD_LOGIC_VECTOR (1 DOWNTO 0); … a = ‘1’‘0’d(1)‘1’;--元素与元素并置,并置后的数组长度为4      …   IF a d=“101011” THEN --数组并置,形成更长的数组,其长度为两个数组长度之和。 求积操作符:    求积操作符包括*(乘),/(除),MOD(取模),REM(取余)。在VHDL中,乘与除的数据类型规定为整数和实数。MOD和REM的操作数的数据类型只能是整数,运算结果也是整数。 取余运算(a REM b)的符号与a相同,其绝对值小于b的绝对值; 例: (-5) REM 2=(-1); 5 REM (-2)=1; 取模运算(a MOD b)的符号与b相同,其绝对值小于b的绝对值; 例: (-5) MOD 2=1; 5 MOD (-2)=(-1)      混合操作符    混合操作符有**(乘方)和ABS(取绝对值)两种。它们的操作数数据类型一般为整数类型。 **(乘方)运算的左边可以是整数或浮点数,但右边必须为整数,而且只有在左边为浮点时,其右边才可以为负数。   【例9-27】  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; 移位操作符    移位操作符有六种:SLL、SRL、SLA、SRA、ROL、ROR。    移位操作符是VHDL’

文档评论(0)

xiaofei2001129 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档