第二讲:...

39
面向二十一世纪的嵌入式系统设计技术 第二讲: 基于FPGA的嵌入式系统设计 System On a Programmable Chip 徐欣 博士 嵌入式系统开放研究小组 Open IP Core 开发小组

Transcript of 第二讲:...

Page 1: 第二讲: 基于FPGA的嵌入式系统设计read.pudn.com/downloads85/ebook/325966/2-基于FPGA... · 面向二十一世纪的嵌入式系统设计技术 第二讲: 基于FPGA的嵌入式系统设计

面向二十一世纪的嵌入式系统设计技术

第二讲:

基于FPGA的嵌入式系统设计-System On a Programmable Chip

徐 欣 博士

嵌 入 式 系 统 开 放 研 究 小 组

O p e n I P C o r e开发小组

Page 2: 第二讲: 基于FPGA的嵌入式系统设计read.pudn.com/downloads85/ebook/325966/2-基于FPGA... · 面向二十一世纪的嵌入式系统设计技术 第二讲: 基于FPGA的嵌入式系统设计

主要内容

FPGA技术发展趋势综述IP资源复用与IP Core设计MicroBlaze软处理器IP Core介绍SOPC基本特征与设计实现基于Internet可重构逻辑技术(IRL )

Page 3: 第二讲: 基于FPGA的嵌入式系统设计read.pudn.com/downloads85/ebook/325966/2-基于FPGA... · 面向二十一世纪的嵌入式系统设计技术 第二讲: 基于FPGA的嵌入式系统设计

FPGA技术发展趋势综述

Page 4: 第二讲: 基于FPGA的嵌入式系统设计read.pudn.com/downloads85/ebook/325966/2-基于FPGA... · 面向二十一世纪的嵌入式系统设计技术 第二讲: 基于FPGA的嵌入式系统设计

FPGA技术发展新趋势(1)

向密度更高、速度更快、频带更宽的百万门系统级方向发展

Xilinx Virtex/-E/II Pro (PPC405、MutiGbit收发器、RoketI/O、部分可重构特性)Altera APEX/Stratix

向低成本、低价格的片上系统方向发展Xilinx 的MicroBlaze及SpartanII系列Altera 的Nios

低电压、低功耗和绿色化方向发展

Page 5: 第二讲: 基于FPGA的嵌入式系统设计read.pudn.com/downloads85/ebook/325966/2-基于FPGA... · 面向二十一世纪的嵌入式系统设计技术 第二讲: 基于FPGA的嵌入式系统设计

FPGA技术发展新趋势(2)IP Core得到进一步发展,Open IP Core将会象自由软件一样得到飞速发展

设计复杂性与知识产权复用

IP Core开发工具和知识产权保护手段不断完善(Xilinx的IP Capture等)OPEN Core计划推波助澜软IP Core(如MicroBlaze)和硬IP Core(如PPC405)齐头并进

Page 6: 第二讲: 基于FPGA的嵌入式系统设计read.pudn.com/downloads85/ebook/325966/2-基于FPGA... · 面向二十一世纪的嵌入式系统设计技术 第二讲: 基于FPGA的嵌入式系统设计

FPGA技术发展新趋势(3)FPGA与ASIC界限日趋模糊,相互融合

FPGA嵌入标准单元(如Xilinx的PPC405、MutiGbit收发器等)ASIC嵌入可编程逻辑单元( 如Atmel的FPSLIC 等)

FPGA的成本不断下降,产品上市周期压力日趋严重,使得FPGA在很多领域将成为ASIC的替代品

Page 7: 第二讲: 基于FPGA的嵌入式系统设计read.pudn.com/downloads85/ebook/325966/2-基于FPGA... · 面向二十一世纪的嵌入式系统设计技术 第二讲: 基于FPGA的嵌入式系统设计

FPGA技术发展新趋势(4)

SOPC时代即将到来SOPC:System-On-a-Programble-ChipIP Core的不断丰富和完善奠定了SOPC的基础先进的百万门级FPGA开发工具是SOPC的主要平台处理器IP Core解决了SOPC的最关键问题

基于FPGA的嵌入式系统设计发展方向硬件工程师为主的IP Core开发软件工程师为主的RTOS及应用软件开发对软硬件相关标准和协议的深入理解和实现

Page 8: 第二讲: 基于FPGA的嵌入式系统设计read.pudn.com/downloads85/ebook/325966/2-基于FPGA... · 面向二十一世纪的嵌入式系统设计技术 第二讲: 基于FPGA的嵌入式系统设计

