版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第3章 数据对象和数据类型3.1 数据对象数据对象 数据对象:通俗理解,数据对象是存放数据的数据对象:通俗理解,数据对象是存放数据的容器,在容器,在vhdl中数据对象有中数据对象有3种种 (1)常量()常量(constant) (2)信号()信号(signal) (3)变量()变量(variable) 一、常量用来确定默认值,相当于电路中的固定电平格式:constant 常量名:数据类型:=常量值;例:constant A1 :bit:=1;constant B1 :bit_vector(3 downto 0):=“1010”; 二、信号 信号代表电路中的“硬”连线,即用于电路的输入/输出端口
2、,也用于电路内部各元件之间的互联。 格式:signal 信号名:数据类型:=初值;(初值可省略) 例:signal a,b:bit; 信号的赋值:用“=“符号对信号进行赋值 例:a=1; b=0; 信号赋值的特点:信号赋值是有延时的;且信号赋值是并发的;信号是全局的,在整个结构体中全局使用 三、变量 变量仅用于局部电路的描述,是临时存放数据的单元,变量只能在进程,函数等中使用。 格式:VARIABLE 变量名:数据类型【:=初值】; 例:variable c,d:bit 变量的赋值:用“:=”对变量进行赋值,对变量赋值是瞬时完成的,只是在局部进程和函数,过程中使用 例:c:=1; D:=0;3
3、.2 数据类型一、预定义的数据类型1、布尔类型(boolean) 取值:true,false 运算:逻辑运算2、位类型(bit): 取值:取0和1两个值 运算:逻辑运算 例:signal tp:bit Tp=0;3、位矢量(bit_vector):位矢量 注:定义位矢量时,要注意位矢量的宽度和次序赋值时可整体赋值,也可每1位单独赋值 运算:位矢量和位类型的数据只能进行逻辑运算 例:signal data:bit_vector(3 downtown 0); Signal y,temp:bit_vector(0 to 3); data=”1110”(data(3)=1,data(2)=1,data
4、(1)=1 data(0)=0) 单独1位赋值:data(3)=0; y=”ZZZZ”; y=(0,1,0,1); y0); y0,others=1); 3、整数(integer)取值:提供最大32位的整数,整数范围( )注:定义整数时,应制定整数的范围,便于综合,否则综合器默认的位数是32位。运算:整数类型只能进行算术运算例:signal d:integer range 0 to 15; Signal f:integer; d=15(综合后位F,4位); f=15(综合后位0000000F)1223131注意:定义整数指定了范围,也就是制定了定义整数的二进制位数,当自身加一时,整数值可超限,
5、但是在对其进行具体的赋值时,不可超限 例:signal temp;integer 0 to 26 Temp=27(错误) temp=temp+1(按照5为2进制数相加,可加到32)4、 标准逻辑位类型(std_logic) 标准逻辑位矢量(std_logic_vector)取值:具有8种不同的值,为什么引入8值, 主要是考虑两个及两个以上的电路输出 端如连在同一节点上,此点的电平与电 路驱动能力有关,驱动能力强的输出可 将节点电平强行拉高或是拉低,因此建 立多值系统是为了对这种情况进行分析。8值: x 强不确定值 0强0 1强1 Z高阻 W弱不确定值 L弱0 H弱1 -不能出现的情况 实际中只
6、有0.1,Z能被综合运算:位矢量是位类型数据的集合,同样要注意数 据的宽度和次序,而且只能进行逻辑运算例: signal aa:std_logic_vector(3 downto 0); aa=“zzzz”; aa=“1011”; aa(3)=1;5、有符号数(signed)和无符号数(unsigned)取值:定义和std_logic_vector相同,但支持算术运算。 运算:算术运算 例:signal aa:signed(7 downto 0); Signal bb:unsigned(7 downto 0); aa=”11111111”; bb=”11111111”; 有符号数 无符号数 0
7、0H7FH 0127 0127 80HFFH -128-1 128255 二、用户定义的数据类型(根据用户的需求,重新定义新的数据类型) 1、用户定义的整数类型格式:type 数据类型 is 范围 例:type my_integer is range 0 to 100 Signal data1:my_integer;2、用户定义的枚举类型 数据类型的值由指定的枚举值确定 格式:type 数据类型 is (枚举值) 例:type mylogic is (0,1,Z) Type state is (s0,s1,s2); Signal ps:state; Ps=s0; 用户定义的数据类型可存放在自定
8、义的程序中,也可在主程序中直接定义 3、子类型 在原有的数据类型的基础上加一些约束条件,可 定义该数据类型的子类型。格式:subtype 子数据类型 is 母数据类型 范围 例:subtype mylogic is integer range 0 to 10; Subtype mystate is state range s0 to s1;3.3 数据类型间的转换(见书) conv_integer(p):将integer,unsigned,signed,std_logic或者std_ulogic的操作数p转换为integer类型.注意:不包含std_logic_vector conv_unsigned(p,b):将integer,unsigned,signed,或者std_ulogic的操作数p转换为位宽为b的unsigned类型. conv_signed(p,b):将integer,unsigned,si
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年广东珠海市城市管理指挥中心招聘人员历年高频重点提升(共500题)附带答案详解
- 2024年精简居间服务合同集3篇
- 2025年度民间借贷合同范本:医疗健康产业贷款合同范例2篇
- 分拆上市的动因及绩效研究
- ESG表现、新质生产力与企业高质量发展
- 校本研修能力提升班开班仪式发言稿范文
- 云南省师大附中2021届高三高考适应性月考(五)文综试题-扫描版含解析
- 数据通信技术论文
- 齿轮齿条传动机构设计说明书
- 金属配件在通信设备中的应用考核试卷
- DB11-T212-2017园林绿化工程施工及验收规范
- 小学数学自制教具学具的研究及探讨
- 广东省幼儿园一日活动指引(试行)
- 光学材料-光学加工流程
- 奔驰卡车产品分析(课堂PPT)
- 企业各部门安全生产职责培训PPT课件
- 反循环钻孔灌注桩施工方案
- 新能源小客车购车充电条件确认书
- 发明专利专利答辩模板
- 市政府副市长年道路春运工作会议讲话稿
- 铸铁镶铜闸门
评论
0/150
提交评论