Xilinx All ProgrammableZynq7000 SoC设计指南.ppt
《Xilinx All ProgrammableZynq7000 SoC设计指南.ppt》由会员分享,可在线阅读,更多相关《Xilinx All ProgrammableZynq7000 SoC设计指南.ppt(191页珍藏版)》请在三一办公上搜索。
1、Xilinx All ProgrammableZynq-7000 SoC设计指南,主 讲:何宾Email:,Xinlinx大学计划课程,2,可编程SoC设计导论-内容简介,系统概述 软核和硬核处理器,及片上可编程系统的发展背景、技术特点;设计方法 片上可编程系统设计流程、通用片上可编程系统优化技术和专用片上可编程系统优化技术;芯片 Xilinx公司支持片上可编程系统设计的主要芯片的种类和性能。,3,可编程SoC设计导论-可编程SoC系统概述,基于现场可编程门阵列(Field Programmable Gate Array,FPGA)的可编程片上系统(Programmable-System-on
2、-a-Chip,P-SoC),包含嵌入式的软核/硬核处理器、存储器和硬件加速器。可编程SoC(以下简称P-SoC)的出现为设计者提供了设计高性能嵌入式系统,以及对系统进行优化的条件。,注明 为了描述方便,书中所有P-SoC都是表示Xilinx的片上可编程系统。,4,可编程SoC设计导论-软核及硬核处理器,在基于软核和硬核处理器的SOPC系统中,本地存储器、处理器总线、内部外设、外设控制器和存储器控制器必须使用FPGA的通用逻辑实现。,可编程SoC嵌入式处理器分类:,软核处理器硬核处理器,5,软核及硬核处理器-软核处理器,通过使用FPGA片内的设计资源(比如:LUT、BRAM等)实现一个处理器称
3、为软核处理器。软核处理器通过HDL语言或网表进行描述,必须通过综合的过程才能使用。,6,使用硅片上专门的单元实现一个处理器称为硬核处理器,Xilinx将PowerPC硬核集成到Virtex-II Pro到Virtex-5系列的FPGA芯片中,以及将ARM公司的Cortex-A9硬核集成到最新的Zynq-7000系列的FPGA芯片中。,软核及硬核处理器-硬核处理器,7,Xilinx公司的软核和硬核处理器的性能,可编程SoC设计导论-软核及硬核处理器,8,“专用”,即对某个嵌入式系统的应用使用专门的解决方法。例如,数字信号处理器DSP用于解决某一类专门的数字信号处理。对于一些高容量的应用,设计人员
4、可能还需要专门开发ASIC芯片。,可编程SoC技术的发展-传统解决方法,9,需求 由于持续的要求嵌入式系统具有更多的功能、更好的性能和灵活性,因此传统上的设计方法已经不适应这种要求。问题 为了得到更高的处理性能,设计人员尝试通过使用高性能的嵌入式处理器,但是遇到了吞吐量和性能方面的限制。而这种限制源于系统和结构的瓶颈,以及存储器带宽的限制。,可编程SoC技术的发展-传统解决方法,10,灵活的解决方案,作为全球知名的可编程逻辑器件供应商,Xilinx将专用的嵌入式处理器PowerPC、Cortex-A9硬核处理器嵌入到了FPGA芯片中。这种集成了嵌入式处理器的FPGA芯片被定义成All Prog
5、rammable(全可编程)平台。,可编程SoC技术的发展-All Programmable(全可编程)平台,11,应用灵活 一个单FPGA芯片上提供了大量不同的IP软核和硬核资源,这些固件和硬件可以在任何时间进行升级。这种可编程的结构特点,大大缩短了系统的开发时间,而同一平台能应用在很多领域,提高了平台的资源复用率;,可编程SoC技术的发展-All Programmable(全可编程)平台,12,设计灵活,这种结构同时还使设计人员可以优化系统吞吐量和开发周期,提供前所未有的软件和硬件逻辑协同设计的灵活性,这种灵活性主要体现在设计人员能够权衡软件和硬件逻辑设计的实现方法。这种协同性不同于传统的
6、嵌入式系统的协同设计,虽然传统上也使用软件和硬件的协同设计,但是基本上还是大量地使用分离设计流程。,可编程SoC技术的发展-All Programmable(全可编程)平台,13,全可编程平台,即P-SoC平台集成了传统的软核/硬核处理器、片上总线、大量不同的I/O设备和接口标准、定制的硬件加速处理器,以及混合定制的总线或点对点的拓扑结构,以提高系统的性能。,可编程SoC技术的发展-All Programmable(全可编程)平台,14,在全可编程平台的设计层次上,可编程逻辑器件的应用领域已经扩展到了各个应用领域中。它不再是传统意义上用于连接不同接口设备的“连接逻辑”。嵌入式处理器和大量I/O
7、集成在单芯片内。因此,可编程逻辑器件就逐步地变成整个嵌入式系统最核心的部分。设计的复杂度也不断地提高,硬件和软件的协同设计在这个全可编程平台上显得非常重要。设计人员更多的是需要系统设计和系统结构方面的经验,尤其是系统建模的能力。,All Programmable(全可编程)平台-FPGA平台可编程SoC特点,15,P-SOC阶段,设计已经从以硬件描述语言HDL为中心的硬件设计,转换到了以C语言进行功能描述为中心。形成了以C语言描述P-SOC的功能,而用HDL语言描述硬件的具体实现方法。实现了软件和硬件的真正的协同设计。,All Programmable(全可编程)平台-FPGA平台可编程SoC
8、特点,16,定制 设计人员可以很灵活地选择所要连接的外设和控制器,设计出一个独一无二或者非标准的外设。延缓过时 基于FPGA的软核处理器可以充分的满足产品长期供货的要求。降低元件成本 FPGA平台嵌入式系统可以减少元件数量,减少电路板尺寸。硬件加速 P-SOC能在硬件和软件之间进行权衡,使嵌入式系统达到最大的效率和性能。将软件瓶颈转向硬件处理。,FPGA平台可编程SoC特点-优点,17,设计复杂 复杂度高,软件设计工具相对传统设计工具还需要改进。器件成本稍高 采用专用的嵌入式平台比采用基于FPGA的嵌入式平台成本要低。随着P-SOC技术的进一步发展,和制造工艺的不断更新,相信在不久的将来,缺点
9、将会有所克服。,FPGA平台可编程SoC特点-缺点,18,可编程SoC设计导论-Xilinx可编程SoC设计流程,19,基于全可编程平台的嵌入式系统的开发,采用Xilinx提供的嵌入式设计套件(Embedded Design Kit,EDK)实现。,Xilinx可编程SoC设计流程-开发工具,20,基于EDK的设计流程就是一个软件和硬件协同处理和设计的过程。软件流程完成C语言代码的编写、编译和链接过程。硬件流程完成HDL设计输入、综合、仿真和实现过程。,Xilinx可编程SoC设计流程-开发工具,21,Data2MEM工具 该工具能将C语言生成的ELF(Executable and Linka
10、ble Format)文件代码插入生成的FPGA比特流文件中,将其生成能够下载到FPGA中,并能启动的映像文件。,Xilinx可编程SoC设计流程-开发工具,22,JTAG连接技术 完成FPGA下载和调试、C语言代码下载和软件调试。,软件和硬件调试工具 使它们之间可以相互触发,这使得嵌入式系统内部变成“可见”,使嵌入式设计者能很快地找到和发现问题,以便对发生问题的“软件”或者“硬件”进行快速的“定位”。,Xilinx可编程SoC设计流程-开发工具,23,硬件平台 是由一个或多个处理器或外设连接到处理器总线构成的。是指设计人员根据应用的需要而使用Xilinx的技术建立的灵活地、嵌入式处理子系统。
11、MHS文件 硬件平台EDK通过微处理器硬件规范(Microprocessor Hardware Specification,MHS)文件记录硬件平台信息。,Xilinx可编程SoC设计流程-硬件平台建立工具,24,软件平台 是软件驱动和用于建立应用程序的操作系统(可选)组成的。所建立的软件映像文件只包含用户所使用到的一部分Xilinx的库。MSS文件 EDK通过微处理器软件规范(Microprocessor Software Spectifcation,MSS)记录软件平台信息。设计人员可以在软件平台运行多个应用程序。,Xilinx可编程SoC设计流程-软件平台建立工具,25,验证硬件平台的正
12、确功能,设计人员可以建立一个仿真模型,并且在HDL仿真器上运行。当仿真系统时,处理器运行可执行文件。设计人员可以选择建立行为、结构或者精确的时序仿真模型。,Xilinx可编程SoC设计流程-仿真工具,26,调试嵌入式软件的基本技术 是加载设计到所支持的 开发板和使用调试工具去调试处理器。指令集仿真器或简化系统仿真器模型 作为可选择的方式,设计人员可以将其运行在主机上来调试设计代码。概要分析代码 设计人员可以通过的执行概要分析来估计系统性能。,Xilinx可编程SoC设计流程-调试工具,27,可配置的比特文件 对于原型设计,当连接主机和芯片时,设计者可以在下载比特流时,将希望运行在嵌入式平台上的
13、软件同时下载。存储器配置文件 对于产品,设计人员将配置比特流和软件保存在和FPGA连接的非易失性存储器中。,Xilinx可编程SoC设计流程-配置工具,28,Xilinx可编程SoC设计流程-设计工具套件,29,Xilinx可编程SoC设计流程-设计工具套件,30,Xilinx可编程SoC设计流程-设计工具套件,31,Xilinx可编程SoC设计流程-设计工具套件,32,Xilinx可编程SoC设计流程-设计工具套件,33,Xilinx可编程SoC设计流程-设计工具套件,34,Xilinx可编程SoC设计流程-设计工具套件,35,Xilinx平台工作室(Xilinx Platform Stud
14、io,XPS)为基于MicroBlaze、PowerPC和Cortex-A9处理器的嵌入式处理器系统提供了集成开发环境。XPS也提供编辑器和项目管理接口用来创建和编辑源代码。XPS提供工具流程配置选项的定制和提供图形化的系统编辑器用来连接处理器、外设和总线。从XPS中,设计人员可以运行所有的用于处理硬件和软件的嵌入式系统工具。,可编程SoC开发工具概述-Xilinx平台工作室,36,能够添加核,编辑核参数和进行总线和信号连接,产生MHS文件。能够产生和修改MSS文件。支持上面表格内的所有工具。能够产生和观察系统块图和设计报告。提供工程管理支持。过程和工具流程依赖管理。输出MHS文件到SDK工具
15、中。,Xilinx平台工作室XPS-特性,37,SDK开发工具 Xilinx软件开发工具Xilinx Software Development Kit(SDK)为应用软件提供开发环境。SDK基于Eclipse开放源码标准。,可编程SoC开发工具概述-Xilinx软件开发工具,38,功能丰富的C/C+编辑器和编译环境。导入基于XPS生成的硬件平台定义。提供项目管理。支持基于单个处理器或者多个处理器系统的软件应用程序的开发。支持以团队环境的形式开发软件应用程序。为第三方的操作系统创建和配置板级支持包BSP。,Xilinx软件开发工具-特点,39,提供现成的简单软件工程来测试硬件和软件功能。通过GU
16、I接口为软件应用程序、编程FPGA芯片和编程并行Flash存储器产生链接脚本。应用程序的建立配置和自动的MAKE文件生成。错误浏览。为无缝调试和概要分析目标提供了好的集成环境。,Xilinx软件开发工具-特点,40,基本系统建立向导(Base System Builder,BSB),帮助设计人员快速建立一个嵌入式系统工程。对于更复杂的工程,BSB向导提供基本的系统,通过这个系统设计人员可以定制完成嵌入式设计。注:为了高效率地建立工程,Xilinx推荐使用BSB向导。,可编程SoC开发工具概述-基本系统建立向导,41,基于设计人员选择的板子,设计人员通过BSB选择并配置嵌入式系统的基本元素。对于
17、BSB不支持的目标系统,设计人员可以选择定制板选项。使用这个选项时,必须指定未来板子的硬件,并且要给出用户约束文件UCF。如果选择的是支持的目标板,BSB向导自动的加入UCF文件。注:当退出BSB时,BSB所建立的MHS文件自动加入到XPS工程中,设计人员能在XPS中进行更进一步的设计。,可编程SoC开发工具概述-基本系统建立向导,42,平台生成器 将对嵌入式系统的高级描述编译成能在目标FPGA芯片上实现的HDL网表。嵌入式系统硬件平台 由一个或多个处理器和不同的外设和存储器模块组成。通过处理器总线,将这些模块连接在一起。IP核配置 每个外设的IP核有很多参数,通过调整这些参数来定制所要求的逻
18、辑行为。这些参数也用来为这些存储器和外设进行地址映射。,可编程SoC开发工具概述-平台生成器,43,MHS文件 硬件平台的描述保存在。MHS文件是用于表示所设计的嵌入式系统的硬件元件最重要的文件。MHS文件以ASCII码形式存在。平台生成器读取MHS文件,将其作为最基本的设计输入。MPD和PAO文件 平台生成器也从EDK库和用户IP库中读取不同的处理器核硬件描述文件。平台生成器为嵌入式系统产生顶层HDL设计文件,该文件包含所有参数化了的IP核。,可编程SoC开发工具概述-平台生成器,44,平台生成器功能 在生成平台的过程中,将MHS中所有高层总线连接变成连接处理器、外设和片上存储器的真实信号。
19、平台生成器也调用XST编译器,对每个例化的IP核(平台生成器产生的系统级网表也被用作实现FPGA过程的一部分)进行综合。此外,平台生成器也产生块存储器映射(BRAM Memory Map,BMM)文件,该文件包含所用到的片上BRAM的地址。,可编程SoC开发工具概述-平台生成器,45,该向导帮助设计人员建立自己的外设,并且能够将它们导入相应的XPS工程中。,创建模式 创建和输入外设向导建立很多文件。这些文件中的一部分文件是模板文件。通过参考模板,设计人员可以很快的进行逻辑定制。导入模式 该工具帮助设计人员建立接口文件和目录结构。一旦导入完成,在EDK外设库中可以使用用户定制的外设。,可编程So
20、C开发工具概述-建立和导入IP向导,46,MPD和PAO文件 当创建或导入一个外设时,自动生成微处理器外设定义文件(Microprocessor Peripheral Defination,MPD)和外设分析命令(Peripheral Analyze Order,PAO)文件。MPD文件定义了外设的接口。PAO文件通知其它工具,对于选定的外设需要编译哪个HDL文件,以及用什么样的顺序编译。,可编程SoC开发工具概述-建立和导入IP向导,47,当设计中包含MicroBlaze、PowerPC或者Cortex-A9处理器时,可以使用该向导。协处理器是一个硬件模块,用来实现用户在FPGA内定义的功能
21、,并且通过FSL或者AXI-Stream接口与处理器连接。该向导通过FSL或者AXI-Stream点对点通道添加和连接协处理器到CPU。,可编程SoC开发工具概述-配置协处理器向导,48,库生成器(Library Generator,Libgen)为嵌入式处理器系统配置库、设备驱动、文件系统、中断句柄和创建板级支持包BSP。嵌入式软件平台为每个处理器定义了系统内外设的驱动,即:板级支持包、可选择的库、标准的输入/输出设备、中断句柄例程和其它相关的软件特征。SDK工程进一步定义了运行在每个处理器上的软件,这些软件基于BSP运行。,可编程SoC开发工具概述-库生成器,49,基于来自于EDK安装的库
22、、驱动和设计人员提供的定制库和驱动,SDK将用户程序,其中包括:库和驱动程序,编译成硬件平台上处理器可执行可链接格式(Executable Linked Format,ELF)文件。库生成器读取所选择的EDK库、不同的处理器驱动定义文件(Microprocessor Driver Defination,MDD)和相关的驱动代码。,可编程SoC开发工具概述-库生成器,50,GNU编译工具用于编译和链接应用程序。对于MicroBlaze处理器的应用,运行mb-gcc编译器;对于PowerPC处理器的应用,XPS运行powerpc-eabi-gcc编译器;对于ARM处理器的应用,XPS运行arm-e
23、abi-gcc编译器。,可编程SoC开发工具概述-GNU编译工具,可编程SoC开发工具概述-GNU编译工具,编译器能读取C代码、头文件和汇编代码。链接器将编译的程序和选择的库连接在一起产生ELF文件。链接器也读取链接脚本(默认产生或用户产生)。,52,设计人员可以使用指令集仿真器或者虚拟平台调试软件程序。Xilinx微处理器调试器(Xilinx Microprocessor Debugger,XMD)读取ELF文件。对于调试物理的FPGA,XMD和FPGA通信使用和下载FPGA相同的电缆。,可编程SoC开发工具概述-微处理器调试器,53,GNU调试器GDB是个强大和灵活的工具。它为在不同的开发
24、周期验证MicroBlaze、PowerPC和Cortex-A9系统提供了统一的调试和验证手段。GDB使用了XMD作为最基本的引擎与处理器目标通讯。,可编程SoC开发工具概述-GNU调试器,54,仿真模型生成器(Simulation Model Generator,Simgen)为硬件产生和配置不同的模型。生成行为模型 仿真模型生成器使用MHS文件作为基本的输入。生成结构或时序模型 仿真模型生成器使用综合后或布局布线后的设计数据库作为基本的输入。,可编程SoC开发工具概述-仿真模型生成器,55,仿真库编译器Simulation Library Compiler(CompEDKLib)使用不同仿
25、真工具厂商提供的仿真器编译EDK基于HDL的仿真库。这个工具可以运行在GUI和批处理模式下。在GUI模式下,允许设计人员使用CompXLib编译Xilinx的库和EDK中可以使用的库。,可编程SoC开发工具概述-仿真库编译器,56,总线功能模型编译器(Bus Functional Model Compiler,BFM)的总线功能仿真简化了依附在总线上的硬件元件的验证。,可编程SoC开发工具概述-总线功能模型编译器,57,这个工具读取ISE工具产生的硬件比特流文件(system.bit),产生一个新的输出比特流文件(download.bit),这个比特流文件包含ELF文件。这个工具使用平台生成器
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Xilinx All ProgrammableZynq7000 SoC设计指南 SoC 设计 指南
链接地址:https://www.31ppt.com/p-2312461.html