主要内容

FPGA技术发展趋势综述IP资源复用与IP Core设计MicroBlaze软处理器IP Core介绍SOPC基本特征与设计实现基于Internet可重构逻辑技术(IRL )

Page 9: 第二讲: 基于FPGA的嵌入式系统设计read.pudn.com/downloads85/ebook/325966/2-基于FPGA... · 面向二十一世纪的嵌入式系统设计技术 第二讲: 基于FPGA的嵌入式系统设计

IP资源复用与IP Core设计

Page 10: 第二讲: 基于FPGA的嵌入式系统设计read.pudn.com/downloads85/ebook/325966/2-基于FPGA... · 面向二十一世纪的嵌入式系统设计技术 第二讲: 基于FPGA的嵌入式系统设计

IP资源复用理念

IP资源复用(IP Reuse)是指在集成电路设计过程中,通过继承、共享或购买所需的部分或全部智力产权内核(IP Core),进行设计、综合和验证,从而加速流片设计过程的设计方法

IP Core是一种商品,是可编程逻辑器件设计工程师价值体现的主要途径

Page 11: 第二讲: 基于FPGA的嵌入式系统设计read.pudn.com/downloads85/ebook/325966/2-基于FPGA... · 面向二十一世纪的嵌入式系统设计技术 第二讲: 基于FPGA的嵌入式系统设计

Why FPGA?Why IP Core ?

FPGA设计灵活,设计迭代周期短FPGA密度提高,适于IP Core开发

FPGA成本降低,相应的EDA工具性价比较高

Page 12: 第二讲: 基于FPGA的嵌入式系统设计read.pudn.com/downloads85/ebook/325966/2-基于FPGA... · 面向二十一世纪的嵌入式系统设计技术 第二讲: 基于FPGA的嵌入式系统设计

IP Core的表现形式

HDL语言(VHDL 或 Verilog HDL)原理图(可移植性差)

网表

符合某种EDA工具的特定格式如:Xilinx的IP Capture和Core Generator等

Page 13: 第二讲: 基于FPGA的嵌入式系统设计read.pudn.com/downloads85/ebook/325966/2-基于FPGA... · 面向二十一世纪的嵌入式系统设计技术 第二讲: 基于FPGA的嵌入式系统设计

IP Core的分类--SOPC的基本要素

微处理器IP Core8/16/32/64位,如MicroBlaze、Nois、8051

处理器外设IP CoreSDRAM 控制器、LCD 控制器、总线控制器等

DSP算法IP CoreFIR滤波器、DES加密、音视频编码和解码等

通信控制器IP CoreMAC、Gbit收发器、CAM、协议转换等

其它类型IP Core

Page 14: 第二讲: 基于FPGA的嵌入式系统设计read.pudn.com/downloads85/ebook/325966/2-基于FPGA... · 面向二十一世纪的嵌入式系统设计技术 第二讲: 基于FPGA的嵌入式系统设计

IP Core设计:编码风格编码风格(Coding Style)是基于HDL的IP Core源码编写的指导性文档,关系到IP Core的可读性、易于集成性及其质量编码风格一般包含几个方面的约定:文件头和版本说明、联机注释、命名规则、可综合编码(UCF)等

http://www.opencores.org http://www.IPcore.com.cn

Page 15: 第二讲: 基于FPGA的嵌入式系统设计read.pudn.com/downloads85/ebook/325966/2-基于FPGA... · 面向二十一世纪的嵌入式系统设计技术 第二讲: 基于FPGA的嵌入式系统设计

IP Core验证和开发工具

ModelSim

ActiveHDL

Page 16: 第二讲: 基于FPGA的嵌入式系统设计read.pudn.com/downloads85/ebook/325966/2-基于FPGA... · 面向二十一世纪的嵌入式系统设计技术 第二讲: 基于FPGA的嵌入式系统设计

主要内容

FPGA技术发展趋势综述IP资源复用与IP Core设计MicroBlaze软处理器IP Core介绍SOPC基本特征与设计实现基于Internet可重构逻辑技术(IRL )

Page 17: 第二讲: 基于FPGA的嵌入式系统设计read.pudn.com/downloads85/ebook/325966/2-基于FPGA... · 面向二十一世纪的嵌入式系统设计技术 第二讲: 基于FPGA的嵌入式系统设计

MicroBlaze软处理器IP Core介绍

