3VHDL基本结构

3VHDL基本结构

ID:44231399

大小:302.50 KB

页数:35页

时间:2019-10-19

3VHDL基本结构_第1页
3VHDL基本结构_第2页
3VHDL基本结构_第3页
3VHDL基本结构_第4页
3VHDL基本结构_第5页
资源描述:

《3VHDL基本结构》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、ξ3VHDL语言的基本结构【学习目标】通过本章学习应掌握VHDL体系结构、库与程序包、实体部分结构、结构体部分结构;3.1VHDL体系结构相对完整的VHDL设计由以下几个部分组成:(1)库、程序包;(2)实体;(3)结构体;(4)配置。VHDL程序基本结构如图3.1所示,图中显示了其各自的作用。图3.1VHDL程序基本结构从图3.1中可以看出VHDL程序结构由4个部分组成,这4个部分并不是每一个VHDL程序都必须具备的,其中只有实体和与之对应的结构体是必须的,其余两部分根据实际情况可选择。例3.1:一个二输入比较器VHDL描述1--eq2isatwoequality

2、comparatot2libraryieee;3useieee.std_logic_1164.all;4entityeq2is5port(a,b:instd_logic_vector(3downto0);6equal:outstd_logic);7endeq2;8architecturertlofeq2is9begin10equal<=’1’when(a=b)else’0’;11endrtl;实体说明构造体库声明:欲使用该库中的内容一个设计区别于其他设计的特征是设计实体(DesignEntity)“实体说明”:描述一个设计的外部结构特征。“构造体”:描述实体的功能e

3、ntityeqisport(a,b:inbit;equal:outbit);endeq;architecturertlofeqisbeginequal<=’1’when(a=b)else’0’;Endrtl;3.2实体说明实体说明的格式ENTITY实体名IS[类属参数说明];[端口说明];END实体名;类属参数说明(GENERIC)用来指定参数,实现不同层次之间的数据传递。1、实体名实体名是一个标识符,具体取名由设计者自定。由于实体名实际上表达的是该设计电路的器件名,所以最好根据相应电路的功能来确定,如4位二进制计数器的实体名可取为counter4b,8位二进制加法

4、器的实体名可取为adder8b。PORT(端口名:模式数据类型名;...端口名:模式数据类型名);2、端口实体说明中每一个I/O信号被称为端口,一个端口就是一个数据对象。端口说明的格式如下:描述电路的端口及其端口信号必须用端口语句PORT()引导,并在语句结尾处加分号“;”。每一个端口必须具有名称、方向(模式)和数据类型端口名:用英文字母,或在英文字后加数字构成,端口信号名在实体中必须是唯一的,信号名应是合法的标识符。端口模式:说明信号传输通过该端口的方向数据类型:允许在该端口输入、输出信号的类型PORT(端口名:模式数据类型名;...端口名:模式数据类型名);输入

5、(In):仅允许数据流进端口,端口的驱动源由外部向实体内进行。(1)端口的模式的说明输出(Out):仅允许数据从内部输出端口,端口驱动由内部向外进行。输入模式通常用于诸如终端计数输出、数据输出等。双向(Inout):对于双向信号,端口定义是必须定义为双向模式。允许数据流进或流出端口,端口的驱动源在外部向实体内,也可以由实体内向外。如RAM的数据端口、单片机的I/O口。缓冲(Buffer):这种模式用于内部反馈需求时(即需要使用一个端口作为构造内部驱动)。与INOUT区别在于当需要输入数据时,只允许内部回读输出的信号,即允许反馈。如计数器设计,可将计数器输出的计数信号

6、回读,以作下一计数值的初值。与INOUT模式相比,BUFFER回读的信号不是由外部输入的,而是由内部产生、向外输出的信号。各种端口模式图(2)端口的数据类型:即信号的形式。VHDL中传输或存储的数据的类型要做明确的界定,因此,在VHDL设计中必须预先定义好要使用的数据类型,VHDL共定义了十种数据类型。相关的数据类型有INTEGER类型、BOOLEAN类型、STD_LOGIC、STD_LOGIC_VECTOR和BIT类型等。在逻辑电路设计中,可用于端口的数据类只有四种:BIT、BIT_VECTOR、STD_LOGIC、STD_LOGIC_VECTOR。BIT、BIT

7、_VECTOR只有两种取值:‘0’或‘1’。STD_LOGIC、STD_LOGIC_VECTOR是IEEE预定义的数据类型,在IEEE库的程序包STD_LOGIC_1164中。更接近于硬件电路实际情况的数据类型。标准逻辑位:STD_LOGIC标准逻辑矢量STD_LOGIC_VECTOR共有9中取值,各值的含义是:‘U’--未初始化,‘X’--强未知的,‘0’--强0,‘1’--强1,‘Z’--高阻态,‘W’--弱未知的,用此‘L’--弱0,‘H’--弱1,以及‘-’--忽略。包括‘0’、‘1’、‘X’、‘Z’等等。在程序中数据类型前,需加入下面的语句:LIBRA

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

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

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