网站大量收购独家精品文档,联系QQ:2885784924

VHDL与数字电路设计课件-第一章VHDL程序的基本结构.pptVIP

VHDL与数字电路设计课件-第一章VHDL程序的基本结构.ppt

此“教育”领域文档为创作者个人分享资料,不作为权威性指导和指引,仅供参考
  1. 1、本文档共34页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

北京工业大学实验学院;北京工业大学实验学院;1、根本结构;LIBRARYIEEE; --USE定义区

USEIEEE.std_logic_1164.ALL;

USEIEEE.std_logic_arith.ALL;

USEIEEE.std_logic_unsigned.ALL;

;描述输入/输出端口

描述电路的行为和功能;;并非所有VHDL程序都具备上述的语法结构。理论上,只有ENTITY和ARCHITECTURE是程序必备的;而在实际应用中,常常需要在定义ENTITY之前调用库和库中的程序包〔只是“调用〞,不是“编写〞〕。以下图所示的VHDL程序结构是实际应用中最根本、最常见的程序结构。;--eqcomp4isafourbitequalitycomparator

LIBRARYIEEE;

USEIEEE.std_logic_1164.ALL;

ENTITYeqcomp4IS

PORT(a,b:INstd_logic_vector(3DOWNTO0);

equal:OUTstd_logic);

ENDeqcomp4;

ARCHITECTUREdataflowOFeqcomp4IS

BEGIN

equal=‘1’WHENa=bELSE‘0’;

ENDdataflow;;2、库和程序包;VHDL语言的库分为两类:

设计库:包括std和work库,设计库对当前工程是可见默认的,无需用LIBRARY和USE语句声明。

资源库:包括IEEE库等,设计库是常规元件和标准模块存放的库,使用哪个资源库需要预先声明。

VHDL标准中提供了一些预定义的标准程序包,常用的有:

Standard〔std库〕

Textio〔std库〕

Std_logic_1164〔IEEE库〕

…;由于VHDL已是IEEE规定的标准,所以只要是CPLD、FPGA等器件公司,他们都会提供标准的IEEE资源库,而且由于这里面包含许许多多的定义和参数,初学者一时之间也不容易全部了解,所以可以全部写上以减轻负担,如下所示:

LIBRARYIEEE;

USEIEEE.std_logic_1164.ALL;

USEIEEE.std_logic_arith.ALL;

USEIEEE.std_logic_unsigned.ALL;

;作用:

ENTITY〔实体〕用于定义电路的外观,即I/O端口和数量。

定义格式:

ENTITY实体名IS

[类属参数说明];

端口说明;

[实体说明局部];

END[ENTITY]实体名;;放在端口说明之前,用来为设计实体和其外部环境通信的静态信息提供通道,可以用来定义端口宽度、实体中元件的数目以及器件延迟时间等参数。

可以使VHDL更加具有通用性。在开始设计VHDL语言程序时,难免会有一些参数的值不能确定〔或待定〕,可以应用GENERIC语句编制通用程序,仿真时只要将待定参数初始化即可。

定义格式:

GENERIC(参数名称:数据类型[:=静态表达式];…);

例: GENERIC(delay_time:time:=5ns);;端口说明是对设计实体与外部接口的描述,端口对应于电路图上的一个引脚,一个端口就是一个数据对象。端口说明局部用于为设计实体和其外部环境通信的动态信息提供通道。

定义格式:

PORT(端口名称:端口模式数据类型[:=表达式];…);

例: PORT(a: IN bit;

b: IN bit;

c: OUT bit);

;端口说明必须包括端口名称、端口模式和数据类型的描述。端口名称就是指定端口的标识符;端口模式用来说明数据、信号通过该端口时的流动方向,即数据传输方向;数据类型用来说明通过信号端口的数据或者信号的数据类型。

端口模式:

;IN〔输入〕模式:

OUT〔输出〕模式:

INOUT〔双向〕模式:

BUFFER〔缓冲〕模式:

BUFFER模式和INOUT模式的区别就在于INOUT模式不能用于实体内部的反响。

LINKAGE〔链接〕模式:;北京工业大学实验学院;实体说明局部应放在端口说明的下面,由实体声明语句和实体语句两局部构成。

实体声明语句的功能是用来定义设计实体接口中的一些公共信息,如数据类型的定义。

实体语句是每一个设计实体接口的公共局部。实体语句只能由以下并行语句组成:并行断言语句、并行过程调用语句和被动进程语句。这些实体语句局部必须是被动语句,即在语句中不含有赋值语句。;ENTITYramIS

GENERIC(dela

您可能关注的文档

文档评论(0)

mend45 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档