




免费预览已结束,剩余1页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
标准数据类型1,整数(INTEGER)范围:-2147483547-21474836462,实数(REAL)范围:-1.0E38-1.0E38 (综合器不支持)书写时一定要有小数.3,位(BIT)在数字系统中,信号经常用位的值表示,位的值用带单引号的1和0来表示标准数据类型4,位矢量(BIT_VECTOR)位矢量是用双引号括起来的一组位数据0101015,布尔量(BOOLEAN)只有真和假两个状态,可以进行关系运算6,字符(CHARACTER)字符量通常用单引号括起来,对大小写敏感明确说明1是字符时: CHARACTER(1) 标准数据类型7,字符串(STRING)字符串是双引号括起来的由字母,数字或,%,$组成的一串字符.区分大小写laksdklakld 10101010108,时间(TIME)时间的单位:fs,ps,ns,ms,sec,min,hr例: 10 ns整数数值和单位之间应有空格标准数据类型9,错误等级(SEVERITY LEVEL)在VHDL仿真器中,错误等级用来表示系统的状态,它共有4种:NOTE(注意)WARNING(警告)ERROR(错误)FAILURE(失败)标准数据类型10,自然数(NATURAL) 正整数(POSITIVE)自然数是整数的一个子类型,包括0和正整数;正整数也是整数的一个子类型.只能是正整数数据除定义类型外,有时还需要定义约束范围.INTEGER RANGE 100 DOWNTO 0BIT_ VECTOR (3 DOWNTO 0)REAL RANGE 2.0 TO 30.0IEEE定义的逻辑位与矢量在IEEE的程序包std_logic_1164中定义了两个非常重要的数据类型:1 ,std_logic 取值:0,1,Z,X,W,L,HZ:高阻 X:不定 W:弱信号不定 L:弱信号0 H:弱信号12,Std_logic_vector注 意1,在使用std_logic和std_logic_vector时,在程序中必须声明库及程序包说明语句,即LIBRARY ieee和std_logic_1164.ALL这两句在程序中必不可少.2, std_logic有多个取值,与BIT不同,在编程时应特别注意,需要考虑全所有情况.用户自定义的数据类型1,枚举类型格式:TYPE 数据类型名 IS(元素,元素,);TYPE STD_LOGIC IS(U,X,0,1,Z,W,L,H,-);TYPE week IS (Sun,Mon,Tue,wed,Thu,Fri,Sat);TYPE color IS (red,green,yellow,blue) TYPE lift_state IS(stopon1,doorpeen,doorclose, doorwait1, doorwait2, doorwait3, doorwait4, doorwait5,up,down,stop) 枚举类型的声明TYPE color IS (red,green,yellow,blue);VARIABLE A:COLOR;SIGNAL B:COLOR;A:=RED;B=YELLOW;TYPE lever IS (0,1,z);SIGNAL V:lever;V=1;用户自定义的数据类型2,整数(INTEGER)格式:TYPE 数据类型名 IS 数据类型定义 约束范围例 TYPE digit IS INTEGER RANGE 0 TO 9 VARIABLE A:DIGIT;A:=5;A:=28;用户自定义的数据类型3,实数(REAL)格式:TYPE 数据类型名 IS 数据类型定义 约束范围TYPE current IS REAL RANGE -1E4 TO 1E4 VARIABLE A:CURRENT;A:=1E3;A:=1E10;用户自定义的数据类型4,数组(ARRAY)格式:TYPE 数据类型名 IS ARRAY 范围 OF 原数据类型名;例:TYPE word IS ARRAY (1 TO 8) OF STD_LOGIC;TYPE word IS ARRAY (INTEGER 1 TO 8) OF STD_LOGIC;数组常在总线,ROM和RAM中使用. 用户自定义的数据类型5,记录(RECODE) 类型将不同的数据类型放在一块,就是记录类型数据格式:TYPE 记录类型名 IS RECORD元素名:数据类型名;元素名:数据类型名;:END RECORD记录类型名; 记录(RECODE) 类型例:TYPE bank IS RECORDaddr0: STD_LOGIC_VECTOR(7 DOWNTO 0);addr1: STD_LOGIC_VECTOR(7 DOWNTO 0);r0: INTEGER;END RECORD; 记录(RECODE) 类型例:CONSTANT LEN:integer:=100;TYPE array logic IS ARRAY (99 downto 0)OF STD_LOGIC_VECTOR(7 DOWNTO 0)TYPE table IS RECORDa: array logic;b: STD_LOGIC_VECTOR(7 DOWNTO 0);c: integer RANGE 0 to len ;END RECORD; 数据类型的转换数据类型转换函数有VHDL语言的包提供例如:STD_LOGIC_1164,STD_LOGIC_ARITHSTD_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转换成BIT2、STD_LOGIC_ARITH包CONV_STD_LOGIC_VECTOR(A,位长)CONV_INTEGER(A)由INTEGER,UNSIGNED和SIGNED转换成STD_LOGIC_VECTOR由UNSIGNED和SIGNED转换成INTEGER3、STD_LOGIC_UNSIGNED包CONV_INTEGER(A)_STD_LOGIC_VECTOR转换成INTEGERVHDL属性VHDL没有一般程序语言中的那些运算类标准函数,取而代之的是多种能反映和影响硬件行为的属性.属性在描述时序电路的VHDL设计文件中几乎处处可见,如检测上升沿,下降沿,知道前一次发生的事件.VHDL属性属性指的是关于实体,结构体,类型及信号的一些特征.有的属性对综合(设计)非常有用.VHDL的属性可分为数值类属性,函数类属性,范围类属性,信号类属性,类型类属性.其引用的一般形式为:对象属性.数值类属性数值类属性用于返回数组,块或一般数据的有关值,如边界,数组长度等信息.对一般的数据有4种数值类属性:对象类型的左边界,右边界,上边界,下边界,对应的关键字是:LEFT,RIGHT,HIGH,LOW.数组在加一个长度属性LENGTH.数值类属性sdown:IN std_logic_vector(8 DOWNTO 0);sup:IN std_logic-vector(0 to 8);这两个信号的各属性值如下:sdownleft=8; sdownright=0; sdownlow=0; sdownhigh=8; sdownlength=9;supleft=0; supright=8; suplow=0; suphigh=8; suplength=9;数值类属性TYPE bit32 IS ARRAY (63 DOWNTO 32)OF BITVARIABLE:left_range,right_range,up_range,low_range,len:INTEGER;BEGIN left-range:=bit32LEFT; -return 63right-range:=bit32RIGHT; -return 32up-range:=bit32HIGH; -return 63low-range:=bit32LOW; -return 32len:=bit32LENGTH; -return 32函数类属性信号属性函数属于函数类属性,用来返回有关信号行为功能的信息.共有5种信号属性函数,分别是: EVENT(事件) ; ACTIVE(活跃); LAST_EVENT (最近一次事件到现在经过多少时间); LAST_ACTIVE (最近一次活跃到现在经过多少时间); LAST_VALUE(信号变化前的取值是什么)EVENTEVENT:它的值为布尔型,取值为TRUE或FALSE;如果刚好有事件发生在该属性所附着的信号上(即信号有变化),取值为TRUE.利用此属性可决定时钟边沿是否有效,即时钟是否发生.EVENTSIGNAL clk: IN std_logic;clk EVENT AND clk=1 clk=1 AND clk EVENTclk EVENT AND clk=0clk=0 AND clk EVENTrising_edge(clk) falling_edge(clk)EVENT 和ACTIVEEVENT 要求信号值发生变化;1到0,0到1ACTIVE 信号值的任何变化,1到1,1 到0,0到1,0到0;所有的事件都是活跃,但并非所有的活跃都是事件范围类属性RANGE属性,其生成一个限制性数据对象的范围.例 SIGNAL data_bus:std_logic_vector(15 DOWNTO 0);data_bus RANGE=15 downto 0用VHDL语言设计分频电路,把1KHZ的时钟分至约1HZ左右的时钟LIBRARY IEEE;USE IEEE.Std_Logic_1164.ALL;ENTITY FreDevider ISPORT (Clkin:IN Std_Logic; Clkout:OUT Std_Logic);END;ARCHITECTURE Devider OF FreDevider ISCONSTANT N:Integer:=4
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 选煤厂自动化控制系统故障诊断与处理方案
- 驱动芯片覆晶封装测试建设项目节能评估报告
- 超高纯电子级气体生产建设项目环境影响报告书
- 干管流域污水管网整治工程环境影响报告书
- 拆除工程周边环境影响控制方案
- 2025年焊工培训考试试题及答案
- 实验动物模拟试题及答案
- 精密导体生产线项目施工方案
- 城乡供水一体化提升改造工程建设工程方案
- 创业团队股权分配及离婚后权益保障协议书样本
- 村干部饮水安全培训总结课件
- 2025年工地安全员培训考试试题及答案
- 安全生产治本攻坚三年行动半年工作总结
- 文明有礼+课件-2025-2026学年统编版道德与法治八年级上册
- 供水设备运行维护与保养技术方案
- 木雕工艺课件
- 2025年2个清单28个问题查摆整改措施
- 摩擦力影响因素实验报告范本
- 教育系统应急知识培训课件
- 基坑防护课件
- 2025年黑龙江省龙东地区中考英语真题含答案
评论
0/150
提交评论