可编程片上系开发平台ppt课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《可编程片上系开发平台ppt课件.ppt》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 可编程 片上系 开发 平台 ppt 课件
- 资源描述:
-
1、 该章描述在Xilinx嵌入式开发套件(Xilinx Development Kit,XDK)嵌入式系统工具的结构和设计流程。XDK用于开发基于MicroBlaze软核和PowerPC硬核处理器的SOPC系统。该章的主要内容包括:EDK简介、设计流程概述、平台开发结构的工具。Xilinx的EDK工具主要包含:Xilinx Platfrom Studio(XPS)人机界面、嵌入式系统工具套件、嵌入式处理IP核,例如处理器和外设、Platform Studio SDK(Software Development Kit,SDK)。SDK基于Eclipse开放源码框架,可以选择使用SDK开发自己的嵌入
2、式软件应用程序(从EDK13.1开始,必须在SDK内开发软件应用程序)。EDK中所提供的工具用来完成嵌入式设计的整个过程。图5.1给出了基于EDK的基本嵌入式设计流程。图图5.1 EDK嵌入式设计流程嵌入式设计流程处理器硬件开发处理器硬件开发验证文件生成验证文件生成设计实现设计实现芯片配置芯片配置软件开发软件开发软件调试软件调试软件统计分析软件统计分析芯片配置芯片配置SDK软件开发工具软件开发工具ISE 设计套件设计套件嵌入式和系统版本嵌入式和系统版本也包括在也包括在ISE 设计套件设计套件嵌入式和系统版本中嵌入式和系统版本中硬件硬件平台平台 Xilinx的FPGA技术允许设计者在处理器子系统
3、中定制硬件逻辑。这种定制不可能使用标准的现成的微处理器或控制器芯片。“硬件平台”是指设计人员根据应用的需要而使用Xilinx的技术建立的灵活地、嵌入式处理子系统。硬件平台是由一个或多个处理器或外设连接到处理器总线构成的。EDK通过微处理器硬件规范(Microprocessor Hardware Specification,MHS)文件记录硬件平台信息。软件平台是软件驱动和用于建立应用程序的操作系统(可选)组成的。所建立的软件映像文件只包含用户所使用到的一部分Xilinx的库。EDK通过微处理器软件规范(Microprocessor Software Spectifcation,MSS)记录软件
4、平台信息。设计人员可以在软件平台运行多个应用程序。验证硬件平台的正确功能,设计人员可以建立一个仿真模型,并且在HDL仿真器上运行。当仿真系统时,处理器运行可执行文件。设计人员可以选择建立行为、结构或者精确的时序仿真模型。调试嵌入式软件的基本技术是加载设计到所支持的开发板和使用调试工具去调试处理器。作为可选择的方式,设计人员可以使用指令集仿真器或简化系统仿真器模型(“虚拟平台”)运行在主机上来调试设计代码。设计人员可以通过概要分析代码的执行来估计系统性能。一旦软件和硬件平台建立完成,设计人员可以为FPGA建立一个的配置比特文件。对于原型设计,当连接主机和芯片时,设计者可以在下载比特流时,将希望运
5、行在嵌入式平台上的软件同时下载。对于产品,设计人员将配置比特流和软件保存在和FPGA连接的非易失性存储器中。图5.2 EDK工具的结构设计环境设计环境Xilinx Platform Studio(XPS)集成设计环境集成设计环境GUI,在这个集成环境中可以创建完,在这个集成环境中可以创建完整的嵌入式设计。整的嵌入式设计。Xilinx Software Development Kit(SDK)集成设计环境集成设计环境GUI,是对,是对XPS的补充,用来帮助设的补充,用来帮助设计人员开发软件应用功能(从计人员开发软件应用功能(从13.1开始,专用于开始,专用于软件应用的开发)。软件应用的开发)。E
6、DK命令行或命令行或“非非Windows”模式模式允许设计人员运行嵌入式设计流程或从命令行改变允许设计人员运行嵌入式设计流程或从命令行改变工具选项。工具选项。硬件开发硬件开发The Base System Builder(BSB)向向导导通过使用支持的开发板或通用的基本功能,允许设通过使用支持的开发板或通用的基本功能,允许设计人员快速地建立一个嵌入式设计。计人员快速地建立一个嵌入式设计。Xilinx推荐推荐使用使用BSB建立最初的项目创建。建立最初的项目创建。The Create and Import IP Wizard辅助设计人员添加自己的外设到设计中。建立相关辅助设计人员添加自己的外设到设
7、计中。建立相关的目录或数据文件,保证外设能被的目录或数据文件,保证外设能被EDK工具识工具识别。别。Configure Coprocessor Wizard帮助设计人员添加协处理器到帮助设计人员添加协处理器到CPU。Platform Generator(Platgen)以以HDL或实现的网表文件在片上构造可编程系统或实现的网表文件在片上构造可编程系统软件开发软件开发Library Generator(Libgen)构建一个软件平台,该软件平台由定制的软件库、构建一个软件平台,该软件平台由定制的软件库、驱动程序和驱动程序和OS构成。构成。GNU Compiler Tools(GCC)基于库产生器
8、建立的平台,建立软件应用程序。基于库产生器建立的平台,建立软件应用程序。验证验证Xilinx Microprocessor Debugger(XMD)打开打开shell用于软件下载和调试,也提供通道用于用于软件下载和调试,也提供通道用于GNU调试器访问设备。调试器访问设备。GNU Debugger(GDB)调试软件的调试软件的GUI,基于仿真模型或目标设备。,基于仿真模型或目标设备。Simulation Model Generator(Simgen)产生硬件仿真模型和编译脚本文件用于对完整系产生硬件仿真模型和编译脚本文件用于对完整系统的仿真。统的仿真。Simulation Library Co
9、mpiler(CompEDKLib)在开始对设计进行仿真时,为目标仿真器编译在开始对设计进行仿真时,为目标仿真器编译EDK仿真库。仿真库。Bus Functional Model Compiler(BFM)通过建立一个总线环境的模型去代替真实的嵌入通过建立一个总线环境的模型去代替真实的嵌入式系统来帮助简化定制外设的验证。式系统来帮助简化定制外设的验证。设备配置设备配置Bitstream Initializer(Bitinit)更新更新FPGA的配置比特流,用可执行的软件初始的配置比特流,用可执行的软件初始化片上指令存储器化片上指令存储器System ACE File Generator(Gen
10、ACE)基于基于FPGA的配置比特流和存储在非易失性存储的配置比特流和存储在非易失性存储器的可执行软件,产生一个器的可执行软件,产生一个Xilinx系统系统ACE配置配置文件文件Flash Memory Programmer允许设计人员使用目标处理器去编程板上的通用允许设计人员使用目标处理器去编程板上的通用Flash(CFI)接口)接口-兼容的并行兼容的并行flash杂项类杂项类Format Revision(revup)Tool and Version Management WizardRevup工具更新设计文件(例如工具更新设计文件(例如MHS)到当前的)到当前的版本。版本管理向导帮助将先
11、前版本。版本管理向导帮助将先前EDK建立的建立的IP和和驱动更新到当前的版本。驱动更新到当前的版本。LibXil Memory File System Generator(LibXil MFS)在主机上建立一个在主机上建立一个MFS存储器镜像,该镜像并被存储器镜像,该镜像并被下载到嵌入式系统存储器。下载到嵌入式系统存储器。Platform Specification Utility自动产生微处理器外设定义自动产生微处理器外设定义MPD数据文件,该数据文件,该文件要求创建文件要求创建EDK兼容的制定外设。兼容的制定外设。XPS提供了集成环境为基于MicroBlaze和PowerPC处理器的嵌入式
12、处理器系统创建软件和硬件规范流程。XPS也提供编辑器和项目管理接口用来创建和编辑源代码。XPS提供工具流程配置选项的定制和提供图形化的系统编辑器用来连接处理器、外设和总线。XPS可以在Windows、Solaris和Linux平台下使用。从XPS中,设计人员可以运行所有的用于处理硬件和软件的嵌入式系统工具。在XPS环境下可以进行系统的验证。XPS提供下面的特性:(1)能够添加核,编辑核参数和进行总线和信号连接,产生MHS 文件;(2)能够产生和修改MSS文件;(3)支持表5.1内的所有工具;(4)能够产生和观察系统块图和设计报告;(5)多用户软件应用支持;(6)项目管理;(7)过程和工具流程依
13、赖管理;(8)输出MHS文件到SDK工具 SDK工具是XPS的补充,SDK为应用软件提供开发环境。SDK基于Eclipse开放源码标准。SDK主要有以下特点:(1)功能丰富的C/C+编辑器和编译环境;(2)导入基于XPS生成的硬件平台定义;(3)提供项目管理;(4)支持基于单个处理器或者多个处理器系统的软件应用程序的 开发;(5)支持以团队环境的形式开发软件应用程序;(6)为第三方的操作系统创建和配置板级支持包BSP;(7)提供现成的简单软件工程来测试硬件和软件功能;(8)通过GUI接口为软件应用程序、编程FPGA芯片和编 程并行flash存储器产生链接脚本;(9)应用程序的建立配置和自动的M
14、AKE文件生成;(10)错误浏览;(11)为无缝调试和概要分析目标提供了好的集成环境;BSB向导帮助设计人员快速建立一个嵌入式系统工程。对于更复杂的工程,BSB向导提供基本的系统,通过这个系统设计人员可以定制完成嵌入式设计。为了高效率的建立工程,Xilinx推荐使用BSB向导。基于设计人员选择的板子,设计人员通过BSB选择并配置基本的元素,比如:处理器类型、调试接口、缓存配置、存储器类型和大小、外设等。对于BSB不支持的目标系统,设计人员可以选择定制板选项。使用这个选项时,必须指定未来板子的硬件,并且要给出用户约束文件UCF。如果选择的是支持的目标板,BSB向导自动的加入UCF文件。当退出BS
15、B时,BSB所建立的MHS和MSS文件自动加入到XPS工程中,设计人员能在XPS中进行更进一步的设计。平台产生器Platgen将对嵌入式系统的高级描述编译成能在目标FPGA芯片上实现的HDL网表。嵌入式系统硬件平台典型的由一个或多个处理器和不同的外设和存储器模块组成,这些模块通过处理器总线连接。每个外设的IP核有很多的参数,通过调整这些参数来定制行为。这些参数也用来为这些存储器和外设进行地址映射。由于EDK提供可选择的特性,FPGA只需要实现应用程序所要求的功能子集。硬件平台保存了MHS文件。MHS文件是表示所设计的嵌入式系统的硬件元件的最主要文件。MHS文件以ASCII码形式存在。Platg
16、en读取MHS文件作为基本的设计输入。Platform也从EDK库和用户IP库中读取不同的处理器核硬件描述文件(MPD,PAO)。Platgen为嵌入式系统产生顶层HDL设计文件,该文件包含所有参数化了的IP核。在这个过程中,将MHS中所有高层总线连接变成连接处理器、外设和片上存储器的真实信号。它也调用XST编译器综合每个例化的IP核(Platgen产生的系统级网表也用来作为FPGA实现过程的一部分)。此外,Platgen也产生BMM(BRAM Memory Map)文件,该文件包含所用到的片上BRAM的地址。该向导帮助设计人员建立自己的外设并且将它们导入相应的XPS工程中。在创建模式下,创建
17、和输入外设向导建立很多文件,这些文件的一些是模板文件帮助设计人员实现外设,而不需要详细的知道总线协议,命名规则和特殊接口文件的格式。通过参考模板中的例子和使用不同的辅助设计支持文件,设计人员可以很快的进行逻辑定制。在导入模式下,该工具帮助设计人员建立接口文件和目录结构。对于这种操作模式,必须遵守EDK的命名规则。一旦导入完成,用户的定制外设在EDK外设库中可以使用。当创建或输入一个外设时,自动生成MPD(Microprocessor Peripheral Defination)文件和PAO(Peripheral Analyze Order)文件。MPD文件定义了外设的接口,PAO文件通知其它工
18、具(Platgen,Simgen),对外设需要编译哪个HDL文件和以什么样的顺序编译。如果设计中包含MicroBlaze和PowerPC处理器时,可以使用该向导。该向导添加和连接协处理器到CPU。协处理器是一个硬件模块用来实现用户在FPGA内定义的功能和通过FSL接口与处理器连接。FSL通道是一个专用的32位,点对点的通信接口。Libgen为嵌入式处理器系统配置库,设备驱动,文件系统和中断句柄,以及创建板级支持包BSP。嵌入式软件平台为每个处理器定义了系统内外设的驱动(板级支持包),可选择的库,标准的输入/输出设备,中断句柄例程和其它相关的软件特征。SDK工程进一步定义了运行在每个处理器上的软
19、件,这些软件基于BSP运行。来自于EDK安装的库和驱动,以及设计人员提供的定制库和驱动,SDK将用户程序,包括库和驱动程序编译成处理器硬件平台上可执行可链接的文件(Executable Linked Format,ELF)。Libgen读取选择的EDK库和不同的处理器核软件描述文件(Microprocessor Driver Defination,MDD)和驱动代码。XPS调用GNU编译工具用于编译和链接应用程序。1)对于MicroBlaze处理器的应用,XPS运行mb-gcc编译器;2)对于PowerPC处理器的应用,XPS运行powerpc-eabi-gcc编译器。编译器能读取C代码,头文
20、件和汇编代码。链接器将编译的程序和选择的库连接在一起产生ELF可执行文件。连接器也读取连接脚本(默认产生或用户产生)。设计人员可以使用指令集仿真器或者虚拟平台调试软件程序。XMD读ELF文件。对于调试物理的FPGA,XMD和FPGA通讯使用和FPGA下载相同的电缆。GNU调试器是个强大和灵活的工具,它为在不同的开发周期验证MicroBlaze和PowerPC系统提供了统一的调试和验证手段。GDB使用了XMD作为最基本的引擎和处理器目标通讯。仿真模型产生器Simgen为硬件产生和配置不同的模型。为产生行为模型,Simgen使用MHS文件作为基本的输入。为产生结构或时序模型,Simgen使用综合后
21、或布局布线后的设计数据库作为基本的输入。Simgen为每个处理器也读取嵌入式应用ELF文件去初始化片上存储器;这样处理器在仿真阶段就可以执行这些软件代码。CompEDKLib使用不同仿真工具厂商提供的仿真器编译EDK基于HDL的仿真库。这个工具可以运行在GUI和批处理模式下。在GUI模式下,允许设计人员使用CompXLib编译Xilinx的库和EDK中可以使用的库。虚拟平台是硬件系统的周期级的仿真模型。可以在主机上用虚拟平台来调试和评估软件应用代码,而不需要得到运行在原型板上的硬件。总线功能仿真简化了依附在总线上的硬件元件的验证。比特流初始化工具使用软件信息来初始化与处理器连接的片上BRAM存
22、储器。这个工具读取ISE工具产生的硬件比特流文件(system.bit),产生一个新的输出比特流文件(download.bit),这个比特流文件包含ELF文件。这个工具使用BMM文件,该文件由Platgen产生,通过使用每个BRAM块的物理的布局信息由ISE工具更新。在内部,比特流初始化工具Bitinit使用在ISE中提供的Data2MEM工具来更新比特流文件。从FPGA比特流中产生 Xilinx System ACE配置文件和ELF/数据文件。产生的ACE文件用于配置FPGA,初始化BRAM,使用有效的程序或数据初始化外部存储器和启动处理器。EDK提供了工具命令语言(Tool Command
23、 Language,Tcl)脚本,genace.tcl。该脚本使用XMD命令产生ACE文件。使用MDM系统可以为PowerPC或MicroBlaze产生ACE文件。编程解决方案被设计成通用的,面向不同的Flash硬件和布局。格式版本工具revup更新已经存在EDK工程到当前的版本。revup工具只执行格式的变化,对设计不进行更新。在应用revup前,备份MHS,MSS,XMP等文件。当使用新版本的EDK工具打开老版本的工程时,就会显示版本管理向导。当执行revup后,调用版本管理向导。向导提供有关设计中使用的Xilinx处理器IP核的变化信息。如果新版本的IP核可以使用,向导将升级到新的版本。
24、以文件句柄的形式提供管理程序存储器的能力。设计人员可以建立目录,并在目录中存放不同文件。文件系统能通过使用高级C语言进行函数调用来访问。平台规范工具能够自动产生建立IP核的MPD文件。通过建立和导入外设向导的帮助,能够使用这个工具提供的功能。硬件的产生是由平台产生器(Platform Generator,Platgen)生成。Platgen以硬件网表的形式(HDL和实现网表文件)建立片上可编程系统。Platgen使用MHS文件作为输入并建立硬件平台。除了以NGC、EDIF等网表文件格式外,Platgen为下面的工具和顶层的HDL封装提供支持文件,可以使设计者添加其它元件并且自动的产生硬件平台。
25、当运行Platgen时,FPGA的实现工具运行完成硬件的实现。典型的,XPS为实现工具调用项目管理器(Project Navigator)前端,用于控制实现过程。ISE流程结后,产生用于配置FPGA的比特流文件。这个比特流文件包括为FPGA片上BRAM的初始化信息。如果设计的代码或数据必须在启动时放在这些存储器时,Data2MEM工具使用包含在可执行文件内的代码/数据信息来更新比特流文件,这个可执行文件在软件应用程序建立和验证流程的结束时产生。图5.3给出了外设IP路径的结构。Platgen使用查找优先级机制来确定外设的位置:-lpboardsdriverspcoressw_services
展开阅读全文