第6章VHDL结构与要素1.ppt

  1. 1、本文档共112页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第6章VHDL结构与要素1

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 1. 枚举类型 枚举类型数据的定义格式为: TYPE 数据类型名 IS (元素,元素,?); 这类用户定义的数据类型应用相当广泛,例如在程序包“STD_LOGIC”和“STD_LOGIC_1164”中都有此类数据的定义。如: TYPE STD_LOGIC IS (‘U’,‘X’,‘0’,‘1’,‘Z’,‘W’,‘L’,‘H’,‘-’); 2. 整数类型、实数类型 这里所说的是用户所定义的整数类型,实际上可以认为是整数的一个子类。 整数或实数用户定义数据类型的格式为: TYPE 数据类型名 IS 数据类型定义 约束范围; 3. 数组 数组类型属复合类型,是将一组具有相同数据类型的元素集合在一起,作为一个数据对象来处理的数据类型。 VHDL仿真器支持多维数组,但综合器只支持一维数组。 数组定义的书写格式为: TYPE 数据类型名 IS ARRAY (范围) OF 原数据类型名; 4. 时间类型 时间类型是表示时间的数据类型,在仿真时是必不可少的。其书写格式为: TYPE 数据类型名 IS 范围 UNITS 基本单位; 单位; END UNITS; 这里的基本单位是“fs”,其1000倍是“ps”。 5. 记录类型 数组是同一类型数据集合起来形成的,而记录则是将不同类型的数据和数据名组织在一起形成的新客体。 记录数据类型的定义格式为: TYPE 数据类型名 IS RECORD 元素名:数据类型名; 元素名:数据类型名; END RECORD; 6.7.3 用户自定义的子类型 用户定义的子类型是用户对已定义数据类型作一些范围限制而形成的一种新的数据类型。子类型的名称通常采用用户较易理解的名字。 子类型定义的一般格式为: SUBTYPE 子类型名 IS 数据类型名 [范围]; 6.7.4 数据类型的转换 在VHDL语言中,数据类型的定义是相当严格的,不同类型的数据是不能进行运算和直接代入的。为了实现正确的代入操作,必须将要代入的数据进行类型变换。 变换函数通常由VHDL语言中的程序包提供。例如“STD_LOGIC_1164”、“STD_LOGIC_ARITH”、“STD_LOGIC_UNSIGNED” 程序包中提供了一些数据类型转换函数。 类型函数的转换 6.8 VHDL操作符 在VHDL语言中共有四类运算操作符: (1)逻辑运算 (2)关系运算 (3)算术运算 (4)并置运算 1. 逻辑操作符 在VHDL语言中逻辑操作符共用七种: NOT?取反 AND?与 OR?或 NAND?与非 NOR?或非 XOR?异或 XNOR?同或 2. 关系操作符 功能 符号 等于 = 不等于 /= 大于 大于等于 = 小于 小于等于 = 3. 算术操作符 功能 符号 算术加 + 算术减 - 算术乘 * 算术除 / 取模 MOD 取余 REM 取绝对值 ABS 并置 4. 并置操作符 并置操作符“”用于位的连接。 例如,将4个位用并置操作符连接起来就可以构成一个具有4位长度的位矢量。两个4位的位矢量用并置操作符连接起来就可以构成一个8位长度位矢量。 6.9 数据对象 共有四种对象,分别是常量、变量、信号和文件。 信号对应地代表物理设计中的某一条硬件连接线;常数对应地代表数字电路中的电源和地等。变量对应关系不太直接,通常只代表暂存某些值的载体。文件是传输大量数据的客体,在仿真测试时,测试的输入激励数据和仿真输出常常需要用文件来实现。 6.9.1 常量 常数是一个固定的值。常数的定义和设置主要是为了使程序更容易阅读和修改。常数在使用前需要说明。所谓常数说明是指对某一常数名赋予一个固定的值。通常赋值在程序开始之前进行,该值的数据类型则在说明语句中指明。 常数说明的一般格式如下: CONSTANT 常数名:数据类型:=表达式; 6.9.2 变量 变量只能在进程语句、函数语句和过程语句结构中使用,它是一个局部量。在仿真过程中,它不像信号那样,到了规定的仿真时间才进行赋值,变量的赋值是立即生效的。变量的主要作用是在进程中作为临时性的数据存储单元。 变量定义的一般格式为: VARIABALE 变量名:数据类型:=初始值; 6.9.3 信号 信号是电子电路内部硬件连接的抽象。它除了没有数据流动方向说明以外,其它性质几乎和前面所述的“端口”概念一致。信号通常在结构体、程序包和实体中说明。 信号说明语句的一般格式为: SIGNAL

文档评论(0)

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

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

1亿VIP精品文档

相关文档