何宾 tel:13911127536 email:[email protected]

38
何何 Tel email: 高高高高高高高 北北北北北北北北北北北北北 高高高 &XILINX SOC 高高高高高高高高 FPGA System Design Primer FPGA System Design Primer 何何 Tel:13911127536 email:[email protected] 北北北北 北北北北北北北北北北北北北 高高高高高高高高高高高高高

Upload: harriet-mcdowell

Post on 03-Jan-2016

51 views

Category:

Documents


11 download

DESCRIPTION

版权所有,禁止未经授权的商业使用行为. 何宾 Tel:13911127536 email:[email protected]. 北京中教仪装备技术有限公司. 培训内容. Xilinx 片上可编程系统设计导论 MicroBlaze 处理器原理 EDK 工具概述 操作系统 (OS) 及板级支持包 (BSP) 概述 基于 EDK10.1 和 MicroBlaze 处理器的设计流程. Xilinx 片上系统开发平台结构 --EDK 工具包. Xilinx 的 EDK 工具主要包含: Xilinx Platfrom Studio - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: 何宾 Tel:13911127536     email:hebin@mail.buct

何宾Tel : email:

高等教育出版社北京中教仪装备技术有

限公司

高教社 &XILINX SOC 竞赛培训系列课程

FPGA System Design FPGA System Design PrimerPrimer

何宾Tel:13911127536

email:[email protected]

版权所有,禁止未经授权的商业使用行为

北京中教仪装备技术有限公司

Page 2: 何宾 Tel:13911127536     email:hebin@mail.buct

北京中教仪装备技术有限公司

培训内容

Xilinx 片上可编程系统设计导论 MicroBlaze 处理器原理 EDK 工具概述 操作系统 (OS) 及板级支持包 (BSP) 概述基于 EDK10.1 和 MicroBlaze 处理器的设计流程

Page 3: 何宾 Tel:13911127536     email:hebin@mail.buct

北京中教仪装备技术有限公司

Xilinx 片上系统开发平台结构--EDK 工具包

Xilinx 的 EDK 工具主要包含: Xilinx Platfrom Studio( XPS )人机界面、嵌入式系统工具套件、嵌入式处理 IP核,比如处理器和外设、 Platform Studio SDK ( Software

Development Kit , SDK )。 SDK 基于 Eclipse 开放源码框架,设计人员可以选择使用 SDK 开发自己的嵌入式软件应用程序。

Page 4: 何宾 Tel:13911127536     email:hebin@mail.buct

北京中教仪装备技术有限公司

Xilinx 片上系统开发平台结构--EDK 开发流程

EDK 中所提供的工具用来完成嵌入式设计的整个过程。下图给出了基本嵌入式设计流程。

Page 5: 何宾 Tel:13911127536     email:hebin@mail.buct

北京中教仪装备技术有限公司

Xilinx 片上系统开发平台结构-- 硬件平台的建立

Xilinx 的 FPGA 技术允许设计者在处理器子系统中定制

硬件逻辑。这种定制不可能使用标准的现成的微处理器或控制器芯片。“硬件平台”是指设计人员根据应用的需要而使用 Xilinx 的技术建立的灵活地、嵌入式处理子系统。 硬件平台是由一个或多个处理器或外设连接到处理器总线构成的。 EDK 通过微处理器硬件规范 (Microprocessor Hardware Specification , MHS )文件记录硬件平台信息。

Page 6: 何宾 Tel:13911127536     email:hebin@mail.buct

北京中教仪装备技术有限公司

Xilinx 片上系统开发平台结构-- 软件平台的建立

软件平台是软件驱动和用于建立应用程序的操作系统(可选)组成的。所建立的软件映像文件只包含用户所使用到的一部分 Xilinx 的库。 EDK 通过微处理器软件规范( Microprocessor

SoftwareSpectifcation , MSS )记录软件平台信息。设计人员可以

在软件平台运行多个应用程序。

Page 7: 何宾 Tel:13911127536     email:hebin@mail.buct

北京中教仪装备技术有限公司

Xilinx 片上系统开发平台结构-- 使用仿真的硬件平台验证

