欢迎来到天天文库
浏览记录
ID:59038363
大小:1.28 MB
页数:31页
时间:2020-10-29
《第5章VHDL基本结构和语法.doc》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、第5章VHDL基本结构与语法第5章VHDL基本结构与语法本章通过几个例题介绍VHDL语言的基本结构和语法规则5.1VHDL基本结构一个相对完整的VHDL设计由以下四部分组成:(1)库LIBRARY、程序包PACKAGE:库用于存储预先完成的程序包和数据集合体;程序包用于声明在设计中将要用到的常数、数据类型、元件及子程序等。(2)实体ENTITY:定义设计的输入输出端口。(3)结构体ARCHITECTURE:定义实体的实现,即电路的具体描述。可有多个结构体,但只有一个起作用。(4)配置CONFIGURATION:为实体选定某个特定的结构体。以上四个部分不是每个VHDL程序必须的,
2、但每个VHDL程序至少含有1个实体和1个结构体。1个实体可有多个结构体,通过配置选择1个结构体对实体起作用,其他结构体不起作用。当只有1个结构体时不要实体。【例5-1】2选1多路数据选择器,其功能见图5-1。功能描述为当S=0时A送Y,S=1时B送Y。其对应的VHDL描述为:ENTITYmux21aIS--给出实体名mux21a和管脚定义PORT(a,b:INBIT;s:INBIT;y:OUTBIT);ENDmux21a;ARCHITECTUREoneOFmux21aIS--结构体,描述电路器件的内部逻辑BEGIN功能或电路结构。y<=aWHENs=’0’ELSEb;ENDon
3、e;综合后结构体的门电路见图5-3。5.1.1实体ENTITY:定义本设计的输入输出端口/信号。约定:[]表示为可选项;31第5章VHDL基本结构与语法--开始的语句为注释,不参与编译和综合;黑体单词为保留字。1、实体框架:ENTITY实体名IS--此处无分号[GENERIC(常数名:数据类型[:设定值]);]PORT--端口定义(端口1:端口模式端口类型;…端口n:端口模式端口类型--最后一个无分号);END[ENTITY]实体名;注:END中带ENTITY、ARCHITECTURE为IEEESTDl076_1993版的语法要求,不带为IEEESTD10761987的语法要求
4、。通用。2、实体定义:ENTITY实体名IS--此处无分号END[ENTITY]实体名;要求实体名与文件名相同,且文件名后缀为.VHD3、端口定义:1)格式:端口名:端口模式端口类型;2)端口模式IN:输入信号:信号进入实体(不能给信号赋值)OUT:输出信号:信号离开实体(不能读入/反馈输出端口的数据)INOUT:双向信号,信号既可以离开实体,也可以进入实体BUFFER:缓冲信号:信号输出到实体外部,但也可在内部反馈。BUFFER是INOUT的子集,但不是由外部驱动,常用于计数器3)端口类型:定义端口的数据类型VHDL作为一种强类型语言,任何一种数据对象(信号、变量、常数)必须
5、严格限定其类型和取值范围,相同类型才能相互传递。这对于大规模电路描述的排错是十分有益的。常用的有整数型integer、布尔型BOOLEAN、位数据类型BIT、标准逻辑位数据类型std_logic、std_logic_vector等。参5.2节。5.1.2结构体ARCHITECTURE用程序描述实体的功能。31第5章VHDL基本结构与语法1、一个实体可以有多个结构体,每个结构体代表该实体的不同实现方案。2、结构体可采用行为描述、结构描述或数据流描述,是VHDL最主要的部分。3、格式:ARCHITECTURE结构体名OF实体名IS[说明语句]BEGIN功能描述END结构体名;注:说
6、明语句声明将用到的信号、数据类型、常数、元件、子程序。4、框架ARCHITECTURE结构体名OF实体名ISBEGINEND结构体名;[声明区DECLRATIONS:声明将用到的信号、数据类型、常数、元件、子程序]块语句BLOCK:一系列并行语句组成进程语句PROCESS:顺序语句组成,将输入信号与内部信号向其他信号赋值信号赋值SIGNALASSIGNMENTS:计算结果,并赋值给信号子程序/过程调用PROCEDURE和函数FUNCTION调用:内部为顺序语句,调用过程或函数,结果赋予信号元件例化CONPONENTINSTANTIATIONS:元件调用,调用另一实体的电路顺序语
7、句与并行语句:并行语句:执行顺序与语句排列的先后顺序无关,是硬件描述语言与一般软件程序最大的区别所在,所有并行语句在结构体中的执行是同时执行的,即它的执行顺序与语句书写的顺序无关。这种并行性是硬件本身的并行性决定的,即一旦电路接通电源,它的各部分就会按照事先设计好的方案同时工作。顺序语句:与计算机程序类似,与指令的先后顺序有关。5.1.3例题5-1相关语句1、信号赋值语句/传输语句格式:信号<=表达式注意:为“<=”不是等号“=”.31第5章VHDL基本结构与语法在VHDL仿真中赋值操作y<
此文档下载收益归作者所有