已阅读5页,还剩15页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第九讲VHDL自定义数据类型及类型转换 本讲知识点 自定义数据类型数据类型转换 1 TYPE语句用法 TYPE数据类型名IS数据类型定义 OF基本数据类型 用户自定义数据类型 用户定义的数据类型可以有多种 如枚举类型 整数类型 实数类型 数组类型 记录类型和时间类型等 上述格式中的数据类型名由设计者自定 数据类型定义部分用来描述所定义元素的表达方式和表达内容 基本数据类型是指数据类型定义中所定义的基本数据类型 一般都是取已有的预定义数据类型 例 typest1isarray 0to15 ofstd logic typeweekis sun mon tue wed thu fri sat 常用的自定义数据类型 枚举数据类型 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类型 数组类型 语句格式如下 1 TYPE数组名ISARRAY 数组范围 OF数据类型 2 TYPE数组名ISARRAY 数组下标名RANGE OF数据类型 数组类型属复合类型 是将一组具有相同数据类型的元素集合在一起 作为一个数据对象来处理的数据类型 数组可以是一维数组或多维数组 例 typestbisarray 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 01000111 分别赋值 a 0 0 a 1 1 a 2 0 a 3 0 a 4 0 a 5 1 a 6 1 a 7 1 物理类型 语句格式如下 1 TYPE数据类型名IS范围 UNITS基本单位 单位 ENDUNITS例 P89例4 8 用来表示时间 电压 容量和阻抗等物理量 记录类型 将不同类型的数据和数据名组织在一起 而形成新的对象 语句格式如下 TYPE记录类型名ISRECORD记录元素名1 数据类型名 记录元素名2 数据类型名 ENDRECORD 下面是记录类型定义的一个例子 typec timeisrecordyear integerrange0to3000 month integerrange1to12 date integerrange1to31 enable bit data std logic vector 15downto0 endrecord 记录类型的对象的说明 signalnumber c time 一个记录的每一个元素要由它的记录元素名来进行访问 对于记录类型的对象的赋值和数组类似 可以对其进行整体赋值 也可分别赋值 从记录类型的对象中提取记录元素时应使用 对记录元素分别赋值 number year 2005 number mouth 9 number date 22 number enable 1 number data data in 对记录元素整体赋值 number 2005 9 22 1 data in 例2 P90例4 9 用户定义的子类型SUBTYPE是TYPE所定义的数据类型的一个子集 它满足原数据类型的所有约束条件 原数据类型称为基本数据类型 SUBTYPE格式如下 SUBTYPE子类型名IS基本数据类型 约束范围 上述格式中的子类型名由设计者自定 基本数据类型必须是前面已有过type定义的类型 例 subtypedigisintegerrange0to9 其中 integer是标准程序包中已定义过的数据类型 子类型只是把integer约束到只含10个值的数据类型 P90例4 10 5 数据类型的转换 在VHDL语言中 数据类型的定义是相当严格的 不同的数据类型之间不能进行运算和直接代入 为了实现正确的赋值操作 必须要将带入的数据进行类型转换 转换的方式 1 转换函数数据类型转换函数通常有程序包来提供 P91 2 数据类型限定 程序 LIBRARYIEEE USEIEEEstd logic 1164 ALL USEIEEEstd logic UNSIGNED ALL ENTITYadd5ISPORT num INstd logic vector 2DOWNto0 ENDadd5 ARCHITECTURErt1ofadd5issignalin num integerrange0to5 BEGINin num CONV INTEGER num 变换式 ENDrtl 例2 Signalb std logic Signalu1 unsigned 3downto0 Signals1 signed 3downto0 Signali1 i2 integer U1 1001 S1 1001 B
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 电子商务网站开发合同协议2026
- 电子商务平台入驻协议(2026年零售行业)
- 电商直播客服外包服务合同协议
- 电线电缆金属导体挤制工岗前评优考核试卷含答案
- 中药糖浆剂工标准化评优考核试卷含答案
- 阀门装配调试工安全行为水平考核试卷含答案
- 药物检验员复试能力考核试卷含答案
- 玉米收获机操作工发展趋势模拟考核试卷含答案
- 稀土永磁合金快淬工岗前工作能力考核试卷含答案
- 医疗器械购销员安全培训效果强化考核试卷含答案
- 六一儿童节主题班会
- 2026年深圳高三数学高考三模冲刺卷:三角向量与空间几何(教师命题组版第1套)含参考答案、逐题解析与评分细则
- 湖南省郴州市2026年中考语文第一次模拟监测试卷附答案
- 2026年5月浙江省Z20高三语文联考9篇考场高分范文:当一个人向你树立边界时
- 德州市2026届高三(三模)语文试题(含答案)
- 2026年广东广州市高三二模高考英语模拟试卷(含答案解析)
- 生物新教师培训
- 全国职工数字化应用技术技能大赛无人机装调检修工竞赛题库(附答案)
- 2026年药品gmp知识考核题库检测试卷(考点提分)附答案详解
- 2026年西部计划楚雄考试试题及答案
- 外贸英语函电 课件 第十八章 跨境电商英文写作Cross-border E-commerce English Writing
评论
0/150
提交评论