欢迎来到天天文库
浏览记录
ID:56448289
大小:411.50 KB
页数:114页
时间:2020-06-18
《VHDL硬件描述语言与数字逻辑电路设计 第3章分析.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第3章VHDL语言程序的基本结构3.1VHDL语言设计的基本单元及其构成3.2VHDL语言构造体的子结构描述3.3包集合、库及配置一个完整的VHDL语言程序通常包含实体(Entity)、构造体(Architecture)、(Configuration)、包集合(Package)和库(Library)五部分。前四部分是可分别编译的源设计单元。实体用于描述所设计系统的外部接口信号;构造体用于描述系统内部的结构和行为;包集合存放各设计模块都能共享的数据类型、常数和子程序等;配置用于从库中选取所需单元来组成系统设计的不同版本;库存
2、放已经编译的实体、构造体、包集合和配置。库可由用户生成或由ASIC芯片制造商提供,以便于在设计中为大家所共享。本章将对上述VHDL设计的主要构成作一详细介绍。图3-1一个基本设计单元的构成所谓VHDL语言设计的基本单元(DesignEntity),就是VHDL语言的一个基本设计实体。一个基本设计单元,简单的可以是一个与门(ANDGate),复杂一点的可以是一个微处理器或一个系统。但是,不管是简单的数字电路,还是复杂的数字系统,其基本构成是一致的,它们都由实体说明(EntityDeclaration)和构造体(Archite
3、ctureBody)两部分构成。3.1VHDL语言设计的基本单元及其构成如前所述,实体说明部分规定了设计单元的输入、输出接口信号或引脚,而构造体部分定义了设计单元的具体构造和操作(行为)。图3-1示出了作为一个设计单元的二选一电路的VHDL描述。由图3-1可以看出,实体说明是二选一器件外部引脚的定义,构造体则描述了二选一器件的逻辑电路和逻辑关系。 下面以二选一器件描述为例来说明这两部分的具体书写规定。3.1.1实体说明任何一个基本设计单元的实体说明都具有如下结构:ENTITY实体名IS [类属参数说明]; [
4、端口说明]; ENDENTITY实体名; 一个基本设计单元的实体说明以“ENTITY实体名IS”开始至“ENDENTITY实体名”结束。例如,在图3-1中从“ENTITYmuxIS”开始,至“ENDENTITYmux”结束。这里大写字母表示实体说明的框架,即每个实体说明都应这样书写,是不可缺少和省略的部分;小写字母是设计者添写的部分,随设计单元不同而不同。实际上,对VHDL而言,大写或小写都一视同仁,不加区分。这里仅仅是为了阅读方便才加以区分而已。1.类属参数说明类属参数说明必须放在端口说明之前,用于指定参数,例如
5、图3-1中的GENERIC(m:TIME:=1ns)。该语句指定了构造体内m的值为1ns。这样语句: tmp1:=d0ANDselAFTERm; 表示d0和sel两个输入信号相与后,经1ns延迟才送到tmp1。在这个例子中,GENERIC利用类属参数为tmp1建立一个延迟值。2.端口说明端口说明是对基本设计实体(单元)与外部接口的描述,也可以说是对外部引脚信号的名称、数据类型,以及输入、输出方向的描述。其一般书写格式如下: PORT(端口名{,端口名}:方向数据类型名; … 端口名{,端口名}:方向
6、数据类型名);1)端口名 端口名是赋予每个外部引脚的名称,通常用一个或几个英文字母,或者英文字母加数字来命名。例如,图3-1中的外部引脚为d0、d1、sel、q。2)端口方向 端口方向用来定义外部引脚的信号方向是输入还是输出。例如,图3-1中的d0、d1、sel为输入引脚,故用方向说明符“IN”来说明,而q则为输出引脚,用方向说明符“OUT”来说明。 凡是用“IN”进行方向说明的端口,其信号自端口输入到构造体,而构造体内部的信号不能从该端口输出;相反,凡是用“OUT”进行方向说明的端口,其信号将从构造体内经端口
7、输出,而不能通过该端口向构造体输入信号。另外,“INOUT”用以说明该端口是双向的,可以输入,也可以输出;“BUFFER”用以说明该端口可以输出信号,且在构造体内部也可以利用该输出信号。表示方向的说明符及其含义如表3-1所示。表3-1端口方向说明注:OUT允许对应多个信号,而BUFFER只允许对应一个信号。表3-1中的“OUT”和“BUFFER”都可以定义输出端口,但是它们之间是有区别的,如图3-2所示。 在图3-2(a)中,锁存器的输出端口被说明为“OUT”,而在(b)中,锁存器的输出被说明为“BUFFER”。从图中
8、可以看到,如果构造体内部要使用该信号,那么锁存器的输出端必须被说明为“BUFFER”,而不能被说明为“OUT”。 图3-2(b)说明当一个构造体用“BUFFER”说明输出端口时,与其连接的另一个构造体的端口也要用“BUFFER”说明。对于“OUT”,则没有这样的要求。图3-2OUT和BUFFER的区
此文档下载收益归作者所有