Page 18: 第二讲: 基于FPGA的嵌入式系统设计read.pudn.com/downloads85/ebook/325966/2-基于FPGA... · 面向二十一世纪的嵌入式系统设计技术 第二讲: 基于FPGA的嵌入式系统设计
Page 19: 第二讲: 基于FPGA的嵌入式系统设计read.pudn.com/downloads85/ebook/325966/2-基于FPGA... · 面向二十一世纪的嵌入式系统设计技术 第二讲: 基于FPGA的嵌入式系统设计
Page 20: 第二讲: 基于FPGA的嵌入式系统设计read.pudn.com/downloads85/ebook/325966/2-基于FPGA... · 面向二十一世纪的嵌入式系统设计技术 第二讲: 基于FPGA的嵌入式系统设计
Page 21: 第二讲: 基于FPGA的嵌入式系统设计read.pudn.com/downloads85/ebook/325966/2-基于FPGA... · 面向二十一世纪的嵌入式系统设计技术 第二讲: 基于FPGA的嵌入式系统设计
Page 22: 第二讲: 基于FPGA的嵌入式系统设计read.pudn.com/downloads85/ebook/325966/2-基于FPGA... · 面向二十一世纪的嵌入式系统设计技术 第二讲: 基于FPGA的嵌入式系统设计

主要内容

FPGA技术发展趋势综述IP资源复用与IP Core设计MicroBlaze软处理器IP Core介绍SOPC基本特征与设计实现基于Internet可重构逻辑技术(IRL )

Page 23: 第二讲: 基于FPGA的嵌入式系统设计read.pudn.com/downloads85/ebook/325966/2-基于FPGA... · 面向二十一世纪的嵌入式系统设计技术 第二讲: 基于FPGA的嵌入式系统设计

SOPC的基本特征与设计实现

Page 24: 第二讲: 基于FPGA的嵌入式系统设计read.pudn.com/downloads85/ebook/325966/2-基于FPGA... · 面向二十一世纪的嵌入式系统设计技术 第二讲: 基于FPGA的嵌入式系统设计

SOPC的双重含义

可编程片上系统(SOPC)是一种特殊的嵌入式微处理器系统:

首先,它是片上系统(SOC),即由单个芯片完成整个系统的主要逻辑功能;

其次,它是可编程系统,具有灵活的设计方式,可裁减、可扩充、可升级,并具备软硬件在系统可编程的功能。

Page 25: 第二讲: 基于FPGA的嵌入式系统设计read.pudn.com/downloads85/ebook/325966/2-基于FPGA... · 面向二十一世纪的嵌入式系统设计技术 第二讲: 基于FPGA的嵌入式系统设计

SOPC的基本特征

至少包含一个嵌入式处理器内核

具有小容量片内高速RAM资源丰富的IP Core资源可供选择足够的片上可编程逻辑资源

具有处理器调试接口和FPGA编程接口可能包含部分可编程模拟电路

单芯片、低功耗、微封装

Page 26: 第二讲: 基于FPGA的嵌入式系统设计read.pudn.com/downloads85/ebook/325966/2-基于FPGA... · 面向二十一世纪的嵌入式系统设计技术 第二讲: 基于FPGA的嵌入式系统设计

Why SOPC ?

降低成本

提高系统整体性能

缩短设计迭代周期

降低硬件系统设计风险

极大程度提高设计灵活性

可重构、可升级

Page 27: 第二讲: 基于FPGA的嵌入式系统设计read.pudn.com/downloads85/ebook/325966/2-基于FPGA... · 面向二十一世纪的嵌入式系统设计技术 第二讲: 基于FPGA的嵌入式系统设计

SOPC设计技术

以处理器和实时多任务操作系统(RTOS)为中心的嵌入式软件设计技术

以PCB和信号完整性分析为基础的高速电路设计技术

软硬件协同设计技术

新的调试技术 :Xilinx公司的片内逻辑分析仪ChipScope ILA

Page 28: 第二讲: 基于FPGA的嵌入式系统设计read.pudn.com/downloads85/ebook/325966/2-基于FPGA... · 面向二十一世纪的嵌入式系统设计技术 第二讲: 基于FPGA的嵌入式系统设计

SOPC设计工具

Page 29: 第二讲: 基于FPGA的嵌入式系统设计read.pudn.com/downloads85/ebook/325966/2-基于FPGA... · 面向二十一世纪的嵌入式系统设计技术 第二讲: 基于FPGA的嵌入式系统设计

主要内容

