您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 电子设计/PCB > VHDL(绪论)硬件描述语言与数字逻辑电路设计
VHDL硬件描述语言与数字逻辑电路设计课程基本内容■EDA介绍■数字系统硬件设计概述■VHDL语言■基本数字电路设计举例■常用EDA软件的使用课程考核■期末考试70%■平时30%第一章:数字系统硬件设计概述一:数字系统和集成电路的发展二:数字系统设计方法三:数字系统设计与EDA技术四:数字系统EDA设计语言一:数字系统和集成电路的发展第一阶段:利用晶体管,电阻,二极管等电子元件设计成各式各样的逻辑门,如NOT,AND,OR,NAND,NOR…等小规模集成电路(SmallScaleIntegratedCircuit,SSI);第二阶段:以上述基本逻辑门配合卡诺图化简,设计出译码器(Decoder),复用器(Multiplexer),加法器(Adder),触发器(FlipFlop),移位寄存器(ShiftRegister),计数器(Counter)等中规模集成电路(MediumScaleIntegratedCircuit,MSI);一:数字系统和集成电路的发展第三阶段:再由这些MSI慢慢地扩大,成为大规模和超大规模集成电路LSI,VLSI…等。目前:目前在数字控制电路上所要求的功能,大都通过可编程逻辑设备(ProgrammableLogicDevice,PLD),现场可编程门阵列(FieldProgrammableGateArray,FPGA),微控制器(MicroController),微处理器(MicroProcessor),以及专用IC(ApplicationSpecificIntegratedCircuit,ASIC)等芯片来规划完成。二:数字系统设计方法1.自下而上(BottomUp)的设计方法自下而上的设计方法即结构设计方法是集成电路系统的基本设计方法。其基本思想是将复杂的系统逐层进行功能块划分和描述功能块的拓扑连接,直到用底层模块或部件来描述。当完成底层模块或部件的描述后,自下而上进行层次扩展和层次功能的仿真验证,从而完成整个系统的功能设计和验证。最后,根据底层模块或部件的几何图形和拓扑连接关系完成布图设计和验证。二:数字系统设计方法结构设计方法的主要特点:是按层次模块化、结构化。每个层次的各个模块表示一个子系统或子功能,模块对外表现为一个“黑盒”,黑盒用行为功能来描述并提供与外部的连接端口;系统结构清晰明了。结构设计方法至今仍有广泛应用,在某些场合和设计阶段应用还可以得到很好的效果。二:数字系统设计方法但是,结构设计方法作为传统的系统硬件设计方法,在系统设计的早期就将系统人为地分为硬件和软件两个部分,并先分别独立进行硬件和软件设计,软件的开发受到硬件的严格限制。系统硬件的设计则是从选择具体元器件开始的,用选中的元器件进行逻辑电路设计,完成系统各独立功能模块设计,然后再将各功能模块连接起来,完成整个系统的硬件设计;软件设计和调试常常要在硬件设计完成之后。这种设计方法的缺点是显然的,如要求设计者具有丰富的设计经验,设计过程反复较多,开发效率低,可移植性差,可继承性差,开发时间长,不易修改设计等等。总之,由于自下而上设计方法的设计策略是从基本部件出发,逐步组合形成复杂的系统,因而有可能存在错误理解系统功能的风险。二:数字系统设计方法2.自上而下(TopDown)的设计方法就是从系统总体要求出发,自上至下地逐步将设计内容细化,最后完成系统硬件的整体设计。在利用HDL的硬件设计方法中,设计者将自上至下分成3个层次对系统硬件进行设计。第一层次是对整个系统的数学模型的描述,称为行为描述。第二层次是采用RTL(数据流或寄存器传输)方式导出系统的逻辑表达式,供逻辑综合使用,称为RTL方式描述。第三层次则是逻辑综合,即利用逻辑综合工具,将RTL方式描述的程序转换成用基本逻辑元件表示的文件,这相当于在人工设计硬件电路时,根据系统要求画出系统的逻辑原理图。二:数字系统设计方法自上而下的设计方法便于从系统级划分和管理整个项目,简化了设计队伍的管理,减少了不必要的重复并提高了设计的一次成功率。同时,还可以提供整个设计过程中的各设计阶段的统一规范管理,包括系统的测试和各层次的模拟仿真验证。另外,自上而下的设计方法更符合人们的设计思维习惯,可以大大提高开发效率、可继承性以及缩短开发时间,所以得到广泛应用。很多EDA设计工具都支持自上而下的设计方法。自上而下的设计策略是逐步细化规格,把每个部件分解为更小的部件,最低层是基本部件,但这种设计方法还在不断地完善之中。实际应用中常常将自下而上的设计方法和自上而下的设计方法结合起来使用。二:数字系统设计方法4.传统的系统硬件设计方法的主要特征:采用自下至上的设计方法;采用通用的逻辑元、器件;在系统硬件设计的后期进行仿真和调试;主要设计文件是电原理图。二:数字系统设计方法5.利用HDL语言设计系统硬件方法的特点:采用自上至下的设计方法;系统中可大量采用ASIC芯片;采用系统早期仿真;降低了硬件电路设计难度;主要设计文件是用HDL语言编写的源程序。三:数字系统设计与EDA技术EDA概述EDA就是以计算机为工作平台、以EDA软件工具为开发环境、以硬件描述语言为设计语言、以ASIC为实现载体的电子产品自动化设计过程,它包括半导体工艺设计自动化、可编程逻辑器件设计自动化、电子系统设计自动化、印刷电路板PCB(PrintedCircuitBoard)设计自动化、仿真测试、故障诊断以及形式验证自动化。需要说明的是,这里所讲的是狭义的EDA,没有包括模拟电路的设计自动化。三:数字系统设计与EDA技术EDA作为一门崭新的学科,它的知识体系结构为:①②可编程逻辑器件原理、③④EDA⑤EDA⑥EDA的应用及实践。历史回顾:可编程逻辑集成电路的发展从PROM到CPLD和FPGA在数字电子系统领域,存在三种基本的器件类型:存储器、微处理器和逻辑器件。存储器用来存储随机信息,如数据表或数据库的内容。微处理器执行软件指令来完成范围广泛的任务,如运行字处理程序或视频游戏。逻辑器件提供特定的功能,包括器件与器件间的接口、数据通信、信号处理、数据显示、时序和控制操作、以及系统运行所需要的所有其它功能。逻辑器件可分类两大类-固定逻辑器件和可编程逻辑器件。一如其名,固定逻辑器件中的电路是永久性的,它们完成一种或一组功能-一旦制造完成,就无法改变。另一方面,可编程逻辑器件(PLD)是能够为客户提供范围广泛的多种逻辑能力、特性、速度和电压特性的标准成品部件-而且此类器件可在任何时间改变,从而完成许多种不同的功能。可编程逻辑器件(ProgrammableLogicDevice,简称为PLD)是20世纪70年代发展起来的一种新型逻辑器件,是目前数字系统设计的主要硬件基础。目前生产和使用的PLD产品主要有PROM、现场可编程逻辑阵列FPLA(FieldProgrammableLogicArray)、可编程阵列逻辑PAL(ProgrammableArrayLogic)、通用阵列逻辑GAL(GenericArrayLogic)、可擦除的可编程逻辑器件EPLD(ErasableProgrammableLogicDevice)、复杂可编程逻辑器件CPLD(ComplexProgrammableLogicDevice)、现场可编程门阵列FPGA(FieldProgrammableGateArray)等几种类型。其中EPLD、CPLD、FPGA的集成度较高,属于高密度PLD。0.1可编程只读存储器(PROM)可编程只读存储器PROM(包括EPROM、EEPROM)其内部结构是由“与阵列”和“或阵列”组成。它可以用来实现任何以“积之和”形式表示的各种组合逻辑。熔丝(Fuse)或反熔丝(Antifuse)编程器件采用PROM结构。PROM的总体结构与掩模ROM相同,所不同的是在出厂时已经在存储矩阵的所有交叉点上全部制作了存储元件。存储元件通常有两种电路形式:一种是由二极管组成的结破坏型电路;另一种是由晶体三极管组成的熔丝型电路,结构示意图如图1.1.1所示。图1.1.1PROM结构示意图在结破坏型PROM中,每个存储单元都有两个对接的二极管。这两个二极管将字线与位线断开,相当于每个存储单元都存有信息“0”。如果将某个单元的字线和位线接通,即将该单元改写为“1”,需要在其位线和字线之间加100mA~150mA电流,击穿D1(使D1的PN结短路)。这样,该单元就被改写为“1”。PROM的存储单元一旦由“0”改写为“1”或由“1”改写为“0”,就变成固定结构,因此只能进行一次编程。所以可编程只读存储器(PROM)也称为一次可编程只读存储器。在产品的开发设计过程中,设计人员可以通过编程器将所需内容(程序和数据)自行写入PROM中得到所要求的ROM。PROM的不断发展结果是EPROM,EEPROM,FLASHMEMORY的诞生.思考作业:PROM,EPROM,EEPROM,FLASHMEMORY的工作原理,理论基础.0.2可编程逻辑阵列(PLA)可编程逻辑阵列(PLA)是为解决PROM的速度和输入端方面受到限制的问题而提出的解决方案.PLA是由大量的和“与”阵列相连接的输入端构成.在“与”阵列中,通过对不同的连接点编程,可将信号按各种不同的组合“与”在一起.“与”阵列的输出又连接到一个“或”阵列.在“或”阵列中,“与”阵列所输出的各“与”项按不同的组合方式“或”在一起,最后产生出或阵列的输出.可编程逻辑阵列就其典型电路结构形式而言,可以看成是由一个与门阵列和一一个或门阵列组成的。如同PROM一样可用PLA外接触发器来构成状态机.状态机是所有控制逻辑的基本构筑模块.PLA的出现使的开发出最简易的高级语言ABEL,PALASM和CUPL.用这些语言可把布尔方程式转换为数据文件,这些文件可用于编程PLA内部各阵列的连接点.简易高级语言的出现为可编程器件开辟了一个新领域.可编程阵列逻辑(PAL)PAL是PLA的一个变种,类似于PLA.类似PLA,它也有一个输入位数宽,可编程的“与”阵列,但不同的是其内部的“或”阵列是固定的.而且器件里包含大量的反相器就减少了对大规模“或”阵列的需求.由此节省出的芯片面积又可以被用来制造其他基本逻辑器件,最重要的是可以把时钟控制元件(最典型触发器)也做到PAL里.由于以上原因,极大增加了PAL的复杂性和使用潜力,也产生了一种对新编程方法的要求,于是第一个硬件描述语言(HDL)诞生了.PAL工作原理图0.3掩膜门阵列ASIC一个专用集成电路,或者叫ASIC,它并不是可编程器件,但却是将技术开发引向CPLD和FPGA的重要先驱.0.4CPLD和FPGA理想情况是,硬件工程师需要的某种器件既具有ASIC的优点--电路的高密度和高速度,又同时具有一个可编程器件较短的转换功能时间.解决办法来自于两种新型器件:复杂可编程逻辑器件(CPLD)和现场可编程门阵列(FPGA).CPLD和FPGA很短的交货时间可编程的没有NRE费用高密度性能实现许多逻辑函数速度相对较快PAL门阵列可编程逻辑器件的两种主要类型是现场可编程门阵列(FPGA)和复杂可编程逻辑器件(CPLD)。在这两类可编程逻辑器件中,FPGA提供了最高的逻辑密度、最丰富的特性和最高的性能。现在最新的FPGA器件,如XilinxVirtex™系列中的部分器件,可提供八百万系统门(相对逻辑密度)。这些先进的器件还提供诸如内建的硬连线处理器(如IBMPowerPC)、大容量存储器、时钟管理系统等特性,并支持多种最新的超快速器件至器件(device-to-device)信号技术。FPGA被应用于范围广泛的应用中,从数据处理和存储,以及到仪器仪表、电信和数字信号处理等。与此相比,CPLD提供的逻辑资源少得多-最高约1万门。但是,CPLD提供了非常好的可预测性,因此对于关键的控制应用非常理想。而且如XilinxCoolRunner™系列CPLD器件需要的功耗极低,并且价格低廉,从而使其对于成本敏感的、电池供电的便携式应用(如移动电话和数字手持助理)非常理想。可编程
本文标题:VHDL(绪论)硬件描述语言与数字逻辑电路设计
链接地址:https://www.777doc.com/doc-3613692 .html