自定义数据类型及转换.pptxVIP

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

第九讲VHDL自定义数据类型及类型转换本讲知识点:自定义数据类型数据类型转换

用户自定义数据类型TYPE语句用法:TYPE数据类型名IS数据类型定义[OF基本数据类型];用户定义的数据类型可以有多种,如枚举类型、整数类型、实数类型、数组类型、记录类型和时间类型等。

typest1isarray(0to15)ofstd_logic;typeweekis(sun,mon,tue,wed,thu,fri,sat);上述格式中的数据类型名由设计者自定;数据类型定义部分用来描述所定义元素的表达方式和表达内容;基本数据类型是指数据类型定义中所定义的基本数据类型,一般都是取已有的预定义数据类型。0102例:

常用的自定义数据类型※枚举数据类型:typeweekis(sun,mon,tue,wed,thu,fri,sat);在逻辑电路中,所有的数据都是用“1”或“0”来表示的,但是人们在考虑逻辑关系时,只有数字往往是不方便的。在VHDL语言中,可以用文字符号来表示一组实际的二进制数。“000”“001”“010”“011”“100”“101”“110”

例如:typem_stateis(state1,state2,state3,state4,state5);signalp_state,n_state:m_state;在综合过程中,枚举类型文字元素的编码通常是自动的,编码顺序是默认的,一般将第一个枚举量(最左边的量)编码为0,以后的依次加1。默认编码值如下:state1=’000’;state2=’001’;state3=’010’;state4=’011’;state5=’100’;

思考:如何表示STD_LOGIC类型?

TYPE数组名ISARRAY(数组范围)OF数据类型;TYPE数组名ISARRAY(数组下标名RANGE)OF数据类型数组类型属复合类型,是将一组具有相同数据类型的元素集合在一起,作为一个数据对象来处理的数据类型。数组可以是一维数组或多维数组。语句格式如下:数组类型:

010304020506typestbisarray(7downto0)ofstd_logic;该数组有8个元素,其下标排列是7、6、…1、0。typedata_busisarray(0to7)ofbit;该数组有8个元素,其下标排列是0、1、…6、7。TYPEbit_numberISARRAY(naturalRANGE)OFBIT;VARIABLEbb:bit_number(1to6);例:

对数组赋值有两种方法:一是对整个数组进行一次赋值;二是按下标对每一个数组元素进行赋值。例:typedata_busisarray(0to7)ofbit;signala:data_bus;整体赋值:a=;分别赋值:a(0)=‘0’;a(1)=‘1’;a(2)=‘0’;a(3)=‘0’;a(4)=‘0’;a(5)=‘1’;a(6)=‘1’;a(7)=‘1’;

23%Option1语句格式如下:例:P89例4-8用来表示时间、电压、容量和阻抗等物理量。TYPE数据类型名IS范围;UNITS基本单位;单位;ENDUNITS30%Option2物理类型:

记录元素名2:数据类型名;记录元素名1:数据类型名;ENDRECORD;将不同类型的数据和数据名组织在一起,而形成新的对象。语句格式如下:……TYPE记录类型名ISRECORD记录类型:

下面是记录类型定义的一个例子:1typec_timeisrecord2year:integerrange0to3000;3month:integerrange1to12;4date:integerrange1to31;5enable:bit;6data:std_logic_vector(15downto0);7endrecord;8记录类型的对象的说明:9signalnumber:c_time;10

一个记录的每一个元素要由它的记录元素名来进行访问。对于记录类型的对象的赋值和数组类似,可以对其进行整体赋值,也可分别

文档评论(0)

SYWL2019 + 关注
官方认证
文档贡献者

权威、专业、丰富

认证主体四川尚阅网络信息科技有限公司
IP属地四川
统一社会信用代码/组织机构代码
91510100MA6716HC2Y

1亿VIP精品文档

相关文档