搜档网
当前位置:搜档网 › FPGA在嵌入式系统中的应用

FPGA在嵌入式系统中的应用

嵌入式结课论文

院系:计算机与通信工程学院专业:电子信息工程

班级:

学号:

姓名:

指导教师:

基于FPGA的SOPC嵌入式系统设计

摘要:嵌入式系统是当前最热门最有发展前途的IT应用领域之一,随着EDA 技术的发展,FPGA得到迅猛的发展和广泛的应用。FPGA在嵌入式系统中的应用前景被广泛看好。文章主要介绍FPGA和SOPC的特点及其发展趋势以及使用Quartus II、SOPC Builder和Nios II IDE工具在FPGA器件上实现SOPC嵌入式系统的设计。

关键词:嵌入式系统;FPGA;SOPC

1.引言

嵌入式系统(Embedded Systems),从狭义上讲,是以应用为中心,以计算机技术为基础,软件硬件可裁剪,适应应用系统对功能,可靠性,成本体积,功耗严格要求的专用系统;广义而言,嵌入式系统是指作为某种技术过程的核心处理环节,能直接与现实环境借口或交互的信息处理系统。嵌入式系统通常指埋藏在宿主设备中的微处理机系统。对用户而言,此类系统一般不会被设备使用者在意。典型机种如微控制器,微处理器和DSP等。嵌入式系统具有技术密集,不断创新,发展迅速的特点。早期,嵌入式系统以ASIC技术为支持,但其设计周期长、投入费用高、风险大,在嵌入式系统中的应用受到了一定的限制。后来,可编程逻辑器件得到迅速的发展,尤其是高密度现场可编辑逻辑器件FPGA的设计性能已经完全能够同ASIC媲美,因此,FPGA在嵌入式系统的设计领域中得到了广泛的应用。

2.FPGA特点及优势

FPGA(Field-Programmable Gate Array,现场可编程门阵列)在现代数字电路设计中发挥着越来越重要的作用。从设计简单的接口电路到设计复杂的状态机,甚至设计“System On Chip(片上系统)”,FPGA所扮演的角色已经不容忽视。FPGA所具有的静态可重复编程和动态系统可重构特性,使得硬件的功能可以像软件一样可以通过编程来修改,极大地提高了电子系统设计的灵活性和通用性,缩短了产品的上市时间并降低了电子系统的开发成本。

FPGA具有丰富的逻辑设计资源,可以完成复杂的数据处理任务以及逻辑控

制任务,另外FPGA还具备ASIC所没有的独特特点,特别适合嵌入式系统。

⑴可重复编程。当设计需要升级或者产品需要换代的时候,利用FPGA可以在现场或者远程更新设计,满足更高的需求,完成升级换代。

⑵设计周期短,研发费用低。其设计不需要经过制造的过程,从而可以在短时间内将低成本高性能的嵌入式处理器内核与可定制的FPGA电路集成的嵌入式系统方案产品以较快的速度推向市场。

⑶通过FPGA中嵌入低成本、高性能的处理器,可以在一个芯片上集合多种功能,降低系统总成本,复杂性和功耗。

由于FPGA这些优势加上其价格越来越被市场接受和认可,以“嵌入式控制器+FPGA”为核心的嵌入式系统体系结构因强大的处理能力和灵活的工作方式而被广泛采用,其在嵌入式系统中的前景也广为看好。

3.SOPC基本结构

SOPC(可编程片上系统)是一种特殊的嵌入式系统:首先它是片上系统(SOC),即由单个芯片完成整个系统的主要逻辑功能;其次,它是可编程系统,具有灵活的设计方式,可裁剪,可扩充,可升级,并具备软硬件在系统可编程的功能。SOPC设计技术实际上涵盖了嵌入式系统设计技术的全部内容,除了以处理器和实时多任务操作系统(RTOS)为中心的软件设计技术,以PCB和信号完整性分析为基础的高速电路设计技术以外,SOPC还涉及目前已引起普遍关注的软硬件协同设计技术。SOPC系统结构如图1所示。

