《VHDL的语言要素》PPT课件

《VHDL的语言要素》PPT课件

ID:45098991

大小:299.50 KB

页数:41页

时间:2019-11-09

《VHDL的语言要素》PPT课件_第1页
《VHDL的语言要素》PPT课件_第2页
《VHDL的语言要素》PPT课件_第3页
《VHDL的语言要素》PPT课件_第4页
《VHDL的语言要素》PPT课件_第5页
资源描述:

《《VHDL的语言要素》PPT课件》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、本章内容提要VHDL的标识符数据对象数据类型运算操作符第3章VHDL的语言要素3.1VHDL的标识符标识符是最常用的命名符,标识符可以是常数、变量、信号、端口、子程序、实体、结构体的名称等;VHDL的标识符有两种,基本标识符(VHDL’87版)和扩展标识符(VHDL’93版)。VHDL’93版对VHDL’87版的标识符语法规则进行了扩展,形成了VHDL’93版的标识符语法规则,以反斜杠“”界定VHDL基本标识符的命名必须遵循如下规则:基本标识符由字母、数字和下划线组成第一个字符必须是字母最后一个字符不能是下划线不允许连续2个下划线保留字(关键字)不能用于标识符大小写是等效的下面是合法的

2、标识符:Decoder_1,fft,sig_N,state,aaa一、基本标识符扩展标识符用反斜杠来界定,可以以数字打头;例:74ls173,controller_docode都是合法的标识符允许包含图形符号和空格;例:$500&T,AORB都是合法的标识符允许多个下划线相邻;例:out____entity是合法的标识符扩展标识符区分大小写,且与短标识符不同;例:adder,Adder,adder是不同的标识符扩展标识符的名字如果含有一个反斜杠,则用相邻的两个反斜杠来代表它;例:tex\t表示该扩展标识符的名称是text二、扩展标识符VHDL的保留字(VH

3、DL’87版)3.2VHDL的数据对象凡是可以被赋值的对象就称为数据对象。VHDL中有以下4类数据对象:变量(VARIABLE)常量(CONSTANT)信号(SIGNAL)文件*(FILE)—包含在VHDL’93标准中变量和常量与其它计算机高级语言中所说的变量和常量是一致的,而信号则是VHDL特有的数据对象;在电子电路设计中,这3类对象通常具有一定的物理含义,信号对应的代表数字电路中的一根硬件连接线;常数对应于数字电路中的电源和地等;变量无直接的对应关系,通常只用来暂时的保存某些信号的值。对象声明的一般格式对象类型对象名:数据类型:=初始值CONSTANTINTEGERVARIABLEB

4、ITSIGNAL···CONSTANT常量名:数据类型:=表达式;说明:常量名的命名遵循VHDL标识符的命名规则;常量在设计中一旦被赋值就不能再改变;常量的数据类型可以是标量型和复合型,但不能是文件型和存取型(Access);常量可以在实体、结构体、程序包、进程、块和子程序的说明部分中被定义。常量的使用范围取决于它被定义的位置。一、常量(CONSTANT)1.常量声明格式:CONSTANTVCC:REAL:=5.0;CONSTANTPI:REAL:=3.14;CONSTANTDELAY_time:TIME:=10ns;CONSTANTROM_size:INTEGER:=16#FFFF#;

5、2.常量声明示例:二、变量(VARIABLE)1.变量的声明格式:VARIABLE变量名:数据类型约束条件[:=初始值];2.变量的赋值格式:目标变量名:=表达式;说明:变量允许多次赋值,且赋值立即生效,不能产生附加延时(它是一种理想化的数据传输过程);变量定义时允许设置初始值,但在综合时,综合器将略去所有的初始值;对变量进行赋值时,目标变量可以是单值变量,也可以是数组型变量;在VHDL中,变量只能在进程和子程序(过程和函数)中使用,它是一个局部量。3、变量使用示例:VARIABLEx,y,z:INTEGER;VARIABLECOUNT:INTEGERRANGE0TO255:=10;VA

6、RIABLEa,b:BIT_VECTOR(0to7);b:=”1010101”;a:=b;a(3to6):=(‘1’,‘1’,‘0’,‘1’);--注意赋值符号两边的位宽必须相等a(0to5):=b(2to7);a(7):=’0’;注意上例中对数组中单个元素赋值和多个元素赋值时的差异。信号是VHDL语言独有的数据对象,信号相当于电路中元件之间的连线,或者认为是电路内部的某一节点。信号除了没有数据流动方向的说明以外,其它性质与实体的端口概念是一致的。1.信号声明格式:SIGNAL信号名:数据类型约束条件:=表达式;2.信号赋值格式:信号名<=表达式;三、信号(SIGNAL)信号的赋值符号是

7、“<=”,但赋初值符号也是“:=”;信号没有方向性:可以被赋值,也可被读取;信号通常在实体、结构体和包集合中定义,但不能在进程和子程序中定义;信号赋值不是立即发生的,需要经过一个特定的延时量后才有效;在进程中,只能将信号列入敏感表,而不能将变量列入敏感表;在一个进程中,允许对同一信号有多个驱动源(即对其进行多次赋值),但只有最后的赋值语句有效;信号的使用说明:libraryieee;useieee.std_logic_1164.al

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。