FPGA技术发展趋势综述IP资源复用与IP Core设计MicroBlaze软处理器IP Core介绍SOPC基本特征与设计实现基于Internet可重构逻辑技术(IRL )

Page 30: 第二讲: 基于FPGA的嵌入式系统设计read.pudn.com/downloads85/ebook/325966/2-基于FPGA... · 面向二十一世纪的嵌入式系统设计技术 第二讲: 基于FPGA的嵌入式系统设计

基于Internet可重构逻辑技术(Internet Reconfigurable Logic )

Page 31: 第二讲: 基于FPGA的嵌入式系统设计read.pudn.com/downloads85/ebook/325966/2-基于FPGA... · 面向二十一世纪的嵌入式系统设计技术 第二讲: 基于FPGA的嵌入式系统设计

IRL的定义

Internet Reconfigurable Logic一种远程系统现场升级、重构、调试、监测的设计方法

基于FPGA技术、嵌入式Internet技术,以及应用背景等各项支撑技术实现

Xilinx倡导并提供全面解决方案FPGA:Virtex/-E/II/Pro、SpartanII/EXC18V00系列ISP PROMPPC405、MicroBlaze MPU IP CoreSoftWare、API

Page 32: 第二讲: 基于FPGA的嵌入式系统设计read.pudn.com/downloads85/ebook/325966/2-基于FPGA... · 面向二十一世纪的嵌入式系统设计技术 第二讲: 基于FPGA的嵌入式系统设计

IRL基本要素

Page 33: 第二讲: 基于FPGA的嵌入式系统设计read.pudn.com/downloads85/ebook/325966/2-基于FPGA... · 面向二十一世纪的嵌入式系统设计技术 第二讲: 基于FPGA的嵌入式系统设计

Why IRL?远程系统升级--性能提升

远程Bug修复 --方便维护远程系统重构--尤其是硬件

远程系统监测--确保产品测试周期

从而带来以下优势:$$$¥¥¥缩短产品上市周期Time-to-market降低产品维护成本Lower bug fix cost延长产品生命周期Longer life cycle提升产品整体性能Higher performance

Page 34: 第二讲: 基于FPGA的嵌入式系统设计read.pudn.com/downloads85/ebook/325966/2-基于FPGA... · 面向二十一世纪的嵌入式系统设计技术 第二讲: 基于FPGA的嵌入式系统设计

IRL设计实现(MPU or MCU)

Page 35: 第二讲: 基于FPGA的嵌入式系统设计read.pudn.com/downloads85/ebook/325966/2-基于FPGA... · 面向二十一世纪的嵌入式系统设计技术 第二讲: 基于FPGA的嵌入式系统设计

IRL设计实现(SOPC)

MicroBlazeOr

PPC405

UART Or

EthernetJTAG

DefaultPROM

XC18V

UpgradePROM

XC18V

配置异常处理CoolRunner

CPLD FPGA

Page 36: 第二讲: 基于FPGA的嵌入式系统设计read.pudn.com/downloads85/ebook/325966/2-基于FPGA... · 面向二十一世纪的嵌入式系统设计技术 第二讲: 基于FPGA的嵌入式系统设计

哇!SOPC+IRL=Everything You Can Dream!

Page 37: 第二讲: 基于FPGA的嵌入式系统设计read.pudn.com/downloads85/ebook/325966/2-基于FPGA... · 面向二十一世纪的嵌入式系统设计技术 第二讲: 基于FPGA的嵌入式系统设计

依元素科技与IP Core开发小组

Page 38: 第二讲: 基于FPGA的嵌入式系统设计read.pudn.com/downloads85/ebook/325966/2-基于FPGA... · 面向二十一世纪的嵌入式系统设计技术 第二讲: 基于FPGA的嵌入式系统设计

IP Core与ASSP成本比较

UART $5.50 17% $.93

16-bit RISC Processor $5.50 36% $1.98

16-bit, 16-tap Symmetrical FIR Filter

$5.50 27% $1.49

Reed-Solomon Encoder $5.50 6% $0.33

PCI Interface $6.55 45% $2.95

XCS30XL Price

Percentage of Device Used

EffectiveFunction CostCore Function

Prices are for 250Ku, least expensive package, slowest speed grade

Page 39: 第二讲: 基于FPGA的嵌入式系统设计read.pudn.com/downloads85/ebook/325966/2-基于FPGA... · 面向二十一世纪的嵌入式系统设计技术 第二讲: 基于FPGA的嵌入式系统设计

SOPC提升系统性能