- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
13章 VHDL 语言描述数
第十三章 VHDL语言描述数字系统 本章介绍用 VHDL 描述硬件电路的一些基本手段和基本方法。 13.1 VHDL 语言的基本结构 VHDL 语言是美国国防部在 20 世纪 80 年代初为实现其高速集成电路计划(VHSIC)而提出的一种超高速集成电路硬件描述语言。 VHDL 语言的基本结构是对任何电路在用 VHDL语言描述时,都应有两部分组成:实体和结构体。实体描述电路的输入、输出关系;结构体描述电路的功能。 VHDL模型的基本结构 半加器是我们熟悉的器件,输入变量a和b表示两个加数,输出S和CO表示和及进位位。可以用如下逻辑函数式表示半加器: 也可以用如表13―1所示的真值表来表示,还可以用如图13―1 a 所示的逻辑图或用如图13―1 b 所示的逻辑符号表示之。 除上述三种表达方式外,还可以用VHDL来表达。 例1 半加器 -- halfadder LIBRARY IEEE; USE IEEE.STD -LOGIC -1164.ALL; ENTITY half adder IS PORT a,b:INSTD-LOGIC;s,co:OUTSTD-LOGIC ; END half adder; ARCHITECTURE half OF half adder IS SIGNAL c,d:STD –LOGIC; BEGIN c a OR b d a NAND b; co NOT d; s c AND d; --S a+b ·ab END half; 在VHDL中,一个设计单元被称为一个设计实体。它可以是一个简单的电路(如:一个与门、一个译码器或加法器等),也可以是一个复杂的电路(如:一个微处理器或一个系统)。 如本例中的半加器就是一个设计实体。 在VHDL中,由关键字、标识符、对象、符号和表达式按VHDL的语法规则构成的句子称为VHDL语句。而能完成一定功能的若干条VHDL语句就组成VHDL程序。 关键字(又称保留字)是具有特殊含义的标识符。它是组成VHDL语句最基本的元素之一。用户不能把它作为自己创建的标识符。 为了醒目和易于发现错误,在书写VHDL程序时,建议关键字用大写字母或黑体字母,如关键字ENTITY表示实体;而用户自己创建的标识符用小写字母或非黑体字母。 一、在VHDL中,任何一个设计实体都至少由实体说明和结构体说明两部分构成。 1、实体说明:是一个设计实体的外部视图。它定义实体名称、类属、实体输入/输出端口和一些参数。实体说明以关键字ENTITY开始,以关键字END结束,它的一般格式是: ENTITY 实体名 IS [GENERIC(类属参数说明);] [PORT 端口说明 ; 实体说明部分; [BEGIN 实体语句部分;] END 实体名; (1) GENERIC后类属表说明用以将信息参数传递到实体。最常用的信息是:器件的上升沿到下降沿的延迟时间、负载电容和电阻、驱动能力以及功耗等。 (2) PORT端口表:指明实体的输入、输出信号及其模式。端口模式共有五种,如下所示。 对于一个VHDL的初学者来说,在学习一般格式时,除要记住语句外,还要记住每行有没有标点符号和有没有用括号;用的是逗号(,)还是分号(;);用的是圆括号()还是方括号[]。如ENTITY实体名IS及BEGIN这两行并没有使用任何标点符号。 约定:方括号里的内容为选择项,设计者根据设计要求进行选择。在写程序时方括号要省略。 而圆括号及圆括号里的内容为必选项,在写程序时,圆括号要照写。 2、结构体:主要用来描述实体的功能或内部操作特性。如果把设计实体比喻为“黑盒子”的话,那么,实体说明只定义了“黑盒子”的输入/输出,而结构体则描述了“黑盒子”内部的详细内容。结构体的一般格式。 ARCHITECTURE 结构体名 OF 实体名 IS [说明区;] 包括:内部信号、常数、数据类型和函数等的定义 BEGIN 结构体语句部分; END[结构体名]; 有了上述的VHDL知识后,让我们一起来阅读上述半加器的程序,以求对VHDL程序有更进一步的认识。 第1行以表示注释的双连线(--)开始,故该行为注释行,告诉使用者以下是一个半加器程序。 第2行以关键字LIBRARY开始,表示程序所用的库为IEEE。一般地,程序行以分号(;)结束。 第3行以关键字USE开始,以关键字ALL结束,表示程序中使用的数据类型是调用由库IEEESTD -LOGIC -1164提供的数据类型。 第4~6行是实体说明。 第4行中用语句ENTITY…IS定义本实体的名称为halfadder。 第5行用关键字PORT … 定义输入/输出端口,即:把a和b定义为输入端,把s和co定义为输出端。并且把输入/输出端的
您可能关注的文档
最近下载
- 2021年企业劳动合同.doc VIP
- 《中国文化概况》带翻译版.pdf VIP
- 600MW给水泵KSB中文指导书1.pdf VIP
- 2022年招标投标(评标评审专家)试题及参考答案200题(一) .pdf VIP
- 应急救援与疏散培训资料.ppt VIP
- 苏教版三年级数学下册作业设计精品案例——《长方形和正方形的周长与面积》.docx VIP
- YonSuite-费控服务初始化指南.pdf VIP
- YonSuite标准解决方案-费控服务方案-Visio版.docx VIP
- 第二届山东省职业技能大赛(健康和社会照护赛项)备考试题(附答案).doc VIP
- 50131-2007 ㊣《自动化仪表工程质量验收规范》.pdf VIP
文档评论(0)