EDA技术与VHDL实用教程_第1页
EDA技术与VHDL实用教程_第2页
EDA技术与VHDL实用教程_第3页
EDA技术与VHDL实用教程_第4页
EDA技术与VHDL实用教程_第5页
已阅读5页,还剩344页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

EDA技术与 VHDL实用教程 1 2 EDA技术概念 1 EDA技术的主要特征 2 EDA技术发展历程 3 EDA技术的主要内容 4 EDA技术的应用展望 5 EDA技术与 VHDL实用教程 现代电子设计技术的核心就是 EDA(电子设计自动化, Electronic Design Automation)技术。利用EDA技术,电子设计师可以方便地实现 IC设计、电子电路设计和 PCB设计等工作。 EDA技术与 VHDL实用教程 3 4 广义的 EDA技术 ,除了狭义的 EDA技术外,还包括计算机辅助分析 CAA技术 (如PSPICE, EWB, MATLAB等 ),印刷电路板计算机辅助设计 PCB-CAD技术 (如PROTEL, ORCAD等 )。 在广义的 EDA技术中, CAA技术和PCB-CAD技术不具备逻辑综合和逻辑适配的功能,因此它并 不能称为真正意义上的EDA技术 。 EDA技术与 VHDL实用教程 5 狭义的 EDA技术 ,就是以大规模可编程逻辑器件为设计载体,以硬件描述语言为系统逻辑描述的主要表达方式,以计算机、大规模可编程逻辑器件的开发软件及实验开发系统为设计开发工具的 EDA技术。 本书讨论的对象专指狭义的 EDA技术。 EDA技术与 VHDL实用教程 EDA技术的 3个层次 6 ( 1) EWB、 PSpice、 protel的学习作为EDA的最初级内容; ( 2)利用 VHDL完成对 CPLD/FPGA的开发等作为中级内容; ( 3) ASIC的设计作为最高级内容 EDA技术与 VHDL实用教程 7 EDA技术主要有以下这些特征: ( 1) 高层综合与优化的理论与方法取得了很大的进展,其结果 大大缩短了复杂的 ASIC的设计周期 , 同时改进了设计质量; ( 2) 采用硬件描述语言来描述 10万门以上的设计,形成了国际通用的 VHDL等硬件描述语言。它们均支持不同层次的描述,使得 复杂 IC的描述规范化,便于传递、交流、保存与修改,并可建立独立的工艺设计文档,便于设计重用 ; EDA技术与 VHDL实用教程 8 ( 3)开放式的设计环境(各厂家均适合); ( 4) 自顶向下的算法; ( 5)丰富的元器件模块库; ( 6)具有较好的人机对话界面与标准的 CAM接口; ( 7)建立并行设计工程框架结构的集成化设计环境,以适应当今 ASIC的特点:规模大而复杂,数字与模拟电路并存,硬件与软件并存,产品上市更新快。 EDA技术与 VHDL实用教程 9 EDA技术的发展分为三个阶段 20世纪 70年代 计算机辅助设计 CAD阶段 20世纪 80年代 计算机辅助工程设计阶段 20世纪 90年代 电子系统设计自动化阶段 EDA技术与 VHDL实用教程 10 (一)硬件描述语言 硬件描述语言( HDL)是各种描述方法中最能体现 EDA优越性的描述方法。 所谓硬件描述语言,实际就是一个描述工具,其描述的对象就是 待设计电路系统的逻辑功能、实现该功能的算法、选用的电路结构以及其他各种约束条件 等。 通常要求 HDL既能描述系统的行为,又能描述系统的结构。 EDA技术与 VHDL实用教程 11 目前主要有以下两种 HDL语言: 1 Verilog-HDL Verilog-HDL语言是在 1983年由 GDA (Gateway Design Automation)公司首创的,主要用于数字系统的设计。 2 VHDL VHDL语言是美国国防部于 20世纪 80年代后期,出于军事工业的需要开发的。 EDA技术与 VHDL实用教程 12 VHDL语言是一种 高级 描述语言,适用于电路高级建模,综合的效率和效果较好。 Verilog-HDL语言是一种 低级 的描述语言,适用于描述门级电路, 容易控制电路资源,但其对系统的描述能力不如 VHDL语言 。 EDA技术与 VHDL实用教程 13 (二)可编程逻辑器件 可编程逻辑器件(简称 PLD)是一种由用户编程来实现某种逻辑功能的新型逻辑器件。 它不仅速度快、集成度高,能够完成用户定义的逻辑功能,还可以加密和重新定义编程,其允许编程次数可多达上万次。 使用可编程逻辑器件可大大简化硬件系统、降低成本、提高系统的可靠性、灵活性。 EDA技术与 VHDL实用教程 14 目前, PLD主要分为 FPGA(现场可编程门阵列 )和 CPLD(复杂可编程逻辑器件 )两大类。 FPGA和 CPLD最明显的特点是高集成度、高速度和高可靠性。由于它们的明显特点,可以应用于超高速领域和实时测控方面以及嵌入式领域等等。 EDA技术与 VHDL实用教程 15 (三) EDA软件 目前在国内比较流行的 EDA 软件工具主要有 Altera公司的 MAX+plus 和 Quartus 、Lattice公司的 Expert LEVER和 Synario、Xilinx公司的 Foundation和 Alliance、 Actel公司的 Actel Designer等,这四家公司的EDA开发软件特性如表 0-1所示。 EDA技术与 VHDL实用教程 16 表 0-1 EDA开发软件特性 厂商 EDA软件名称 软件适用器件系列 软件支持的描述方式 Altera MAX+plus MAX、 FLEX等 逻辑图、波形图、AHDL文本、 Verilog-HDL文本、 VHDL文本等 Quartus MAX、 FLEX、 APEX等 Xilinx Alliance Xilinx各种系列 逻辑图、 VHDL文本等 Foundation XC系列 Lattice Synario MACH GAL、 ispLSI、pLSI等 逻辑图、 ABEL文本、VHDL文本等 Expert LEVER IspLSI、 pLSI、 MACH等 逻辑图、 VHDL文本等 Actel Actel Designer SX系列、 MX系列 逻辑图、 VHDL文本等 EDA技术与 VHDL实用教程 17 EDA与传统电子设计方法的比较 手工设计方法的缺点是: 1)复杂电路的设计 、 调试十分困难 。 2)如果某一过程存在错误 , 查找和修改十分不便 。 3)设计过程中产生大量文档 ,不易管理 。 4)对于集成电路设计而言 , 设计实现过程与具体生产工艺直接相关 , 因此可移植性差 。 5)只有在设计出样机或生产出芯片后才能进行实测 。 EDA技术有很大不同: 1)采用硬件描述语言作为设计输入 。 2)库 (Library)的引入 。 3)设计文档的管理 。 4)强大的系统建模 、 电路仿真功能 。 5)具有自主知识产权 。 6)开发技术的标准化 、 规范化以及 IP核的可利用性 。 7)适用于高效率大规模系统设计的自顶向下设计方案 。 8)全方位地利用计算机自动设计 、 仿真和测试技术 。 9)对设计者的硬件知识和硬件经验要求低 。 10)高速性能好 。 11)纯硬件系统的高可靠性 。 EDA技术与 VHDL实用教程 18 EDA与传统电子设计方法的比较 FPGA和 DSP芯片实现 FIR滤波器的速度对比 8位 FIR滤 波器阶数 FPGA的处理速度 单位: MSPS 达到相当速度所需 DSP芯片的指令执行速度 单位: MIPS 8 16 24 32 104 101 103 105 832 1616 2472 3360 EDA技术与 VHDL实用教程 19 EDA实验的 3个层次 1、逻辑行为的实现 2、控制与信号传输功能的实现 3、算法的实现 如:译码器、红绿交通灯控制、表决器、显示扫描器、电梯控制、乒乓球等电路的设计,时钟频率一般低于 4MHz 如:各类信号发生器、 A/D采样控制器、 FIFO、 RS232或 PS/2通信、FPGA/CPLD与单片机综合控制等电路的设计,时钟频率一般在 25MHz左右 如:离散 FFT变换、数字滤波器、浮点乘法器、高速宽位加法器、数字振荡器、数字锁相环、调制解调器、图象 DSP等电路的设计,时钟频率一般在 50MHz以上 EDA技术与 VHDL实用教程 20 电子 EDA技术发展迅猛,逐渐在教学、科研、产品设计与制造等各方面都发挥着巨大的作用。 1 EDA技术将广泛应用与高校电类专业的实践教学工作中 2 EDA技术将广泛应用于科研工作和新产品的开发中 3 EDA技术将广泛应用于专用集成电路的开发 4 EDA技术将广泛应用于传统机电设备的升级换代和技术改造 EDA技术与 VHDL实用教程 第 1章 EDA技术概述 21 EDA技术与 VHDL实用教程 要求 熟悉面向 FPGA/CPLD的 EDA技术初步理论知识 知识点 理解可编程逻辑器件 掌握面向 FPGA/CPLD的 EDA设计流程 掌握面向 FPGA/CPLD的常用 EDA工具 理解硬件描述语言 重点和难点 EDA设计流程 Quartus 软件包 硬件描述语言 VHDL语言 22 EDA技术与 VHDL实用教程 23 第 1章 EDA技术概述 可编程逻辑器件 1.1 EDA技术的主要特征 1.2 EDA技术发展历程 1.3 EDA技术的主要内容 1.4 EDA技术与 VHDL实用教程 24 1.1 可编程逻辑器件 一、可编程逻辑器件概述 (一) PLD/FPGA介绍 CPLD:复杂可编程逻辑器件 Complex Programmable Logic Device FPGA:现场可编程门阵列 Field Programmable Gate Array PLD能做什么? PLD能完成任何数字器件的功能 ,上至高性能的 CPU,下至简单的 74系列电路,都可以用 PLD来实现 . PLD如同一张白纸或是一堆积木,工程师可以通过传统的原理图输入法或是硬件描述语言,自由的设计一个数字系统。 如何使用 PLD? 数字电路基础,会使用计算机,有一定编程基础。 25 二、 PLD分类 可编程逻辑器件 ( P L D ) 简单 P L D 复杂 P L D P R O M P A L P L A G A L C P L D F P G A 26 EDA技术与 VHDL实用教程 27 三、 PLD/FPGA的结构和原理 (一)基于乘积项( Product-Term)的 PLD结构 (二)乘积项结构 PLD 的逻辑实现原理 (三)查找表( Look-Up-Table)的原理与结构 (四)查找表结构的 FPGA逻辑实现原理 28 与阵列(固定)或阵列(可编程)0A1A1A1A 0A0A1F0F01110100AAFAAAAF例:用 PROM完成半加器逻辑阵列 29 CPLD的结构与可编程原理 30 FPGA的结构与工作原理 查找表LUT输入1输入2输入3输入4输出查找表逻辑结构 EDA技术与 VHDL实用教程 31 FPGA: SRAM工艺;直接烧写程序 掉电后程序丢失 ;理论上擦写 100万次 以上;一般使用需要外挂 EEPROM,可以达到几百万门电路 。 比如 ALTERA公司的 APEX、 FLEX、 ACEX、 STRATIX、 CYCLONE系列 。 CPLD: EPPROM或 FLASH工艺;直接烧写程序 掉电后程序不会消失 ;一般可以擦写 几百次 ,并且一般宏单元在 512以下。(比如 ALTERA的 AX3000/5000/7000/9000和 CLASSIC系列)。 四、选择 PLD还是 FPGA EDA技术与 VHDL实用教程 32 PLD适合用于设计译码等复杂组合逻辑。 PLD分解组合逻辑的功能很强。而 FPGA的一个 LUT只能处理 4输入的组合逻辑。 如果设计中使用到大量触发器,那么使用 FPGA就是一个很好选择 。 FPGA的制造工艺确定了 FPGA芯片中包含的 LUT和触发器的数量非常多,往往都是几千上万, PLD一般只能做到 512个逻辑单元,而且如果用芯片价格除以逻辑单元数量, FPGA的平均逻辑单元成本大大低于 PLD。 EDA技术与 VHDL实用教程 33 1.2 面向FPGA/CPLD的EDA设计流程 硬 件 测 试测 试 电 路仿真器功 能 仿 真行 为 仿 真时 序 仿 真VHDL仿真器门级时 序 仿 真功 能 仿 真编程、下载编 程 器 / 下 载 电 缆V H D L / V e r i l o g网表熔 丝 图 、 S R A M 文件、自 动 优 化 、 布 局 、 布 线 / 适 配F P G A / C P L D 布 线 / 适 配 器( E D I F , X N F , V H D L )网 表 文 件VHDL 源程序逻 辑 综 合 、 优 化VHDL 综合器生成 VHDL 源程序图 形 编 辑 器文 本 编 辑 器EDA技术与 VHDL实用教程 34 1源程序的编辑和编译 常用的源程序输入方式有三种: (1) 原理图输入方式: (2) 状态图输入方式: (3) VHDL软件程序的文本方式: EDA技术与 VHDL实用教程 35 利用 EDA工具提供的图形编辑器以原理图的方式进行输入。原理图输入方式比较容易掌握,直观且方便。 ( 1)原理图输入方式: EDA技术与 VHDL实用教程 36 (2) 状态图输入方式: 以图形的方式表示状态图进行输入。当填好时钟信号名、状态转换条件、状态机类型等要素后,就可以自动生成 VHDL程序。这种设计方式简化了状态机的设计,比较流行。 (3) VHDL软件程序的文本方式: 最一般化、最具普遍性的输入方法,任何支持 VHDL的 EDA工具都支持文本方式的编辑和编译。 2逻辑综合和优化 逻辑综合,就是将电路的高级语言描述转换成低级的,可与 FPGA/CPLD或构成 ASIC的门阵列基本结构相映射的网表文件。 逻辑映射的过程,就是将电路的高级描述,针对给定硬件结构组件,进行编译,优化、转换和综合,最终获得 门级电路甚至更底层的电路描述文件。 而网表文件就是按照某种规定描述电路的基本组成及如何相互连接的关系的文件。 37 3目标器件的布线 /适配 所谓逻辑适配,就是将由综合器产生的网表文件针对某一具体的目标器件进行逻辑映射操作。其中包括底层器件配置、逻辑分割、逻辑优化、布线与操作等,配置于指定的目标器件中,产生最终的下载文件,如 JEDEC格式的文件。 38 4目标器件的编程 /下载 如果编译、综合、布线 /适配和行为仿真、功能仿真、时序仿真等过程都没有发现问题,即满足原设计的要求,则可以将由 FPGA/CPLD布线 /适配器产生的配置 /下载文件通过编程器或下载电缆载入目标芯片 FPGA或 CPLD中 。 39 5设计过程中的有关仿真 设计过程中的仿真有三种,它们是: 行为仿真: 该仿真只是根据 VHDL的语义进行的,与具体电路没有关系。 功能仿真: 就是将综合后的 VHDL网表文件再送到 VHDL仿真器所进行的仿真。 时序仿真: 该仿真已将器件特性考虑进去,因此可以得到精确的时序仿真结果。 40 6硬件仿真 /硬件测试 所谓 硬件仿真 ,就是在 ASIC设计中,常利用 FPGA对系统的设计进行功能检测,通过后再将其 VHDL设计以ASIC形式实现,这一过程称为硬件仿真。 所谓 硬件测试 ,就是针对 FPGA或 CPLD直接用于应用系统的设计中,将下载文件下载到 FPGA后,对系统的设计进行的功能检测,这一过程称为硬件测试。 注意: VHDL仿真器和 VHDL综合器对设计的理解常常是不一致的 ,固需要硬件仿真和测试。 41 二、 分析方法 基于 EDA技术的设计方法则是 自顶向下 进行设计的。 即首先采用可完全独立于目标器件芯片物理结构的硬件描述语言,在系统的基本功能或行为级上对设计的产品进行描述和定义,结合多层次的仿真技术,确保设计的可行性与正确性的前提下,完成功能确认。 然后利用 EDA工具的逻辑综合功能,把功能描述转换成某一具体目标芯片的网表文件,输出给该器件厂商的布局布线适配器,进行逻辑映射及布局布线,再利用产生的仿真文件进行包括功能和时序的验证,以确保实际系统的性能。 42 EDA技术与 VHDL实用教程 43 采用自顶向下的设计方法有如下优点 : (1) 自顶向下设计方法是一种模块化设计方法。符合常规的逻辑思维习惯; (2) 高层设计同器件无关,可以完全独立于目标器件的结构。 (3) 采用硬件描述语言,设计易于在各种集成电路工艺或可编程器件之间移植。 (4) 适合多个设计者同时进行设计。 三、表示方法 1、文本表示方式( VHDL) 2、图形表示方式(原理图,状态图、波形图) 3、文本、图形混用方式 44 EDA技术与 V

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论