电子设计自动化第5章VHDL基本结构

电子设计自动化第5章VHDL基本结构

ID:43231065

大小:665.50 KB

页数:106页

时间:2019-10-05

电子设计自动化第5章VHDL基本结构_第1页
电子设计自动化第5章VHDL基本结构_第2页
电子设计自动化第5章VHDL基本结构_第3页
电子设计自动化第5章VHDL基本结构_第4页
电子设计自动化第5章VHDL基本结构_第5页
资源描述:

《电子设计自动化第5章VHDL基本结构》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、5.1实体说明5.2结构体5.3结构体基本组成部分5.4包集合、库及配置5.5实训:建立用户自定义工作库习题VHDL语言主要由实体、结构体、库、程序包及配置构成,如图5-1所示。图5-1VHDL语言设计电路的基本结构5.1实体说明图5-2所示为集成电路芯片74LS138,其管脚A、B、C为地址输入端,G1、G2AN、G2BN为控制信号端,Y0N、Y1N、Y2N、Y3N、Y4N、Y5N、Y6N、Y7N为译码电路输出端。图5-274LS138的芯片管脚在VHDL中,实体就是电路模块或电路系统与外部电路的接口。实

2、体规定了设计单元的输入/输出接口信号或引脚。就一个设计实体而言,外界所看到的仅仅是它与外部电路的各种接口。这个电路具体的功能原理是由结构体描述的,对于外界来说,这部分是不可见的。实体是VHDL的基本设计单元,它可以对一个门电路、一个芯片、一块电路板及至整个系统进行接口描述。实体说明格式如下:ENTITY实体名IS[GENERIC(类属参数说明);][PORT(端口说明);]END实体名;在实体说明语句中应给出实体名,实体名可以理解为这个电路所对应的名称。实体说明语句中类属参数说明必须放在端口说明之前,用于指

3、定参数。【例5-1】ENTITYmuxISGENERIC(m:time:=1ns);PORT(d0,d1,sel:INBIT;Q:OUTBIT);其中GENERIC(m:time:=1ns);就是类属参数说明语句,用于定义一个1ns的时间信号m。如果实体内部电路大量使用了m这个时间值,则当设计者需要修改时间值时只需要一次性修改类属参数语句“GENERIC(m:time:=某时间常数);”中的常数即可,从而使设计电路变得方便快捷。端口说明是对设计实体中输入和输出端口的描述,格式如下:PORT(端口名(,端口名

4、):方向数据类型名; 端口名(,端口名):方向数据类型名);   端口名是赋予每个系统引脚的名称,通常用几个英文字母组成,一般采用代表管脚信号实际意义的英文表示。各个端口名必须是唯一的,不能重复,不能与VHDL的保留字相同。   端口方向是引脚信号的方向,指明其是输入、输出或其它,详细的方向类型见表5-1。IN表示该引脚是输入方向的,比如3-8译码器的A、B、C、G1、G2AN、G2BN这些管脚。OUT表示该引脚是输出方向的,比如3-8译码器的Y0N、Y1N、Y2N、Y3N、Y4N、Y5N、Y6N、Y7N。

5、INOUT表示该引脚既可以是输入方向的也可以是输出方向的,这有点像单片机中的I/O口, 既可以输入数据又可以输出数据。BUFFER方向其实是一个输出类型,但这个输出信号可以作为一个反馈信号输入到电路中。LINKAGE表示这个端口不指定方向,无论哪个方向都可以连接,一般不常用。   下面再重点看一下OUT与BUFFER的区别,例如一个D触发器,其电路如图5-3(a)所示,如果我们想把该D触发器构成一个T触发器,则电路如图5-3(b)所示。对于D触发器,Q为输出端口,但对于T触发器,虽然Q这时也是输出性质的,但

6、Q端要反馈到异或门的输入端,也即电路内部又要用到该信号,则其方向为BUFFER类型。如果用VHDL编程,结构体中使用输出端口信号,则信号的方向就应该为BUFFER类型。比如在计数器的设计中,对于计数器的输出信号方向,计算机在用语句描述时要进行递增或递减运算,如果直接由输出信号做自加或自减运算,则其方向为BUFFER类型。当然也可以在结构体中设计一个中间信号来完成设计,然后再把该中间信号赋值给输出信号,这样输出信号的方向就可以用“OUT”类型了。图5-3D触发器和T触发器(a) D触发器;(b) T触发器端口

7、数据类型是指端口信号的取值类型,常用的有BIT、BIT_VECTOR、STD_LOGIC、STD_LOGIC_VECTOR、INTEGER、BOOLEAN等。BIT类型表示二进制输入只能以二进制位来表示,其取值只有两种:“0”和“1”。当一次要表示多位二进制位输入或输出时,则可以用BIT_VECTOR,称为位矢量。【例5-2】PORT(n0,n1,select:INBIT;q:OUTBIT;bus:OUTBIT_VECTOR(3DOWNTO0));本例中,n0、n1、select是输入引脚,属于BIT型;q

8、是输出引脚,也属于BIT型;bus是一组8位二进制总线,其取值是按7~0的顺序进行的,也可采用升序的写法,即“0TO7”,这两种写法其对应的值的位置是不相同的。【例5-3】…bus:OUTBIT_VECTOR(3DOWNTO0);abus:OUTBIT_VECTOR(0TO3);…bus<=“1101”;abus<=“1101”;…程序在给bus赋值时,最左边的值赋最高位,则bus(3)='1',bus(2)='

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

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

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