第1章绪论

Download Report

Transcript 第1章绪论

基于FPGA的嵌入式系统设计
信息工程学院
邱德慧
课程简介
 课程性质
电子、信息、通信专业的专业必修课
 相关课程
前导课:EDA 单片机与接口 数电 计算机类课程 C
配套课程:SOPC技术综合设计实践
 课程任务
学习基于FPGA的SOPC技术,掌握利用FPGA设计
环境,实现嵌入式系统的软硬件协同设计方法
理论和实践:开发工具 设计流程、方法和思想,
电子技术、信息处理的最新技术
就业 考研
毕设 科研立项
From Concept to System in Minutes
课程特点和学习方法
SOPC: 新兴的技术,新的概念、设计理念和设计方法
SOPC:具有很强的应用性:通过实践很好的掌握该技术
理论和实践并重,理论配套实验,C程序+VHDL
实验课: SOPC技术综合设计实践
SOPC嵌入式实验室:革新SOPC实验平台
要求和考核方法
 理论课考核
考勤(15%) 提问和讨论(20%) 大作业(65%)
 实验课考核
考勤(10%) 平时实验(40%) 大作业( 50%)
 大作业
分组(2-3人) 演示系统 系统介绍PPT 报告 提问
教材和参考资料
教材:
SOPC技术基础教程 侯建军等著 2008.5
实验课:自编实验大纲
参考书:
SOPC技术与应用 汪国强等 2006.8
SOPC嵌入式系统基础教程 周立功等 2006.11
基于FPGA的嵌入式系统设计 刘明章著 2007.9
NIOSII嵌入式软核SOPC设计原理及应用 李兰英 2006
请提宝贵意见和建议!
Feel free to express yourself !
答疑时间:
http://qiudehui.ie.cnu.edu.cn
Password : 5555
Email: [email protected]
第1章 SOPC技术概述
1.1 电子系统设计的发展趋势
嵌入式系统
微电子技术—硅片单位面积集成的晶体管数目越来越多
计算机技术—软硬件技术的发展推动EDA技术的发展。
 概念
嵌入式系统是以应用为中心,以计算机技术为基础,软硬件
可裁剪(可编程、可重构),适用于应用系统对功能、可靠
性、成本、体积、功耗有严格要求的专用计算机系统。
三个基本要素:
“嵌入性”
“专用性”
“计算机系统”
举例
嵌入式系统的组成
嵌入式处理器
外围硬件系统
嵌入式操作系统
用户应用程序
说明
软硬件;单片机;嵌入式处理器;嵌入式操作系统……
集成电路的发展
可编程片上系统
集成电路单元库
器件的物理版图设计
由IC互联构成的嵌入式系统设计
PCB
Co Processor
FLASH
FPGA
GPIO
CPU
RAM
UART
DMA
Con.
LCD Con.
缺点:连线的延时, PCB板的可靠性不能保证
集成电路的发展
设计技术和工艺
集成电路IC单元库
逻辑级
器件的物理版图设计
器件级
 SOC——片上系统(System on a chip)
将完整系统的功能集成在一个芯片上或芯片组
20世纪90年代末
SOC从系统的整体角度出发,以IP核为基础,
硬件描述语言作为系统功能和结构的描述手段,
借助于EDA工具进行开发。
【IP】:知识产权 (Intellectual property)
由SOC构成嵌入式系统设计
PCB
Co
Processor
ASIC
Flash
Co
Processor
Flash
CPU
Ram
IP集成
GPIO
CPU
DMA
Con.
Ram
UART
LCD
Con.
GPIO
DMA
Con.
UART
LCD
Con.
SOC能够综合考虑整个系统的情况,实现更高的性能
SOC是电子系统设计的革命,主流的设计技术。
【ASIC】: 专用集成电路 Application Specific Integrated Circuit
 SOC
是将一个完整产品的各功能集成在一个芯片中,包
括CPU、存储器、硬件加速单元(DSP、浮点协处
理器等)、通用I/O(GPIO)、UART接口和模数
混合电路(放大器、比较器、A/D、D/A、射频电路、
锁相环等),甚至延伸有传感器等
(如果把CPU看成是大脑,则SOC就是包括大脑、心
脏、眼睛和手的系统。)
 SOC的特点
