EDA技术及应用 教学课件 作者 吴延海 第1 5章 第5章.pptVIP

EDA技术及应用 教学课件 作者 吴延海 第1 5章 第5章.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第 5 章 VHDL程序结构   作为一种程序设计语言,VHDL除有上述两种基本语言结构外,还有程序包(PACKAGE)、库(LIBRARY)和配置(CONFIGURATION)。一个相对完整的VHDL程序(或称为设 计实体)具有如图5-1所示的结构。下面就这几部分结构作两点说明:   (1)? VHDL中实体、构造体、库、程序包是必备的结构,而配置不是必备的,可以省略。通常我们将VHDL所描述的某个电路称之为一个设计实体。需要注意的是,当设计中只调用STD库时,可以省略库、程序包使用说明,这是由于STD库是显式打开的,不用声明。   (2) 在一个VHDL设计中只能有一个实体;而同一个设计实体可以对应多个构造体。这是因为VHDL语言支持行为级、RTL传输级等多种抽象描述层次,而一个抽象层次通常可以对应至少一种描述语句。 图5-1 VHDL程序的基本结构   为了便于程序的阅读和调试,我们对VHDL代码书写作如下约定:   (1) 语句结构描述中方括号“[ ]”内的内容为可选内容。   (2) 对于VHDL的编译器和综合器来说,程序文字的大小写是不加区分的,但自己定义的文字要符合VHDL命名规范。   (3) 程序中的注释使用双横线“--”。在VHDL程序的任何一行中,双横线“--”后的文字都不参加编译和综合。   (4) 为了便于程序的阅读与调试,书写和输入程序时,使用层次缩进格式,同一层次的语句对齐,低层次的语句较高层次的语句缩进两个字符。   (5) 为了使同一个VHDL源程序文件能适应各个EDA开发软件的使用要求,建议各个源程序文件的命名均与其实体名 一致。        5.1 实 体   1. 实体语句结构   实体语句结构如下:   ENTITY 实体名 IS    [GENERIC(类属表);]    [PORT(端口表);]   END [ENTITY] 实体名;   实体以保留字ENTITY开始,以语句“END [ENTITY ]实体名;”结束。实体名由设计者确定,但命名应该符合VHDL的命名规则。另外,尽量在实体名中体现设计实体的功能及端口等特性。   GENERIC称为类属说明,用于描述设计实体的输入/输出端口静态特性,如端口的边沿延时、位宽等,它是可选单元。   PORT语句称为端口说明,用于描述设计实体对外通信 的输入/输出端口的数量、数据类型、端口模式等动态特性,一般是必选单元。只有当所描述的是用于仿真的测试台(TestBench)文件时,端口说明才能省略。   【例5.1】 实体说明示例。   (1) 只包含端口声明的实体说明:   ENTITY Full_Adder IS   PORT(X, Y, Cin:in Bit;   Cout, Sum:out Bit) ;   END Full_Adder ;   (2) 包含类属声明及端口声明的实体说明:   ENTITY AndGate IS   GENERIC(n: Natural := 2);   PORT(Inputs:in Bit_Vector (1 to n);   Result:out Bit) ;   END ENTITY AndGate ;   (3) 没有任何声明的实体说明:   ENTITY TestBench IS   END TestBench ;   2. 类属说明   类属(GENERIC)参量是一种端口常数,用于说明端口的静态特性。类属的值可以由设计实体外部提供,因此,设计者可以通过重新设定类属参量来改变一个设计实体或一个元件的内部电路结构和规模。   类属说明的格式如下:    GENERIC(常量名:数据类型[:=设定值 量纲];    常量名:数据类型[:=设定值 量纲]);   类属中的常量名由设计者确定,数据类型通常取INTEGER或TIME等类型,设定值即为常数名所代表的数值。但需注意,综合器仅支持数据类型为整数的类属值。   【例5.2】 类属说明示例。   ENTITY counter_n IS   GENERIC(width:INTEGER:=4);   PORT(clk,reset:IN STD_LOGIC;   ?counter:INOUT STD_LOGIC_VECTOR(WIDTH-1 DOWNTO 0)) ;   END counter_n;   3. ?PORT端口   端口类似于原理图部件符号上的管脚,实体通过端口与外界通信。   实体端口格式如下:    PORT(端口名:端口模式 数据类型;    ?端口名:端口模式 数据类型);   (1) 端口名:由设计者定义的与外部通信的引脚名称,命名应符

您可能关注的文档

文档评论(0)

时间加速器 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档