Transcript EDA技术1
EDA技术 第1章 概 述 1.1 EDA技术及其发展 EDA技术在进入21世纪后,得到了更大的发展,突出表现 在以下几个方面: 使电子设计成果以自主知识产权的方式得以明确表 达和确认成为可能; 在仿真和设计两方面支持标准硬件描述语言的功能 强大的EDA软件不断推出。 电子技术全方位纳入EDA领域; EDA使得电子领域各学科的界限更加模糊,更加互为 包容; 1.1 EDA技术及其发展 更大规模的FPGA和CPLD器件的不断推出; 基于EDA工具的ASIC设计标准单元已涵盖大规模 电子系统及IP( Intellectual Property)核模块; 软硬件IP核在电子行业的产业领域、技术领域和设 计应用领域得到进一步确认; SoC高效低成本设计技术的成熟。 SOC: SYSTEM ON A CHIP SOPC: SYSTEM ON A PROGAMMABLE CHIP CSOC: CONFIGURABLE SYSTEM ON A CHIP SOC 其他接 口模块 ARM/ POWER PC 等 EDA设计流程与传统技术设计流程比较 现代电子系统设计流程 方案论证与系统级构建 独立于硬件的系统行为评估和设计 。系统仿真:包括系统级的硬件设 计与仿真,软件设计与仿真 自 顶 向 下 的 设 计 流 程 将硬件系统设计文件转换成可综合 (RTL)硬件描述语言(HDL)。 进行功能仿真 传统电子系统设计流程 系统设计完成,或系统中 的某一模块实际完成 硬件系统测试与调试 将硬件描述语言转换成标准网表 文件,如EDIF、VHDL、Verilog等 软件设计与调试。 SOFTWEAR DEBUGERRING 通过结构综合或适配(芯片内的布线 布局),将标准网表文件转换成芯片 下载文件。进行时序仿真 根据方案和系统指标选购硬件,并设 计电路板,即硬件系统实际 硬件系统实现。硬件系统测试与调试 HARDWEAR DEBUGERRING 软件设计与调试。 SOFTWEAR DEBUGERRING 系统设计完成 方案论证,与算法确定 自 底 向 上 的 设 计 流 程 1.2 EDA技术实现目标 作为EDA技术最终实现目标的ASIC,通过三种途径来完成: EDA技术 ASIC设计 SOPC/SOC FPGA/CPLD 可编程ASIC 设计 混合 ASIC 设计 门阵列 (MPGA); 标准单元 (CBIC); 全定制; (FCIC); ASIC设计 SOPC NIOS PCI UART ARM Ethernet Interface USB Multiply Unit RAM/ROM FIFO JPEG CPL PLLs SDRAM CONTROL FIR,IIR,FFT VGA PS2 DSP Blocks SOC: SYSTEM ON A CHIP SOPC: SYSTEM ON A PROGAMMABLE CHIP SOPC系统设计 基于EDA技术的 FPGA基本设计 + DSP技术及DSP系 统设计 + 单片机系统设计 + 嵌入式系统设计 2003年7月 Forbes 福布斯 报道 FPGA芯片叫板微处理器 --如果没有微处理器,电脑会怎样?答案令人惊讶--它的处理速度比常规电脑更快,而且快出很多倍! 尽管FPGA芯片的主频要低于奔腾处理器,但是由于FPGA 芯片可并行处理多项任务,因此处理速度要比奔腾处理器 或数字信号处理器快得多! FPGA芯片武装超级电脑 FPGA芯片叫板微处理器 美国赢通系统公司(Wincom Systems)推出一款令人惊叹的服务器。这款专为网站运行而设计的服务器尺寸 仅有DVD播放机大小,工作能力却相当于,甚至超过50台戴尔、IBM或SUN公司售价5000美元的服务器。 赢通公司的这款服务器并未采用目前电脑中不可或缺的微处理器。 传统的个人电脑及服务器通常采用英特尔的奔腾处理器或SUN计算机系统公司的SPARC芯片作为中央处理单 元。而赢通的这一产品却没有采用微处理器,而是由FPGA芯片驱动。 FPGA芯片的运行速度比奔腾处理器慢,但可并行处理多项任务,而微处理器一次仅能处理一项任务。因此, 赢通公司的服务器只需配置几个价格仅为2000多美元的FPGA芯片,便可击败SUN计算机系统公司的服务器或 采用英特尔处理器的电脑,“我们的服务器处理速度要比普通服务器快50到300倍”。 FPGA芯片在一定程度上正在蚕食微处理器的市场。FPGA芯片也开始用于消费类的电子设备中,包括手机和 数码相机。飞利浦、诺基亚、Palm及索尼均在其消费类的电子产品中采用了FPGA芯片。 XILINX的首席执行官W.Roelandts亲眼目睹了FPGA如何改变电脑构架。50多年前,匈牙利数学家纽曼(John von Neumann)提出了电脑的设计构想----通过中央处理器从存储器中存取数据,并逐一处理各项任务。现在 ,通过采用可编程芯片FPGA取代微处理器,电脑可并行处理多项任务。 W.Roelandts说,“由纽曼提出的电脑架构已经走到尽头”,“可编程芯片将掀起下一轮应用高潮。 尽管FPGA芯片的时钟频率要低于奔腾处理器,但是由于FPGA芯片可并行处理各种不同的运算,所以可完成 许多复杂的任务。例如网页显示,全球天气建摸及基因组合核对等,而且处理速度比奔腾处理器或数字信号 处理器快得多。在通用计算方面,FPGA仍然不敌Intel的处理器。对于那些只需要进行重复单任务操作的机器 而言,使用FPGA芯片显然是大材小用。 位于内华达州的TimeLogic公司也间接受益于FPGA。戴尔和SUN公司生产的某些标准服务器采用了ALTERA公 司的FPGA芯片。 TimeLogic公司对这些标准服务器加以改进之后,生产了一种用于基因研究的高速处理设备 。“我们的设备比原来的产品至少快1000倍”, TimeLogic公司总监Christopher Hoover说。该公司的这一设备 售价25万美元。 马里兰州的Annapolis Micro Systems公司在其电脑芯片电路板中也集成了XILINX的FPGA芯片,以提高产品性 能。又如加州的BlueArc公司用ALTERA的FPGA开发出一种存储器产品,其速度比Network Appliance和EMC公 司的竞争产品更快。华盛顿州Bellevue市的MidStream Technologies公司采用XILINX的FPGA,为有限电视运营 商开发视频流服务器。这款服务器高仅3.5英尺,采用了2片FPGA芯片,可同时提供425路视频流信号,比基于 通用微处理器的服务器速度更快。 如果您正在《福布斯》的网站上阅读这篇文章,那么你已经接触到了FPGA。因为Forbes.com正是采用赢通公 司的FPGA服务器进行网页显示的。 FPGA芯片武装的超级电脑 超级电脑是科技世界中的极品:售价奇高,速度飞快,集成了数以千计的微处理器。 但这种超级电脑也浪费了非常多的芯片资源,每个处理器只能进行单任务操作,大部 分功能难以充分发挥。现在有了另一种更为简洁的设计:设计工程师开始采用FPGA 芯片来武装超级电脑,取代了原先大量的英特尔奔腾处理器。经过编程,FPGA芯片 可并行处理多项任务,从而使所有电路都能随时发挥作用。FPGA芯片还可以反复编 程,而且几乎可瞬时完成。在某一时刻它可以为美国国防部预报全球天气状况,下一 时刻又可根据高盛公司(Goldman Sachs)做的主要利率对冲情况来评估债券市场的 风险。 下一代超级电脑将基于可编程逻辑器件,这种机器的功能将比目前最大的超级电脑还 要强大许多。其中的秘诀在于,设计者可以把自己的想法编成程序代码,然后让 FPGA芯片去实现。 犹他州的Star Bridge Systems公司声称已经解决了这一问题。该公司使用FPGA和自己 的Viva编程语言开发出了“超级电脑(hypercomputer):“运行速度无与伦比”。 对该超级电脑进行测试的美国国家航空航天局(NASA)科学家表示,这一产品的性 能令人过目难忘。美国加州大学伯克利分校(University of California, Berkeley)和杨 百翰大学(Brigham Young University)的研究员也正在设计基于FPGA的电脑,这些 电脑可在运行中实现动态重配置。这对定位危险目标等军事应用和面容识别一类的计 算密集型安全应用十分有用。 1.2 EDA技术实现目标 1. 超大规模可编程逻辑器件 2. 半定制或全定制ASIC 3. 混合ASIC 1.3 硬件描述语言HDL HDL是描述数字电路和系统的一种计算机语 言,利用这种语言,可以从上层(顶层)到下 层(底层)(从抽象到具体)逐层描述自己的 设计思想,用一系列分层次的模块来表示 复杂的数字系统。 20世纪80年代后期,VHDL和Verilog HDL先 后成为IEEE标准。 VHDL • VHDL语言最初由美国军方开发,于1987年 成为IEEE标准,并于1993、2000及2002年 进行更新或修订; • 目前绝大部分开发工具依据的是1993年的 标准,即IEEE Std 1076-1993; 大畜 Verilog • Verilog语言早在上世纪80年代就产生了, 但是广泛发展却是在Cadence公司购得所 有权,并于1990年将语言开放之后; • 1995年,IEEE将Verilog语言列为标准,为 IEEE Std 1364-1995,在2001年,新的标 准也已产生,即IEEE Std 1364-2001。 颐 VHDL vs. Verilog • • • • • • • • 大过 建模和抽象能力 数据类型 易学习性 设计的可重用性 库的支持 程序的可读性 语言扩展 一点建议 VHDL vs. Verilog • 建模和抽象能力 – 两种语言基本相当; – VHDL语言的高层抽象能力要稍微优于Verilog 语言,而Verilog对于门级以下的描述要稍优一 些;(见下页图) – 因此单从该角度考虑,其决定因素通常不是技 术原因,而是个人喜好、是否有合适工具以及 市场上是否有相应的库等外部因素。 坎 VHDL vs. Verilog HDL语言的建模能力比较图 离 VHDL vs. Verilog • 数据类型 – VHDL含有大量的内置数据类型和用户自定义 类型,这样的特性对于系统的抽象建模能力有 很大的用处,如果你需要丰富的数据类型,那 么VHDL将是首选; – Verilog的数据类型都由语言本身定义,而且含 有专门描述连线等的类型,这说明对于系统的 逻辑和物理结构的描述,Verilog将是十分高效 的。 咸 VHDL vs. Verilog • 易学习性 – VHDL显得不够直观,主要是由于: • VHDL是强类型的,规则复杂但却有助于生成高质 量的代码; • 灵活强大的系统抽象能力; – Verilog直接面向硬件结构,因此比较容易起步, 但是通常设计者还应该懂得PLI(编程语言接 口),实际上Verilog要用好也不是简单的事情。 恒 VHDL vs. Verilog • 设计的可重用性 – VHDL具有包(package)的概念,设计模块的 可重用性是十分简单和自然的; – Verilog没有package的概念,为了使得函数和 过程能被多个module重用,函数和过程的定义 应该放在单独的文件中,然后使用 `include 编 译指令对该文件进行包含(类似于C语言的头 文件)。 遯 VHDL vs. Verilog • 库的支持 – VHDL提供了对库(library)的内置支持,对于 管理多个设计工程十分有效; – Verilog并没有库的概念,只能通过前面提到过 的 `include 指令,这是由于Verilog最初是作为 一个解释性语言而产生的,不过后来为了提高 效率,改成了编译型语言,但是语言设计中仍 然有很多解释性语言的痕迹,当然这也是其容 易上手的重要原因。 大壮 VHDL vs. Verilog • 程序的可读性 – VHDL脱胎于美国军方的Ada语言,语言规范十 分严谨,甚至于繁琐,但是可读性却十分好; – Verilog同时具有C和Ada的特点,结构比较灵 活,有C语言经验的人一般选择Verilog; – 这主要是程序设计风格的问题,无论选用哪种 语言,设计人员都应该注意可读性! 晋 VHDL vs. Verilog • 语言扩展 – VHDL提供了称为 ’foreign 的属性,允许调用 其他语言中的子程序和模块; – Verilog语言提供了用于扩展的PLI机制,可以 访问其他语言(常见的是C)生成的函数等; – 要特别注意的是,提供扩展虽然是标准定义的, 但是具体支持其他哪种语言是各种语言实现定 义的,使用扩展功能可能带来程序的移植性问 题,因此这一功能应该慎用。 明夷 1.3 硬件描述语言HDL 硬件描述语言是EDA技术的重要组成部分,VHDL 和Verilog HDL是作为电子设计主流硬件的描述语言。 HDL语言具有很强的电路描述和建模能力,能从多个 层次对数字系统进行建模和描述,从而大大简化了硬件 设计任务,提高了设计效率和可靠性。 用HDL进行电子系统设计的一个很大的优点是设计 者可以专心致力于其功能的实现,而不需要对不影响功 能的与工艺有关的因素花费过多的时间和精力。 1.3 硬件描述语言HDL 学习HDL的几点重要提示 1.了解HDL的可综合性问题:如果程序是用于硬件实现 (如用于FPGA设计),就必须保证程序可综合,即程序 的功能可以用硬件电路实现,不是所有的HDL描述都能 用硬件实现的。用硬件电路设计思想来编写HDL ,就是 在描述一个电路,写完一段程序后,应当对生成的电路 有大体上的了解。 2.HDL是为硬件的设计,可综合的硬件关键是要通过实 践来掌握它 ,语法掌握贵在精,不在多:30%的基本 HDL语句就可以完成95%以上的电路设计,很多生僻的 语句并不能被所有的综合软件所支持。容易产生兼容性 问题,也不利于其他人阅读和修改。 1.3 硬件描述语言HDL 选择VHDL还是Verilog HDL? 两种语言的差别并不大,他们的描述能力也是类似的, 掌握其中一种语言以后,可以通过短期的学习,较快的 学会另一种语言。 选择任何语言主要还是看周围人群的使用习惯,这样可 以方便日后的学习交流。 如果是ASIC设计人员,则应掌握Verilog,因为在IC设 计领域,90%以上的公司都采用Verilog进行设计。对 于CPLD/FPGA设计者而言,两种语音可以自由选择。 VHDL vs. Verilog – 两种语言各有千秋,都有各自的支持者, VHDL多用于大学,Verilog常见于工业界; – 语言的选择主要还是取决于设计本身和所用工 具的支持; – 工业界(硅谷)多用Verilog,掌握VHDL的不 妨考虑一下学习Verilog;尤其是IC设计人员, 由于IC厂商基本都用Verilog,因此建议首先学 习Verilog语言。 家人 例:编译器和综合功能 软件程序编译器 C、ASM... 程序 COMPILER CPU指令/数据代码: 010010 100010 1100 (a)软件语言设计目标流程 VHDL/VERILOG. 程序 硬件描述语言 综合器 SYNTHESIZER (b)硬件语言设计目标流程 为ASIC设计提供的 电路网表文件 VHDL综合器运行流程 1.4 基于VHDL的自顶向下设计方法 自顶向下的设计流程: 1.设计说明书 5.前端功能仿真 9.结构综合 2.建立VHDL行为模型 6.逻辑综合 10.门级时序仿真 3.VHDL行为仿真 7.测试向量生成 11.硬件测试 4.VHDL-RTL级建模 8.功能仿真 12.设计完成 1.5 EDA与传统电子设计方法的比较 手工设计方法的缺点是: 1)复杂电路的设计、调试十分困难。 2)如果某一过程存在错误,查找和修 改十分不便。 3)设计过程中产生大量文档,不易管 理。 4)对于集成电路设计而言,设计实现 过程与具体生产工艺直接相关,因此 可移植性差。 5)只有在设计出样机或生产出芯片后 才能进行实测。 EDA技术有很大不同: 1)采用硬件描述语言作为设计输入。 2)库(Library)的引入。 3)设计文档的管理。 4)强大的系统建模、电路仿真功能。 5)具有自主知识产权。 6)开发技术的标准化、规范化以及IP核的可利用 性。 7)适用于高效率大规模系统设计的自顶向下设计 方案。 8)全方位地利用计算机自动设计、仿真和测试技 术。 9)对设计者的硬件知识和硬件经验要求低。 10)高速性能好。 11)纯硬件系统的高可靠性。 1.6 EDA的发展趋势 系统集成芯片成为IC设计的发展方向,这一发展趋势 表现在如下几个方面: 超大规模集成电路的集成度和工艺水平不断提高,深亚微米 (Deep-Submicron)工艺,如0.18μm,0.13μm已经走向成熟, 在一个芯片上完成的系统级的集成已成为可能。 市场对电子产品提出了更高的要求,如必须降低电子系统的 成本,减小系统的体积等,从而对系统的集成度不断提出更高 的要求。 高性能的EDA工具得到长足的发展,其自动化和智能化程度 不断提高,为嵌入式系统设计提供了功能强大的开发环境。 计算机硬件平台性能大幅度提高,为复杂的SoC设计提供了 物理基础。 1.7 EDA的发展趋势 半导体集成电路的分类方法有很多种,其中一种是以 集成度的高低作为分类标准。所谓集成度是指单片集 成电路上所集成的元器件数目,巨大规模集成电路或 称极大规模集成电路(GLSI)是这种分类方法下目前 集成度最高的一类电路的总称,GLSI的集成度大于109。 1948年美国贝尔实验室的W.Shockley等发明了晶体管,使 元器件小型化和高集成化得以迅速发展。自1958年第一块 半导体集成电路诞生以来,集成电路的发展进程甚为迅速, 从整体来看,可以分为这几个阶段: 小/中规模集成电路(SSI/MSI)阶段; 大规模集成(LSI)阶段。这阶段的主流工艺为MOS 工艺; 超大规模集成电路(VLSI)。这个阶段的工艺从3μm NMOS发展到1μm CMOS; 甚大规模集成电路(ULSI)。在这个阶段,工艺从 CMOS转向BICMOS,DRAM达到兆位,特征尺寸发展到 0.15μm,从亚微米进入到深亚微米直至纳米; 巨大规模集成电路或称极大规模集成电路(GLSI)。特 征尺寸达到65~40nm,集成度超过109。下表为集成电路 规模的划分规则。 1.8嵌入式系统 • 根据IEEE(国际电机工程师协会)的定义,嵌入 式系统是“控制、监视或者辅助装置、机器和设 备运行的装置”(devices used to control, monitor, or assist the operation of equipment, machinery or plants)。从中可以看出嵌入式系 统是软件和硬件的综合体,还可以涵盖机械等附 属装置。目前国内一个普遍被认同的定义是:以 应用为中心、以计算机技术为基础、软件硬件可 裁剪、适应应用系统对功能、可靠性、成本、体 积、功耗严格要求的专用计算机系统。 • 嵌入式系统是面向用户、面向产品、面向 应用的,它必须与具体应用相结合才会具 有生命力、才更具有优势。因此可以这样 理解上述三个面向的含义,即嵌入式系统 是与应用紧密结合的,它具有很强的专用 性,必须结合实际系统需求进行合理的裁 减利用。 Industries that use FPGA Technology Consumer Automotive Test, Measurement & Medical Communications Broadcast Computer & Storage Entertainment Instrumentation Wireless Military Computers Broadband Audio/video Video display Medical Test equipment Manufacturing Cellular Basestations Wireless LAN Secure comm. Radar Guidance and control Servers Mainframe Automotive Networking Navigation Entertainment Switches Routers Security & Energy Management Wireline Optical Metro Access Broadcast Studio Satellite Broadcasting 40 Military & Industrial Card readers Control systems ATM Storage RAID SAN Office Automation Copiers Printers MFP Traditional FPGA Applications 41 Altera FPGA Applications 42 Consumer Applications Set-Top Boxes Touch Panels DVD Players Printers Consumer Music Handheld Media Players LCD, Plasma Displays/TVs 43 Camcorders Increasing Chip Development Cost 45 Total Development Cost (M$) 40 35 Design / Verification & Layout 30 25 20 Software 15 Test & Product Engineering Masks & Wafers 0 0.18 µm 44 0.15 µm 0.13 µm 90 nm 65 nm 45 nm Super Slow-mo HD Camera Altera Products: Cyclone III, Stratix II GX, Stratix III 45 Example of a high-end application • Processor plane for F-22A • Altera Parts: FPGAs (2S130) to HardCopy (HC230) 46 DE2 • Ideal for undergraduate courses – Adopted in many Universities around the World • Cyclone II 35/70 FPGA – 35k or 70k LUTs – More space than undergraduate students need for their projects • User interface – – – – Switches 7-segment displays LEDs 16 x 2 Character LCD Display • Advanced peripherals 47 – Memory (SRAM, SDRAM, Flash) – USB DE1 • Great for undergraduate courses – For student budget, so they can buy one for personal use • Cyclone II 20 FPGA – 20k LUTs • User interface – Switches – 7-segment displays – LEDs • Advanced peripherals – – – – 48 memory USB Video/Audio in/out Ethernet DE3 • Ideal Platform for Research • High Performance FPGA – Stratix III 150/340 49 • Lots of memory • Expansion slots for daughter cards to further expand board capabilities • Stackable DE3 习题一 习题1-1 简述EDA技术的发展历程?EDA技术的核心内容 是什么? 习题1-2 EDA技术与ASIC设计和FPGA开发有什么关系? 习题1-3 与软件描述语言相比,VHDL有什么特点? 习题1-4 什么是综合?有那些类型?综合在电子设计自动化 中的地位是什么? 习题1-5 在EDA技术中,自顶向下的设计方法的重要意义是 什么? 习题1-6 IP在EDA技术的应用和发展中的意义是什么? 习题1-7 与DSP处理器相比,用FPGA来实现数字信号处理 的功能有那些优缺点? EDA实验的3个层次 1、逻辑行为的实现 (特点:非EDA技术及相关器件也能实现,无法体现EDA技术的优势) 主要包括原数字电路中的实验项目,如:简单译码器、简单计数器、红绿 交通灯控制、表决器、显示扫描器、电梯控制、乒乓球游戏、数字钟表、 普通频率计、等等纯逻辑行为实现方面的电路的设计,时钟频率低。 2、控制与信号传输功能的实现(特点:必须使用EDA技术才也能实现,能体现EDA技术的优势, 是电子设计竞赛赛题最有可能出题的功能范围,值得重视!) 如:高速信号发生器(含高速D/A输出)、PWM、FSK/PSK、A/D采样控 制器、数字频率合成、数字PLL、FIFO、RS232或PS/2通信、VGA显示控 制电路、逻辑分析仪、存储示波器、虚拟仪表、图像采样处理和显示、机 电实时控制系统、FPGA与单片机综合控制等电路的设计。 3、算法的实现(特点:使用硬件方式取代由传统CPU完成的许多算法功能,实现高速性能) 如:离散FFT变换、数字滤波器、浮点乘法器、高速宽位加法器、数字 振荡器、DDS、编码译码和压缩、调制解调器、以太网交换机、高频 端DSP(现代DSP)、基于FPGA的嵌入式系统、SOPC/SOC系统、实 时图象处理、大信息流加解密算法实现等电路的设计,嵌入式ARM、 含CPU软核Nios的软硬件联合设计。时钟频率一般在50MHz以上 参考资料 1、参考书: FPGA/CPLD的相关书籍; 硬件的描述语言(VHDL、Verilog、HDL等)相关书籍; EDA的相关书籍; 其他参考资料与电子文档:可以从网络上获得相应的资源。 课程简介的网络资源: 2、器件厂商网站: 如FPGA主要厂商Altera、Actel、lattice、Xilinx等厂商的网站 ; -bbs.chinaecnet.com; -www.edacn.net/bbs; -www.fpga.com.cn; -www.pld.com.cn/bbs/index.asp; -www.51eda.com/bbs/; 3、开放的核: -www.opencores.org; -www.fpga.com.cn/freeip.htm; -www.free-core.com;