




已阅读5页,还剩35页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第4讲VHDL编程基础(1),4.1概述4.2VHDL程序基本结构,4.1概述,4.1.1常用硬件描述语言简介常用硬件描述语言有VHDL、Verilog和ABEL语言。VHDL起源于美国国防部的VHSIC;Verilog起源于集成电路的设计;ABEL来源于可编程逻辑器件的设计。下面从使用方面将三者进行对比。,(1)逻辑描述层次。一般的硬件描述语言可以在三个层次上进行电路描述,其层次由高到低依次可分为行为级、RTL级和门电路级。(2)设计要求。用VHDL进行电子系统设计时可以不了解电路的结构细节,设计者所做的工作较少;用Verilog和ABEL语言进行电子系统设计时需了解电路的结构细节,设计者需做大量的工作。,(3)综合过程。任何一种语言源程序,最终都要转换成门电路级才能被布线器或适配器所接受。(4)对综合器的要求。VHDL描述语言层次较高,不易控制底层电路,因而对综合器的性能要求较高;Verilog和ABEL对综合器的性能要求较低。(5)支持的EDA工具。支持VHDL和Verilog的EDA工具很多,但支持ABEL的综合器仅仅Dataio一家。(6)国际化程度。VHDL和Verilog已成为IEEE标准;ABEL正朝国际化标准努力。,4.1.2VHDL的优点VHDL的英文全名是Very-High-SpeedIntegratedCircuitHardwareDescriptionLanguage,诞生于1982年。1987年底,VHDL被IEEE(TheInstituteofElectricalandElectronicsEngineers)和美国国防部确认为标准硬件描述语言。VHDL主要用于描述数字系统的结构、行为、功能和接口。,应用VHDL进行工程设计的优点是多方面的,具体如下:(1)与其他的硬件描述语言相比,VHDL具有更强的行为描述能力。(2)VHDL具有丰富的仿真语句和库函数,使得在任何大系统的设计早期,就能查验设计系统的功能可行性,随时可对系统进行仿真模拟,使设计者对整个工程的结构和功能可行性做出判断。(3)VHDL语句的行为描述能力和程序结构,决定了它具有支持大规模设计的分解和已有设计的再利用功能。,(4)用VHDL完成一个确定的设计,可以利用EDA工具进行逻辑综合和优化,并自动把VHDL描述设计转变成门级网表(根据不同的实现芯片)。(5)VHDL对设计的描述具有相对独立性。(6)VHDL具有类属描述语句和子程序调用等功能,对于完成的设计,在不改变源程序的条件下,只需改变类属参量或函数,就能轻易地改变设计的规模和结构。,4.1.3VHDL程序设计约定为了便于程序的阅读和调试,本书对VHDL程序设计特作如下约定:(1)语句结构描述中方括号“”内的内容为可选内容。(2)对于VHDL的编译器和综合器来说,程序文字的大小写是不加区分的。(3)程序中的注释使用双横线“-”。,(4)为了便于程序的阅读与调试,书写和输入程序时,使用层次缩进格式,同一层次的对齐,低层次的,较高层次的缩进两个字符。(5)考虑到MAX+plusII要求源程序文件的名字与实体名必须一致,因此为了使同一个VHDL源程序文件能适应各个EDA开发软件的使用要求,建议各个源程序文件的命名均与其实体名一致。,4.2VHDL程序基本结构,4.2.1VHDL程序设计举例当我们使用一个集成芯片时,根据数字电子技术的知识,我们至少需要了解三个方面的信息:该芯片符合什么规范,是谁生产的,是否大家认可;该芯片有多少管脚,每个管脚是输入还是输出,每个管脚对输入/输出有什么要求;该芯片各管脚之间的关系,以及能完成什么逻辑功能。,相应地,当我们使用VHDL语言设计一个硬件电路时,我们至少需要描述三个方面的信息:设计是在什么规范范围内设计的,亦即此设计符合某个设计规范,能得到大家的认可,这就是库、程序包使用说明;所设计的硬件电路与外界的接口信号,这就是设计实体的说明;所设计的硬件电路其内部各组成部分的逻辑关系以及整个系统的逻辑功能,这就是该设计实体对应的结构体说明。,1设计思路根据数字电子技术的知识,我们知道,74LS00是一个四2输入与非门,亦即该芯片由四个2输入与非门组成,因此我们设计时可先设计一个2输入与非门(如图4.1(a)所示),再由四个2输入与非门构成一个整体MY74LS00(如图4.1(b)所示)。,图4.1MY74LS00的设计过程示意图,2VHDL源程序1)2输入与非门NAND2的逻辑描述-IEEE库及其中程序包的使用说明LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;-实体NAND2的说明ENTITYNAND2ISPORT(A,B:INSTD_LOGIC;Y:OUTSTD_LOGIC);ENDENTITYNAND2;,-实体NAND2的结构体ART1的说明ARCHITECTUREART1OFNAND2ISBEGINYA1,B=B1,Y=Y1);U2:NAND2PORTMAP(A=A2,B=B2,Y=Y2);U3:NAND2PORTMAP(A3,B3,Y3);U4:NAND2PORTMAP(A4,B4,Y4);ENDARCHITECTUREART2;,3说明与分析(1)整个设计包括两个设计实体,分别为NAND2和MY74LS00,其中,实体MY74LS00为顶层实体。(2)实体NAND2定义了2输入与非门NAND2的引脚信号A、B(输入)和Y(输出),其对应的结构体ART1描述了输入与输出信号间的逻辑关系,即将输入信号A、B与非后传给输出信号端Y。,(3)实体MY74LS00及对应的结构体ART2描述了一个如图3.1(b)所示的四2输入与非门。由其结构体的描述可以看到,它是由四个2输入与非门构成的。(4)在MY74LS00接口逻辑VHDL描述中,根据图3.1(b)右侧的MY74LS00的原理图,实体MY74LS00定义了引脚的端口信号属性和数据类型。(5)在结构体ART2中,COMPONENTENDCOMPONENT语句结构对所要调用的NAND2元件作了声明。,(6)实体MY74LS00引导的逻辑描述也是由三个主要部分构成的,即库、程序包使用说明,实体说明和结构体。,4.2.2VHDL程序的基本结构一个相对完整的VHDL程序(或称为设计实体)具有如图3.2所示的比较固定的结构,即至少应包括三个基本组成部分:库、程序包使用说明,实体说明和实体对应的结构体说明。,图4.2VHDL程序设计基本结构,4.2.3实体(ENTITY)实体是一个设计实体的表层设计单元,其功能是对这个设计实体与外部电路进行接口描述。它规定了设计单元的输入/输出接口信号或引脚,是设计实体经封装后对外的一个通信界面。,1实体语句结构实体说明单元的常用语句结构如下:ENTITY实体名ISGENERIC(类属表);PORT(端口表);ENDENTITY实体名;,2类属(GENERIC)说明语句类属(GENERIC)参量是一种端口界面常数,常以一种说明的形式放在实体或块结构体前的说明部分。内部电路结构和规模。类属说明的一般书写格式如下:GENERIC(常数名:数据类型:设定值;常数名:数据类型:=设定值);,ENTITYMCKISGENERIC(WIDTH:INTEGER:=16);PORT(ADD_BUS:OUTSTD_LOGIC_VECTOR(WIDTH-1DOWNTO0);.在这里,GENERIC语句对实体MCK的作为地址总线的端口ADD_BUS的数据类型和宽度作了定义,即定义ADD_BUS为一个16位的位矢量。,3PORT端口说明由PORT引导的端口说明语句是对于一个设计实体界面的说明。实体端口说明的一般书写格式如下:PORT(端口名:端口模式数据类型;端口名:端口模式数据类型);,IEEE1076标准包中定义了四种常用的端口模式,各端口模式的功能及符号分别见表4.1和图4.3。在实际的数字集成电路中,IN相当于只可输入的引脚,OUT相当于只可输出的引脚,BUFFER相当于带输出缓冲器并可以回读的引脚(与TRI引脚不同),而INOUT相当于双向引脚(即BIDIR引脚)。由图4.3的INOUT电路可见,此模式的端口是普通输出端口(OUT)加入三态输出缓冲器和输入缓冲器构成的。,在实用中,端口描述中的数据类型主要有两类:位(BIT)和位矢量(BIT_VECTOR)。若端口的数据类型定义为BIT,则其信号值是一个1位的二进制数,取值只能是0或1;若端口数据类型定义为BIT_VECTOR,则其信号值是一组二进制表。,表4.1端口模式说明,图4.3端口模式符号图,4.2.4结构体(ARCHITECTURE)结构体是用于描述设计实体的内部结构以及实体端口间的逻辑关系。结构体内部构造的描述层次和描述内容一般可以用图4.4来说明。一般地,一个完整的结构体由两个基本层次组成:对数据类型、常数、信号、子程序和元件等元素的说明部分。描述实体逻辑行为的,以各种不同的描述风格表达的功能描述语句。,图4.4结构体构造图,结构体将具体实现一个实体。每个实体可以有多个结构体,每个结构体对应着实体不同结构和算法实现方案,其间的各个结构体的地位是同等的,它们完整地实现了实体的行为,但同一结构体不能为不同的实体所拥有。结构体不能单独存在,它必须有一个界面说明,即一个实体。对于具有多个结构体的实体,必须用CONFIGURATION(配置)语句指明用于综合的结构体和用于仿真的结构体,,即在综合后的可映射于硬件电路的设计实体中,一个实体只对应一个结构体。在电路中,如果实体代表一个器件符号,则结构体描述了这个符号的内部行为。当把这个符号例化成一个实际的器件安装到电路上时,则需用配置语句为这个例化的器件指定一个结构体(即指定一种实现方案),或由编译器自动选一个结构体。,1.结构体的一般语句格式结构体的语句格式如下:ARCHITECTURE结构体名OF实体名IS说明语句;BEGIN功能描述语句;ENDARCHITECTURE结构体名;,2结构体说明语句结构体中的说明语句是对结构体的功能描述语句中将要用到的信号(SIGNAL)、数据类型(TYPE)、常数(CONSTANT)、元件(COMPONENT)、函数(FUNCTION)和过程(PROCEDURE)等加以说明的语句。3功能描述语句结构如图4.4所示的功能描述语句结构可以含有五种不同类型的、以并行方式工作的语句结构,而在每一语句结构的内部可能含有并行运行的逻辑描述语句或顺序运行的逻辑描述语句。,各语句结构的
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 智能信息聚合平台创新创业项目商业计划书
- 汽车车载充电器快充电子创新创业项目商业计划书
- 量子安防监测系统创新创业项目商业计划书
- 短信自动回复规则设置工具创新创业项目商业计划书
- 输卵管造影影像课件
- 2025年教育信息化基础设施建设:现状与未来规划研究报告
- 河南省夏邑一高2026届高一化学第一学期期末考试试题含解析
- 民法典物权编培训课件
- 《ISO 37001-2025 反贿赂管理体系要求及使用指南》专业深度解读和应用培训指导材料之1:2范围+3术语和定义(2025A1)(可编辑!)
- 现代物流知识培训课程课件
- 泵站运行管理规范
- 施工阶段全过程造价咨询管理办法
- 美术中的秘密课件
- TJSJTQX 59-2024 港口企业安全生产目视化管理技术规范
- 《爱的教育》读书分享课件
- 城市轨道交通车辆制动系统维护与检修 课件全套 项目1-5 城轨车辆制动系统概述- NABTESCO型制动控制系统的组成及控制过程
- 《形势与政策》第十二讲-提高海权意识-维护国家利益
- 《康复评定技术》课件-第十一章 步态分析技术
- 向政府租地申请书
- 《铁路调车工作》课件
- 《心理辅导技能提升》课件
评论
0/150
提交评论