验证硬件平台的正确功能,设计人员可以建立一个仿真模型,并且在 HDL 仿真器上运行。当仿真系统时,处理器运行可执行文件。 设计人员可以选择建立行为、结构或者精确的时序仿真模型。

Page 8: 何宾 Tel:13911127536     email:hebin@mail.buct

北京中教仪装备技术有限公司

Xilinx 片上系统开发平台结构-- 使用调试的软件验证

调试嵌入式软件的基本技术是加载设计到所支持的开发板和使用调试工具去调试处理器。 作为可选择的方式,设计人员可以使用指令集仿真器或简化系统仿真器模型(“虚拟平台”)运行在主机上来调试设计代码。 设计人员可以通过概要分析代码的执行来估计系统性能。

Page 9: 何宾 Tel:13911127536     email:hebin@mail.buct

北京中教仪装备技术有限公司

Xilinx 片上系统开发平台结构-- 芯片配置

一旦软件和硬件平台建立完成,设计人员可以为FPGA

建立一个的配置比特文件。 对于原型设计,当连接主机和芯片时,设计者可以在下载比特流时,将希望运行在嵌入式平台上的软件同时下载。 对于产品,设计员将配置比特流和软件保存在和

FPGA连接的非易失性存储器中。

Page 10: 何宾 Tel:13911127536     email:hebin@mail.buct

北京中教仪装备技术有限公司

Xilinx 片上系统开发平台结构--EDK 功能

Page 11: 何宾 Tel:13911127536     email:hebin@mail.buct

北京中教仪装备技术有限公司

Xilinx 片上系统开发平台结构--EDK 功能

Page 12: 何宾 Tel:13911127536     email:hebin@mail.buct

北京中教仪装备技术有限公司

Xilinx 片上系统开发平台结构--EDK 功能

Page 13: 何宾 Tel:13911127536     email:hebin@mail.buct

北京中教仪装备技术有限公司

Xilinx 片上系统开发平台结构--EDK 功能

Page 14: 何宾 Tel:13911127536     email:hebin@mail.buct

北京中教仪装备技术有限公司

Xilinx 片上系统开发平台结构-- Xilinx Platform Studio(XPS)

XPS 提供了集成环境为基于 MicroBlaze 和 PowerPC处

理器的嵌入式处理器系统创建软件和硬件规范流程。 XPS 也提供编辑器和项目管理接口用来创建和编辑源代码。 XPS 提供工具流程配置选项的定制和提供图形化的系统编辑器用来连接处理器、外设和总线。 XPS 可以在 Windows 、 Solaris 和 Linux 平台下使用。 从 XPS 中,设计人员可以运行所有用于处理硬件和软件的嵌入式系统工具。在 XPS 环境下可以进行系统验证。

Page 15: 何宾 Tel:13911127536     email:hebin@mail.buct

北京中教仪装备技术有限公司

Xilinx 片上系统开发平台结构--Xilinx Platform Studio(XPS)

XPS 提供下面的特性: 能够添加核,编辑核参数和进行总线和信号连接,产生 MHS 文件;能够产生和修改 MSS 文件;支持表 4.1 内的所有工具;能够产生和观察系统块图和设计报告;多用户软件应用支持;项目管理;过程和工具流程依赖管理。

Page 16: 何宾 Tel:13911127536     email:hebin@mail.buct

北京中教仪装备技术有限公司

Xilinx 片上系统开发平台结构--Xilinx Software Development Kit(SDK)

SDK 工具是 XPS 的补充, SDK 为应用软件提供开发环

境。 SDK 基于 Eclipse 开放源码标准。 SDK 主要有以下特点:

1 )功能丰富的 C/C++ 编辑器和编译环境; 2 )项目管理; 3 )应用程序的建立配置和自动的 MAKE 文件生成; 4 )错误浏览; 5 )为无缝调试和概要分析目标提供了好的集成环境; 6 )软件代码版本控制。

Page 17: 何宾 Tel:13911127536     email:hebin@mail.buct

北京中教仪装备技术有限公司

