- 1、本文档共10页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
VHDL数据类型
????? VHDL是一种强数据类型语言。
???? 要求设计实体中的每一个常数、信号、变量、
函数以及设定的各种参量都必须具有确定的数据类
型,并且相同数据类型的量才能互相传递和作用。
???? VHDL数据类型分为四大类:
??????? 1标量类型(SCALAR TYPE);
??????? 2复合类型(COMPOSITE TYPE);
??????? 3存取类型(ACCESS TYPE);
??????? 4文件类型(FILES TYPE)
又分为:
?? 1预定义数据类型、
?? 2用户自定义数据类型
1、VHDL的预定义数据类型
?1)布尔量(boolean)
????? 布尔量具有两种状态:false 和 true
?? 常用于逻辑函数,如相等(=)、比较()?? 等中作逻辑比较。?? 如,bit 值转化成boolean 值:
?????? boolean_var := (bit_var = ‘1’);
2)位(bit)
??? bit 表示一位的信号值。? 放在单引号中,如 ‘0’ 或 ‘1’。
3)位矢量 (bit_vector)
?? bit_vector 是用双引号括起来的一组位数据。?如: “001100”?????? X“00B10B”
4)字符(character)
?? 用单引号将字符括起来。
??? variable character_var : character;
???? ... ...
??? Character_var : = ‘A’;
5)整数(integer)
?? integer 表示所有正的和负的整数。硬件实现时,利用32位的位矢量来表示。可实现的整数范围为:
?????? -(231-1) to (231-1)
??? VHDL综合器要求对具体的整数作出范围限定,否则无法综合成硬件电路。
?? 如:signal s : integer range 0 to 15;
?? 信号 s 的取值范围是0-15,可用4位二进制数表示,因此 s 将被综合成由四条信号线构成的信号。
6)自然数(natural)和正整数(positive)
?? natural是integer的子类型,表示非负整数。
?? positive是integer的子类型,表示正整数。
?? 定义如下:
?? subtype natural is integer range 0 to
????? integer’high;
?? subtype positive is integer range 1 to
????? integer’high;
7)实数(REAL)
????? 或称浮点数
????? 取值范围:-1.0E38 - +1.0E38
????? 实数类型仅能用于VHDL仿真器,一般综合器不支持。
8)字符串(string)
?????? string 是 character 类型的一个非限定数组。用双引号将一串字符括起来。如:
????? variable string_var : string(1 to 7);
??????? ……
???? string_var := “Rosebud”;
9)时间(TIME)
???? 由整数和物理单位组成
???? 如:55 ms,20 ns
10)错误等级(SEVERITY_LEVEL)
??? 仿真中用来指示系统的工作状态,共有四种:
??????? NOTE(注意)、
??????? WARNING(警告)、
??????? ERROR(出错)、
??????? FAILURE(失败)
2、IEEE预定义标准逻辑位与矢量
?? 1)std_logic 类型
?????? 由 ieee 库中的std_logic_1164 程序包定义,为九值逻辑系统,如下:
??? (‘U’,‘X’,‘0’,‘1’,‘Z’,‘W’,‘L’,‘H’,‘-’)
????? ‘U’:未初始化的, ‘X’:强未知的,
????? ‘0’:强0,??????? ‘1’:强1,
????? ‘Z’:高阻态,???? ‘W’:弱未知的,
????? ‘L’:弱0,??????? ‘H’:弱1,
????? ‘-’:忽略
???? 由 std_logic 类型代替 bit 类型可以完成电子系统的精确模拟,并可实现常见的三态总线电路。
2)std_logic_vector 类型
?? 由 std_logic 构成的数组。定义如下:
????? type std_logic_vector is array(natural?range) of std_logic;
?? 赋值的原则:相同位宽,相同数据类型。
3、用户自定义类型
?? 用户自定义类型是VHDL语言的一大
您可能关注的文档
最近下载
- 小学1-6年级必背古诗词115首(A4打印版).pdf
- 校对符号及其用法.doc VIP
- 大气污染控制工程课程设计.docx VIP
- 2022小学学生寒假体育家庭作业清单方案(详细版).pdf
- 一年级100以内加减法混合练习题(A4打印).pdf VIP
- 2024年四大名著三国演义知识竞赛题库及答案(共100题).pdf
- 2024年邵阳职业技术学院单招职业技能测试题库及答案(典优).docx VIP
- 广告标识牌采购投标方案(技术标360页).docx
- CNAS-SC170:2024 信息安全管理体系认证机构认可方案.docx VIP
- GB50156-2012(2014年版) 汽车加油加气站设计与施工规范.pdf
文档评论(0)