1 / 35

第八章 基于 FPGA 的可编程嵌入式开发初步

第八章 基于 FPGA 的可编程嵌入式开发初步. 可配置嵌入式系统 Xilinx 嵌入式开发系统 MicroBlaze PowerPC IP 和及驱动 EDK 软件 XPS 软件的基本操作. 可配置嵌入式系统. FPGA 在嵌入式系统中获得广泛应用 状态机模式: 可以无外设、无总线结构和无实时操作系统,达到最低的成本,应用于 VGA 、 LCD 控制等,根据用户设计可达到不同的性能。 单片机模式: 包括一定的外设,可以利用实时操作系统和总线结构,以中等的成本,应用于 控制和仪表 ,达到中等的性能。

garren
Download Presentation

第八章 基于 FPGA 的可编程嵌入式开发初步

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 第八章 基于FPGA的可编程嵌入式开发初步 • 可配置嵌入式系统 • Xilinx嵌入式开发系统 • MicroBlaze • PowerPC • IP和及驱动 • EDK软件 • XPS软件的基本操作

  2. 可配置嵌入式系统 • FPGA在嵌入式系统中获得广泛应用 • 状态机模式:可以无外设、无总线结构和无实时操作系统,达到最低的成本,应用于VGA、LCD控制等,根据用户设计可达到不同的性能。 • 单片机模式:包括一定的外设,可以利用实时操作系统和总线结构,以中等的成本,应用于控制和仪表,达到中等的性能。 • 定制嵌入模式:高度集成扩充的外设,实时操作系统和总线结构,达到高性能,应用于网络和无线通信等。 采用90nm生产工艺之后,FPGA器件处理能力更强,且成本低、功耗少,已取代了相当数量的中小规模ASIC器件和处理器,使嵌入式系统具备片上系统(SOC)的规模和动态可编程的能力,具有明显的优势,成为嵌入式应用的主力军之一。

  3. 可配置嵌入式系统 • Xilinx解决方案 • PicoBlaze:8位处理器软核,用汇编语言编写的程序经过编译后放入FPGA的BlockRam存储区。 • MicroBlaze:32位流水线RISC结构,包含32个32位通用寄存器和1个可选的32位移位寄存器,时钟可达150MHz。 • PowerPC:32位PowerPC嵌入式环境架构。Virtex II Pro、Virtex 4、Virtex 5系列部分芯片中集成了2~4个PowerPC 405处理器核。

  4. 可配置嵌入式系统 • 开发工具 • 嵌入式开发套件(EDK):用于设计嵌入式可编程系统的全面的解决方案,该套件包括了嵌入式软件工具(Platform Studio)以及嵌入式 IBM PowerPC硬件处理器核和/或Xilinx MicroBlaze软处理器核进行Xilinx平台FPGA设计时所需的技术文档和IP。 • Xilinx公司提供了大量的硬件平台(评估板),提供了大量的软、硬件设计参考。

  5. Xilinx嵌入式开发系统 • MicroBlaze • 支持CoreConnect总线的标准外设集合 ; • RISC架构,哈佛结构32位指令和数据总线 • 最精简的核只需要将近400个Slice 。

  6. Xilinx嵌入式开发系统 • MicroBlaze • 通用寄存器 • 特殊寄存器 PC、MSR

  7. Xilinx嵌入式开发系统 • MicroBlaze • 指令集 • A型指令 :两个源寄存器和一个目的寄存器,完成寄存器到寄存器间的数据运算 ; • B型指令:一个源寄存器、一个目的寄存器和一个16位的立即数,进行寄存器和立即数间的数据运算。

  8. Xilinx嵌入式开发系统 • MicroBlaze • 三级流水

  9. Xilinx嵌入式开发系统 • PowerPC • 采用CoreConnect技术,可运行在100-133MHz的高带宽64位总线 ; • 独立的指令缓存和数据缓存、1个JTAG端口、Trace FIFO、多个定时器和一个内存管理单元(MMU); • 集成了辅助处理器单元控制器(APU),可直接控制FPGA架构内的硬件指令协处理 ; • 不占用FPGA内部任何逻辑资源 。

  10. Xilinx嵌入式开发系统

  11. Xilinx嵌入式开发系统 • PowerPC • 通用寄存器

  12. Xilinx嵌入式开发系统 • PowerPC • 专用寄存器:计数寄存器、连接寄存器、调试资源、计数器、中断寄存器等 。多数是应用程序不能访问的。 • 机器状态寄存器:处理器的工作状态,允许用户修改。 • 条件寄存器:可分为8个区域(CR0-CR7),每区域包含4个比特,可用于控制所有的条件分支。应用软件可访问所有的CR数值 。 • 芯片控制寄存器:配置、控制和读取外部处理器,可在特殊软件中通过mtdcr和mfdcr指令来访问。

  13. Xilinx嵌入式开发系统 • PowerPC • 指令集 执行指令的速度接近每周期执行一条指令

  14. Xilinx嵌入式开发系统 • PowerPC • 五级流水 取指、译码、执行、写回、加载写回

  15. Xilinx嵌入式开发系统 • 常用的IP核以及设备驱动 • 通用I/O设备 • 中断控制器设备 • 定时器 • 外部存储器控制器 • 以太网、串口等通信设备 均以IP Core的形式给出,信号、时序、函数参见9.2.3节。

  16. Xilinx嵌入式开发系统 • 嵌入式系统设计方案 • MicroBlaze系统架构

  17. Xilinx嵌入式开发系统 • 嵌入式系统设计方案 • PowerPC系统架构

  18. Xilinx嵌入式开发系统 • 系统地址分配 • MicroBlaze:32位地址,其中0x0000_0000 ~ 0x0000_0017用于特殊处理,0x0000_0018 ~ 0xFFFF_FFFF是用户可用的部分,LMB存储器从地址0x0000_0018开始。 • PowerPC:32位地址,其中每一个PowerPC都有其系统引导(boot)区,地址为0xFFFF_FFFC,缺省的可用空间为0xFFFF_0000 ~ 0xFFFF_FFFF。 

  19. EDK软件 • 嵌入式开发套件 • Embedded Development Kit(EDK) • 自带了许多工具和IP,可以用来设计完整的嵌入式处理器系统; • 包括Xilinx平台工作室XPS和软件开发套件SDK; • 只有安装了ISE软件,才能正常运行EDK,且二者的版本要一致。 • 安装过程类似于ISE。

  20. EDK软件 • EDK的组成 • XPS:用来设计嵌入式处理器系统硬件部分的开发环境或GUI,是系统设计者构建 Xilinx嵌入式系统时必用的工具套件。在XPS中,可以完成嵌入式系统架构的创建、软件代码的编写、设计的编译以及FPGA芯片的硬件配置。 • SDK:集成的开发环境,基于Eclipse。它支持C/C++,用于嵌入式软件应用的开发和验证。 • 其它EDK部分: • 用于Xilinx嵌入式处理器的硬IP; • 用于嵌入式软件开发的驱动和库; • 在MicroBlaze和PowerPC处理器上用于C/C++软件开发的GNU编译器和调试器; • 有关文档以及一些工程样例等。

  21. EDK软件 • 基于EDK的开发流程

  22. EDK软件 • EDK的文件管理架构 • 板级支持包Board Support Package(BSP) • XMP工程文件 • MHS文件和其它的硬件平台元素 • MSS文件和其它的软件平台元素 • UCF文件 • CMD文件 • 修改最多的是assignfile指令和program指令 • SDK工程文件 • 一个XPS嵌入式系统而言,可能有多个相应的SDK工程

  23. XPS软件的基本操作 • XPS的启动 • 单独启动:专门用于设计完备的嵌入式系统 。 • ISE中通过双击Embedded Processor类型的源文件来打开 :可将嵌入式设计作为ISE设计的一个子模块 。

  24. XPS软件的基本操作 • 利用基本系统创建器(BSB)创建新工程 • (1)启动XPS

  25. XPS软件的基本操作 • (2)选择工程路径

  26. XPS软件的基本操作 • (3)选择板型

  27. XPS软件的基本操作 • (4)选择处理器 内部集成了PowerPC内核的FPGA芯片(Virtex-2 Pro以上部分型号)可以选择PowerPC或Microblaze,否则只能选择Microblaze。

  28. XPS软件的基本操作 • (5)配置处理器

  29. XPS软件的基本操作 • (6)添加I/O接口

  30. XPS软件的基本操作 • (7)添加内部外围设备 如果开发板的部分外设在XPS中并没有提供,那么就需要通过用户通过HDL语言实现自定制底层接口逻辑,再将其作为外设导入到XPS中。 如果开发板上的设备在XPS库中都能找到,可以跳过这一步骤 。

  31. XPS软件的基本操作 • (8)软件建立

  32. XPS软件的基本操作 • (9)配置存储器和外围设备的测试应用

  33. XPS软件的基本操作 • (10)创建系统

  34. XPS软件的基本操作 • (11)设计生成 “Finish”,XPS即与所创建的系统相关联。至此,就完成了一个新系统工程的创建过程。 XPS的使用请参见9.4-9.6节。

More Related