Xilinx 片上系统开发平台结构--Base System Builder(BSB)Wizard

BSB向导帮助设计人员快速建立一个嵌入式系统工程。对于更复杂的工程, BSB向导提供基本的系统,通过这个系统设计人员可以定制完成嵌入式设计。为了高效率的建立工程, Xilinx推荐使用 BSB向导。

Page 18: 何宾 Tel:13911127536     email:hebin@mail.buct

北京中教仪装备技术有限公司

Xilinx 片上系统开发平台结构--Base System Builder(BSB)Wizard

基于设计人员选择的板子,设计人员通过 BSB 选择并配置基本元素 , 比如:处理器类型、调试接口、缓存配置、存储器类型和大小、外设等。 对于 BSB 不支持的目标系统,设计人员可以选择定制板选项。使用这个选项时,必须指定未来板子的硬件,并且要给出用户约束文件 UCF 。 如果选择的是支持的目标板, BSB向导自动加入

UCF文件。当退出 BSB 时, BSB 所建立的 MHS 和 MSS 文件

自动加入到 XPS 工程中,设计员能在 XPS 中进行更进一步设计

Page 19: 何宾 Tel:13911127536     email:hebin@mail.buct

北京中教仪装备技术有限公司

Page 20: 何宾 Tel:13911127536     email:hebin@mail.buct

北京中教仪装备技术有限公司

Xilinx 片上系统开发平台结构--Platform Generator(PlatGen)

平台产生器 Platgen 将对嵌入式系统的高级描述编译成能在目标 FPGA 芯片上实现的 HDL网表。 嵌入式系统硬件平台典型的由一个或多个处理器和不同的外设和存储器模块组成,这些模块通过处理器总线连接。每个外设的 IP 核有很多的参数,通过调整这些参数来定制行为。这些参数也用来为这些存储器和外设进行地址映射。由于 EDK 提供可选择的特性, FPGA 只需要实现应用程序所要求的功能子集。 硬件平台保存了 MHS 文件。 MHS 文件是表示所设计

的嵌入式系统的硬件元件的最主要文件。 MHS 文件以 ASCII码形式存在。

Page 21: 何宾 Tel:13911127536     email:hebin@mail.buct

北京中教仪装备技术有限公司

Xilinx 片上系统开发平台结构--Platform Generator(PlatGen)

Platgen读取MHS 文件作为设计输入。 Platform 也从EDK

库和用户 IP 库中读取处理器核硬件描述文件 MPD , PAO 。 Platgen 为嵌入式系统产生顶层 HDL 设计文件,该文件包含所有参数化了的 IP 核。 在这个过程中,将 MHS 中所有高层总线连接变成连接处理器、外设和片上存储器的真实信号。它也调用 XST 编译器综合每个例化的 IP 核( Platgen 产生的系统级网表也用来作

为FPGA实现过程的一部分)。 除此之外, Platgen 也产生 BMM ( BRAM Memory Map

)文件,该文件包含所用到的片上 BRAM 的地址。

Page 22: 何宾 Tel:13911127536     email:hebin@mail.buct

北京中教仪装备技术有限公司

Xilinx 片上系统开发平台结构-- 建立和导入 IP 向导

该向导帮助设计人员建立定制的外设并且将其导入相应的 XPS 工程中。 在创建模式下,创建和输入外设向导建立很多文件,这些文件的一些是模板文件帮助设计人员实现外设,而不需要详细的知道总线协议,命名规则和特殊接口文件的格式。通过参考模板中的例子和使用不同的辅助设计支持文件,设计人员可以很快的进行逻辑定制。 在导入模式下,该工具帮助设计人员建立接口文件和目录结构。对于这种模式,必须遵守 EDK命名规则。一旦导入完成,用户的定制外设在 EDK 外设库中可以使用。

Page 23: 何宾 Tel:13911127536     email:hebin@mail.buct

北京中教仪装备技术有限公司

Xilinx 片上系统开发平台结构-- 建立和导入 IP 向导

当创建或输入一个外设时,自动生成 MPD( Microprocessor Peripheral Defination )文件和 PAO( Peripheral Analyze Order )文件:

MPD 文件定义了外设的接口; PAO 文件通知其它工具( Platgen , Simgen ),对外

设需要编译哪个 HDL 文件和以什么样的顺序编译。

Page 24: 何宾 Tel:13911127536     email:hebin@mail.buct

北京中教仪装备技术有限公司

Xilinx 片上系统开发平台结构-- 配置协处理器向导

如果设计中包含 MicroBlaze 和 PowerPC 处理器时,可以使用该向导。 该向导添加和连接协处理器到 CPU 。协处理器是一个硬件模块用来实现用户在 FPGA 内定义的功能和通过 FSL接口与处理器连接。 FSL 通道是一个专用的 32位,点对点的通信接口。

Page 25: 何宾 Tel:13911127536     email:hebin@mail.buct

北京中教仪装备技术有限公司

Xilinx 片上系统开发平台结构-- 库产生器( Libgen )

Libgen 为嵌入式处理器系统配置库,设备驱动,文件系统和中断句柄,称这些为软件平台。 嵌入式软件平台为每个处理器定义了系统内外设的驱动(板级支持包),可选择的库,标准的输入 /输出设备

,中断句柄例程和其它相关的软件特征。 基于这个软件平台,设计人员更进一步的定义了软件的应用程序。

Page 26: 何宾 Tel:13911127536     email:hebin@mail.buct

北京中教仪装备技术有限公司

Xilinx 片上系统开发平台结构-- 库产生器( Libgen )

XPS 中的 MSS 文件包含了对软件平台的定义。 MSS文

件(可编辑的文本文件)和应用程序代表了嵌入式系统中软件元素。 来自于 EDK安装的库和驱动,以及设计人员提供的

定制库和驱动, EDK 将用户程序编译成处理器硬件平台上可执行的 ELF 文件。 Libgen 工具读MSS 和 MHS 文件作为 Libgen 的基本输

入。 Libgen 也读取选择的 EDK 库和不同的处理器核软件描述文件( MDD 和驱动代码)

Page 27: 何宾 Tel:13911127536     email:hebin@mail.buct

北京中教仪装备技术有限公司

Xilinx 片上系统开发平台结构--GNU 编译工具

XPS 调用 GNU 编译工具用于编译和链接应用程序。对于 MicroBlaze 处理器的应用, XPS 运行 mb-gcc 编

译器;对于 PowerPC 处理器的应用, XPS 运行 powerpc-eabi

-gcc 编译器。 编译器能读取 C 代码,头文件和汇编代码。链接器将编译的程序和选择的库连接在一起产生 ELF 可执行文件。连接器也读取连接脚本(默认产生或用户产生)。

Page 28: 何宾 Tel:13911127536     email:hebin@mail.buct

北京中教仪装备技术有限公司

Xilinx 片上系统开发平台结构--Xilinx Microprocessor Debugger ( XMD )

设计人员可以使用指令集仿真器或者虚拟平台调试软件程序。 XMD 读 ELF 文件。

对于调试物理的 FPGA , XMD 和 FPGA 通讯使用和FPGA 下载相同的电缆。

Page 29: 何宾 Tel:13911127536     email:hebin@mail.buct

北京中教仪装备技术有限公司

Xilinx 片上系统开发平台结构--GNU 调试器( GDB )

GNU 调试器是个强大和灵活的工具,它为在不同的开发周期验证 MicroBlaze 和 PowerPC 系统提供了统一的调试和验证手段。 GDB 使用了 XMD 作为最基本的引擎和处理器目标通讯

Page 30: 何宾 Tel:13911127536     email:hebin@mail.buct

北京中教仪装备技术有限公司

Xilinx 片上系统开发平台结构-- 仿真模型产生器 Simgen

仿真模型产生器 Simgen 为硬件产生和配置不同模型。 为产生行为模型, Simgen 使用 MHS 文件作为基本的输

入。为产生结构或时序模型, Simgen 使用综合后或布局布线后的设计数据库作为基本的输入。 Simgen 为每个处理器也读取嵌入式应用 ELF 文件去初始化片上存储器;这样处理器在仿真阶段就可以执行这些软件代码。