SOC嵌入式系统就是微处理器的IP再加上一些外围
电路IP组合而成的。(盖房子)
可重用的IP来构建系统,降低开发的复杂度。
 SOC存在的问题:
SOC整体性能好,但现实中缺乏好的解决方案。由于
是基于ASIC实现SOC系统,设计周期长、产品不能
修改,系统的灵活性差。(盖一次房子)
学术科研机构、中小企业难以应用。
集成电路的发展
可编程片上系统
集成电路IC单元库
器件的物理版图设计
系统级
逻辑级
器件级
1.2 SOPC及其技术
System On Programmable Chip,可编程的片上系统。是
Altera公司提出来的一种灵活、高效的SOC解决方案。
SOPC将处理器、存储器、I/O、LVDS、CDR等系统设计需要的
功能模块集成到一个可编程器件上,构成一个可编程的片上系统。
sopc
双重含义:1. 片上系统(SOC)2.可编程系统;
SOC和PLD技术融合
现今SOPC可认为是基于FPGA解决方案的SOC(无限次盖房子)
基于FPGA的嵌入式系统 (SOPC)
PCB
Co
Processor
FPGA
Flash
Co
Processor
Flash
CPU
Ram
IP集成
GPIO
CPU
DMA
Con.
Ram
UART
LCD
Con.
GPIO
DMA
Con.
UART
LCD
Con.
此方案适合于系统的预研初期,投资小、风险小,可以快速
构建原型系统,加速产品上市。
资源的重复使用性特别适合于高校、科研部门的系统开发,
可以快速将新的idea转化为现实,进行性能评估。
“From Concept to System in minutes”
复习
Flash
I/O
CPU
SDRAM
I/O
I/O
I/O
I/O
I/O
FPGA
CPU
DSP
DSP
SOPC的设计方法
Flash
FPGA
SDRAM
降低成本、设计复杂性和功耗的解决方案
基于FPGA的嵌入式系统
• 名词解释
IC ?
IC:是半导体元件产品的统称,包括:集成电路、三极管、特
殊电子元件。
AISC ?
ASIC:专用IC。是指为特定的用户、某种专门或特别的用
途而设计的芯片组。
SOC ?
SOC:片上系统。随IC设计与工艺的提高,使原先由许多
IC组成的电子系统可集成到一个芯片上,构成SOC。
• 名词解释
SOPC:可编程的片上系统。是Altera公司提出来的一种灵
活、高效的SOC解决方案。也可认为是基于FPGA解决方
SOPC ?
案的SOC。
EDA:电子设计自动化 。EDA技术就是以计算机为工具,
设计者在EDA软件平台上,用硬件描述语言HDL完成设
EDA ?
计文件,然后由计算机自动地完成逻辑编译、化简、分割、
综合、优化、布局、布线和仿真,直至对于特定目标芯片
的适配编译、逻辑映射和编程下载等工作。
深刻的理解上述名词的意义,在今后的学习中可反复查看。
SOPC在嵌入式系统设计中的优势






设计的灵活性
可裁剪、可重构、可升级
软硬件协同设计
降低成本、提高系统性能、系统紧凑
缩短设计迭代周期
降低硬件系统设计风险
SOPC的基本特征
 发展前提条件
 平台:高密度高性能FPGA,先进的开发工具
 基础:IP Core的不断丰富和完善
 关键:处理器IP Core解决了关键问题
 SOPC的基本特征(SOC /PLD/FPGA)
 嵌入式处理器IP Core为核心(多处理器)
 具有小容量片内高速RAM资源
 丰富的IP Core资源可供灵活选择
 足够的片上可编程逻辑资源
 处理器调试接口和FPGA编程接口共用或并存
 可能包含部分可编程模拟电路
 单芯片、低功耗、微封装
SOPC小结
SOPC是基于IP重用和软硬件协同设计的产物。对于嵌
入式系统设计者,在EDA平台上基于FPGA设计SOC是
嵌入式系统的理想选择。
软硬协同编程将逐步取代不能适应技术发展的硬编程,
成为嵌入式系统设计的主要模式;而SOPC时代的到来
意味着成千上万的系统工程师可以实现他们梦想:将自
己设计的板子变成芯片,这正是SOPC技术的含义!
1.3 IP核
 IP (Intellectual Property)