图1 SOPC系统结构图

SOPC结合了SOC和FPGA各自的特点,一般具备以下基本特征:

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

⑵具有小容量片内高速RAM资源;

⑶丰富的IP Core资源可供选择;

⑷足够的片上可编程逻辑资源;

⑸处理器调试接口和FPGA编程接口;

⑹可能包含部分可编程模拟电路;

⑺单芯片、低功耗、微封装。

4.SOPC系统特点与开发流程

SOPC设计包括以32位Nios II软核处理器为核心的嵌入式系统的硬件配置、硬件设计、硬件仿真、软件设计以及软件调试等。SOPC系统设计的基本软件工具有:

⑴Quartus II:用于完成Nios II系统的综合、硬件优化、配置、编程下载以及硬件系统调试等;

⑵SOPC Builder:Altera Nios II嵌入式处理器开发软件包,用于实现Nios II 系统的配置、生成。

⑶ModelSim:用于对SOPC生成的Nios II系统的HDL描述进行系统功能仿真;

⑷Nios II IDE:用于进行软件开发、调试,以及向目标开发板进行Flash下载。

与传统的嵌入式系统设计不同,基于Nios II的SOPC系统开发分为硬件开发和软件开发两个流程。硬件开发主要是创建Nios II系统,为接下来的软件开发应用程序提供运行的平台;软件开发则与传统方式比较接近,根据系统应用的需求,利用C/C++语言和系统所带的API(Application Programming Interface,应用程序接口)函数编写实现特定功能的程序。如图2所示为基于Nios II的SOPC 系统整体设计流程。在整个开发的流程中,主要用到的工具是Quartus II、SOPC Builder和Nios II IDE。

从图2中可见,SOPC开发流程比FPGA的开发流程增加了处理器、外设接口的定制步骤以及软件的开发步骤。然而,这些新增加的步骤在SOPC Builder、

Nios II IDE工具的协助下显得十分容易。

图2 SOPC系统开发流程

Nios II嵌入式处理器是FPGA生产商Altera公司推出的软核处理器,是一种面向用户、可以灵活定制的通用RISC(精简指令集架构)嵌入式CPU。Nios II 以软核方式提供给用户,并专门为在Altera 的FPGA上实现做了优化,用于SOPC (片上可编程系统)集成,最后在FPGA上实现。

Nios II系统的硬件设计流程就是为了定制合适的CPU和外设,然后在SOPC Builder和Quartus II中实现。

在指令设计过程中,使用SOPC Builder工具可以灵活地定制Nios II CPU的许多特性,甚至指令。可以使用Altera公司提供的IP核来加快设计者开发Nios II 外设的速度,提高外设的性能;也可以使用第三方的IP核,或者使用VHDL、Verilog来定制具体所需要的外设。

外设定义完成之后,即可对Nios II CPU和外设模块的特性、大小及在系统中地址分配等进行设定。然后启动SOPC Builder中的Generate,使之生成用于综合和仿真的文件。接下来,使用Quartus II软件锁定端口引脚,对生成的Nios

II系统进行仿真、综合、适配和下载。最终完成SOPC硬件系统的开发设计。5.结束语

嵌入式系统是一个将先进的半导体技术,计算机技术和电子技术等各个行业的先进技术结合在一起的产物,因此,它是一个技术密集型,资金密集型和知识密集型的集成系统,基于FPGA的SOPC设计技术走在了当前电子系统设计领域最前沿,是嵌入式技术发展的重要方向,也是目前需要我们特别关注的领域之一。

参考文献

[1] Nios II Processor Reference Handbook[Z]. Alter'a. 2004.

[2] 王刚,张潋. 基于FPGA的SOPC嵌入式系统设计与典型实例[M]. 电子工业出版社,2009:124-125.

[3] 姚霁. FPGA在嵌入式系统中的应用[J]. 信息技术,2009(9):145-148.

相关主题