- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
各值的含义是: U--未初始化的,X--强未知的,‘0’--强0,1--强1,Z--高阻态,W--弱未知的,L--弱0,H--弱1, ---忽略。 在程序中使用此数据类型前,需加入下面的语句: LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; 2) 标准逻辑矢量(STD_LOGIC_VECTOR)数据类型 STD_LOGIC_VECTOR类型定义如下: TYPE STD_LOGIC_VECTOR IS ARRAY (NATURAL RANGE) OF STD_LOGIC; 显然,STD_LOGIC_VECTOR是定义在STD_LOGIC_1164程序包中的标准一维数组,数组中的每一个元素的数据类型都是以上定义的标准逻辑位STD_LOGIC。 STD_LOGIC_VECTOR数据类型的数据对象赋值的原则是:同位宽、同数据类型的矢量间才能进行赋值。下例描述的是CPU中数据总线上位矢赋值的操作示意情况,注意例中信号数据类型定义和赋值操作中信号的数组位宽。 【例2.3.1】 … TYPE T_DATA IS ARRAY(7 DOWNTO 0) OF STD_LOGIC;-- 自定义数组类型 SIGNAL DATABUS,MEMORY:T_DATA;--定义信号DATABUS,MEMORY CPU﹕PROCESS --CPU工作进程开始 VAR1ABLE REG1﹕T_DATA --定义寄存器变量REG1 BEGIN … DATABUS=REG1; --向8位数据总线赋值 END PROCESS CPU; --CPU工作进程结束 MEM﹕PROCESS --RAM工作进程开始 BEGIN … DATABUS=MEMORY; END PROCESS MEM; … 3. 用户自定义数据类型方式 VHDL允许用户自行定义新的数据类型,它们可以有多种,如枚举类型(ENUMERA-TION TYPE)、整数类型(INTEGER TYPE)、数组类型(ARRAY TYPE)、记录类型(RECORD TYPE)、时间类型(TIME TYPE)、实数类型(REAL TYPE)等。用户自定义数据类型是用类型定义语句TYPE和子类型定义语句SUBTYPE实现的,以下将介绍这两种语句的使用方法。 1) TYPE语句用法 TYPE语句语法结构如下: TYPE 数据类型名 IS 数据类型定义 [OF 基本数据类型]; 其中,数据类型名由设计者自定;数据类型定义部分用来描述所定义的数据类型的表达方式和表达内容;关键词OF后的基本数据类型是指数据类型定义中所定义的元素的基本数据类型,一般都是取已有的预定义数据类型,如BIT、STD_LOGIC或INTEGER等。 以下列出了两种不同的定义方式: TYPE ST1 IS ARRAY(0 TO 15)OF STD_LOGIC; TYPE WEEK IS (SUN,MON,TUE,WED,THU,FRI,SAT); 第一句定义的数据ST1是一个具有16个元素的数组型数据类型,数组中的每一个元素的数据类型都是STD_LOGIC型;第二句所定义的数据类型是由一组文字表示的,而其中的每一文字都代表一个具体的数值,如可令SUN=“1010”。 在VHDL中,任一数据对象(SIGNAL、VARIABLE、CONSTANT)都必须归属某一数据类型,只有同数据类型的数据对象才能进行相互作用。利用TYPE语句可以完成各种形式的自定义数据类型以供不同类型的数据对象间的相互作用和计算。 2) SUBTYPE语句用法 子类型SUBTYPE只是由TYPE所定义的原数据类型的一个子集,它满足原数据类型的所有约束条件,原数据类型称为基本数据类型。子类型SUBTYPE的语句格式如下: SUBTYPE 子类型名 IS 基本数据 RANGEA 约束范围; 子类型的定义只在基本数据
原创力文档


文档评论(0)