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;