版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、与其他计算机编程语言一样,VHDL 也有自己严格的数据组成规则。它包括标识符、保留字、数据对象和数据类型等语法细则一、标识符、扩展标识符和保留字标识符是最常用的操作符。VHDL 的标识符有基本标识符和扩展标识符两种(一)基本标识符的规1)注释符“-”表示后面的是 VHDL 2)26 个大小写英文字母,包括:“a”“z”、“A”“Z”,数字“0”“9”,以及下划线标识符中的英语字母不分大小标识符必须以英文字母开头必须是单一下划线“_”,其前后都必须有英文字母或数字,并且不能以下划线“_”结尾(二)扩展标识符的规VHDL93 标准对基本标识符进行扩展标识符以反斜杠来界定,如74LS373、 Hel
2、lo World都是合法的可以是任何字符,包括图形符号,如回车符、换行符、空格符等也都是两个反斜杠之间允许有多个下划线相邻扩展标识符区分大小写扩展标识符中的一个反斜杠,要用两个反斜杠来代在 VHDL 设计中定义短标识符时,应该注意那些有专门含义的保留字。不能将保留字定义为标识符。VHDL 保留字如表 8-1 所示8-1VHDL 保留二、数据对象VHDL 的数据对象(Data Objects) 是数据类型的载体,它接受不同数据类型的赋值。数据对CONSTANT、变量VARIABLE 和信号三种类型。变量和信号可以连续被赋值,而常量只可以在被说明时一次性地赋值常量是一个恒定不变的值,一旦作了数据类
3、型和赋值定义,在程序中不能再改变,具有全局性意义。常量的定义形式如下CONSTANT 常数名数据类型:= 常量的数据类型可以是标量类型或复合类型,但不能是文件类型(file或存取类型(Access)子程序中。在结构体中定义的常量是局部常量;在程序包中定义的常量可以暂不设定具体数值。值语句中。定义变量的语法格式如下:VARIABLE 变量名数据类型:= 初始在表达式中可以用变量赋值语句为变量赋值。变量赋值语句的语法格式如下目标变量名:= 表达信号类似于连接线,信号可以作为设计实体中并行语句模块间的信息交流通道。信号可以设置初始值。它的定义格式如下SIGNAL 信号名数据类型:= 初始信号可以看成
4、是实体内部的端口。实体的端口是一种隐形的信号;在实体中定义的端口,在其结构体中都可以看成是一个信号当信号定义了数据类型和表达方式后,在 VHDL 设计中就能对信号进行赋值。赋值语句表达式如目标信号名= 信号可以在实体、结构体、块中定义;在进程和子程序中使用信号三、数据类型和子类型L有很强的类型概念VHDL的数据类型可以分为四大类:标量类型(ScalarTysCostiteTypes(AccessType)(FilsType。图-2给出L的数据类型。(一)VHDL 预定义的数据IEEE VHDL 描述了两个特定程序包 STANDARD 和 TEXTIO。STANDARD 程序包声明了 VHDL
5、预定义的数据类型和函数,它指支持所有 的硬件实现。TEXTIO 程序包包含与输入和输出有关的类型和函数。下面给出 STANDARD 程序包的具体内容-ThisisPackageSTANDARDasdefinedintheVHDL1987 packagestandard typebooleanistypebitistypecharacterisNUL,SOH,STX,ETX,EOT,ENQ,ACK,BEL, BS, HT, LF, VT, FF, CR, SO, SI,DLE,DC1,DC2,DC3,DC4,NAK,SYN,ETB, CAN,EM,SUB,ESC,FSP,GSP,RSP,USP,
6、 , !, ,#, $, % ,&, ,(,),*,+,-,.0,1,2,3,4,5,6,8,9,:,;,A,B,C,D,E,F,H,I,J,K,L,M,N,P,Q,R,S,T,U,V,X,Y,Z,a,b,c,d,e,f,h,i,j,k,l,m,n,p,q,r,s,t,u,v,x,y,z,|,DEL)typeseverity_levelis typeintegerisrangeimplementation_typerealisrangeimplementation_ typetimeisrangeimplementation_ hr=60min-end-functionthatreturnst
7、hecurrentsimulationfunctionnowreturn subtypenaturalisintegerrange0tosubtypepositiveisintegerrange1to typestringisarray(positiverange)ofcharacter; type bit _ vector is array (natural range ) of bit; endstandard;由此可见,STANDARD 程序包主要是标量类型,包括:整数 Integer、浮点 Floating、枚举 Enumeration 和物理 Physcal 类型等其中,整数用32位
8、的位向量来描述,其取值范围是(231-1),即-2147483647+2147483647;浮点类型是-1.0E38+1.0E38范围的实数;枚举类型指BIT BOOLEAN 两种类型,BIT BOOLEAN 两种类型的值可以互相转换。将一个BIT 值转换成BOOLEAN 值的语句是:BOOLEAN_VAR 而将一个BOOLEAN 值转换成BIT 值的语句是if(BOOLEAN_VAR)thenBIT_VAR elseBIT_VAR endif 预定义的物理类型是时间 Time,基本单位是 fs(10-15s)(二)VHDL 允许的自定义数据类自定义数据类型主要有复合类型、存取类型、文件类型和
9、子类型等复合类型复合类型包括数组类型和记录类型两种数组类型是一组相同数据类型元素的集合,数组的元素可以是任何一种数据类型。数组中元素的个数,以及元素的排序方向(即下标数是由低到高,或是由高到低)由数组元素的下标范围决定。如子句“0TO”是由低到高排序的8个元素;“DOWNTO0”是由高到低排序的6个元素。L定性数组下标的取值范围需留待随后确定。定义限定性数组的语句格式如下TYPE 数组名ISARRAY数组范围OF 数据类其中,数组名是新定义的限定性数组类型的名称;数组范围是元素的数量和排序方式,并且以整数表示;数据类型则是数组各元素的数据类型定义取值,使相同的数据对象具有不同下标取值。定义非限
10、制性数组的语句格式如下TYPE 数组名ISARRAY数组下RANGEOF 数据类型再填入具体的数值范围(注意:符号间不能有空格);数据类型是数组中每一元素的数据类型。记录类型是不同数据类型元素的集合记录是一种异构复合类型,记录中的元素可以是不同的类型定义记录类型的语句格式如TYPE 记录类元素名: 元素数据类型元素名: 元素数据类型ENDRECORD记录类型名序。例如,在STANDARD程序包中,NATURAL和POSITIVE是INTEGER类型的子类型,它们可以用于任何INTEGER函数。定义子类型的语句格式如下SUBTYPE 子类型名IS 数据类型名范围表 8-2VHDL 的运算符及其优
11、先*乘/除+正-负+加-减&=与或四、运算符及其预定义程序包结果的类型等方面。不同类型的运算符之间也有一定的优先级关系,优先级的运算规则与一般程序设计语言相8-2VHDL的运算操作符 IEEE 的标准程序包 STD_LOGIC_1164 定义了一个描述用于 VHDL 建模的数据类型的互联标准程序包 STD_LOGIC_ARITH 定义了算术和关系操作符、两种主要数据类型 UNSIGNED 和 SIGNED、以及 3 套函数。它定义的函数支持 VHDL 预定义 INTEGER 类型的转化(即可以将 INTEGER 与别的类型互相转化)、算术、比较、和 BOOLEAN 操作;也支持数据类型数据的算术操作和数IEEE的标准程序包STD_LOGIC_UNSIGNED在包前用use语句引用了标准程序包STD_LOGIC_1164STD_LOGIC_ARITH。从而,对 std_logic_vector 类型进行了扩充定义,使之可uns
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024专业资产评估人员劳务协议
- 2024年水电工程建筑协议范本
- 2024年专业设备买卖代理协议
- 2024商业反担保协议格式
- 2024年度桩基破桩头工程承包协议
- 2024二人协作协议格式样本指导手册
- 2024年项目经理职务协议样本
- 2024年期铁棚建设协议范本
- 2024年定制SaaS软件销售协议
- 2024矿产品交易协议条款集要
- 《阿凡达》电影赏析
- DB42-T 2286-2024 地铁冷却塔卫生管理规范
- 合作伙伴合同协议书范文5份
- 小学生主题班会《追梦奥运+做大家少年》(课件)
- 公安机关人民警察高级执法资格考题及解析
- 浙教版信息科技四年级上册全册教学设计
- 2024年全国职业院校技能大赛中职(中式烹饪赛项)考试题库-下(多选、判断题)
- 教师节感恩老师主题班会一朝沐杏雨一生念师恩因为有你未来更加光明课件
- 红托竹荪工厂化栽培技术规程
- 【基于Android的电商购物系统设计与实现3900字(论文)】
- YBT 189-2014 连铸保护渣水分含量(110℃)测定试验方法
评论
0/150
提交评论