当前位置:文档之家› FPGA实现嵌入式系统

FPGA实现嵌入式系统

FPGA实现嵌入式系统北京理工大学雷达技术研究所陈禾主要内容嵌入式系统概念与组成 基于FPGA的嵌入式系统设计 系统集成开发环境嵌入式系统—定义计算系统无处不在,由个人计算机、笔记本 电脑、工作站、大型机和服务器等构成计算 系统并不奇怪,但是,更广泛的是为完全不 同的目的构造的计算系统,它们嵌入在更大 的电子器件内,分别完成特定的功能,而不 被器件的使用者所识别。

对于这样的嵌入计算系统,简称为嵌入式系 统,可以定义为除了计算机或电脑之外的几 乎任何的计算系统。

这个不很精确的定义,可以使我们着手考察 嵌入系统设计者所面临的挑战。

嵌入式系统的一般特性嵌入系统一般功能单一,重复执行一个特定的 程序,除非嵌入系统的程序用新的程序版本更 新,或者因尺寸限制它有几个程序倒进和倒出。

对嵌入系统的约束特别严格,诸如成本、尺寸、 性能和功耗等作为实现的特性,嵌入系统要求 成本是极低的价格,尺寸限制到最小、但达到 实时快速地处理数据,且消耗最少的功率,能 延长电池受命,也不需要冷却等。

其它如NRE成本、灵活性、样机的时间、上市 的时间、可维护性、准确性和安全性。

反应和实时性:许多嵌入系统必须对系统环境 的变化连续地反应,且要无滞后地实时计算确 定的结果。

嵌入式系统应用嵌入式系统组成硬件嵌入式系统实现的基础应用程序实现特定任务和功能操作系统(可选)对应用软件进行管理 使硬件对应用软件透明嵌入式系统硬件部分微处理器或微控制器嵌入式系统的核心存储器用来存储程序和数据外设如定时器、中断控制器、UART、 GPIO等电源部分 其它辅助部分嵌入式系统软件部分应用软件实现所需功能,执行特定任务操作系统(RTOS)提供对应用软件的一组服务 使硬件细节对应用软件透明嵌入式系统的软/硬件设计软件设计重要的是微处理器的内部操作如何进行硬件设计重要的是总线接口,与微处理器的逻辑 连接要遵循总线协议的全部规则,才能 保证硬件设计正确嵌入式系统的软/硬件设计内部操作包括指令集:处理器可以运行的指令的格式 寄存器:通用寄存器、状态寄存器和程序计数器的某种组 合 Cache:专门的高速缓存,储存经常利用的数据和指令等 流水:不同级的指令处理提供增加的性能 存储器管理单元(MMU)提供实现虚拟存储器需要的地 址变换,操作系统利用它来防止程序或任务造成系统崩溃外部接口包括存储器总线接口,对总线仲裁器的规则 协处理器总线接口 中断:一般有多个不同优先级的中断嵌入式系统设计的核心技术|处理器技术z通用处理器z单用途处理器z专用处理器|IC技术z全定制VLSIz半定制ASICz可编程ASIC-FPGA|设计验证技术嵌入式系统—处理器技术|通用处理器或微处理器软件——编程处理器的存储器完成要求的功能控制器:程序存储器数据通道:含寄存器堆或通用ALU|单用途处理器硬件—设计数字电路准确地执行一个程序甚至设计定制数字电路产生单用途处理器控制器:有限状态机,不需要程序存储器数据通道:只包含为执行此程序的基本元件|专用处理器:为特定类应用优化的可编程处理器微控制器(单片机):为嵌入控制应用优化的处理器数字信号处理器(DSP):执行数字信号的常用运算嵌入式系统—IC技术通用处理器专用处理器单片机DSP单用途处理器FPGA CPLD 半定制:标准单元门阵列(结构化ASIC)全定制:ASICASSP嵌入式系统—设计验证技术系统技术条件行为技术条件RTL技术条件逻辑级技术条件门级仿真门电路/单元电路逻辑级综合HDL仿真RTL元件RTL级综合Hw-Sw协同仿真Cores行为综合Model仿真/校验Hw/Sw/OS系统级综合Test/VerificationLibraries/IPCompilation/Synthesis至最终实现可编程系统FPGA内嵌处理器FPGA 嵌入式系统的发展Embedded Software ToolsCPULogic Design ToolsI/O FPGAMemoryLogic Design ToolsFPGA + Memory + IP +High Speed IO (4K & Virtex ™)Embedded Software ToolsCPUI n t e g r a t i o n o f F u n c t i o n sTimeLogic Design ToolsEmbedded Software ToolsLogic + Memory+ IP + Processors + RocketIO (Virtex-II Pro ™)Programmable Systems usher in a new era of systemdesign integration possibilitiesFPGA嵌入式系统的发展嵌入式系统市场|工业分析家普遍预测全球半导体需求市场将是一个稳中带降的趋势。

|中国的嵌入式系统市场在强势中国经济的拉动下,仍将保持高速增长态势,将以年均30%的高速度增长。

|数字家庭、移动通信和移动娱乐是嵌入式系统应用市场的发展重点。