知识产权的简称,SOC和SOPC在设计上都是以集成
电路IP核为基础的。
IP core:将一些在数字电路中常用但比较复杂的功能
块,如FIR滤波器,SDRAM控制器,PCI接口等等设
计成可修改参数的模块,让其他用户可以直接调用这
些模块,这样就大大减轻了工程师的负担,避免重复
劳动。随着CPLD/FPGA的规模越来越大,设计越来
越复杂,使用IP核是一个发展趋势
集成电路IP是经过预先设计、预先验证、符合产业界
普遍认同的设计规范和设计标准,并具有相对独立并
可以重复利用的电路模块或子系统,如CPU、SDRAM
控制器、运算器等。
1.3 IP核
集成电路IP模块具有知识含量高、占用芯片面积小、
运行速度快、功耗低、工艺容差性大等特点,还具有
可重用性,可以重复应用于SOC、SOPC或复杂的
ASIC的设计当中。
 IP




core的表现形式
HDL语言(灵活) 软核
原理图(可移植性差)软核
门级电路网表 固核
电路物理结构掩模版图和工艺文件 硬核
 软核
IP软核通常是用HDL文本形式提交给用户。
它经过RTL级设计优化和功能验证,但其中不含有任
何具体的物理信息。据此,用户可以综合出正确的门
电路级设计网表,借助于EDA综合工具可以很容易地
与其他外部逻辑电路合成一体,具有很大的灵活性。
软IP内核也称虚拟组件(VC-Virtual Component)
 硬核
IP硬核提供给用户的形式是电路物理结构掩模版图和
全套工艺文件,是可以拿来就用的全套技术。基于半
导体工艺的物理设计,已有固定的拓扑布局和具体工
艺,并已经过工艺验证,具有可保证的性能。
硬核CPU:Powerpc ARM Mips Intel x86 Motorola 68000
 固核
IP固核的设计程度则是介于软核和硬核之间,除了
完成软核所有的设计外,还完成了门级电路综合和
时序仿真等设计环节。一般以门级电路网表的形式
提供给用户。
嵌入式处理器内核
 在SOPC的设计中,嵌入式的微处理器的IP分软核和
硬核两种。
 基于FPGA嵌入IP硬核的SOPC系统:
以硬核的方式预先植入嵌入式系统处理器知识产权核
(ARM或其他的微处理器),利用FPGA中的可编
程逻辑资源和IP核来实现其他的外围器件和接口。
FPGA的灵活的硬件设计和实现与处理器的强大运算
功能很好地结合。
 硬核CPU举例:ARM Mips PowerPc Intel x86
Motorola 68000
基于IP硬核处理器的SOPC系统缺点:
 1.高成本:硬核多来自第三方,FPGA厂商需要支付
知识产权费用,FPGA器件价格相对偏高。
 2. 不灵活:硬核预先植入,无法实现可编程。无法
根据需要改变处理器结构,如总线宽度、 接口等。
 3. 不能在同一FPGA中使用多个处理器核。
 4.无法根据实际设计需要裁减定制处理器。
构成SOPC系统的软核处理器
 可配置嵌入式软核处理器的优势
1. 提供合理的性能组合
可配置
嵌入式软核处理器
优势
2. 提升系统的性能
3. 降低系统成本
4. 延长产品的生命周期
主流的SOPC系统
 Altera(2000年,提出SOPC)

NIOSII/ARM9

Cyclone/Stratix系列

Quartus/SOPC Builder/IDE
 Xilinx

MicroBlaze/PowerPC

Spartan/Virtex

Xilinx Platform Studio (XPS)
1.4 Nios II软核简介
 Nios II软核处理器简介
Altera公司在2000年开发了第一代可配置嵌
继Nios之后,2004年6月Altera公司
入式软核处理器Nios(16位)。
又推出了性能更好的Nios II (32位)嵌
入式软核处理器。
Nios
Nios II
32位软核处理器
16位软核处理器
1.4 Nios II软核简介
 Nios II软核处理器简介
Nios II 的特点:
最大处理性能提高了3倍
CPU内核面积最大可缩小1/2
32位RISC嵌入式处理器具有超过200DMIP的性能,
Nios II
在低成本FPGA中实现成本只有35美分。
由于Nios II是软核形式,其可在多种系统设置组
合中进行选择,满足成本和功能要求。
32位软核处理器
可延长产品生命周期,防止出现处理器逐渐过时
的情况。
1.4 Nios II软核简介
1.4 Nios II软核简介
1. Nios II软核处理器可定制性
Nios II 处理器系列包括三种内核
Nios II
32位软核处理器
Nios II/f (快速)
性能最高,但占用的逻辑资
源最多。 (1400-1800 LEs)
Nios II/e (经济)
占用的逻辑资源最少,但性
能最低。( 600-700 LEs)
Nios II/s (标准)
平衡的性能和尺寸。
NiosII/s内核比第一代的
Nios CPU更快,占用的资
源更少。 (1200-1400 LEs)
Nios II处理器三种内核比较
特性
Nios II /f (快速)
Nios II /s (标准)
Nios II /e (经济)
说明
针对最佳性能优化
平衡性能和尺寸
针对逻辑资源占用优化
流水线
6级
5级
无
乘法器
1 周期
3 周期
软件仿真实现
指令缓冲
可设置
可设置
无
数据缓冲
可设置
无
无
定制指令
256
256
256
2. 外设的可定制性
一套通用外设和接口IP。利用SOPC Builder,可以生成自己的
定制外设,并集成在Nios II处理器系统中。
定时器/计数器
外部三态桥接
EPCS串行闪存控制
器
串行外设接口(SPI)
LCD接口
用户逻辑接口
JTAG UARTC
S8900 10Base-T接口
以太网接口PCI
系统ID
外部SRAM接口
片内ROM
直接存储器通道
(DMA)
紧凑闪存接口(CFI)
UART
SDR SDRAM
片内RAM
LAN 91C111 10/100
有源串行存储器接
口
并行I/O
PCI
DDR SDRAM
CAN
RNG
USB
DDR2 SDRAM
DES 16550
UART
RSA
10/100/1000
Ethernet MAC
I2 C
SHA-1
浮点单元
二、系统性能可配置性
根据性能需求,设计者能更改其设计,如加入多个
Nios II CPU、定制指令集、硬件加速器,以达到新
的性能目标。
1. 多CPU内核
在FPGA上实现多处理器内核,获得更高性能。
IDE支持开发。
2. 可配置的总线(Avalon)
Avalon总线能进行多路数据并行处理,系统吞吐量大。SOPC
Builder自动生成的Avalon总线。
 传统总线结构:总线仲裁器控制总线主机和从机之间的通信。
只有一个主机能够使用总线资源,会导致带宽瓶颈。(比较)
 Avalon总线
 ALTERA专门适用NIOS的总线标准:多主机体系结构
 非真正意义的总线,由多路开关和仲裁机制构成
 多主设备总线 主设备并行控制总线
 从设备仲裁器
 支持不同数据带宽,适应同步和异步 总线标准
 系统加入模块或外设优先权改变时,SOPC Builder产生
新总线
CPU 0
System
Switch
Fabric
Program
Memory 0
DMA
Arbiter
I/O
Data
Memory 0
CPU 1
Arbiter
Display
Control
Data
Memory 1
Custom
Function
Program
Memory 1
3. 定制指令
 对时间要求严格的算法可定制指令,提高性能(如:FFT)
可扩展CPU指令集。
 软件中比较费时间的运算(比如浮点乘除法,循环迭代等),通
过定制指令由硬件来实现,加速运算速度 。
4. 硬件加速
 类似CPU+GPU。
 专用硬件加速器,作为FPGA的定制协处理器,协助CPU同
时处理多个数据。SOPC Builder含有一个向导,将加速逻
辑和DMA通道引入系统。
NIOSII与FPGA
Nios II
Nios II
2S180
Nios II
2C5
Nios II
Nios II
Nios II
CycloneEP2C5:90nm工艺
FPGA: 4600 LEs
Nios II/e
13% of FPGA
35¢
StratixEP2S180: 90nm FPGA
180,000 LEs
1% of FPGA Nios II/f “fast”
1.5 支持Nios II的FPGA
Cyclone II 系列
Cyclone 系列
Stratix 系列
Stratix II 系列
Cyclone系列:第一代Cyclone
FPGA是在2002年12月分推出的。主要用于对成本敏感的设计中。
Cyclone II系列:具有很高的性能和极低的功耗,而价格和ASIC相当,能够提
供多种功能,为价格敏感的应用提供大批量产品解决方案。
1.5 支持Nios II的FPGA
Cyclone II 系列
Cyclone 系列
Stratix 系列
Stratix II 系列
Stratix系列:StratixFPGA为满足高带宽系统的需求进行了优化,具有非常高的
Stratix II系列:在Stratix基础上增加了新的特性。
内核性能、存储能力、架构效率,主要用于高端FPGA市场。
Cyclone、Cyclone II系列FPGA
特性
EP1C6 EP1C12 EP1C20 EP2C35 EP2C50 EP2C70
逻辑单元(LEs) 5,980
12,060
20,060
33,216 50,528 68,416
M4K RAM块
(12836
bits)
20
52
64
105
129
250
RAM 总量
92,160
239,616
294,912
483,840
594,432
1,152,00
0
35
86
150
嵌入式乘法器
(1818)
锁相环(PLLs) 2
2
2
4
4
4
最大可用管脚数 185
249
301
475
450
622
Stratix和Stratix II系列
 Stratix 系列FPGA:性能高 功耗低(高端)
 温度范围宽:航空航天领域,军用
 Stratix II采用密钥对配置文件进行加密
 Stratix IV器件是功耗最低、性能最好的FPGA
基于40nm工艺 680K LEs
Stratix 、Stratix II系列
特性
EP1S60
EP1S80
EP2S90
EP2S130
EP2S180
等效逻辑单元(LEs)
57,120
79,040
90,960
132,540
179,400
M512RAM块(3236 bits)
574
767
488
699
930
M4K RAM块(12836 bits)
292
364
408
609
768
M-RAM块(4K144 bits)
6
9
4
6
9
RAM 总量(bits)
5,215,104
7,427,520
4,520,488 6,747,840 9,383,04
0
DSP块
18
22
48
63
96
嵌入式乘法器(1818位)
144
176
192
252
384
锁相环(PLLs)
12
12
12
12
12
最大可用管脚数
1,022
1,238
901
1,109
1,173
Stratix IV FPGA: 是“与”不是“或”
第一款 40-nm FPGA
 Stratix V FPGA:为带宽而打造
 28-nm
HardCopy器件
HardCopy就是利用原有的FPGA开发工具,将成
功实现于FPGA器件上的SOPC系统通过特定的技术
直接向ASIC转化,从而克服传统ASIC设计中普遍存
在的问题如:开发周期长、成功率低、设计软件工
具繁多且昂贵、开发流程复杂等。
 构成SOPC的三种方案
1
基于FPGA嵌入IP硬核的SOPC系统
2
基于FPGA嵌入IP软核的SOPC系统
3
基于HardCopy技术的SOPC系统
三种SOC方案的比较
指标
基于ASIC的SOC
基于FPGA的
SOC(SOPC)
基于HardCopy的
SOC
单片成本
低
较高
较低
开发周期
长(>20周)
短(<10周)
较短(<20周)
开发成本
设计工程成本高
掩模成本高
软件工具成本高
一次投片成功率低,
一次投片情况
成本高,耗时长
设计工程成本低
无掩模成本
软件工具成本低
设计工程成本低
掩模成本低
软件工具成本低
可现场配置
一次投片成功率近
100%,成本低,耗
时短
集成技术
0.25um~90nm
0.25um~90nm
0.25um~90nm
可重构性
不可重构
可重构
不可重构
Nios II 技术文档
 Altera.com.cn的资料
-NIos II软件开发手册
-Nios II处理器参考手册
-教程
-应用笔记
-Nios II 处理器设计实例
 Nios II 论坛(www.niosforum.com)