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

第八章 基于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的嵌入式ZigBee网关的设计与实现
以及 FPGA 的可自由编程支配、自由 定义其功能、具有 I/O 端口多等特性,之后...1.2 SOPC 的设计 本次嵌入式网关系统的设计,主要采用 SOPC 开发环境 SOPC ...
基于fpga的嵌入式系统设计——复习题
基于 fpga 的嵌入式系统设计》复习题 1、 名词...(9) 使用 QuartusII 进行 FPGA 设计的开发流程是:...A.FPGA 是现场可编程逻辑器件的缩写 B.FPGA 的...
基于FPGA的嵌入式数字存储示波器
放大部分使用第 2 页 基于 FPGA 嵌入式的双通道数字存储示波器 了增益可编程调节的运放,即放大倍数由 FPGA 直接控制,不仅控制方便而且可以用软件 对放大倍数进行...
《基于FPGA嵌入式系统设计》(第二版)目录
基于FPGA嵌入式系统设计》(第二版)目录_电子/...第三章 Quartus II EDA 开发工具应用 ... 错误...3.8 器件编程......
基于FPGA的嵌入式系统设计---LCD显示控制器学士学位论...
北方民族大学 学士学位论文 论文题目: 基于 FPGA 的嵌入式系统设计---LCD 显示...Nios 系统的开发分硬件开发和软件开发两个 流程,SOPC 是可编程技术发展到一定...
嵌入式系统期末报告---基于FPGA的实时目标检测系统应用...
在实时嵌入式系统使用现场可编程门阵列 (FPGA) 可以实现复杂的 检测算法。这篇文章通过 FPGA 来介绍部署开发无人机的实时移动目标检测芯片系统(SoC)。检测 算法利用...
基于FPGA技术的嵌入式应用型人才培养教学体系
在培养学生 全面掌握 FPGA 器件开发技术的同时,也培养其基于 FPGA 的嵌入式系统...对于较复杂的系统,往往采用微控制器+FPGA(可编程逻辑器件),或微 控制器+DSP+...
基于FPGA的嵌入式研究
基于FPGA的嵌入式研究 基于MicroBlaze软核的GPIO中断设计基于MicroBlaze软核的GPIO中断设计隐藏>> MicroBlaze 的 GPIO 中断 MicroBlaze 的 GPIO 中断是相对比较简单的...
基于FPGA嵌入式系统的雷达信号模拟器
基于FPGA 嵌入式系统的雷达信号模拟器哈尔滨工业大学(威海) 车升余 摘要:结合FPGA嵌入式系统具有硬件电路高并行度和软件编程控制简单的特点,设计了 一套基于FPGA嵌入...
人机接口界面HMI在基于FPGA的嵌入式系统中的设计实现
基于 FPGA 的 嵌入式系统中来,将会影响到系统开发...(5)内部存储器接口:可寻址多达 64KB 的 内部程序...电路,可以完全使用 8051 单片机的编程知识进行 设计...
更多相关标签: