1 / 70

EDA 思想、原理及应用

EDA 思想、原理及应用. 第一部分 EDA 概论. 提出问题: 一、 EDA 是什么 二、 EDA 的特点是什么 三、我们为什么要用 EDA 四、 EDA 的由来 五、 EDA 的构成. 先举一个 EWB 的例子. 截止频率为 10k 的一阶高通滤波器仿真图. 输入、输出波形;系统波特图. 说明: 【1】 高通滤波器的截止频率( CUT - OFF Frequency) 计算公式为: 经计算得: f=9.947184K Hz ; 仿真结果为 f = 9.685~10.02KHz

gilead
Download Presentation

EDA 思想、原理及应用

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. EDA思想、原理及应用

  2. 第一部分 EDA概论 提出问题: 一、EDA是什么 二、EDA的特点是什么 三、我们为什么要用EDA 四、EDA的由来 五、EDA的构成

  3. 先举一个EWB的例子 截止频率为10k的一阶高通滤波器仿真图

  4. 输入、输出波形;系统波特图

  5. 说明: 【1】高通滤波器的截止频率(CUT-OFF Frequency)计算公式为: 经计算得: f=9.947184K Hz ; 仿真结果为 f=9.685~10.02KHz 【2】输入为100V的2K Hz信号,因对应的频率响应为-14db,据公式 计算得到输出 Vomax=19.9526V ; 仿真结果为 Vomax=19.7873V; 以上两个理论计算结果均与实际仿真的结果吻合。

  6. 第一节 EDA技术的涵义 EDA(Electronics Design Automation)即电子设计自动化。而EDA技术是一门迅速发展的新技术,设计面广,内容丰富,理解各异,同时它本生并不是一套标准,而是一个理念,没有统一的定义。其中一种理解是:EDA技术是一种以计算机为工作平台,利用计算机图形学、拓扑逻辑学、计算数学以至人工智能学等多种计算机应用学科的最新研究成果,面向辅助电子系统设计而开发出来的一整套软件工具。 另一种看法是:EDA技术就是以大规模可编程逻辑器件为设计载体,以硬件描述语言为系统逻辑描述的主要表达方式,以计算机、大规模可编程逻辑器件的开发软件及实验开发系统为设计工具,通 过有关的开发软件,自动完成用软件的方式设计的

  7. 电子系统到硬件系统的逻辑编译、逻辑简化、逻辑分割、逻辑综合及优化、逻辑布局布线、逻辑仿真,直至对于特定目标芯片的适配编译、逻辑映射、编程下载等工作,最终形成形成集成电子系统或专用集成芯片的一门技术。电子系统到硬件系统的逻辑编译、逻辑简化、逻辑分割、逻辑综合及优化、逻辑布局布线、逻辑仿真,直至对于特定目标芯片的适配编译、逻辑映射、编程下载等工作,最终形成形成集成电子系统或专用集成芯片的一门技术。 我认为,EDA包含两个方面,其一,面向的对象是设计电子系统,其二,使用的工具是智能化设备并大大提高了效率。凡是满足这两个条件的技术就是EDA技术。那么,我们为什么要去使用它呢? 众所周知,传统的电子系统设计只能对电路板设计,并且电子系统的设计有以下两个特点:【1】开发产品的复杂程度加深;【2】产品开发的时限性。这就迫使电子系统设计师更加依赖工具。而EDA的目的就是使得系统设计工程师在电子系统设计方面可以有快速,经济,灵活的手段。EDA打破了传统的“固定集成块+连线”的设计方式,采用了基于芯片的设计思想。同时EDA也显示了一个规律,即:人们在进行生产时,将会使用自己的一切手段与经验,综合历史,

  8. 制造出高效的对于目前生产有极大推动力的工具,这一系列工具就体现了人类当时的生产力水平。这就给我们仪器领域的人士提供了跟得上时代进步的工具,因为,归根揭底,我们也是在为推动人类生产力而工作。又由于仪器系统,尤其是电子仪器系统中,电子系统现在处于核心地位。因此,专业性质决定了,人类的生产力发展决定了我们必须接受EDA的思想,必须熟练使用EDA工具,并应用到实践中去。制造出高效的对于目前生产有极大推动力的工具,这一系列工具就体现了人类当时的生产力水平。这就给我们仪器领域的人士提供了跟得上时代进步的工具,因为,归根揭底,我们也是在为推动人类生产力而工作。又由于仪器系统,尤其是电子仪器系统中,电子系统现在处于核心地位。因此,专业性质决定了,人类的生产力发展决定了我们必须接受EDA的思想,必须熟练使用EDA工具,并应用到实践中去。 综合起来,使用EDA技术进行电子系统的设计,具有以下几个特点:【1】用软件的方式设计硬件;【2】用软件方式设计的系统到硬件系统的转换是由有关的开发软件自动完成的;【3】设计过程中可用有关软件进行各种仿真;【4】系统可现场编程,在线升级;【5】整个系统可集成在一个芯片上,体积小、功耗低、可靠性高。【6】大部分设计可在实验室完成。可以看出,EDA自动化的根源在于软件的思想,也可以看出,系统的软硬件发展是相辅相成的。因此,EDA技术是现代电子设计的发展趋势。

  9. 第二节 EDA技术的发展历程

  10. 说明:CAD(Computer Assist Design) CAE(Computer Assist Engineering Design) µP:微处理器 HDL:Hardware Description Language LSI:Large Scale Integrate

  11. 第三节 EDA技术的主要内容 EDA技术的主要内容包括以下几个方面: 一、大规模可编程逻辑器件。这里主要是针对数字电路系统而言。它是利用EDA进行电子系统设计的载体。PLD(可编程逻辑器件)是一种由用户编程实现某种逻辑功能的新型逻辑器件。FPGA/CPLD是当今PLD的代表与主流产品,主要生产厂家是Xinlinx、Altera、Lattice三家公司。它们的特点是高集成度、高速度、高可靠性。两者的选择:CPLD用于普通规模,产量不是很大的产品项目。而对于大规模的逻辑设计ASIC设计或者单片系统,多采用FPGA。 二、硬件描述语言(HDL)。它是利用EDA进行电子系统设计的主要表达手段。好处是可以独立于工艺设计;通用、灵活,降低开发成本。常用的HDL有: VHDL(Very-High-Speed Circuit Hardware Electrical and Description Language):它被IEEE学会和美国国防部确认为标准硬件描述语言,在电子工程

  12. 领域已经成为事实上的标准。 Verilog-HDL:支持的EDA工具较多,适合于RTL (Register Translate Level)和门电路级的描述,其综合过程较VHDL简单,但在高级描述方面不如VHDL。 ABEL:一种支持各种不同输入方式的HDL,被广泛用于各种可编程逻辑器件的逻辑功能设计,由于语言描述的独立性,因而适用于各种不同规模的可编程器件的设计。适合于RTL和门电路级的描述,其综合过程较VHDL简单,但在高级描述方面不如VHDL。 VHDL-A:它是VHDL的扩展,可以模拟和描述数字、模拟、数/模混合电路,甚至机械和热等非电学系统,但暂不支持模拟综合,描述独立于模拟器。 MAST AHDL:它是Analog公司的产品,可以模拟和描述数字、模拟、数/模混合电路,甚至机械,

  13. 和热、电热等非电学系统的描述。 除此之外,还有专为PAL或GAL开发的HDL,用于微波信号描述的MHDL和一些功能比较低的语言,如SPICE (PSPIC、HSPICE、IGSPICE),EWB等。 三、EDA的软件开发工具 目前比较流行的、主流厂家的EDA的软件工具(数字电路)有Altera公司MAX+PLUS2、Lattice公司的ispEXPERT、Xilinx的Foundation Series。它们都是强大的集成开发环境,可以实现编辑、编译;综合、优化;布局、布线 、适配;编程乃至下载到相应PLD中的全套功能。 而用于模拟电路描述的开发环境现阶段就只能实现逻辑上的仿真,而不能从软件一直自动化到硬件的具体实现。这是由于工艺的限制。但是,同时也应该看到它们给我们设计上带来的便利,如可以大大减少危险,减少投入,提高效率,便于学习,试验,为以后的发展积累经验等等。

  14. 另外,还有一类以Protel为代表的EDA工具,它们的作用是用于电子系统(芯片级)的原理图设计(同PLD的原理图有本质区别)、布线、制PCB板和高级数模器件混合仿真功能 ,其仿真引擎使用的是伯克利分校的SPICE3f5/Xspice,它可精确地仿真由各种器件 (如TTL、CMOS、BJT 等 )构成的电路的仿真。 四、实验开发系统 实验开发系统一般有:【1】实验或开发所需的各类基本信号发生模块,包括时钟、脉冲、高低电平等;【2】FPGA/CPLD输出信息显示模块,包括数码显示、发光管显示、声响显示等;【3】监控程序模块,提供“电路重构软配置”;【4】目标芯片适配座以及上面的目标芯片和编程下载电路。

  15. VHDL源程序 生成VHDL源程序 文本编辑器 图形编辑器 EDA设计流程图 VHDL综合器 网表文件 逻辑综合、优化 VHDL 仿真器 行为仿真 功能仿真 FPGA/CPLD布线、适配器 熔丝图、SRAM 文件、网表 时序仿真 自动优化、布局、布线/适配 测试电路 编程器/下载电缆 功能仿真 门级 仿 真器 硬件测试 编程/下载 时序仿真 第四节 EDA的工程设计流程

  16. 说明: 一、源程序的编辑与编译。三种输入方式: 【1】原理图输入方式;【2】状态图输入方式;【3】VHDL软件程序的文本方式 二、逻辑综合和优化。 三、目标器件的布线、适配。 四、目标器件的编程、下载。 五、设计过程中的有关仿真。 六、硬件仿真、硬件测试。

  17. 第五节 ASIC、IP和SOC 一、ASIC(Application Specific Intergrated Circuits) 【1】ASIC,即专用集成电路;出现于20世纪80年代后期至90年代初期;是为某类整机系统设计和制造的专用IC;是相对于通用集成电路而言的。 【2】与通用集成电路相比,有以下几个优越性: (1 )体积更小 ,重量更轻 ,功耗更低 ; (2 )可靠性提高 ; (3)性能提高 ; (4)保密性增强 ; (5)成本降低。 【2】ASIC分类:半定制电路(Semicustom IC,包括门阵列电路、标准单元电路、可编程逻辑电路(PLD));全定制电路(Full Custom IC)。

  18. 前者的特点是开发周期短、效率高、灵活、短期开发成本低,但芯片利用率较低。后者开发能在晶体管层次进行单元优化、集成度高、芯片利用率高,但开发周期长,如果搞大量、长期项目则可以使成本变得很低。前者的特点是开发周期短、效率高、灵活、短期开发成本低,但芯片利用率较低。后者开发能在晶体管层次进行单元优化、集成度高、芯片利用率高,但开发周期长,如果搞大量、长期项目则可以使成本变得很低。 【3】ASIC的发展趋势 现代 ASIC设计技术发展的一个重要趋势就是直接面向用户的需求 ,根据电路系统功能和行为的要求 ,由顶层开始向下层逐层完成相应的设计描述、综合与优化、模拟与验证 ,直到生成器件。现在整机产品正向着速度快、容量大、体积小、重量轻的方向发展 ,这里的关键技术就是 ASIC。 (1)系统内可配置的总体趋势 (2)高层设计技术占主导 (3)密度和性能的进一步改观 (4)混合编程技术日趋完善

  19. 二、IP(Intellectual Property) IP字面上的意思是知识产权。在微电子领域中,IP是指可用来生成 ASIC和PLD的逻辑功能块 ,又称为 IP核 (IP Core)及虚拟器件 VC。IP核的内容有很多种 ,比如UART (Universal Asynchronous Receiver Transmitter)、CPU、以太网控制器、PCI接口等。总的来说IP核就是指实现某种功能的集合体。IP 在集成电路的设计和制造上有很重要的作用 ,芯片内既可采用一种 IP核 ,也可采用多种 IP核 ,进而整合成具有复杂功能的集成电路。随着微电子集成电路深亚微米工艺的出现和发展 ,集成电路集成度的大幅度提高及设计容量和复杂度的飞速增长 ,IP的开发及复用就变得异常重要。 【1】分为硬 IP和软 IP。根据 IP核描述的所在集成电路的设计层次 ,或者说根据核优化的程度 ,IP可分为硬 IP和软 IP。硬IP的芯片中物理掩膜布局已得到证明 ,所有的验证和仿真工作都已完成 ,用它可以直接产生硅片 ,系统设计者不能再对它进行修改。而软 IP

  20. 是以行为级或RTL级的 Verilog或 VHDL代码的形式存在 ,它要经过逻辑综合及版图综合才能最终实现在硅片上,并且不能保证时序,实现之前不能进行充分的验证。RISC8是一个免费的、简单的 8位微处理器 ,该 IP核以 Verilog描述的形式出现 ,所以它是一种软IP核。 【2】IP复用 目前 ,随着 SOC(System-On-a-Chip)及 SL D (System Level Design)的出现 ,半导体行业的竞争日益激烈 ,要设计出工艺先进、功能强大并能快速投入的产品 ,其关键手段是 IP复用和整合。 【3】新型 IP 由于硬 IP和软 IP各有优缺点 ,因此 IP的发展须扬长避短 ,将硬 IP和软 IP的优点相结合。目前最新类型的 IP为可配置 IP,又称固 IP(Firm IP)。固IP核既提供有原码又有网表 ,它是由固定和可综合的逻辑子块组合的 ,设计者可以用户化 (配置 )IP核的特定部分 ,如接口、部分路径的时序等。可配置 IP有比较明显的

  21. 优点 ,然而由于网表是对应某种芯片的 ,所以想转而采用不同类型的芯片是不容易的。 三、SOC(System On Chip) SOC即片上系统,它的理念就是就是把一个完整的系统集成在一个芯片上 ,即一个芯片就是一个完整的电子系统。它核心技术是 IP核。 SOC是 ASIC的更高发展 ,它集成了数字和模拟电路 ,在单一芯片上实现信号采集、转换、存储、处理和 I/ O接口等全部系统功能 ,如数字蜂窝电话芯片包括微处理器、DSP、控制、存储功能等 ;数字相机芯片包括传感器、成像、显示、存储、控制等功能。它们不但集成度高 ,更重要的是具有应用领域的行为和功能特征 ,具有更多的应用专业知识含量。 例如,SOC应用在MEMS (Microelectronic Mechanical System)中,后者是指大小在毫米量级以下 ,可控制、可运行的微型机电装置 ,它可以集传感器、执行器、信号处理电路、控制电路、接口电路、电源

  22. 于一体形成微机电系统 ,提供许多新的信息获取手段和更高效的信息处理系统及智能化的控制设备。

  23. 第六节 EDA展望 一、EDA工具的发展趋势 【1】设计输入工具的发展趋势 原理图-> 硬件描述语言。 由原理图自动生成硬件描述语言。 【2】具有混合信号处理能力的EDA工具 数字的工具远比模拟的工具多,模拟的集成开发难度大,但实际设计中是必须的。 具有混合信号设计能力的EDA工具能处理含有数字信号处理、专用集成电路宏单元、数模和模数变换模块、各种压控振荡器在内的混合系统设计。 【3】更有效的仿真工具

  24. 通常,设计的大部分时间在做仿真。所以建立合理的仿真算法和在系统级仿真中建模、电路级仿真中建模,这两方面在下一代EDA工具中将有一个很大的进展。这就预示了一个研究方向,一个市场方向。通常,设计的大部分时间在做仿真。所以建立合理的仿真算法和在系统级仿真中建模、电路级仿真中建模,这两方面在下一代EDA工具中将有一个很大的进展。这就预示了一个研究方向,一个市场方向。 【4】更为理想的设计综合工具的开发 现代的电子设计的思路是:不优先考虑具体物理实现,而将精力集中到设计构思、方案比较和寻找优化设计等方面。 设计综合工具的目的:将设计者的精力从繁琐的版图设计和分析中转移到设计前期的算法开发和功能验证上。自动综合工具将有有的提高优化设计效率。 二、EDA技术应用展望 【1】EDA技术将广泛应用于高校电类专业的实践教学工作中去。 【2】EDA技术将广泛应用于科研工作和新产品的开发中。

  25. 【3】 EDA技术将广泛应用于集成电路的开发。 【4】 EDA技术将广泛应用于传统机电设备的升级改造和技术改造。 三、信息产业中的EDA

  26. 第二部分 EDA实现 提出问题: 一、PLD跟EDA的实现有什么关系。 二、数字电路系统设计真的有那么神奇吗?它的底层到底是怎么工作的? 三、进行软件化硬件的HDL是怎么回事? 四、模拟电路设计使用EDA技术该怎么办? 五、我现在想设计一个数据采集系统并让它干起活来,怎样应用EDA技术?

  27. 这一部分的目标: 【1】解决所提的几个问题。 【2】使用所介绍的技术,可以快速的设计出一块基于ISA总线的数据采集系统。

  28. 第一章 大规模可编程逻辑器件 众所周知,传统的电子系统中采用“固定集成块+连线”的设计方法,是基于电路板进行设计的,只能通过设计电路板来实现系统功能,缺点在于方式过于呆板、不易修改、投入大、开发周期长、系统过于繁杂。因此,早期的EDA的功能就只是原理图、布线和简单的仿真。但是,这一切都随着可编程逻辑器件(PLD)的出现而改变了。使用PLD可以对很多关键的器件进行设计,尤其是数字芯片,采用了基于芯片的设计方法,它推崇由设计者定义器件的内部逻辑和管脚,将原来由电路板设计完成的大部分工作放在芯片设计中进行,这样,不仅可以通过芯片设计实现多种数字逻辑系统功能,而且由于管脚定义的灵活性,大大减轻了电路图设计和电路板设计的工作量和难度,从而有效的增强了设计的灵活性,提高了工作效率;同时基于芯片

  29. 的设计可以减少芯片的数量,缩小系统体积,降低能源消耗,提高系统的性能。可以毫不夸张的说,大规模可编程逻辑器件对EDA技术的飞跃有革命性影响!的设计可以减少芯片的数量,缩小系统体积,降低能源消耗,提高系统的性能。可以毫不夸张的说,大规模可编程逻辑器件对EDA技术的飞跃有革命性影响!

  30. 第一节 可编程器件基础简介 一、可编程器件的分类 【1】按集成度分类:HDPLD(高密度可编程逻辑器件),如PROM,PLA,PAL,GAL;LDPLD(低密度可编程逻辑器件),如EPLD、CPLD、FPGA。 【2】按内部是与或阵列和门阵列结构来分类:PLD(Programmable Logic Device)器件; FPGA(Field Programmable Gate Array)器件。 【3】按编程工艺划分: 熔丝(FUSE)和反熔丝(Antifuse)器件,如PROM、Xilinx的XC5000系列、Actel的FPGA等。它们输入一次性编程(OTP)器件。 UEPROM编程器件,即紫外线擦除/电编程器件。大多数FPGA和CPLD用这种。

  31. A1 A0 或 或 或 F2 F1 F0 图1 PROM结构 EEPROM(电擦写/电擦除)器件,GAL、ispLSI器件属于这种。类似还有FLASH工艺的器件。 SRAM器件,Xilinx的FPGA是代表。 二、PLD器件基本结构 【1】与或阵列 以PROM为例: 表1 可编程部分的值

  32. 【2】宏单元 EPROM中没有宏单元,GAL中的宏单元同输入输出在一起,CPLD的宏单元在内部。宏单元的作用是: 提供时序电路需要的寄存器或触发器; 提供多种形式的输入输出形式; 提供内部信号反馈; 分配控制信号,如寄存器的时钟和复位信号,三态门的输出使能信号。 现在,以具有代表性的GAL16V8器件的输出逻辑宏单元(OLMC)为例,介绍宏单元的结构。

  33. 三、FPGA基本结构 【1】查找表型FPGA结构 它的可编程单元是查找表(SRAM),由它来构成函数发生器。M个输入项的逻辑函数可以由一个2M位容量的SRAM实现,函数值就存放在SRAM中,SRAM的地址线起输入线的作用,SRAM的输出即为逻辑函数值,最后,通过连线开关实现与其他功能块的连接。缺点是查找表的规模受到技术和经济因素的限制,不能做得很大。实际的FPGA输入不超过5个,多于5个的采用级联的方式。(Xilinx的XC系列) 表2 全 加 器 真 值 表

  34. 【2】多路开关型结构 可编程单元是可配置的多路开关。利用多路开关的特性,对多路开关的输入和选择信号进行配置,接到固定电平或输入信号上,实现不同的逻辑功能。 如2选1多路开关的选择输入信号为S,两个输入信号为a和b,则输出函数为f=sa+/s b,他可以实现例如下函数: s=1时,f=a; a=1时,f=s+b; a=/b时,f=s b; 如果把多个多路开关和逻辑门连接起来,可以实现数目巨大的逻辑函数。(Actel的ACT系列) 【3】多级与非门型结构 它是基于一个与-或-异或逻辑块电路,这个电路可以用一个触发器和一个多路开关来扩充。其中,多路开关选择组合逻辑输出,寄存器输出或锁存器输出。异或门用来增强逻辑块的功能。(Altera的FPGA)

  35. 第二节 直接进入VHDL 一、VHDL概述 常用的硬件描述语言有VHDL,Verilog HDL,ABEL HDL。三者的比较如下: 表3 三种HDL比较

  36. CO A SO B H_ADDER A CO B SO H_ADDER A CO B SO H_ADDER A CO B SO 图2 半加器逻辑原理图 AIN COUT U3 BIN U1 CIN SUM U2 图3 一位全加器原理图 二、例说VHDL 【1】使用VHDL设计一个1位二进制全加器。 (1)设计思路:

  37. (2)VHDL源程序 半加器的逻辑描述 LIBRARY IEEE;--IEEE 库的使用说明 USE IEEE.STD_LOGIC_1164.ALL; ENTITY H_ADDER IS --实体H_ADDER的说明 PORT(A,B: IN STD_LOGIC; CO,SO: OUT STD_LOGIC); END ENTITY H_ADDER; --实体H_ADDER的结构体ART2的说明 ARCHITECTURE ART2 OF H_ADDER IS BEGIN SO<=(A OR B) AND (A NAND B); CO<=NOT(A NAND B); END ARCHITECTURE ART2;

  38. 或门的逻辑描述 LIBRARY IEEE; --IEEE 库的使用说明 USE IEEE.STD_LOGIC_1164.ALL; ENTITY ORM2 IS --实体ORM2的说明 PORT(A,B: IN STD_LOGIC; C: OUT STD_LOGIC); END ENTITY ORM2; --实体ORM2的结构体ART1的说明 ARCHITECTURE ART1 OF ORM2 IS BEGIN C<=A OR B; END ARCHITECTURE ART1; 全加器的逻辑描述(采用原理图方式)

  39. 图4 全加器原理图(Max-Plus2)

  40. 图5 全加器波形仿真图

  41. 【2】三态锁存器的HDL源程序 LIBRARY IEEE; --IEEE 库的使用说明 USE IEEE.STD_LOGIC_1164.ALL; ENTITY TRISTATE IS PORT( EN, DIN, CLK: IN STD_LOGIC; DOUT: OUT STD_LOGIC); END ENTITY TRISTATE;--************ ARCHITECTURE ART OF TRISTATE IS SIGNAL SIG_SAVE: STD_LOGIC; BEGIN PROCESS(EN , DIN,CLK) BEGIN IF EN= ‘0’ THEN DOUT<= SIG_SAVE; ELSE DOUT<=‘Z’; END IF; IF (CLK’EVENT AND CLK=‘1’) THEN SIG_SAVE=DIN; END IF;

  42. END PROCESS; END ART; 【3】3-8译码器的设计 LIBRARYIEEE; --IEEE USE IEEE.STD_LOGIC_1164.ALL; USEIEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY DECODERIS PORT(INP: IN STD_LOGIC_VECTOR( 2 DOWNTO 0); 表4 三态锁存器真值表

  43. OUTP: OUT BIT_VECTOR(7 DOWNTO 0)); END ENTITYDECODER; ARCHITECTUREART2 OFDECODERIS BEGIN OUTP(0)<= '1' WHENINP="000"ELSE'0'; OUTP(1)<= '1' WHENINP="001"ELSE'0'; OUTP(2)<= '1' WHENINP="010"ELSE'0'; OUTP(3)<= '1' WHENINP="011"ELSE'0'; OUTP(4)<= '1' WHENINP="100"ELSE '0'; OUTP(5)<= '1' WHEN INP="101"ELSE'0'; OUTP(6)<= '1' WHENINP="110"ELSE'0'; OUTP(7)<= '1' WHENINP="111"ELSE'0'; END ARCHITECTUREART2; 【4】单向总线驱动器 LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; ENTITY TRI_BUS8 IS PORT( DIN: IN STD_LOGIC_VECTOR(7 DOWNTO 0);

  44. EN: IN STD_LOGIC; DOUT: OUT STD_LOGIC_VECTOR(7 DOWNTO 0)); END ENTITY TRI_BUS8; ARCHITECTURE ART OF TRI_BUS8 IS BEGIN PROCESS(EN,DIN) BEGIN IF EN='1' THEN DOUT<=DIN; ELSE DOUT<="ZZZZZZZZ"; END IF; END PROCESS; END ART;

  45. 图6 GENERIC类属说明 库、程序包使用说明 设 计 实 体 PORT端口说明 实体(ENTITY) 结构体说明 结构体 结构体功能描述 配 置 三、小结 前面的几个例子主要演示了3-8译码器,三态锁存器,总线驱动器和全加器的HDL描述方法和源程序,通过这些介绍,一方面把接口电路中常用的一些逻辑信号分析了一遍,另一方面说明PLD不仅有逻辑运算的功能,也能进行数学运算,如果合理的把他们组合起来,可以形成一个强大的数字电路。 VHDL语言的基本结构如下

  46. 另外,作为一种语言,VHDL自然包括了语言的要素:文字规则、数据对象、数据类型和操作符。同时它的语句也以顺序、条件、循环三大结构为基础。支持子程序(函数与进程)、库、程序包等操作,还吸收了面向对象的编程方式(OOP)。与一般计算机语言不同的是它是用来直接描述数字电路硬件结构的,拥有一些特殊的概念和要求,但是,这些都不妨碍我们快速的掌握这门语言(只要有了数字电路的基础)。另外,作为一种语言,VHDL自然包括了语言的要素:文字规则、数据对象、数据类型和操作符。同时它的语句也以顺序、条件、循环三大结构为基础。支持子程序(函数与进程)、库、程序包等操作,还吸收了面向对象的编程方式(OOP)。与一般计算机语言不同的是它是用来直接描述数字电路硬件结构的,拥有一些特殊的概念和要求,但是,这些都不妨碍我们快速的掌握这门语言(只要有了数字电路的基础)。 显然,VHDL很容易进行组合逻辑电路、时序逻辑电路、存储器的设计(不要存储太多)。这里我们还是要明白VHDL的描述风格,以此来增强我们对它作为HDL的理解。VHDL的描述风格有三种:行为描述、数据流描述(RTL)、结构描述。 VHDL还能很好的用在状态机的设计上。状态机是一种很重要的时序电路,是许多数字电路的核心部件。它由输入/输出信号、状态译码器,状态寄存器、输出译码器几部分组成。可以用VHDL语言描述,也可以通过输入状态图并填好相应的时钟、状态转换条件、

  47. 状态机类型,由软件工具自动生成VHDL语言。 源程序编制完成之后,最重要的还不是马上就写入PLD,而是进行大量的仿真。只有仿真结果正确了,我们才能放心的让PLD运行程序。仿真分为行为、功能、时序仿真。

  48. 第三节 让VHDL“说服”PLD 当然,制作好VHDL程序并不代表着完全成功了,接下来就是EDA工具大发神威的时候了——让我们设计的数字电路工作起来。这就需要按照第一部分的第四节所讲的步骤进行。 现在以Altera公司的Max+plusⅡ工具为例说明。 【1】设置顶层文件。也就是那个具有能达到最终目的内容的文件,相当于C语言里有Main()函数的那个文件。 【2】选择目标器件及锁定引脚。 【3】编译、综合、适配。选定VHDL的版本后,使用菜单命令Complier,可以一次性完成编译、综合(Synthesizer)、优化、逻辑分割和适配/布线等操作。

  49. 图7 最好的EDA演示-MAX+PlusⅡ编译

More Related