Page 31: 何宾 Tel:13911127536     email:hebin@mail.buct

北京中教仪装备技术有限公司

Xilinx 片上系统开发平台结构 -- 仿真库编译器( CompEDKLib )

CompEDKLib 使用不同仿真工具厂商提供的仿真器编译 EDK 基于 HDL 的仿真库。这个工具可以运行在 GUI 和批

处理模式下。 在 GUI 模式下,允许设计人员使用 CompXLib 编译

Xilinx的库和 EDK 中可以使用的库。

Page 32: 何宾 Tel:13911127536     email:hebin@mail.buct

北京中教仪装备技术有限公司

Xilinx 片上系统开发平台结构-- 虚拟平台生成器( VPgen )

虚拟平台是硬件系统的周期级的仿真模型。可以在主机上用虚拟平台来调试和评估软件应用代码,而不需要得到运行在原型板上的硬件。

Page 33: 何宾 Tel:13911127536     email:hebin@mail.buct

北京中教仪装备技术有限公司

Xilinx 片上系统开发平台结构-- 比特流初始化工具( Bitinit )

比特流初始化工具使用软件信息来初始化与处理器连接的片上 BRAM 存储器。 该工具读取 ISE 产生的比特流文件( system.bit ),

产生一个新输出比特流文件( download.bit ),这个比特流文件包含 ELF 文件。 这个工具使用 BMM 文件,该文件由 Platgen 产生,

通过使用每个 BRAM 块的物理的布局信息由 ISE 工具更新。在内部,比特流初始化工具 Bitinit 使用在 ISE 中提供的Data2MEM 工具来更新比特流文件。

Page 34: 何宾 Tel:13911127536     email:hebin@mail.buct

北京中教仪装备技术有限公司

Xilinx 片上系统开发平台结构-- 系统 ACE 生成器 (Gen ACE )

从 FPGA 比特流中产生 Xilinx System ACE 配置文件和

ELF/ 数据文件。 产生的 ACE 文件用于配置 FPGA ,初始化 BRAM ,

使用有效的程序或数据初始化外部存储器和启动处理器。 EDK 提供了工具命令语言( Tool Command Language , Tcl )脚本, genace.tcl 。该脚本使用 XMD命

令产生 ACE 文件。 使用 MDM 系统可以为 PowerPC 或 MicroBlaze 产生

ACE文件。

Page 35: 何宾 Tel:13911127536     email:hebin@mail.buct

北京中教仪装备技术有限公司

Xilinx 片上系统开发平台结构--Flash 编程

编程解决方案被设计成通用的,面向不同的 Flash 硬件和布局。

Page 36: 何宾 Tel:13911127536     email:hebin@mail.buct

北京中教仪装备技术有限公司

Xilinx 片上系统开发平台结构--格式版本工具( revup )

格式版本工具 revup更新已经存的 EDK 工程到当前的版本。 revup 工具只执行格式的变化,对设计不进行更新。在应用 revup前,备份MHS , MSS , XMP等文件

。 当使用新版本的 EDK 工具打开老版本的工程时,就会显示版本管理向导。 当执行 revup后,调用版本管理向导。向导提供有关

设计中使用的 Xilinx 处理器 IP 核的变化信息。如果新版本

的IP 核可以使用,向导将升级到新的版本。

Page 37: 何宾 Tel:13911127536     email:hebin@mail.buct

北京中教仪装备技术有限公司

Xilinx 片上系统开发平台结构--LibXil 文件系统生成器( LibXil MFS )

以文件句柄的形式提供管理程序存储器的能力。设计人员可以建立目录,并在目录中存放不同文件。文件系统能通过使用高级 C语言进行函数调用来访问。

Page 38: 何宾 Tel:13911127536     email:hebin@mail.buct

北京中教仪装备技术有限公司

Xilinx 片上系统开发平台结构-- 平台规范工具

能够自动产生建立 IP 核的 MPD 文件。通过建立和导入

外设向导的帮助,能够使用这个工具提供的功能。