版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
标准数据类型
1,整数(INTEGER)
范围:-2147483547---2147483646
2,实数(REAL)
范围:-1.0E38---1.0E38(综合器不支持)
书写时一定要有小数.
3,位(BIT)
在数字系统中,信号经常用位的值表示,位的值用带单引号的'1'和'0'来表示
标准数据类型
4,位矢量(BIT_VECTOR)
位矢量是用双引号括起来的一组位数据
"010101"
5,布尔量(BOOLEAN)
只有"真"和"假"两个状态,可以进行关系运算
6,字符(CHARACTER)
字符量通常用单引号括起来,对大小写敏感
明确说明1是字符时:CHARACTER'('1')
标准数据类型
7,字符串(STRING)
字符串是双引号括起来的由字母,数字或@,%,$组成的一串字符.区分大小写
"laksdklakld""1010101010"
8,时间(TIME)
时间的单位:fs,ps,ns,ms,sec,min,hr
例:10ns
整数数值和单位之间应有空格
标准数据类型
9,错误等级(SEVERITYLEVEL)
在VHDL仿真器中,错误等级用来表示系统的状态,它共有4种:
NOTE(注意)
WARNING(警告)
ERROR(错误)
FAILURE(失败)
标准数据类型
10,自然数(NATURAL)正整数(POSITIVE)
自然数是整数的一个子类型,包括0和正整数;正整数也是整数的一个子类型.
只能是正整数数据除定义类型外,有时还需要定义约束范围.
INTEGERRANGE100DOWNTO0
BIT_VECTOR(3DOWNTO0)
REALIEEE定义的逻辑位与矢量
在IEEE的程序包std_logic_1164中定义了两个非常重要的数据类型:
1,std_logic
取值:0,1,Z,X,W,L,H
Z:高阻X:不定W:弱信号不定
L:弱信号0H:弱信号1
2,Std_logic_vector
注意
1,在使用"std_logic"和"std_logic_vector"时,在程序中必须声明库及程序包说明语句,即LIBRARYieee和std_logic_1164.ALL这两句在程序中必不可少.
2,std_logic有多个取值,与BIT不同,在编程时应特别注意,需要考虑全所有情况.
用户自定义的数据类型
1,枚举类型
格式:TYPE数据类型名IS(元素,元素,…);
TYPESTD_LOGICIS
('U','X','0','1','Z','W','L','H','-');
TYPEweekIS(Sun,Mon,Tue,wed,Thu,Fri,Sat);
TYPEcolorIS(red,green,yellow,blue)
TYPElift_stateIS
(stopon1,doorpeen,doorclose,doorwait1,doorwait2,doorwait3,doorwait4,doorwait5,up,down,stop)
枚举类型的声明
TYPEcolorIS(red,green,yellow,blue);
VARIABLEA:COLOR;
SIGNALB:COLOR;
A:=RED;
B<=YELLOW;
TYPEleverIS('0','1','z');
SIGNALV:lever;
V<='1';
用户自定义的数据类型
2,整数(INTEGER)
格式:TYPE数据类型名IS数据类型定义约束范围
例TYPEdigitISINTEGERRANGE0TO9
VARIABLEA:DIGIT;
A:=5;
A:=28;
用户自定义的数据类型
3,实数(REAL)
格式:TYPE数据类型名IS数据类型定义约束范围
TYPEcurrentISREALRANGE-1E4TO1E4
VARIABLEA:CURRENT;数据类型的转换
数据类型转换函数有VHDL语言的包提供
例如:STD_LOGIC_1164,
STD_LOGIC_ARITH
STD_LOGIC_UNSIGNED等等
函数
说明
1、STD_LOGIC_1164包
TO_STDLOGIC_VECTOR(A)
TO_BITVECTOR(A)
TO_LOGIC(A)
TO_BIT(A)
由BIT_VECTOR转换成STD_LOGIC_VECTOR
由STD_LOGIC_VECTOR转换成BIT_VECTOR
由BIT转换成STD_LOGIC
由STD_LOGIC转换成BIT
2、STD_LOGIC_ARITH包
CONV_STD_LOGIC_VECTOR(A,位长)
CONV_INTEGER(A)
由INTEGER,UNSIGNED和SIGNED转换成
STD_LOGIC_VECTOR
由UNSIGNED和SIGNED转换成INTEGER
3、STD_LOGIC_UNSIGNED包
CONV_INTEGER(A)
_
STD_LOGIC_VECTOR转换成INTEGERVHDL属性
VHDL没有一般程序语言中的那些运算类标准函数,取而代之的是多种能反映和影响硬件行为的属性.属性在描述时序电路的VHDL设计文件中几乎处处可见,如检测上升沿,下降沿,知道前一次发生的事件.
VHDL属性
属性指的是关于实体,结构体,类型及信号的一些特征.有的属性对综合(设计)非常有用.
VHDL的属性可分为数值类属性,函数类属性,范围类属性,信号类属性,类型类属性.其引用的一般形式为:对象'属性.
数值类属性
数值类属性用于返回数组,块或一般数据的有关值,如边界,数组长度等信息.对一般的数据有4种数值类属性:对象类型的左边界,右边界,上边界,下边界,对应的关键字是:LEFT,RIGHT,HIGH,LOW.数组在加一个长度属性LENGTH.
数值类属性
sdown:INstd_logic_vector(8DOWNTO0);
sup:INstd_logic-vector(0to8);
这两个信号的各属性值如下:
sdown'left=8;sdown'right=0;sdown'low=0;sdown'high=8;sdown'length=9;
sup'left=0;sup'right=8;sup'low=0;sup'high=8;sup'length=9;
数值类属性
TYPEbit32ISARRAY(63DOWNTO32)OFBIT
VARIABLE:left_range,right_range,up_range,low_range,len:INTEGER;
BEGIN
left-range:=bit32'LEFT;--return63
right-range:=bit32'RIGHT;--return32
up-range:=bit32'HIGH;--return63
low-range:=bit32'LOW;--return32
len:=bit32'LENGTH;--return32
函数类属性
信号属性函数属于函数类属性,用来返回有关信号行为功能的信息.共有5种信号属性函数,分别是:'EVENT(事件);'ACTIVE(活跃);
'LAST_EVENT(最近一次事件到现在经过多少时间);'LAST_ACTIVE(最近一次活跃到现在经过多少时间);'LAST_VALUE(信号变化前的取值是什么)
EVENT
EVENT:它的值为布尔型,取值为TRUE或FALSE;
如果刚好有事件发生在该属性所附着的信号上(即信号有变化),取值为TRUE.
利用此属性可决定时钟边沿是否有效,即时钟是否发生.
EVENT
SIGNALclk:INstd_logic;
clk'EVENTANDclk='1'
clk='1'ANDclk'EVENT
clk'EVENTANDclk='0'
clk='0'ANDclk'EVENT
rising_edge(clk)falling_edge(clk)
EVENT和ACTIVE
EVENT要求信号值发生变化;1到0,0到1
ACTIVE信号值的任何变化,1到1,1到0,0到1,0到0;
所有的事件都是活跃,但并非所有的活跃都是事件
范围类属性
'RANGE属性,其生成一个限制性数据对象的范围.
例SIGNALdata_bus:std_logic_vector(15DOWNTO0);
data_bus'RANGE=15downto0用VHDL语言设计分频电路,把1KHZ的时钟分至约1HZ左右的时钟LIBRARYIEEE; USEIEEE.Std_Logic_1164.ALL; ENTITYFreDeviderIS PORT (Clkin:INStd_Logic; Clkout:OUTStd_Logic); END; ARCHITECTUREDeviderOFFreDeviderIS CONSTANTN:Integer:=499; signalcounter:Integerrange0toN; signalClk:Std_Logic; BEGIN PROCESS(Clkin)
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 轮胎平衡机市场发展预测和趋势分析
- 2024年废弃物处理与资源回收合同
- 2024年度大豆产业技术创新联盟合同
- 2024年度技术服务补充合同
- 家用清洁剂市场发展现状调查及供需格局分析预测报告
- 空化妆用滴管市场需求与消费特点分析
- 无菌罩布外科用市场发展现状调查及供需格局分析预测报告
- 2024年度体育赛事赞助与广告植入合同
- 贝雷帽市场需求与消费特点分析
- 2024年度保温板质量保证及施工安全合同
- 牧场物语-矿石镇的伙伴们-完全攻略
- 2022-2023学年北京市海淀区七年级上学期期末语文试卷(含答案解析)
- 期中考试卷(试题)-2024-2025学年苏教版二年级数学上册
- 知识创业思维与方法智慧树知到答案2024年湖南师范大学
- 物业服务考核表(KPI量化考核)
- 网站建设与运营课程标准
- 北师大版数学四年级下册《第五单元 认识方程方程》课件
- 谈生命(冰心)原文及注释
- 用户运营基础知识
- 国家电网有限公司电网建设项目档案管理办法
- 车辆技术档案(全国通用版)
评论
0/150
提交评论