如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
第3章VHDL编程基础3.7库、程序包及其他3.8VHDL描述风格3.9基本逻辑电路设计3.10状态机的VHDL设计习题3.1概述(1)逻辑描述层次。一般的硬件描述语言可以在三个层次上进行电路描述,其层次由高到低依次可分为行为级、RTL级和门电路级。(2)设计要求。用VHDL进行电子系统设计时可以不了解电路的结构细节,设计者所做的工作较少;用Verilog和ABEL语言进行电子系统设计时需了解电路的结构细节,设计者需做大量的工作。(3)综合过程。任何一种语言源程序,最终都要转换成门电路级才能被布线器或适配器所接受。(4)对综合器的要求。VHDL描述语言层次较高,不易控制底层电路,因而对综合器的性能要求较高;Verilog和ABEL对综合器的性能要求较低。(5)支持的EDA工具。支持VHDL和Verilog的EDA工具很多,但支持ABEL的综合器仅仅Dataio一家。(6)国际化程度。VHDL和Verilog已成为IEEE标准;ABEL正朝国际化标准努力。3.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具有类属描述语句和子程序调用等功能,对于完成的设计,在不改变源程序的条件下,只需改变类属参量或函数,就能轻易地改变设计的规模和结构。3.1.3VHDL程序设计约定为了便于程序的阅读和调试,本书对VHDL程序设计特作如下约定:(1)语句结构描述中方括号“[]”内的内容为可选内容。(2)对于VHDL的编译器和综合器来说,程序文字的大小写是不加区分的。(3)程序中的注释使用双横线“--”。(4)为了便于程序的阅读与调试,书写和输入程序时,使用层次缩进格式,同一层次的对齐,低层次的,较高层次的缩进两个字符。(5)考虑到MAX+plusII要求源程序文件的名字与实体名必须一致,因此为了使同一个VHDL源程序文件能适应各个EDA开发软件的使用要求,建议各个源程序文件的命名均与其实体名一致。3.2VHDL程序基本结构相应地,当我们使用VHDL语言设计一个硬件电路时,我们至少需要描述三个方面的信息:①设计是在什么规范范围内设计的,亦即此设计符合某个设计规范,能得到大家的认可,这就是库、程序包使用说明;②所设计的硬件电路与外界的接口信号,这就是设计实体的说明;③所设计的硬件电路其内部各组成部分的逻辑关系以及整个系统的逻辑功能,这就是该设计实体对应的结构体说明。1.设计思路根据数字电子技术的知识,我们知道,74LS00是一个四—2输入与非门,亦即该芯片由四个2输入与非门组成,因此我们设计时可先设计一个2输入与非门(如图3.1(a)所示),再由四个2输入与非门构成一个整体——MY74LS00(如图3.1(b)所示)。2.VHDL源程序1)2输入与非门NAND2的逻辑描述--IEEE库及其中程序包的使用说明LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;--实体NAND2的说明ENTITYNAND2ISPORT(A,B:INSTD_LOGIC;Y:OUTSTD_LOGIC);ENDENTITYNAND2;图3.1MY74LS00的设计过程示意图--实体NAND2的结构体ART1的说明ARCHITECTUREART1OFNAND2ISBEGINY<=ANANDB;ENDARCHITECTUREART1;2)MY74LS00的逻辑描述--IEEE库及其中程序包的使用说明LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;--实体MY74LS00的说明ENTITYMY74LS00ISPORT(A1,B1,