《数据类型数据对象》PPT课件.ppt_第1页
《数据类型数据对象》PPT课件.ppt_第2页
《数据类型数据对象》PPT课件.ppt_第3页
《数据类型数据对象》PPT课件.ppt_第4页
《数据类型数据对象》PPT课件.ppt_第5页
已阅读5页,还剩25页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

4VHDL语言的数据类型及运算操作符 数据对象 数据类型 运算操作符 4 1数据对象 DataObject 及其分类 凡是可以赋予一个值的对象称为数据对象 数据对象 类 CLASS 信号 signal 变量 variable 常量 constant 类型 DATATYPES 位 位矢量 std 整数 实数等 例 类对象数据类型signala bit 数据对象的分类 信号 变量 常数 常数 表示物理设计中那些不变的量 信号 表示物理设计中的某一条硬件连接线 也可以表示寄存器 变量 电路暂存某些值的载体 数据对象的特征 允许被赋值 具有一定的数据类型 对象仅在其说明区域可见 区域外不可见 例 作用域为整个构造体的客体的定义ARCHITECTURErtlOfnameISSIGNALa BIT BEGIN ENDrtl 在构造体中的任何位置 都可以使用这个信号a 4 1 1常数 在设计描述之中不会变化的值 CONSTANT常数名 数据类型 表达式 常数所赋的值应和所定义的数据类型一致 例 CONSTANTVcc real 0101 错误 因为所赋的值与所定义的数据类型不一致 一个为实数 一个为位矢量 物理含义 可以代表数字电路中的电源 接地 计数器模值等 例 CONSTANTVcc real 5 0 4 1 2变量 variable 变量仅仅用于进程和子程序 是一个局部量 作用范围仅限于定义该变量的模块 说明格式如下 VARIABLE变量名 数据类型 表达式 变量的赋值采用 赋值后立即生效 例 变量在定义时赋值VARIABLEB INTEGER 1 变量可以在定义时被赋初值 也可以在进程中被赋值 例 变量在进程中被赋值 PROCESS variableA BIT VECTOR BEGIN A 01010 ENDPROCESS 对于综合来说 变量通常用于计算的目的 但它的综合比较难于定义 或者综合后占用大量的资源 因此 在设计中尽量避免采用变量 除非在那些我们有信心可预言结果的场合 4 1 3信号 signal 信号能够代表连线 是电子电路内硬件连接的抽象声明内部信号 没有数据流动方向 SIGNAL信号名 数据类型 表达式 例 SIGNALCOUNT BIT 0 信号在定义时赋初值 用 代入符 在程序中 信号的赋值采用 代入符 例 SIGNALS1 S2 STD LOGIC S2 1 S1 S2 信号的代入可以附加延时 例如 signalcount bit 0 after10ns 信号可以在程序中被重新赋值 4 2运算操作符 按优先级的顺序依次 低到高 为 逻辑运算符 Logical 关系运算符 Relational 并置运算符 Concatenation 算术运算符 Arithmetic 要求操作数的类型必须和操作符所要求的类型一致 4 2 1逻辑运算符 Logical 1 逻辑运算符 Logical 2 逻辑运算符的操作对象 STD LOGIC BIT STD LOGIC VECTOR 布尔量 Boolean 没有优先级差别 按自左至右的优先级顺序运算 例 下式去掉括号就会产生错误 X AANDB OR NOTCANDD 去掉括号 X AANDBORNOTCANDD 以上两式的运算次序是完全不同的 逻辑运算符常用于书写逻辑表达式 例 entityand2isport a b c d inbit q outbit endand2 architecturertlofand2isbeginq aandb or cnandd endrtl 4 2 2关系运算符 Relational 1 关系运算符 Relational 2 操作对象 1 和 适用于所有类型的数据 2 其它关系运算符则适用于 STD LOGIC INTEGER REAL STD LOGIC VECTOR 比较时 按自左至右的比较结果作为运算结果 例 下式比较就会产生错误 XY THEN 上式比较结果为Y X 显然错误 关系运算符常用于条件的判断 例 最大值选取libraryieee useieee std logic 1164 all entitymaxisport a b instd logic vector 3downto0 q outstd logic vector 3downto0 endmax architecturertlofmaxisbeginqb elseb endrtl 4 2 3并置运算符 Concatenation 并置运算符 用于位的连接 操作对象 STD LOGIC BIT STD LOGIC VECTOR BIT VECTOR STD ULOGIC VECTOR 例 a 1010 b 1001 c a b 结果为 c 10101001 4 2 4算术运算符 Arithmetic 对std logic vector类型的对象进行算术运算时 要用 useieee std logic unsigned 提前声明包集合 1算术运算符 例 利用算术运算符设计一个矢量乘法器 libraryieee useieee std logic 1164 all useieee std logic unsigned all entitymultisport a b instd logic vector 3downto0 q outstd logic vector 7downto0 endmult architecturertlofmultisbeginq a b endrtl 所有数据对象均需说明它的数据类型 包括 标准数据类型 自定义数据类型 4 3数据类型 标准的数据类型 整数 Integer 2147483647 231 2147483647 231 32位有符号数 实数 Real 1 0E 38 1 0E 38 书写时一定要有小数点 目前只能仿真 不能综合 例 signala integer a 8 例 signala real a 8 0 位 Bit 1 和 0 只代表一个位的两种取值 位矢量 Bit Vector 是位的一种组合类型 例 signala bit a 1 例 signala bit vector 3downto0 a 0101 布尔量 Boolean True 和 False 例 signala boolean a true 字符 Character 包括26个字母的大小写 0 9的数字 空格 特殊字符等等 例 signala character a a 字符串 String 用双引号括起来的一组字符序列 时间 TIME 是一个物理量数据 例 signala string a work 例 signala time a 10us 自然数和正整数 自然数 Natural 大于或等于零的整数正整数 Positive 大于零的整数 VHDL的标识符 第一个字符必须是字母 最后一个字符不能是下划线 不允许连续两个下划线 VHDL的保留字不能用作标示符 大 小写字母等效 entity3encoder38isport a inbit vector 2downto0 y outbit vector 7downto0 end entityencoder38isport a inbit vector 2downto0 y outbit vector 7downto0 end 错误的标识符 正确的标识符 VHDL的保留字 abs access after alias all and architecture array assert attribute begin block body buffer bus case component configuration constant disconnect downto else elsif end entity exit file for function generate group guarded generic if impure in intertial inout library linkage literal loop map mod nand new next nor not null of on open or thers out package port postponed procedure process pure range record

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论