第三讲 数据类型.ppt

  1. 1、本文档共51页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第三章 数据类型 预定义的数据类型 用户定义的数据类型 子类型 数组 端口数组 记录类型 有符号数和无符号数 数据类型转换 1) BIT(位,表示一位的信号值,位值为‘0’或‘1’ )和BIT_VECTOR(位矢量,表示一组位数据)。 声明: SIGNAL X: BIT; SIGNAL Y: BIT_VECTOR(3 DOWNTO 0); SIGNAL W: BIT_VECTOR(0 DOWNTO 3); 注意:最高位MSB(Most Significant Bit)的顺序! 赋值: X<=‘1’; ----单引号! Y<=“1001”; ----双引号! STD_LOGIC_VECTOR类型数据的算术运算操作 STD_LOGIC_VECTOR类型数据不能直接进行算术运算。通过声明ieee库中的std_signed和std_logic_unsigned这两个包集,该类型数据即可进行算术运算。 例: LIBRARY ieee; USE ieee.std_logic_1164.all; USE ieee.std_logic_unsigned.all; signal a,b: IN STD_LOGIC_VECTOR(7 DOWNTO 0); signal c:OUT STD_LOGIC_VECTOR(7 DOWNTO 0); c<=a+b; 3)STD_ULOGIC和STD_ULOGIC_VECTOR: 比STD_LOGIC类型多引入了一个逻辑值‘U’,代表初始不定值。但没有指定两个STD_ULOGIC信号连接到同一个节点上发生冲突后的逻辑值,因此要避免两个输出信号直接进行连接的情况。 4)布尔类型(boolean) 布尔量具有两种状态:false 和 true 常用于逻辑函数,如相等(=)、比较(<)等中作逻辑比较。 如,bit 值转化成boolean 值: boolean_var := (bit_var = ‘1’); 5)字符(CHARACTER):用单引号将字符括起来。 variable character_var : character; ... ... Character_var : = ‘A’; 例:signed和unsigned数的合法与非法操作: library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_arith.all;--必须声明该包集才能使用signed和unsigned数。 signal a,b:IN SIGNED(7 DOWNTO 0); signal x: OUT SIGNED(7 DOWNTO 0); x<=a+b; --合法(支持算术运算) x<=a AND b; --非法(不支持逻辑运算) 例:STD_LOGIC_VECTOR的合法与非法操作: library ieee; use ieee.std_logic_1164.all; --不必声明其它包集。 signal a,b:IN std_logic_vector(7 DOWNTO 0); signal x: OUT std_logic_vector(7 DOWNTO 0); x<=a+b; --非法(不支持算术运算) x<=a AND b; --合法(支持逻辑运算) ---------------------------------------- 注意:如果声明std_logic_signed和std_logic_unsigned两个包集,则STD_LOGIC_VECTOR类型的数据也可以进行算术运算。 例:STD_LOGIC_VECTOR的合法与非法操作: library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; signal a,b:IN std_logic_vector(7 DOWNTO 0); signal x: OUT std_logic_vector(7 DOWNTO 0); x<=a+b; --合法(支持算术运算) x<=a AND b; --合法(支持逻辑运算) 3.2 用户定义的数据类型 3.5 端口数组,例: 例子:常用数据类型的声明与赋值 signal a: BIT; signal b: BIT_VECTOR(7 DOWNTO 0); si

文档评论(0)

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

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

1亿VIP精品文档

相关文档