当前位置:首页 >> 建筑/土木 >>

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


嵌入式系统工程系

第八章 基于FPGA的可编程嵌入式开发初步
?可配置嵌入式系统 ?Xilinx嵌入式开发系统
? MicroBlaze ? PowerPC ? IP和及驱动

?EDK软件 ?XPS软件的基本操作

嵌入式系统工程系

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

嵌入式系统工程系

可配置嵌入式系统
?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处理器核。

嵌入式系统工程系

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

? Xilinx公司提供了大量的硬件平台(评估板),提供了 大量的软、硬件设计参考。

嵌入式系统工程系

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

嵌入式系统工程系

Xilinx嵌入式开发系统
?MicroBlaze
? 通用寄存器

? 特殊寄存器 PC、MSR

嵌入式系统工程系

Xilinx嵌入式开发系统
?MicroBlaze
? 指令集
? A型指令 :两个源寄存器和一个目的寄存器,完成寄存 器到寄存器间的数据运算 ;

? B型指令:一个源寄存器、一个目的寄存器和一个16位 的立即数,进行寄存器和立即数间的数据运算。

嵌入式系统工程系

Xilinx嵌入式开发系统
?MicroBlaze
? 三级流水

嵌入式系统工程系

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

嵌入式系统工程系

Xilinx嵌入式开发系统

嵌入式系统工程系

Xilinx嵌入式开发系统
?PowerPC
? 通用寄存器

嵌入式系统工程系

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

嵌入式系统工程系

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

嵌入式系统工程系

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

嵌入式系统工程系

Xilinx嵌入式开发系统
?常用的IP核以及设备驱动
? ? ? ? ? 通用I/O设备 中断控制器设备 定时器 外部存储器控制器 以太网、串口等通信设备

均以IP Core的形式给出,信号、时序、函数参见9.2.3节。

嵌入式系统工程系

Xilinx嵌入式开发系统
?嵌入式系统设计方案
? MicroBlaze系统架构

嵌入式系统工程系

Xilinx嵌入式开发系统
?嵌入式系统设计方案
? PowerPC系统架构

嵌入式系统工程系

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

嵌入式系统工程系

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

嵌入式系统工程系

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

嵌入式系统工程系

EDK软件
?基于EDK的开发流程

嵌入式系统工程系

嵌入式系统工程系

EDK软件
?EDK的文件管理架构
? ? ? ? ? ? 板级支持包Board Support Package(BSP) XMP工程文件 MHS文件和其它的硬件平台元素 MSS文件和其它的软件平台元素 UCF文件 CMD文件
? 修改最多的是assignfile指令和program指令

? SDK工程文件
? 一个XPS嵌入式系统而言,可能有多个相应的SDK工程

嵌入式系统工程系

XPS软件的基本操作
?XPS的启动
? 单独启动:专门用于设计完备的嵌入式系统 。

? ISE中通过双击Embedded Processor类型的源文件来 打开 :可将嵌入式设计作为ISE设计的一个子模块 。

嵌入式系统工程系

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

嵌入式系统工程系

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

嵌入式系统工程系

XPS软件的基本操作
? (3)选择板型

嵌入式系统工程系

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

嵌入式系统工程系

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

嵌入式系统工程系

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

嵌入式系统工程系

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

嵌入式系统工程系

XPS软件的基本操作
? (8)软件建立

嵌入式系统工程系

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

嵌入式系统工程系

XPS软件的基本操作
? (10)创建系统

嵌入式系统工程系

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


相关文章:
基于FPGA的嵌入式系统设计
41 第5章 利用 Nios 嵌入式系统开发板完成 DDS 的设计 ... 44 5.1 理论...部分可编程模拟电路 单芯片,低功耗,微封装本文设计完成的是基于 FPGA 的嵌入式...
基于FPGA嵌入式系统
本文主要是基于 fpga 现场可编程门阵列技术,从 系统架构、特点等方面介绍了嵌入式系统,希望为其进一步发展打 下基础。 [关键词]:fpga 芯片 嵌入式系统 嵌入式微...
FPGA推荐书籍
基于 FPGA 的可编程嵌入式开发技术、 基于 FPGA 的高速数据连接技术和 时序分析原理以及时序分析器的使用共 11 章内容,各章均以实例为 基础,涵盖了 FPGA 开发的...
基于FPGA的VHDL毕业设计
基于FPGA的VHDL毕业设计摘要FPGA 是现场可编程门阵列(...1.1 选题背景本节将从 FPGA 嵌入式应用开发技术与...2 本设计第一章内容为绪论, 简单介绍论文背景以及...
基于FPGA的计数器的程序设计
基于FPGA 的计数器的程序设计 摘 要 本文介绍了一...嵌入式软件开发可编程逻辑设计于一体,是一种综合...尤其是在四段八位数码管等这些要选通的显 示设备...
基于FPGA的直接数字频率合成器设计
VHDL 语言作为开发语言,基于 FPGA 配合相应外围 电路...基本可编程逻辑单 元、嵌入式块 RAM、丰富的布线...八个按键一端接1KΩ 排阻(上 拉电阻)后接VCC,一...
基于FPGA的自动测试平台
硬件主要有可编程逻辑阵列 (FPGA) 、 显示器、拨码开关等组成; 数据缓存单元:...6、结束语 在本设计中,基于 FPGA 和 Corte-M3 处理器的嵌入式开发,将硬件...
基于FPGA的串口通信设计 (参考样例)
基于FPGA的串口通信设计 (参考样例)_信息与通信_...1.1 选题背景本节将从 FPGA 嵌入式应用开发技术与...EDA 技术以大规模可编程逻辑器件为设计载体,以硬件...
基于FPGA的嵌入式PLC微处理器设计
对一种基于 FPGA 芯片的嵌入式 PLC 处理器进行了研究...0 前言 现场可编程门阵列(FPGA)是近几年来出现并...开发效率高,成本低,上市时间短, 技术维护简单,工作...
基于FPGA的高速数据采集卡的设计(毕业设计)
基于FPGA的高速数据采集卡的设计(毕业设计)_工学_...基本可编程逻 辑单元、嵌入式块 RAM、丰富的布线...本章主要是对 FPGA 数据采集、触发控制和存储器控制...
更多相关标签: