欢迎来到天天文库
浏览记录
ID:41096687
大小:239.51 KB
页数:53页
时间:2019-08-16
《VHDL语言的基本语法》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、一、VHDL语言的基本语法1、VHDL语言的标识符VHDL中的标识符可以是常数、变量、信号、端口、子程序或参数的名字。使用标识符要遵守如下规则:标识符由字母(A…Z,a…z)、数字和下划线字符组成;任何标识符必须以英文字母开头;末字符不能为下划线;不允许出现两个连续下划线;标识符中不区分大小写字母;VHDL定义的保留字或称关键字,不能用作标识符;VHDL中的注释由两个连续的虚线(--)开始,直到行尾;VHDL语言要素[例]_Decoder_1--起始为非英文字母3DOP--起始为数字Large#number--“#”不能成为标识符的构成符
2、号Date__bus--不能有双下划线Copper_--最后字符不能为下划线on--关键字2、VHDL语言的数字2.1数字型文字的值有多种表达方式,现列举如下:(1)整数文字:整数文字都是十进制的数,如:5,678,0,156E2(=15600),45_234_287(=45234287)(2)实数文字:实数文字也都是十进制的数,但必须带有小数点,如:188.993,88_670_551.453_909(=88670551.453909),1.0,44.99E-2(=0.4499),1.335,0.0数字前可加0,数字中间不能有空格2.2
3、以数制基数表示的文字:数制#基数#指数数制和指数部分是用十进制数表示的数。指数部分的数如果是0可以省去不写。现举例如下:10#170#--(十进制数表示,等于170)2#1111_1110#--(二进制数表示,等于254)16#E#E1--(十六进制数表示,等于2#11100000#,等于224)16#F.01#E+2--(十六进制数表示,等于3841.00)8#377#--(与16#FF#,016#0FF#,2#11111111都为255)3、字符串型文字字符是用单引号引起来的ASCII字符,可以是数值,也可以是符号或字母,如:‘R’,
4、‘A’,‘*’,‘Z’。而字符串则是一维的字符数组,须放在双引号中。VHDL中有两种类型的字符串:文字字符串和数位字符串。文字字符串是用双引号引起来的一串文字,如:“ERROR”,“BOTHSANDQEQUATOL”,“X”,“BB$CC”进制基数符号“数位字符串”(1)文字字符串(2)数位字符串也称数值字符串、位矢量,是预定义的数据类型BIT的一维数组,它们所代表的是二进制、八进制或十六进制的数组,其位矢量的长度即为等值的二进制数的位数。例如:B“1_1101_1110”--二进制数数组,位矢数组长度是9X“AD0”--十六进制数数组,
5、位矢数组长度是12B:二进制基数符号,表示二进制数位0或1。O:八进制基数符号。X:十六进制基数符号(0~F)。4、下标名及下标段名下标名用于指示数组型变量或信号的某一元素,如:a(2),b(n)下标段名则用于指示数组型变量或信号的某一段元素,其语句格式如下:数组类型信号名或变量名(表达式1[TO/DOWNTO表达式2]);SIGNALA,B,C:BIT_VECTOR(0TO7);SIGNALM:INTEGERRANGE0TO3;SIGNALY,Z:BIT;Y<=A(M);--M是不可计算型下标表示Z<=B(3);--3是可计算型下标表示
6、C(0TO3)<=A(4TO7);-以段的方式进行赋值C(4TO7)<=A(0TO3);-以段的方式进行赋值如下是下标名及下标段名使用示例:1、常数(Constant)常数是一个固定的值,主要是为了使设计实体中的常数更容易阅读和修改。常数一旦被赋值就不能再改变。一般格式:CONSTANT常数名:数据类型:=表达式;例:CONSTANTfbus:BIT_VECTOR:=“01011001”;--总线上数据设备向量CONSTANTdely:TIME:=25ns;--输入/输出的延迟时间常数所赋的值应与定义的数据类型一致。二、VHDL语言的数据
7、对象常量的使用范围取决于它被定义的位置:(1)程序包中定义的常量具有最大的全局化特性,可以用在调用此程序包的所有设计实体中;(2)设计实体中定义的常量,其有效范围为这个实体定义的所有的结构体;(3)设计实体中某一结构体中定义的常量只能用于此结构体;(4)结构体中某一单元定义的常量,如一个进程中,这个常量只能用在这一进程中。2、变量(Variable)变量是一个局部变量,它只能在进程语句、函数语句和过程语句结构中使用,用作局部数据存储。变量常用在实现某种算法的赋值语句中。VARIABLE变量名:数据类型约束条件:=表达式;例:VARIABL
8、Ex,y:INTEGER;--定义x,y为整数变量VARIABLEcount:INTEGERRANGE0TO255:=10;--定义计数变量范围一般格式:变量赋值语句的语法格式如下:目标变量:
此文档下载收益归作者所有