分享
分享赚钱 收藏 举报 版权申诉 / 191

类型Xilinx All ProgrammableZynq-7000 SoC设计指南.ppt

  • 上传人:oil007
  • 文档编号:3494084
  • 上传时间:2018-11-05
  • 格式:PPT
  • 页数:191
  • 大小:2.71MB
  • 配套讲稿:

    如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

    特殊限制:

    部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

    关 键  词:
    Xilinx All ProgrammableZynq-7000 SoC设计指南.ppt
    资源描述:

    1、Xilinx All Programmable Zynq-7000 SoC设计指南,主 讲:何宾 Email: ,Xinlinx大学计划课程,2,可编程SoC设计导论 -内容简介,系统概述软核和硬核处理器,及片上可编程系统的发展背景、技术特点; 设计方法片上可编程系统设计流程、通用片上可编程系统优化技术和专用片上可编程系统优化技术; 芯片Xilinx公司支持片上可编程系统设计的主要芯片的种类和性能。,3,可编程SoC设计导论 -可编程SoC系统概述,基于现场可编程门阵列(Field Programmable Gate Array, FPGA)的可编程片上系统 (Programmable- Sy

    2、stem-on-a-Chip,P-SoC),包含嵌入式的软核/硬核处理器、存储器和硬件加速器。可编程SoC(以下简称P-SoC)的出现为设计者提供了设计高性能嵌入式系统,以及对系统进行优化的条件。,注明 为了描述方便,书中所有P-SoC都是表示Xilinx的片上可编程系统。,4,可编程SoC设计导论 -软核及硬核处理器,在基于软核和硬核处理器的SOPC系统中,本地存储 器、处理器总线、内部外设、外设控制器和存储器控制器 必须使用FPGA的通用逻辑实现。,可编程SoC嵌入式处理器分类:,软核处理器 硬核处理器,5,软核及硬核处理器 -软核处理器,通过使用FPGA片内的设计资源(比如:LUT、 B

    3、RAM等)实现一个处理器称为软核处理器。软核处 理器通过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芯片中。这种集成了嵌入式处理器

    5、的FPGA芯片被定义成All Programmable(全可编程)平台。,可编程SoC技术的发展 -All Programmable(全可编程)平台,11,应用灵活一个单FPGA芯片上提供了大量不同的IP软核和硬核资源,这些固件和硬件可以在任何时间进行升级。这种可编程的结构特点,大大缩短了系统的开发时间,而同一平台能应用在很多领域,提高了平台的资源复用率;,可编程SoC技术的发展 -All Programmable(全可编程)平台,12,设计灵活,这种结构同时还使设计人员可以优化系统吞吐量和开发周期,提供前所未有的软件和硬件逻辑协同设计的灵活性,这种灵活性主要体现在设计人员能够权衡软件和硬件逻

    6、辑设计的实现方法。这种协同性不同于传统的嵌入式系统的协同设计,虽然传统上也使用软件和硬件的协同设计,但是基本上还是大量地使用分离设计流程。,可编程SoC技术的发展 -All Programmable(全可编程)平台,13,全可编程平台,即P-SoC平台集成了传统的软核/硬核处理器、片上总线、大量不同的I/O设备和接口标准、定制的硬件加速处理器,以及混合定制的总线或点对点的拓扑结构,以提高系统的性能。,可编程SoC技术的发展 -All Programmable(全可编程)平台,14,在全可编程平台的设计层次上,可编程逻辑器件的应用领域已经扩展到了各个应用领域中。它不再是传统意义上用于连接不同接口

    7、设备的“连接逻辑”。嵌入式处理器和大量I/O集成在单芯片内。因此,可编程逻辑器件就逐步地变成整个嵌入式系统最核心的部分。设计的复杂度也不断地提高,硬件和软件的协同设计在这个全可编程平台上显得非常重要。设计人员更多的是需要系统设计和系统结构方面的经验, 尤其是系统建模的能力。,All Programmable(全可编程)平台-FPGA平台可编程SoC特点,15,P-SOC阶段,设计已经从以硬件描述语言HDL为中心的硬件设计,转换到了以C语言进行功能描述为中心。形成了以C语言描述P-SOC的功能,而用HDL语言描述硬件的具体实现方法。实现了软件和硬件的真正的协同设计。,All Programmab

    8、le(全可编程)平台-FPGA平台可编程SoC特点,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语

    10、言生成的ELF(Executable and Linkable Format)文件代码插入生成的FPGA比特流文件中,将其生成能够下载到FPGA中,并能启动的映像文件。,Xilinx可编程SoC设计流程 -开发工具,22,JTAG连接技术完成FPGA下载和调试、C语言代码下载和软件调试。,软件和硬件调试工具使它们之间可以相互触发,这使得嵌入式系统内部变成“可见”,使嵌入式设计者能很快地找到和发现问题,以便对发生问题的“软件”或者“硬件”进行快速的“定位”。,Xilinx可编程SoC设计流程 -开发工具,23,硬件平台是由一个或多个处理器或外设连接到处理器总线构成的。是指设计人员根据应用的需要而

    11、使用Xilinx的技术建立的灵活地、嵌入式处理子系统。 MHS文件硬件平台EDK通过微处理器硬件规范(Microprocessor Hardware Specification,MHS)文件记录硬件平台信息。,Xilinx可编程SoC设计流程 -硬件平台建立工具,24,软件平台是软件驱动和用于建立应用程序的操作系统(可选)组成的。所建立的软件映像文件只包含用户所使用到的一部分Xilinx的库。 MSS文件EDK通过微处理器软件规范(Microprocessor Software Spectifcation,MSS)记录软件平台信息。设计人员可以在软件平台运行多个应用程序。,Xilinx可编程S

    12、oC设计流程 -软件平台建立工具,25,验证硬件平台的正确功能,设计人员可以建立一个仿真模型,并且在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设计流程 -设计工具套

    14、件,35,Xilinx平台工作室 (Xilinx Platform Studio,XPS)为基 于MicroBlaze、PowerPC和Cortex-A9处理器的嵌入式处理器系 统提供了集成开发环境。 XPS也提供编辑器和项目管理接口用来创建和编辑源代码。 XPS提供工具流程配置选项的定制和提供图形化的系统编辑器用来连接处理器、外设和总线。 从XPS中,设计人员可以运行所有的用于处理硬件和软件的嵌入式系统工具。,可编程SoC开发工具概述 -Xilinx平台工作室,36,能够添加核,编辑核参数和进行总线和信号连接,产生MHS文件。 能够产生和修改MSS文件。 支持上面表格内的所有工具。 能够产生

    15、和观察系统块图和设计报告。 提供工程管理支持。 过程和工具流程依赖管理。 输出MHS文件到SDK工具中。,Xilinx平台工作室XPS -特性,37,SDK开发工具Xilinx软件开发工具Xilinx Software Development Kit(SDK)为应用软件提供开发环境。SDK基于Eclipse开放源码标准。,可编程SoC开发工具概述 -Xilinx软件开发工具,38,功能丰富的C/C+编辑器和编译环境。 导入基于XPS生成的硬件平台定义。 提供项目管理。 支持基于单个处理器或者多个处理器系统的软件应用程序的开发。 支持以团队环境的形式开发软件应用程序。 为第三方的操作系统创建和配

    16、置板级支持包BSP。,Xilinx软件开发工具 -特点,39,提供现成的简单软件工程来测试硬件和软件功能。 通过GUI接口为软件应用程序、编程FPGA芯片和编程并行Flash存储器产生链接脚本。 应用程序的建立配置和自动的MAKE文件生成。 错误浏览。 为无缝调试和概要分析目标提供了好的集成环境。,Xilinx软件开发工具 -特点,40,基本系统建立向导(Base System Builder,BSB) ,帮助设计人员快速建立一个嵌入式系统工程。对于更复杂的工程,BSB向导提供基本的系统,通过这个系统设计人员可以定制完成嵌入式设计。注:为了高效率地建立工程,Xilinx推荐使用BSB向导。,可

    17、编程SoC开发工具概述 -基本系统建立向导,41,基于设计人员选择的板子,设计人员通过BSB选择并配置嵌入式系统的基本元素。对于BSB不支持的目标系统,设计人员可以选择定制板选项。使用这个选项时,必须指定未来板子的硬件,并且要给出用户约束文件UCF。 如果选择的是支持的目标板,BSB向导自动的加入UCF文件。注:当退出BSB时,BSB所建立的MHS文件自动加入到XPS工程中,设计人员能在XPS中进行更进一步的设计。,可编程SoC开发工具概述 -基本系统建立向导,42,平台生成器将对嵌入式系统的高级描述编译成能在目标FPGA芯片上实现的HDL网表。 嵌入式系统硬件平台由一个或多个处理器和不同的外

    18、设和存储器模块组成。通过处理器总线,将这些模块连接在一起。 IP核配置每个外设的IP核有很多参数,通过调整这些参数来定制所要求的逻辑行为。这些参数也用来为这些存储器和外设进行地址映射。,可编程SoC开发工具概述 -平台生成器,43,MHS文件硬件平台的描述保存在。MHS文件是用于表示所设计的嵌入式系统的硬件元件最重要的文件。MHS文件以ASCII码形式存在。平台生成器读取MHS文件,将其作为最基本的设计输入。 MPD和PAO文件平台生成器也从EDK库和用户IP库中读取不同的处理器核硬件描述文件。平台生成器为嵌入式系统产生顶层HDL设计文件,该文件包含所有参数化了的IP核。,可编程SoC开发工具

    19、概述 -平台生成器,44,平台生成器功能 在生成平台的过程中,将MHS中所有高层总线连接变成连接处理器、外设和片上存储器的真实信号。平台生成器也调用XST编译器,对每个例化的IP核(平台生成器产生的系统级网表也被用作实现FPGA过程的一部分)进行综合。此外,平台生成器也产生块存储器映射(BRAM Memory Map,BMM)文件,该文件包含所用到的片上BRAM的地址。,可编程SoC开发工具概述 -平台生成器,45,该向导帮助设计人员建立自己的外设,并且能够将它们导入相应的XPS工程中。,创建模式创建和输入外设向导建立很多文件。这些文件中的一部分文件是模板文件。通过参考模板,设计人员可以很快的

    20、进行逻辑定制。 导入模式该工具帮助设计人员建立接口文件和目录结构。一旦导入完成,在EDK外设库中可以使用用户定制的外设。,可编程SoC开发工具概述 -建立和导入IP向导,46,MPD和PAO文件 当创建或导入一个外设时,自动生成微处理器外设定义文件(Microprocessor Peripheral Defination,MPD)和外设分析命令(Peripheral Analyze Order,PAO)文件。MPD文件定义了外设的接口。PAO文件通知其它工具,对于选定的外设需要编译哪个HDL文件,以及用什么样的顺序编译。,可编程SoC开发工具概述 -建立和导入IP向导,47,当设计中包含Mic

    21、roBlaze、PowerPC或者Cortex-A9处理器时,可以使用该向导。协处理器是一个硬件模块,用来实现用户在FPGA内定义的功能,并且通过FSL或者AXI-Stream接口与处理器连接。该向导通过FSL或者AXI-Stream点对点通道添加和连接协处理器到CPU。,可编程SoC开发工具概述 -配置协处理器向导,48,库生成器(Library Generator,Libgen)为嵌入式处理器系统配置库、设备驱动、文件系统、中断句柄和创建板级支持包BSP。嵌入式软件平台为每个处理器定义了系统内外设的驱动,即:板级支持包、可选择的库、标准的输入/输出设备、中断句柄例程和其它相关的软件特征。S

    22、DK工程进一步定义了运行在每个处理器上的软件,这些软件基于BSP运行。,可编程SoC开发工具概述 -库生成器,49,基于来自于EDK安装的库、驱动和设计人员提供的定制库和驱动,SDK将用户程序,其中包括:库和驱动程序,编译成硬件平台上处理器可执行可链接格式(Executable Linked Format,ELF)文件。库生成器读取所选择的EDK库、不同的处理器驱动定义文件(Microprocessor Driver Defination, MDD)和相关的驱动代码。,可编程SoC开发工具概述 -库生成器,50,GNU编译工具用于编译和链接应用程序。 对于MicroBlaze处理器的应用,运行

    23、mb-gcc编译器; 对于PowerPC处理器的应用,XPS运行powerpc-eabi-gcc编译器; 对于ARM处理器的应用,XPS运行arm-eabi-gcc编译器。,可编程SoC开发工具概述 -GNU编译工具,可编程SoC开发工具概述 -GNU编译工具,编译器 能读取C代码、头文件和汇编代码。 链接器 将编译的程序和选择的库连接在一起产生ELF文件。链接器也读取链接脚本(默认产生或用户产生)。,52,设计人员可以使用指令集仿真器或者虚拟平台调试软件程序。Xilinx微处理器调试器(Xilinx Microprocessor Debugger,XMD)读取ELF文件。对于调试物理的FPG

    24、A,XMD和FPGA通信使用和下载FPGA相同的电缆。,可编程SoC开发工具概述 -微处理器调试器,53,GNU调试器GDB是个强大和灵活的工具。它为在不同的开发周期验证MicroBlaze、PowerPC和Cortex-A9系统提供了统一的调试和验证手段。GDB使用了XMD作为最基本的引擎与处理器目标通讯。,可编程SoC开发工具概述 -GNU调试器,54,仿真模型生成器(Simulation Model Generator,Simgen)为硬件产生和配置不同的模型。 生成行为模型仿真模型生成器使用MHS文件作为基本的输入。 生成结构或时序模型仿真模型生成器使用综合后或布局布线后的设计数据库作

    25、为基本的输入。,可编程SoC开发工具概述 -仿真模型生成器,55,仿真库编译器Simulation Library Compiler(CompEDKLib)使用不同仿真工具厂商提供的仿真器编译EDK基于HDL的仿真库。这个工具可以运行在GUI和批处理模式下。在GUI模式下,允许设计人员使用CompXLib编译Xilinx的库和EDK中可以使用的库。,可编程SoC开发工具概述 -仿真库编译器,56,总线功能模型编译器(Bus Functional Model Compiler,BFM)的总线功能仿真简化了依附在总线上的硬件元件的验证。,可编程SoC开发工具概述 -总线功能模型编译器,57,这个工

    26、具读取ISE工具产生的硬件比特流文件(system.bit),产生一个新的输出比特流文件(download.bit),这个比特流文件包含ELF文件。 这个工具使用平台生成器生成的BMM文件,使用由ISE工具所更新的每个BRAM块的物理布局信息。在内部,比特流初始化工具使用在ISE中提供的Data2MEM工具,更新比特流文件。,可编程SoC开发工具概述 -比特流初始化器,58,系统ACE文件生成器(System ACE File Generator,Gen ACE)从FPGA比特流中生成 Xilinx System ACE配置文件和ELF/数据文件。所生成的ACE文件用于配置FPGA和初始化BR

    27、AM。,可编程SoC开发工具概述 -系统ACE文件生成器,59,ACE文件的生成方法 通过使用有效的程序或数据,初始化外部存储器和启动处理器。EDK提供了工具命令语言(Tool Command Language,Tcl)脚本genace.tcl,该脚本使用XMD命令来生成ACE文件。注:也使用MDM系统可以为PowerPC、MicroBlaze和Cortex-A9产生ACE文件。,可编程SoC开发工具概述 -系统ACE文件生成器,60,Flash存储器编程器(Flash Memory Programmer,FMP)编程解决方案被设计成通用的,面向不同的Flash硬件和布局。,可编程SoC开发工

    28、具概述 -Flash存储器编程器,61,格式修改工具(Format Revision,revup)将已经存在的EDK工程更新到当前的版本。格式修改工具只执行格式的变化,对设计不进行更新。在应用格式修改工具前,备份MHS,MSS,XMP等文件。当使用新版本的EDK工具打开老版本的工程时,就会显示版本管理向导(Version Management Wizard)。当执行格式修改后,调用版本管理向导。向导提供有关设计中所使用的相关IP核的变化信息。如果可以使用新版本的IP核,向导将IP核升级到新的版本。,可编程SoC开发工具概述 -格式修改工具和版本管理向导,62,LibXil存储器文件系统生成器(

    29、LibXil Memory File System Generator,LibXil MFS)以文件句柄的形式提供对程序存储器管理的能力。设计人员可以建立目录,并在目录中存放不同文件。通过使用高级C语言进行函数调用,来访问文件系统。,可编程SoC开发工具概述 -LibXil存储器文件系统生成器,63,平台规范工具(Platform Specification Utility)能够自动产生建立IP核的MPD文件。通过建立和导入外设向导的帮助,能够使用这个工具所提供的功能。,可编程SoC开发工具概述 -平台规范工具,64,Zynq-7000系列基于Xilinx的可扩展处理平台Extensible

    30、Processing Platform,EPP)结构,该结构在单芯片内集成了基于具有丰富特点的双核ARM Cortex-A9多核处理器的处理系统(Processing System,PS)和Xilinx可编程逻辑(Programmable Logic,PL)。双核ARM Cortex-A9多核CPU是PS的“心脏”,其包含片上存储器、外部存储器接口和一套丰富的I/O外设。,Xilinx可扩展处理平台导论 - Zynq-7000系列概述,65,基于最新的高性能低功耗(High Performance Low Power,HPL)的28nm、高k金属栅极(High-k Metal Gate,HKM

    31、G)工艺。,Xilinx可扩展处理平台导论 - Zynq-7000系列工艺,66,FPGA的灵活性和可扩展性。 专用集成电路(Application-Specific Integrated Circuit,ASIC)相关的性能、功耗和易用性。 专用标准产品(Appciation-Specific Standard Product,ASSP)相关的性能、功耗和易用性。,Xilinx可扩展处理平台导论 - Zynq-7000平台特性,67,汽车驾驶员辅助系统,驾驶员信息系统和娱乐系统 广播级的摄像机 工业的电机控制,工业组网和机器视觉 IP和智能相机 LTE的无线和基带 医疗诊断和成像 多功能打印

    32、机 视频和夜视装备,Xilinx可扩展处理平台导论 - Zynq-7000应用领域,68,1. 将定制逻辑和软件分别映射到PL和PS中。这样就可实现独一无二和差异化的系统功能。带有PL的PS的EPP系统集成提供了两片解决方案(比如:ASSP和FPGA),从而达到了由于I/O带宽、松散耦合和功耗预算所不能达到的性能。,Xilinx可扩展处理平台导论 - Zynq-7000优点,69,2. 丰富的设计资源Xilinx和他的合作伙伴为Zynq-7000提供了大量的软IP核模块。来自Xilinx的单机和Linux设备驱动程序可用于PS和PL内的外设。此外, Xilinx合作伙伴为EPP平台提供了其它操

    33、作系统和板级支持包BSP。ISE设计套件的嵌入式开发环境能够为软件、硬件和系统工程师进行快速的产品开发。同时,可以使用很多其它的第三方软件开发工具。,Xilinx可扩展处理平台导论 - Zynq-7000优点,70,3. PS内的处理器总是最先启动,这样允许以“软件”为中心的方法,用于系统的启动和PL的配置。可以将PL配置成启动过程的一部分或者在将来的某一点上进行配置。此外,PL可以完全的重配置或者用于部分的、动态地可重配置(Partional Reconfiguration,PR)。PR允许动态配置PL的一部分。这样使得对设计进行动态的修改,比如:更新系数或者通过切换到一个新的算法,时分复用

    34、PL资源。这个能力用于模拟动态加载和卸载软件模块。PL的配置数据作为比特流。,Xilinx可扩展处理平台导论 - Zynq-7000优点,Xilinx可扩展处理平台导论 -Zynq-7000系统的功能块构成,72,处理系统(Processing System,PS),应用处理器单元(Application Processor Unit,APU) 存储器接口 I/O外设 互联,Xilinx可扩展处理平台导论 -Zynq-7000系统的功能块构成,73,可编程逻辑(Programmable Logic,PL)PL采用了Xilinx的7系列的FPGA技术,Artix-7用于Z-7010/Z-7020

    35、 Kintex-7用于Z-7030和Z-7045,Xilinx可扩展处理平台导论 -Zynq-7000系统的功能块构成,74,PL包含很多不同类型的资源,可配置的逻辑块(Configurable Logic Block,CLB)。 端口和宽度可配置的块存储器BRAM。 带有25x18乘法器、48比特的累加器和预加法器的DSP切片(DSP48E1)。 一个用户可以配置的模拟-数字转换器(XADC)。 时钟管理单元(Clock Management Tiles,CMT)。 用于加密的带有256b AES的模块和用于鉴别的带有SHA的模块。,Xilinx可扩展处理平台导论 -Zynq-7000系统的

    36、功能块构成,75,紧密或者松散地耦合通过使用多个接口和其它信号连在一起,可以实现超过3000个连接。设计者能在PL结构中有效地集成处理器可以访问的、用户所创建的硬件加速器和其它功能,并且可以访问处理系统内的存储器资源。,Xilinx可扩展处理平台导论 -Zynq-7000系统的功能块构成,76,PS的I/O资源包含静态/Flash存储器接口 可以共享一个54引脚的多路复用I/O(Multiplexed I/O,MIO)。Zynq-7000器件也包含通过使用可扩展的多路复用I/O(Extended Multiplexed I/O,EMIO)使用I/O的能力,这些I/O是PL域的一部分,用于大量的

    37、PS的I/O外设。,Xilinx可扩展处理平台导论 -Zynq-7000系统的功能块构成,77,系统包含很多类型的安全、测试和调试特性 Zynq-7000 EPP能采用安全和不安全的方式启动。PL能使用安全和不安全的方式配置比特流。所有这些使用了256位的三重数据加密和SHA鉴别模块,这些模块是PL的一部分。,Xilinx可扩展处理平台导论 -Zynq-7000系统的功能块构成,78,启动过程分为多个阶段,最少包含启动ROM和第一级的启动引导代码(First-Stage Boot Loader,FSBL)。Zynq-7000 EPP包含一个厂商可编程的启动ROM(用户不可以访问)。启动ROM确

    38、定启动是否安全,执行系统的初始化,读模式引脚以确认用于引导启动器件的设备,一旦完成,则执行FSBL。,Xilinx可扩展处理平台导论 -Zynq-7000系统的功能块构成,79,当复位Zynq-7000系统后,系统自动从所选择的外部启动设备中按顺序初始化系统,以及处理第一阶段的启动引导程序。在这个过程中根据需要,用户配置Zynq-7000内的PS和PL。可选择JTAG接口,使设计工程师能访问Zynq内的PS和PL,用于对系统进行测试和调试。,Xilinx可扩展处理平台导论 -Zynq-7000系统的功能块构成,80,设计者可以选择关闭PL一侧的电源,用于降低功耗。此外,可以动态地降低或者关闭P

    39、S内的时钟,以进一步的降低功耗Zynq-7000平台支持ARM所提供的休眠模式,以消耗最小的功率。当某个事件发生时,仍然可以唤醒它。,Xilinx可扩展处理平台导论 -Zynq-7000系统的功能块构成,81,Xilinx可扩展处理平台导论 -Zynq-7000系统的功能块构成,注意:Zynq-7000内各个元素的描述是从PS的角度出发的。比如:在PS上一个到PL的通用从接口,表示主设备在PL。一个高性能的从接口表示高性能的主设备存在于PL中。一个通用的主接口表示PS是主设备,从设备存在于PL中。,82,应用处理器单元APU提供了很多的高性能特性和标准兼容的能力。,实时运行的选项,允许单个处理

    40、器,非对称或者对称的多处理(Symmetrical Multiprocessing,SMP)配置。 ARM V7 ISA:标准的ARM指令集和Thumb-2,Jazelle RTC和Jazelle DBX JAVA加速。 每个核有NEON 128位 SIMD协处理器和VFPv3。,双核ARM Cortex-A9 多核处理器CPU(ARM V7),Zynq-7000系统的功能块构成 -应用处理单元APU,83,每个核包含带有校验的32KB的指令和32KB的数据L1高速缓存。 带有校验的512KB的共享L2高速缓存。 私有定时器和看门狗定时器。,Zynq-7000系统的功能块构成 -应用处理单元A

    41、PU,84,系统特性,一组不同的控制器用来控制PS的行为。 后面会详细的介绍寄存器映射。,侦测控制单元(Snoop Control Unit,SCU)包含了L1和L2的一致性。,系统级的控制寄存器(System-Level Control Registers, SLCRs),Zynq-7000系统的功能块构成 -应用处理单元APU,85,从PL(主设备)到PS(从设备)的加速器一致性端口(Accelerator Coherency Port,ACP),64比特的高级可扩展(Advanced Extended Interface,AXI)从端口。 能访问L2和片上存储器(On-Chip Memo

    42、ry,OCM)。 交易和L1与L2保持数据一致性。,Zynq-7000系统的功能块构成 -应用处理单元APU,86,带有校验的256KB的OCM,双端口。 CPU、PL和中央互联可以访问。 L2级,但不可以缓存。,Zynq-7000系统的功能块构成 -应用处理单元APU,DMA控制器,用于PS的4通道(存储器复制从/到系统内的任何存储器) 用于PL的4通道(存储器到PL,PL到存储器),87,通用的中断控制器(General Interrupt Controller,GIC),各自中断屏蔽和中断优先级。 5个CPU私有外设中断(Private Periphercal Interrupt,PPI

    43、)。 16个CPU私有的软件产生的中断(Software Generated Interrupt,SGI) 分配来自系统、PS和PL剩余部分的共享外设中断(Shared Peripheral Interrupt,SPI)。 20个来自PL。 来自CPU发送到PL的等待中断(Wait for Interrupt,WFI)和等待事件(Wait for Event,WFE)信号。 扩展的安全特性支持TrustZone技术。,Zynq-7000系统的功能块构成 -应用处理单元APU,看门狗定时器,三重计数器/定时器。,88,DDR控制器,支持DDR3,DDR2,LPDDR-2。由器件的速度和温度等级决

    44、定速度。 16位或者32位宽度。16位上ECC。 使用最多73个专用的PS引脚。 模块(不是DIMM)。32位宽度:4x8位,2x16位,1x32位。16位宽度:2x8位,1x16位。,Zynq-7000系统的功能块构成 -存储器接口,89,基于可编程的空闲周期,自主DDR功耗降低进入和退出。 数据读选通自动标定。 写数据字节使能支持每拍数据。 使用高优先级读(High Pripority Read,HPR)队列的低延迟读机制。 特殊紧急信号发给每个端口。 TrustZone区域在64MB边界上可编程。 对于两个不同ID的每个端口的排他性访问(不支持锁定的交易),Zynq-7000系统的功能块

    45、构成 -存储器接口,90,交易调度用来优化数据带宽和延迟。 高级的重排序引擎最大化存储器的连续读和写访问效率到目标的90%,随机的读和写为80%的效率。 写-读地址冲突检查,刷新写缓冲区。 遵守AXI排序规则。,DDR控制器内核和交易调度器,Zynq-7000系统的功能块构成 -存储器接口,91,单个或者两个。 支持1x和2x读。 用于I/O模块100MHz的32位APB3.0接口,允许包括编程、读和配置的全设备操作。 100MHz 32位AXI线性地址映射接口用于读操作。,线性四SPI控制器的关键特性,Zynq-7000系统的功能块构成 -四SPI控制器,92,单个芯片选择线支持。 支持写保

    46、护信号。 4位的双向I/O信号线。 读速度x1,x2和x4。 写速度x1和x4。 在主模式下的最大SPI时钟为100MHz。 252字节入口FIFO深度,用于提高四SPI读效率。 支持四SPI器件最大到128Mb的密度。 支持双四 SPI器件,并行的两个四SPI器件。,Zynq-7000系统的功能块构成 -四SPI控制器,93,支持常规的通过AXI接口的只读存储器访问。 最大两个SPI Flash存储器。 对于一个存储器最大16MB的寻址空间和两个存储器32MB的寻址空间。 AXI读接受能力为4。 所有AXI递增和回卷地址猝发读。 自动将普通存储器读操作转化为SPI协议,反之亦然。 串行,双和

    47、四SPI模式。,线性地址映射模式特性包括:,Zynq-7000系统的功能块构成 -四SPI控制器,94,8/16位 I/O宽度,带有一个片选信号。 ONFI规范1.0。 16字读和16字写数据FIFO。 8字命令FIFO。 可编程的I/O周期时序。 ECC辅助。 异步存储器操作模式。,NAND控制器,下面可作为基本的启动设备,Zynq-7000系统的功能块构成 -静态存储器控制器SMC,95,8位数据宽度,最大25个地址信号。 两个片选信号(24位地址信号)。 16字读和16字写数据FIFO。 8字命令FIFO。 基于每片选择的可编程I/O周期时序 异步存储器操作模式。 8位数据宽度。,并行S

    48、RAM/NOR控制器,Zynq-7000系统的功能块构成 -静态存储器控制器SMC,96,54个GPIO信号用于器件的引脚(通过MIO连接) 输出可以3态使能。 通过EMIO在PS和PL之间192个GPIO信号。64个输入,128个输出(64个真输出和64个输出使能)。 每个GPIO的功能可以基于个别或者组进行动态地编程。使能、比特或者分组数据写,输出使能和方向控制。 基于每个GPIO的可编程中断 读中断的状态。 上升沿、下降沿,任意沿,高电平,低电平敏感。,GPIO,Zynq-7000系统的功能块构成 -I/O外设,97,RGMIII接口使用MIO引脚和外部的PHY。 额外接口使用PL内带有

    49、额外软核的PL SelectIO和外部的PHY。 SGMII接口使用PL GTX接收发送器。 内建带有分散-聚集的DMA。 IEEE802.3和IEEE1588 V2.0。 唤醒能力。,三模式以太网控制器(两个),Zynq-7000系统的功能块构成 -I/O外设,98,使用相同硬件的USB2.0高速 OTG(on-the-go)双重角色USB主机控制器或者USB设备控制器操作。 只有MIO引脚。 内建DMA。 USB2.0高速设备。,USB控制器:每个作为主设备或者OTG(两个),Zynq-7000系统的功能块构成 -I/O外设,99,USB2.0高速主机控制器。 USB主机控制器寄存器和数据结构与扩展的主机控制器接口(Enhanced Host Controller Interface,EHCI)规范兼容。 直接支持USB收发器低引脚接口(USB Low Pin Interface,ULPI)。ULPI支持8位。 要求外部的PHY。 支持最多12个端点。,Zynq-7000系统的功能块构成 -I/O外设,

    展开阅读全文
    提示  道客多多所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    关于本文
    本文标题:Xilinx All ProgrammableZynq-7000 SoC设计指南.ppt
    链接地址:https://www.docduoduo.com/p-3494084.html
    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    道客多多用户QQ群:832276834  微博官方号:道客多多官方   知乎号:道客多多

    Copyright© 2025 道客多多 docduoduo.com 网站版权所有世界地图

    经营许可证编号:粤ICP备2021046453号    营业执照商标

    1.png 2.png 3.png 4.png 5.png 6.png 7.png 8.png 9.png 10.png



    收起
    展开