|汽车电子、医疗电子、军用电子和工业自动化领域也成为嵌入式系统应用提供越来越大的发展商机。

FPGA实现嵌入式系统|系统设计的焦点——性价比z性能可以归结为时间上要求高的速度;z价格可以归结为空间上要求小的面积。

|高性能导致资源使用多,成本高。

|FPGA在提高性能的同时,成本不断降低,使其在实现嵌入系统的各个领域得到广泛的应用。

进一步带来设计方法的变化。

FPGA实现嵌入系统|200223亿美元2008 63亿美元数据处理16%消费电子6%通信58%工业14%汽车电子0%通信42%消费电子18%数据处理13%汽车电子3%工业18%军事/民航6%军事/民航6%基于FPGA的嵌入式设计|基于FPGA的嵌入式设计主要包括以下内容z FPGA硬件设计z相关硬件的驱动程序z软件设计•软件应用程序•中断服务程序(可选)•实时操作系统(RTOS) (可选)FPGA嵌入式系统结构主流FPGA嵌入式解决方案Altera公司的处理器解决方案Altera公司NiosII处理器特性简介|基于哈佛结构的通用嵌入式软核处理器NiosIIz32位RISC指令集z32位数据线宽度z32个通用寄存器z32个外部中断源z2G Bytes寻址空间z JTAG调试模块z最大支持256条用户自定义CPU指令z三种灵活配置,最高性能可达250 DMIPSz……NiosII处理器模块框图基于NiosII的嵌入式系统Avalon片上总线|Nios系统的所有外设都是通过Avalon总线与Nios CPU相接的,Avalon总线是一种协议较为简单的片内总线,Nios通过Avalon总线与外界进行数据交换。

|Avalon总线接口可以分为两类:Slave和Master。

slave是一个从控接口,而master是一个主控接口。

slave和master主要的区别是对于Avalon总线控制权的把握。

master接口具有相接的Avalon总线控制权,而slave接口是被动的Avalon片上总线NiosII的三种不同配置Xilinx的处理器家族Xilinx的处理器家族基于8-bit软核PicoBlaze的嵌入式设计基于32-bit软核MicroBlaze的嵌入式设计基于32-bit软核MicroBlaze基于32bit硬核PowerPC的嵌入式设计基于32-bit硬核UltraController的嵌入式设计CoreConnect总线架构CoreConnect总线架构|CoreConnect是由IBM开发的片上总线通信链,可达到更高的整体系统性能。

|CoreConnect总线架构包括处理器本机总线(PLB)、片上外围总线(OPB)、一个总线桥、两个判优器,以及一个设备控制寄存器(DCR)总线。

z PLB总线接口:用于PowerPC405内核与高性能设备的连接。

PLB接口包括ISPLB接口和DSPLB接口两种。

其中,ISPLB接口用于外设与PowerPC405指令缓冲的连接,DSPLB接口用于外设与PowerPC405数据缓冲的连接。

z OPB总线接口:片上外设总线,内核通过OPB来访问低速和低性能的系统资源。

它不是直接连接到处理器内核。

处理器内核借助于“PLB to OPB”桥,通过OPB访问从外设;OPB总线控制器的外设可以借助“OPB to PLB”桥,通过PLB访问存储器。

三种典型嵌入式应用状态机,IO与控制方案三种典型嵌入式应用微控制器方案三种典型嵌入式应用定制的嵌入式系统方案基于FPGA 的嵌入式系统开发:EDKProcessor IPMPD Files system.ucf system.bit MHS Filesystem.mhsplatgen ISE/Xflow Hardwaredata2BRAM download.bitCompile Link Object Files ExecutableLibrariesSource Code libgen MSS Filesystem.mssEDIFIP NetlistsSource Code Synthesis嵌入式系统开发环境|根据嵌入式片上系统设计流程、平台级FPGA自身的特点以及硬件协同设计的一般流程,可以把嵌入式片上系统的集成设计环境归纳为三个层次。

|这个集成环境是一种典型的软硬协同设计集成环境(或平台),是由三个不同层次、不同功能的EDA集成设计环境组成。

嵌入式系统开发环境|在SoPC设计中,一般都含有微处理器,必须有应用程序完成数字计算、信号处理变换、控制决策等功能。

|因此,在设计的前期,需要进行软、硬件协同设计,以便确定哪些功能是由硬件完成的,哪些功能是由软件完成的,并且进行适当划分。

|在设计的中后期,要进行软硬件协同验证,即把软硬件设计放到一个虚拟的集成环境中进行仿真验证,以便验证硬件的性能是否达到设计目标,软件功能是否实现设计要求。

嵌入式系统开发环境|根据SoC设计流程、SoPC自身的特点以及硬件协同设计的一般流程,可以把基于SoPC的系统芯片的集成设计环境归纳为三个层次。

|这个集成环境是一种典型的软硬协同设计集成环境(或平台),是由三个不同层次、不同功能的EDA集成设计环境组成。

下面结合Xilinx和Altera两大SoPC 厂商的开发工具对这三个层次进行说明。

相关主题