520 likes | 708 Views
EDA 技术. 第 1 章 概 述. 1.1 EDA 技术及其发展. EDA 技术在进入 21 世纪后,得到了更大的发展,突出表现在以下几个方面:. 使电子设计成果以自主知识产权的方式得以明确表达和确认成为可能;. 在仿真和设计两方面支持标准硬件描述语言的功能强大的 EDA 软件不断推出。. 电子技术全方位纳入 EDA 领域;. EDA 使得电子领域各学科的界限更加模糊,更加互为包容;. 1.1 EDA 技术及其发展. 更大规模的 FPGA 和 CPLD 器件的不断推出;.
E N D
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 门阵列 (MPGA); 标准单元 (CBIC); 全定制; (FCIC); ASIC设计 FPGA/CPLD 可编程ASIC 设计 混合 ASIC 设计
SOPC PCI NIOS UART ARM Ethernet Interface USB Multiply Unit RAM/ROM FIFO PLLs JPEG CPL 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)软件语言设计目标流程 硬件描述语言 综合器 SYNTHESIZER VHDL/VERILOG. 程序 为ASIC设计提供的 电路网表文件 (b)硬件语言设计目标流程
1.4 基于VHDL的自顶向下设计方法 自顶向下的设计流程:
1.5 EDA与传统电子设计方法的比较 EDA技术有很大不同: 1)采用硬件描述语言作为设计输入。 2)库(Library)的引入。 3)设计文档的管理。 4)强大的系统建模、电路仿真功能。 5)具有自主知识产权。 6)开发技术的标准化、规范化以及IP核的可利用性。 7)适用于高效率大规模系统设计的自顶向下设计方案。 8)全方位地利用计算机自动设计、仿真和测试技术。 9)对设计者的硬件知识和硬件经验要求低。 10)高速性能好。 11)纯硬件系统的高可靠性。 手工设计方法的缺点是: 1)复杂电路的设计、调试十分困难。 2)如果某一过程存在错误,查找和修改十分不便。 3)设计过程中产生大量文档,不易管理。 4)对于集成电路设计而言,设计实现过程与具体生产工艺直接相关,因此可移植性差。 5)只有在设计出样机或生产出芯片后才能进行实测。
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 Computer & Storage Communications Broadcast Military & Industrial Military Entertainment Instrumentation Wireless Computers Servers Mainframe Broadband Audio/video Video display Medical Test equipment Manufacturing Cellular Basestations Wireless LAN Secure comm. Radar Guidance and control Storage Security & Energy Management Networking Automotive RAID SAN Switches Routers Navigation Entertainment Card readers Control systems ATM Office Automation Wireline Optical Metro Access Copiers Printers MFP Broadcast Studio Satellite Broadcasting 40
Consumer Applications Set-Top Boxes Touch Panels DVD Players Printers Consumer Music Handheld Media Players LCD, PlasmaDisplays/TVs Camcorders 43
Increasing Chip Development Cost 45 40 35 Design / Verification & Layout 30 Total Development Cost (M$) 25 20 Software 15 Test & Product Engineering Masks & Wafers 0 0.18 µm 0.15 µm 0.13 µm 90 nm 65 nm 45 nm 44
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 Memory (SRAM, SDRAM, Flash) USB Video/Audio in/out Ethernet SD Card slot 47
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 memory USB Video/Audio in/out Ethernet SD Card slot 48
DE3 Ideal Platform for Research High Performance FPGA Stratix III 150/340 Lots of memory Expansion slots for daughter cards to further expand board capabilities Stackable DE3 Connect several DE3s together using existing links 49
习 题 一 习题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来实现数字信号处理的功能有那些优缺点?