《FPGA实现嵌入式系统.pdf》由会员分享,可在线阅读,更多相关《FPGA实现嵌入式系统.pdf(64页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、FPGA实现嵌入式系统实现嵌入式系统北京理工大学雷达技术研究所陈禾主要内容主要内容?嵌入式系统概念与组成?基于FPGA的嵌入式系统设计?系统集成开发环境嵌入式系统定义?计算系统无处不在,由个人计算机、笔记本电脑、工作站、大型机和服务器等构成计算系统并不奇怪,但是,更广泛的是为完全不同的目的构造的计算系统,它们嵌入在更大的电子器件内,分别完成特定的功能,而不被器件的使用者所识别。?对于这样的嵌入计算系统,简称为嵌入式系统,可以定义为除了计算机或电脑之外的几乎任何的计算系统。?这个不很精确的定义,可以使我们着手考察嵌入系统设计者所面临的挑战。嵌入式系统的一般特性?嵌入系统一般功能单一功能单一,重复
2、执行一个特定的程序,除非嵌入系统的程序用新的程序版本更新,或者因尺寸限制它有几个程序倒进和倒出。?对嵌入系统的约束特别严格约束特别严格,诸如成本、尺寸、性能和功耗等作为实现的特性,嵌入系统要求成本是极低的价格,尺寸限制到最小、但达到实时快速地处理数据,且消耗最少的功率,能延长电池受命,也不需要冷却等。?其它如NRE成本、灵活性、样机的时间、上市的时间、可维护性、准确性和安全性。?反应和实时性反应和实时性:许多嵌入系统必须对系统环境的变化连续地反应,且要无滞后地实时计算确定的结果。嵌入式系统应用嵌入式系统组成?硬件?嵌入式系统实现的基础?应用程序?实现特定任务和功能?操作系统(可选)?对应用软件
3、进行管理?使硬件对应用软件透明嵌入式系统硬件部分?微处理器或微控制器?嵌入式系统的核心?存储器?用来存储程序和数据?外设?如定时器、中断控制器、UART、GPIO等?电源部分?其它辅助部分嵌入式系统软件部分?应用软件?实现所需功能,执行特定任务?操作系统(RTOS)?提供对应用软件的一组服务?使硬件细节对应用软件透明嵌入式系统的软/硬件设计?软件设计?重要的是微处理器的内部操作如何进行?硬件设计?重要的是总线接口,与微处理器的逻辑连接要遵循总线协议的全部规则,才能保证硬件设计正确嵌入式系统的软/硬件设计?内部操作包括?指令集:处理器可以运行的指令的格式?寄存器:通用寄存器、状态寄存器和程序计数
4、器的某种组合?Cache:专门的高速缓存,储存经常利用的数据和指令等?流水:不同级的指令处理提供增加的性能?存储器管理单元(MMU)提供实现虚拟存储器需要的地址变换,操作系统利用它来防止程序或任务造成系统崩溃?外部接口包括?存储器总线接口,对总线仲裁器的规则?协处理器总线接口?中断:一般有多个不同优先级的中断嵌入式系统设计的核心技术?处理器技术?通用处理器?单用途处理器?专用处理器?IC技术?全定制VLSI?半定制ASIC?可编程ASIC-FPGA?设计验证技术嵌入式系统处理器技术?通用处理器或微处理器软件编程处理器的存储器完成要求的功能控制器:程序存储器数据通道:含寄存器堆或通用ALU?单用
5、途处理器硬件设计数字电路准确地执行一个程序甚至设计定制数字电路产生单用途处理器控制器:有限状态机,不需要程序存储器数据通道:只包含为执行此程序的基本元件?专用处理器:为特定类应用优化的可编程处理器微控制器(单片机):为嵌入控制应用优化的处理器数字信号处理器(DSP):执行数字信号的常用运算嵌入式系统IC技术通用处理器专用处理器单片机DSP单用途处理器FPGACPLD半定制:标准单元门阵列(结构化半定制:标准单元门阵列(结构化ASIC)全定制)全定制:ASICASSP嵌入式系统设计验证技术系统技术条件行为技术条件RTL技术条件逻辑级技术条件门级仿真门电路/单元电路逻辑级综合HDL仿真RTL元件R
6、TL级综合Hw-Sw协同仿真Cores行为综合Model仿真/校验Hw/Sw/OS系统级综合Test/VerificationLibraries/IPCompilation/Synthesis至最终实现可编程系统FPGA内嵌处理器FPGA嵌入式系统的发展Embedded Software ToolsCPULogic Design ToolsI/OFPGAMemoryLogic Design ToolsFPGA+Memory+IP+High Speed IO(4K&Virtex)Embedded Software ToolsCPUIntegration of FunctionsIntegrati
7、on of FunctionsTimeTimeLogic Design ToolsEmbedded Software ToolsLogic+Memory+IP+Processors+RocketIO(Virtex-II Pro)Programmable Systemsusher in a new era of system design integration possibilitiesProgrammable Systemsusher in a new era of system design integration possibilitiesFPGA嵌入式系统的发展嵌入式系统市场?工业分析
8、家普遍预测全球半导体需求市场将是一个稳中带降的趋势。?中国的嵌入式系统市场在强势中国经济的拉动下,仍将保持高速增长态势,将以年均30%的高速度增长。?数字家庭、移动通信和移动娱乐是嵌入式系统应用市场的发展重点。?汽车电子、医疗电子、军用电子和工业自动化领域也成为嵌入式系统应用提供越来越大的发展商机。FPGA实现嵌入式系统?系统设计的焦点性价比?性能可以归结为时间上要求高的速度;?价格可以归结为空间上要求小的面积。?高性能导致资源使用多,成本高。?FPGA在提高性能的同时,成本不断降低,使其在实现嵌入系统的各个领域得到广泛的应用。进一步带来设计方法的变化。FPGA实现嵌入系统?200223亿美元
9、2008 63亿美元数据处理16%消费电子6%通信58%工业14%汽车电子0%通信42%消费电子18%数据处理13%汽车电子3%工业18%军事/民航6%军事/民航6%基于FPGA的嵌入式设计?基于FPGA的嵌入式设计主要包括以下内容?FPGA硬件设计?相关硬件的驱动程序?软件设计 软件应用程序 中断服务程序(可选)实时操作系统(RTOS)(可选)FPGA嵌入式系统结构主流FPGA嵌入式解决方案Altera公司的处理器解决方案Altera公司NiosII处理器特性简介?基于哈佛结构的通用嵌入式软核处理器NiosII?32位RISC指令集?32位数据线宽度?32个通用寄存器?32个外部中断源?2G
10、 Bytes寻址空间?JTAG调试模块?最大支持256条用户自定义CPU指令?三种灵活配置,最高性能可达250 DMIPS?NiosII处理器模块框图基于NiosII的嵌入式系统Avalon片上总线?Nios系统的所有外设都是通过Avalon总线与Nios CPU相接的,Avalon总线是一种协议较为简单的片内总线,Nios通过Avalon总线与外界进行数据交换。?Avalon总线接口可以分为两类:Slave和Master。slave是一个从控接口,而master是一个主控接口。slave和master主要的区别是对于Avalon总线控制权的把握。master接口具有相接的Avalon总线控制
11、权,而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)、一个
12、总线桥、两个判优器,以及一个设备控制寄存器(DCR)总线。?PLB总线接口:用于PowerPC405内核与高性能设备的连接。PLB接口包括ISPLB接口和DSPLB接口两种。其中,ISPLB接口用于外设与PowerPC405指令缓冲的连接,DSPLB接口用于外设与PowerPC405数据缓冲的连接。?OPB总线接口:片上外设总线,内核通过OPB来访问低速和低性能的系统资源。它不是直接连接到处理器内核。处理器内核借助于“PLB to OPB”桥,通过OPB访问从外设;OPB总线控制器的外设可以借助“OPB to PLB”桥,通过PLB访问存储器。三种典型嵌入式应用状态机,IO与控制方案三种典型嵌
13、入式应用微控制器方案三种典型嵌入式应用定制的嵌入式系统方案基于基于FPGA的嵌入式系统开发:的嵌入式系统开发:EDKProcessor IPMPD Filessystem.ucfsystem.bitMHS Filesystem.mhsplatgenISE/XflowHardwaredata2BRAMdownload.bitCompileLinkObject FilesExecutableLibrariesSource CodelibgenMSS Filesystem.mssEDIF IP NetlistsSource CodeSynthesis嵌入式系统开发环境?根据嵌入式片上系统设计流程、平
14、台级FPGA自身的特点以及硬件协同设计的一般流程,可以把嵌入式片上系统的集成设计环境归纳为三个层次。?这个集成环境是一种典型的软硬协同设计集成环境(或平台),是由三个不同层次、不同功能的EDA集成设计环境组成。嵌入式系统开发环境?在SoPC设计中,一般都含有微处理器,必须有应用程序完成数字计算、信号处理变换、控制决策等功能。?因此,在设计的前期,需要进行软、硬件协同设计,以便确定哪些功能是由硬件完成的,哪些功能是由软件完成的,并且进行适当划分。?在设计的中后期,要进行软硬件协同验证,即把软硬件设计放到一个虚拟的集成环境中进行仿真验证,以便验证硬件的性能是否达到设计目标,软件功能是否实现设计要求
15、。嵌入式系统开发环境?根据SoC设计流程、SoPC自身的特点以及硬件协同设计的一般流程,可以把基于SoPC的系统芯片的集成设计环境归纳为三个层次。?这个集成环境是一种典型的软硬协同设计集成环境(或平台),是由三个不同层次、不同功能的EDA集成设计环境组成。下面结合Xilinx和Altera两大SoPC厂商的开发工具对这三个层次进行说明嵌入式系统开发环境?第一层次是系统级设计环境,主要用于完成SoPC的系统级设计。?首先,需要根据客户的要求,进行系统的功能定义和性能评估,以便确定系统规约。?其次,根据已经确定的系统规约,应用系统级描述语言(C+或System C等)进行系统设计描述与设计验证,以
16、便确定所定义的系统规格在功能上是否可以实现。?再次,在证明了系统规约上可以实现后,进行系统软硬件功能划分,以便确定系统的哪些功能是由软件系统完成的、哪些功能是由硬件系统完成的、哪些功能需要软硬件协同完成,对于既可以通过软件系统完成也可以通过硬件系统完成的功能,需要进行性能与成本的评估。系统级设计环境嵌入式系统开发环境?进行系统设计与验证可以使用各种权威的工具软件,如Cadence公司的viatual Component Co-Design(VCC)、Synopsys公司的CoCentric、Cadence公司的ProcessingWorksystem、Synopsys公司的COSSAP等。?S
17、ystem-Generator和DSP-Builder分别是Xilinx和Altera公司的DSP系统生成工具,可以用来进行DSP算法的硬件设计实现。DSP系统生成器提供了高性能的运行环境,可看成是Simulink的一个程序包,能自动把在Matlab和Simulink上生成的系统设计翻译成可靠的、可综合的和有效的硬件网表。嵌入式系统开发环境?第二层次的EDA集成设计环境是SoPC硬件系统和软件系统设计环境,主要用于完成SoPC的软硬件系统设计。根据系统级设计中的功能划分,分别进行SoPC的硬件系统设计和软件系统设计,硬件系统设计和软件系统设计是并行进行的。嵌入式系统开发环境?硬件系统通常包括:
18、?DSP系统生成器生成的硬件模块。指由DSP Generator或DSP Builde生成的硬件模块,一般是算法映射出来的纯粹的硬件模块,不运行软件。在复杂设计方面,DSP Generator和DSP Builder是利用可编程硬件逻辑实现数字信号处理算法的强大工具。?处理器(CPU/DSP)硬件模块。处理器硬件模块件指软件运行的硬件平台,用于运行系统软件或应用软件。通常由厂家提供的嵌入式系统开发工具生成,如Xilinx的EDK和Altera的SOPC Builer。?用户自定义硬件模块和其它IP模块。前两种途径不能提供的功能,由用户自行使用HDL语言进行开发相应的硬件模块,或使用厂商提供的I
19、P核实现。?在软件系统设计中,通常使用SoPC厂商提供的软件集成开发工具,如Xilinx的EDK环境,Altera的NiosII环境和ARM的ADS或Realview环境,也会使用标准的GNU工具。软硬件系统开发环境.嵌入系统调试与测试环境嵌入系统调试与测试环境?第三层次是SoPC系统的调试与测试环境。由于SoPC的主要逻辑设计是在可编程逻辑器件内部进行,而BGA封装已被广泛应用在微封装领域中,传统的调试设备已很难进行直接测试分析。因此,也必将对以仿真技术为基础的软硬件协同设计技术提出更高的要求,使新的调试技术不断涌现出来,如Xilinx公司的片内逻辑分析仪Chip Scope Pro和Alt
20、era公司的SignalTapII。调试测试环境SoPC开发环境介绍开发环境介绍?综上所述,基于可编程片上系统(SoPC)的嵌人式系统集成设计环境是一个相当复杂的集成EDA开发环境。常见的SoPC集成化EDA开发套件,如Altera公司和Xilinx公司的工具套件,它们的集成化程度虽然较高,但也难以达到图所示的集成化程度。因此,需要系统设计设计者根据现有的商用化EDA工具构建这样的集成设计环境。相信在不久的将来,将会推出类似的集成EDA工具环境。FPGA嵌入式系统开发流程Data2MEM Download CombinedImage to FPGACompiled ELF Compiled B
21、ITRTOS,Board Support PackageEmbeddedDevelopment Kit Instantiate the System Netlistand Implement the FPGA?HDL EntrySimulation/SynthesisImplementationDownload BitstreamInto FPGAChipscopeStandard FPGAHW Development FlowVHDL or VerilogSystem NetlistInclude the BSPand Compile theSoftware Image?Code EntryC/C+Cross CompilerLinkerLoad SoftwareInto FLASHDebuggerStandard EmbeddedSW Development FlowC CodeBoard SupportPackage123Compiled BITCompiled ELF Xilinx嵌入式微处理器开发工具EDK设计流程思考题?请叙述嵌入式系统概念与组成。?Xilinx嵌入式微处理器的种类和结构。?理解系统集成开发环境。