2010电子设计竞赛MicoBlaze

上传人:zhan****gclb 文档编号:232297925 上传时间:2023-09-16 格式:PPT 页数:278 大小:4.99MB
收藏 版权申诉 举报 下载
2010电子设计竞赛MicoBlaze_第1页
第1页 / 共278页
2010电子设计竞赛MicoBlaze_第2页
第2页 / 共278页
2010电子设计竞赛MicoBlaze_第3页
第3页 / 共278页
资源描述:

《2010电子设计竞赛MicoBlaze》由会员分享,可在线阅读,更多相关《2010电子设计竞赛MicoBlaze(278页珍藏版)》请在装配图网上搜索。

1、 何宾何宾Tel:email:高等教育出版社高等教育出版社北京中教仪装备技术有限公司高教社高教社&XILINX SOC竞赛培训竞赛培训系列课程系列课程 FPGA System Design Primer 何宾何宾Tel:13911127536 email: 版权所有,禁止未经授权的商业使用行为 北京中教仪装备技术有限公司北京中教仪装备技术有限公司北京中教仪装备技术有限公司北京中教仪装备技术有限公司培训内容 Xilinx片上可编程系统设计导论片上可编程系统设计导论 MicroBlaze处理器原理处理器原理 EDK工具概述工具概述 操作系统操作系统(OS)及板级支持包及板级支持包(BSP)概述概述

2、基于基于EDK10.1和和MicroBlaze处理器的设计流程处理器的设计流程北京中教仪装备技术有限公司北京中教仪装备技术有限公司片上可编程系统设计导论片上可编程系统设计导论-基本概念 基于现场可编程门阵列(Field Programmable Gate Array,FPGA)的SOPC(System-on-a-chip),包含嵌入式的软核或硬核处理器、存储器和硬件加速器。SOPC的出现为设计者提供了设计高性能嵌入式系统和优化系统的条件。北京中教仪装备技术有限公司北京中教仪装备技术有限公司片上可编程系统设计导论片上可编程系统设计导论-基本概念 SOPC嵌入式处理器分为软核和硬核处理器两大类。X

3、ilinx提供了将物理的处理器核集成到FPGA硅片上的硬核处理器产品。一个处理器使用专门的硅片实现称为硬核处理器,比如:Xilinx将PowerPC 405/440硬核集成到Virtex系列的FPGA芯片中。软核处理器是通过使用FPGA的通用逻辑实现的。软核处理器通过HDL语言或网表进行描述的。软核处理器必须进行综合才能使用。北京中教仪装备技术有限公司北京中教仪装备技术有限公司片上可编程系统设计导论片上可编程系统设计导论-基本概念 在基于软核和硬核处理器的SOPC系统中,本地存储器、处理器总线、内部外设、外设控制器和存储器控制器必须使用FPGA的通用逻辑实现。下面给出Xilinx公司的软核和硬

4、核处理器的性能。北京中教仪装备技术有限公司北京中教仪装备技术有限公司片上可编程系统设计导论片上可编程系统设计导论-Xilinx Psoc类别北京中教仪装备技术有限公司北京中教仪装备技术有限公司片上可编程系统设计导论片上可编程系统设计导论-基本概念 由于持续的要求嵌入式系统具有更多的功能、更好的性能和灵活性,因此传统上的设计方法已经不适应这种要求。当设计人员试图通过高性能的嵌入式处理器得到更高的性能时,遇到了吞吐量和性能方面的限制,而这种限制源于系统和结构的瓶颈,以及存储器带宽的限制。现在解决问题的方法是“专用”,即对某个嵌入式系统应用使用专门的解决方法。比如,数字信号处理器DSP用于解决某一类

5、专门的数字信号处理。对于一些高容量的应用,设计人员可能还需要专门开发ASIC芯片。北京中教仪装备技术有限公司北京中教仪装备技术有限公司片上可编程系统设计导论片上可编程系统设计导论-基本概念 很多FPGA厂商将专用的嵌入式处理器Power、ARM等嵌入到FPGA芯片中。这种集成嵌入式处理器的FPGA芯片被定义成FPGA的平台。这种基于FPGA的嵌入式平台提供了一个灵活的解决方案。在这个解决方案中,一个单FPGA芯片上提供了大量不同的IP软核和硬核资源。这些固件和硬件可以在任何时间进行升级。这种可编程的结构特点,大大缩短了系统的开发时间,而同一平台能应用在很多领域,提高了平台的资源复用率。北京中教

6、仪装备技术有限公司北京中教仪装备技术有限公司片上可编程系统设计导论片上可编程系统设计导论-基本概念 FPGA平台结构使设计人员可以优化系统吞吐量和开发周期,提供前所未有的软件和硬件协同设计的灵活性,这种灵活性主要体现在设计人员能够权衡软件和硬件设计的实现方法。这种协同性不同于传统的嵌入式系统的协同设计,虽然以前也使用软件和硬件的协同设计,但是在实现级别上基本上还是使用大量的分离的设计流程。北京中教仪装备技术有限公司北京中教仪装备技术有限公司片上可编程系统设计导论片上可编程系统设计导论-基本概念 FPGA平台,即SOPC集成了传统软核和硬核处理器、片上总线、大量不同的I/O设备和接口标准、定制的

7、硬件加速理器,以及混合的定制的总线或点对点的拓扑结构,以提高系统的性能。在SOPC的层次上,FPGA的应用领域已经大大扩宽了,它不再只用于连接不同接口设备的“连接逻辑”。由于FPGA的容量和性能不断提高,因此它就逐步地变成嵌入式系统的中心。北京中教仪装备技术有限公司北京中教仪装备技术有限公司片上可编程系统设计导论片上可编程系统设计导论-基本概念 在SOPC阶段,设计已经从以硬件描述语言HDL为中心的硬件设计,转换到了以C语言进行功能描述为中心。形成了以C语言描述SOPC的功能,而用HDL语言描述硬件的具体实现方法。这也是和传统的FPGA设计和嵌入式系统设计最大的区别,即软件和硬件的真正的协同设

8、计。北京中教仪装备技术有限公司北京中教仪装备技术有限公司片上可编程系统设计导论片上可编程系统设计导论-基本概念 作为新的嵌入式系统的设计平台,使用SOPC进行嵌入式系统设计具有以下几个方面的优点:1、定制 2、延缓过时 3、降低元件成本 4、硬件加速北京中教仪装备技术有限公司北京中教仪装备技术有限公司片上可编程系统设计导论片上可编程系统设计导论-设计流程 正如前面所说,基于SOPC的嵌入式系统的设计需要软件和硬件的协同设计。下面给出了Xilinx公司使用XPS(Xilinx Platform Studio)进行嵌入式系统设计的流程。Xilinx公司的XPS工具包用于开发基于FPGA平台的嵌入式

9、系统,从图可以看出该工具支持传统的硬件和嵌入式软件的设计流程。北京中教仪装备技术有限公司北京中教仪装备技术有限公司片上可编程系统设计导论片上可编程系统设计导论-设计流程软件和硬件融合软件和硬件融合北京中教仪装备技术有限公司北京中教仪装备技术有限公司片上可编程系统设计导论片上可编程系统设计导论-设计流程 XPS支持硬核PowerPC和软核Microblaze处理器。并将设计的导入、创建和IP核定制进行了流水化的处理。由于XPS知道平台FPGA的硅片属性和选项,能自动的为其外设生成软件驱动、测试代码以及创建板级支持包BSP(Board Support Package)。这些BSP是常用的实时操作系

10、统RTOS(Real-Time Operating System),比如VxWorks和嵌入式Linux提供的设备驱动。北京中教仪装备技术有限公司北京中教仪装备技术有限公司片上可编程系统设计导论片上可编程系统设计导论-设计流程 Xilinx的JTAG连接技术,完成FPGA的下载、FPGA的调试、C代码的下载和软件的调试。XPS集成了软件和硬件调试工具,使它们之间可以相互触发,这使得嵌入式系统内部变成“可见”,使嵌入式设计者能很快地找到和发现问题,而无需知道这个问题是软件还是硬件产生的。北京中教仪装备技术有限公司北京中教仪装备技术有限公司片上可编程系统设计导论片上可编程系统设计导论-设计优化 F

11、PGA嵌入式处理器设计比较复杂,复杂程度甚至使那些有经验的设计人员在某些情况下都无能为力,因此为了获得FPGA平台的优势必须进行权衡。下面给出一些在设计FPGA的SOPC嵌入式系统时,会使用到的一些优化技术。北京中教仪装备技术有限公司北京中教仪装备技术有限公司片上可编程系统设计导论片上可编程系统设计导论-设计优化设计优化1、优化级别2、使用FPGA厂商的优化指令3、汇编4、混杂北京中教仪装备技术有限公司北京中教仪装备技术有限公司片上可编程系统设计导论片上可编程系统设计导论-存储器使用存储器使用只用本地存储器:只用本地存储器:最快的存储器的选择是将所有的代码放在本地存储器中。只用外部存储器:只用

12、外部存储器:如果将所有程序放在外部存储器中,将使系统的性能降到最低。高速缓存:高速缓存:在建有PowerPC处理器的FPGA硅片上建立了的指令和数据高速缓存。使其对处理器总保持性能优势。分配代码到内部存储器、外部存储器和高速缓存。分配代码到内部存储器、外部存储器和高速缓存。北京中教仪装备技术有限公司北京中教仪装备技术有限公司片上可编程系统设计导论片上可编程系统设计导论-专用SOPC优化技术1、提高FPGA工作频率 逻辑优化2、面积和时序约束3、硬件加速 使用硬件除法器和桶型移位寄存器。软件瓶颈转换为硬件处理。可以使用硬件协处理的 算法有:DCT变换、FFT变换、MP3解码器、DES和AES、矩

13、阵等。使用硬件协处理,可以使性能提高数十倍或数百倍。北京中教仪装备技术有限公司北京中教仪装备技术有限公司片上可编程系统设计导论片上可编程系统设计导论-Xilinx PSOC芯片 适合进行SOPC设计的FPGA芯片低端产品有Spartan系列,高端产品有Virtex系列。Spartan系列FPGA只用于MicroBlaze软核处理器的片上系统设计,Virtex系列FPGA可以用于MicroBlaze软核处理器和PowerPC硬核处理器的片上系统设计。北京中教仪装备技术有限公司北京中教仪装备技术有限公司片上可编程系统设计导论片上可编程系统设计导论-PSOC芯片 Spartan系列的FPGA平台用于

14、片上系统设计主要使用Spartan-3,Spartan-6系列。Virtex系列的FPGA平台用于片上系统设计主要使用Virtex-2,Virtex-2 pro,Virtex-4,Virtex-5,Virtex-6系列。设计人员可以根据这些FPGA平台的不同性能,在设计片上系统时进行选择,以达到所需要的设计要求。北京中教仪装备技术有限公司北京中教仪装备技术有限公司MicroBlaze软核处理器原理软核处理器原理-MicroBlaze软核处理器结构指令一侧总线接口指令一侧总线接口数据一侧总线接口数据一侧总线接口可选择的配置可选择的配置北京中教仪装备技术有限公司北京中教仪装备技术有限公司Micro

15、Blaze软核处理器原理软核处理器原理-MicroBlaze软核处理器结构DPLB(Data Processor Local Bus):数据接口,处理器本地总线;DOPB(Data On-chip Peripheral Bus):数据接口,片上外设总线;DLMB(Data Local Memory Bus):数据接口,本地存储器总线;北京中教仪装备技术有限公司北京中教仪装备技术有限公司MicroBlaze软核处理器原理软核处理器原理-MicroBlaze软核处理器结构IPLB(Instruction Processor Local Bus):指令接口,处理器本地总线;IOPB(Instruct

16、ion On-Chip Peripheral Bus):指令接口,片上外设总线;ILMB(Instruction Local Memory Bus):指令接口,本地存储器总线;北京中教仪装备技术有限公司北京中教仪装备技术有限公司MicroBlaze软核处理器原理软核处理器原理-MicroBlaze软核处理器结构MFSL 0.15(Fast Simple Link,FSL master interface):FSL主接口;DWFSL 0.15(FSL master direct connection interface):FSL主直接连接接口;SFSL0.15(Fast Simple Link,

17、FSL slave interface):FSL从接口;DRFSL0.15(FSL slave direct connection interface):FSL从直接连接接口;北京中教仪装备技术有限公司北京中教仪装备技术有限公司MicroBlaze软核处理器原理软核处理器原理-MicroBlaze软核处理器结构 IXCL(Instruction side Xilinx CacheLink interface):指令侧高速缓存链接接口;DXCL(Data side Xilinx CacheLink interface):数据侧高速缓存链接接口;Core:时钟、复位、调试和跟踪信号;北京中教仪装备

18、技术有限公司北京中教仪装备技术有限公司MicroBlaze软核处理器原理软核处理器原理-MicroBlaze软核处理器结构下面给出一个典型的总线结构。LMB BRAMCNTLR LMB BRAM CNTLRBRAMPLBMDMUARTINTCMicroBlazeTimerGPIOIBALEDsSwitchMYIPEMC CNTLRSRAMICONFlash北京中教仪装备技术有限公司北京中教仪装备技术有限公司MicroBlaze软核处理器原理软核处理器原理-MicroBlaze软核处理器结构特点 MicroBlaze软核处理器是可配置的,设计人员可以根据设计定制处理器的可选配置,根据版本的不同可

19、配置的选项不同。软核处理器有以下几个方面的固定特征:1.32个32位通用寄存器;2.32位3个操作数的指令字,指令字有2种寻址模式;3.32位的地址总线;4.流水线操作。北京中教仪装备技术有限公司北京中教仪装备技术有限公司MicroBlaze软核处理器原理软核处理器原理-MicroBlaze软核处理器结构 MicroBlaze处理器采用哈佛存储器结构,即指令和数据访问使用独立的地址空间。每个一个地址空间都是32位长度(即,它们可以独立的访问4GB的地址空间的指令和数据存储器)。通过控制使重叠的数据和指令空间映射到相同的相同的物理存储器上。这样对于调试试非常好的。MicroBlaze处理器采用存

20、储器映射方式访问I/O设备,即存储器和I/O设备采用统一编址方式。北京中教仪装备技术有限公司北京中教仪装备技术有限公司MicroBlaze软核处理器原理软核处理器原理-MicroBlaze软核处理器结构处理器有下面三种接口可以通过存储器的方式访问:本地存储器总线(LMB);处理器本地总线(PLB)或者片上外设总线(OPB);Xilinx的CacheLink(XCL)。北京中教仪装备技术有限公司北京中教仪装备技术有限公司MicroBlaze软核处理器原理软核处理器原理-MicroBlaze软核处理器指令 MicroBlaze处理器指令为32比特长度,指令分为类型A和类型B。类型A指令包含两个源寄

21、存器操作数和一个目的寄存器操作数。类型B指令一个源寄存器、一个16位的立即数(通过imm指令扩展到32位)和一个目的寄存器操作数。MicroBlaze处理器的指令完成的功能有:算术操作、逻辑操作、分支操作、加载/存储操作和其它特殊操作。北京中教仪装备技术有限公司北京中教仪装备技术有限公司MicroBlaze软核处理器原理软核处理器原理-MicroBlaze软核处理器FPU IEEE754单精度浮点数由1位符号位、8位偏置指数和23位小数(尾数)部分组成。下表给出了IEEE754单精度格式。北京中教仪装备技术有限公司北京中教仪装备技术有限公司MicroBlaze软核处理器原理软核处理器原理-Mi

22、croBlaze软核处理器FPU运算 算数操作:加,浮点加(fadd);减,浮点减(fsub);乘,浮点乘(fmul);除,浮点除(fdiv);平方根,浮点平方根(fsqrt);比较:小于,浮点小于(fcmp.lt)、等于,浮点等于(fcmp.eq);小于等于,浮点小于等于(fcmp.le);大于,浮点大于(fcmp.gt);不等于,浮点不等于(fcmp.ne);大于等于,浮点大于等于(fcmp.ge);无序,浮点无序(fcmp.un,NaN使用);转换:有符号整数到浮点(flt);浮点到有符号整数(fint)北京中教仪装备技术有限公司北京中教仪装备技术有限公司MicroBlaze软核处理器原

23、理软核处理器原理-MicroBlaze软核处理器FSL接口 MicroBlaze处理器可配置为16个快速单一链接(Fast Simplex Link,FSL)接口,每个接口由一个输入和输出端口组成。FSL通道是专用单向的点对点数据流接口。MicroBlaze接口为32比特宽度。一个对立的比特用来描述发送/接收字是控制类型还是数据类型。Get指令用来从FSL端口到通用寄存器传输信息;put指令以相反的方向传输信息。所有指令4种类型:阻塞数据、非阻塞数据、阻塞控制、非阻塞控制。北京中教仪装备技术有限公司北京中教仪装备技术有限公司MicroBlaze软核处理器原理软核处理器原理-MicroBlaze

24、软核处理器FSL接口 每个FSL提供低延迟专用的接口到处理器流水线。FSL是使用定制加速器和处理器扩展的理想接口。下图给出了使用定制硬件加速的例子。北京中教仪装备技术有限公司北京中教仪装备技术有限公司MicroBlaze软核处理器原理软核处理器原理-MicroBlaze软核处理器流水线 当采用面积优化时,流水线分为三级,即:取指,译码和执行,这样可以减少硬件开销。北京中教仪装备技术有限公司北京中教仪装备技术有限公司MicroBlaze软核处理器原理软核处理器原理-MicroBlaze软核处理器流水线 当不使用面积优化时,流水线分为五级:取指、译码、执行、访问存储器和回写,这样可以提高性能。下图

25、给出了五级流水结构。北京中教仪装备技术有限公司北京中教仪装备技术有限公司MicroBlaze软核处理器原理软核处理器原理-MicroBlaze软核处理器寄存器程序计数器(PC)机器状态寄存器(MSR)异常地址寄存器(EAR)异常状态寄存器(ESR)分支目标寄存器(BTR)浮点状态寄存器(FSR)异常数据寄存器(EDR)进程标识寄存器(PID)区域保护寄存器(ZPR)北京中教仪装备技术有限公司北京中教仪装备技术有限公司MicroBlaze软核处理器原理软核处理器原理-MicroBlaze软核处理器寄存器转换旁视缓冲低位寄存器(TLBLO)转换旁视缓冲高位寄存器(TLBHI)转换旁视缓冲索引寄存器

26、(TLBX)TLB查找索引寄存器(TLBSX)处理器版本寄存器(PREV)北京中教仪装备技术有限公司北京中教仪装备技术有限公司MicroBlaze软核处理器原理软核处理器原理-MicroBlaze软核处理器MMUMMU完成以下几个功能:1)将有效地址转化成物理地址;2)在地址转换时,控制页面级访问;3)在使用区域时,提供额外的虚拟模式保护控制;4)对指令地址、数据地址转换和保护提供独立控制;5)支持8种页面尺寸:1KB,4KB,16KB,64KB,256KB,1MB,4MB和16MB;6)软件提供页面替换策略;北京中教仪装备技术有限公司北京中教仪装备技术有限公司MicroBlaze软核处理器原

27、理软核处理器原理-MicroBlaze处理器虚拟存储器管理 运行在MicroBlaze处理器的应用程序要求使用有效地址访问4GB地址空间。处理器通过转换模式,以下面两种方式理解该地址空间。在实模式下,有效地址直接访问物理存储器;在虚拟模式下,通过处理器的虚拟存储器管理硬件(MMU)有效地址被转化物理地址。北京中教仪装备技术有限公司北京中教仪装备技术有限公司MicroBlaze软核处理器原理软核处理器原理-MicroBlaze处理器MMU实模式 当处理器取指或使用加载/存储指令访问数据时,处理器查看存储器。程序使用处理器计算得到的32位的有效地址查看存储器的位置。当使用实模式时,物理地址和有效地

28、址是一样的。北京中教仪装备技术有限公司北京中教仪装备技术有限公司MicroBlaze软核处理器原理软核处理器原理-MicroBlaze处理器MMU虚模式 在虚拟模式下,将有效地址转换成物理地址。通过设置MSR寄存器的VM比特来使能虚拟模式下的存储器管理。北京中教仪装备技术有限公司北京中教仪装备技术有限公司MicroBlaze软核处理器原理软核处理器原理-MicroBlaze处理器的事件及处理 MicroBlaze支持复位、中断、用户异常、断点和硬件异常。下面将描述和这些事件相关的处理流程。这些事件按优先级从高到低依次为:复位、硬件异常、非屏蔽断点、断点、中断、用户矢量(异常)。下表记录了这些事

29、件相关的存储器地址和保存返回地址的寄存器。每个矢量分配了两个地址以便允许全地址范围分支(要求 BRAI IMM指令)。地址范围0 x28-0 x4f是为支持将来的Xilinx软件而保留的。北京中教仪装备技术有限公司北京中教仪装备技术有限公司MicroBlaze软核处理器原理软核处理器原理-MicroBlaze处理器的事件及处理北京中教仪装备技术有限公司北京中教仪装备技术有限公司MicroBlaze软核处理器原理软核处理器原理-MicroBlaze处理器的指令缓存 MicroBlaze处理器可选择指令缓存,当执行那些驻留在LMB地址范围外的代码时,使用指令缓存可以提高性能。指令缓存有以下特点:1

30、)直接映射(1-way 关联);2)用户可选择的缓存地址范围;3)可配置的缓存和标记大小;4)CacheLink(XCL)接口上的缓存;5)选择使用4/8线字缓存行;6)使用MSR寄存器控制打开/关闭缓存;7)可选的WIC指令使指令缓存行无效。北京中教仪装备技术有限公司北京中教仪装备技术有限公司MicroBlaze软核处理器原理软核处理器原理-MicroBlaze处理器的数据缓存 MicroBlaze处理器有可选的数据缓存提高性能。缓存的存储器地址不得在LMB的地址范围内。数据缓存有以下特点:1)直接映射(1-way 关联);2)完全写入;3)用户可选择的缓存地址范围;4)可配置的缓存和标记大

31、小;5)CacheLink(XCL)接口上的缓存;6)选择使用4/8线字缓存行;7)使用MSR寄存器控制打开/关闭缓存;可选的;8)WDC指令使指令缓存行无效。北京中教仪装备技术有限公司北京中教仪装备技术有限公司MicroBlaze软核处理器原理软核处理器原理-MicroBlaze处理器的调试 MicroBlaze有的调试接口可以用来支持基于JTAG的软件调试工具(BDM或后台调试模式调试器),比如Xilinx Microprocessor Debug(XMD)工具。调试接口用于和Xilinx Microprocessor Debug(XMD)连接,XMD和Xilinx的JTAG端口连接。多个

32、MicroBlaze的例子(例化)使用单个XDM连接进行多处理器调试。北京中教仪装备技术有限公司北京中教仪装备技术有限公司MicroBlaze软核处理器原理软核处理器原理-MicroBlaze处理器的调试调试特点有以下几个方面:1、可配置硬件断点数目、观察点和无限的软件断点;2、外部处理器控制使能调试工具停止、复位和单步;3、读写存储器,通用寄存器,特殊功能寄存器-EAR,EDR,ESR,BTR和PVR0-PVR11只读;4、支持多处理器;5、写指令和数据缓存。北京中教仪装备技术有限公司北京中教仪装备技术有限公司MicroBlaze软核处理器原理软核处理器原理-MicroBlaze信号接口 M

33、icroBlaze处理器能配置成下面的总线接口:32位版本的PLBV4.6接口;32位版本的OPB2.0接口;LMB提供简单同步协议用于高效的块RAM传输;FSL提供快速无需仲裁的流通信机制;XCL提供在缓存和外部存储器控制器之间的快速从设备仲裁的流接口;调试接口和处理器调试模块(MDM)一起使用;跟踪接口用于性能分析。北京中教仪装备技术有限公司北京中教仪装备技术有限公司MicroBlaze软核处理器原理软核处理器原理-MicroBlaze应用二进制接口-存储器模型MicroBlaze所定义的存储器模型有四个不同的部分:1)小数据区;2)数据区;3)普通的非初始化区;4)字面值(Literal

34、)或常数。北京中教仪装备技术有限公司北京中教仪装备技术有限公司Xilinx片上系统开发平台结构片上系统开发平台结构-EDK工具包 Xilinx的EDK工具主要包含:Xilinx Platfrom Studio(XPS)人机界面、嵌入式系统工具套件、嵌入式处理IP核,比如处理器和外设、Platform Studio SDK(Software Development Kit,SDK)。SDK基于Eclipse开放源码框架,设计人员可以选择使用SDK开发自己的嵌入式软件应用程序。北京中教仪装备技术有限公司北京中教仪装备技术有限公司Xilinx片上系统开发平台结构片上系统开发平台结构-EDK开发流程

35、EDK中所提供的工具用来完成嵌入式设计的整个过程。下图给出了基本嵌入式设计流程。北京中教仪装备技术有限公司北京中教仪装备技术有限公司Xilinx片上系统开发平台结构片上系统开发平台结构-硬件平台的建立 Xilinx的FPGA技术允许设计者在处理器子系统中定制硬件逻辑。这种定制不可能使用标准的现成的微处理器或控制器芯片。“硬件平台”是指设计人员根据应用的需要而使用Xilinx的技术建立的灵活地、嵌入式处理子系统。硬件平台是由一个或多个处理器或外设连接到处理器总线构成的。EDK通过微处理器硬件规范(Microprocessor Hardware Specification,MHS)文件记录硬件平台

36、信息。北京中教仪装备技术有限公司北京中教仪装备技术有限公司Xilinx片上系统开发平台结构片上系统开发平台结构-软件平台的建立 软件平台是软件驱动和用于建立应用程序的操作系统(可选)组成的。所建立的软件映像文件只包含用户所使用到的一部分Xilinx的库。EDK通过微处理器软件规范(Microprocessor SoftwareSpectifcation,MSS)记录软件平台信息。设计人员可以在软件平台运行多个应用程序。北京中教仪装备技术有限公司北京中教仪装备技术有限公司Xilinx片上系统开发平台结构片上系统开发平台结构-使用仿真的硬件平台验证 验证硬件平台的正确功能,设计人员可以建立一个仿真

37、模型,并且在HDL仿真器上运行。当仿真系统时,处理器运行可执行文件。设计人员可以选择建立行为、结构或者精确的时序仿真模型。北京中教仪装备技术有限公司北京中教仪装备技术有限公司Xilinx片上系统开发平台结构片上系统开发平台结构-使用调试的软件验证 调试嵌入式软件的基本技术是加载设计到所支持的开发板和使用调试工具去调试处理器。作为可选择的方式,设计人员可以使用指令集仿真器或简化系统仿真器模型(“虚拟平台”)运行在主机上来调试设计代码。设计人员可以通过概要分析代码的执行来估计系统性能。北京中教仪装备技术有限公司北京中教仪装备技术有限公司Xilinx片上系统开发平台结构片上系统开发平台结构-芯片配置

38、 一旦软件和硬件平台建立完成,设计人员可以为FPGA建立一个的配置比特文件。对于原型设计,当连接主机和芯片时,设计者可以在下载比特流时,将希望运行在嵌入式平台上的软件同时下载。对于产品,设计员将配置比特流和软件保存在和FPGA连接的非易失性存储器中。北京中教仪装备技术有限公司北京中教仪装备技术有限公司Xilinx片上系统开发平台结构片上系统开发平台结构-EDK功能北京中教仪装备技术有限公司北京中教仪装备技术有限公司Xilinx片上系统开发平台结构片上系统开发平台结构-EDK功能北京中教仪装备技术有限公司北京中教仪装备技术有限公司Xilinx片上系统开发平台结构片上系统开发平台结构-EDK功能北

39、京中教仪装备技术有限公司北京中教仪装备技术有限公司Xilinx片上系统开发平台结构片上系统开发平台结构-EDK功能北京中教仪装备技术有限公司北京中教仪装备技术有限公司Xilinx片上系统开发平台结构片上系统开发平台结构-Xilinx Platform Studio(XPS)XPS提供了集成环境为基于MicroBlaze和PowerPC处理器的嵌入式处理器系统创建软件和硬件规范流程。XPS也提供编辑器和项目管理接口用来创建和编辑源代码。XPS提供工具流程配置选项的定制和提供图形化的系统编辑器用来连接处理器、外设和总线。XPS可以在Windows、Solaris和Linux平台下使用。从XPS中,

40、设计人员可以运行所有用于处理硬件和软件的嵌入式系统工具。在XPS环境下可以进行系统验证。北京中教仪装备技术有限公司北京中教仪装备技术有限公司Xilinx片上系统开发平台结构片上系统开发平台结构-Xilinx Platform Studio(XPS)XPS提供下面的特性:能够添加核,编辑核参数和进行总线和信号连接,产生MHS文件;能够产生和修改MSS文件;支持表4.1内的所有工具;能够产生和观察系统块图和设计报告;多用户软件应用支持;项目管理;过程和工具流程依赖管理。北京中教仪装备技术有限公司北京中教仪装备技术有限公司Xilinx片上系统开发平台结构片上系统开发平台结构-Xilinx Softw

41、are Development Kit(SDK)SDK工具是XPS的补充,SDK为应用软件提供开发环境。SDK基于Eclipse开放源码标准。SDK主要有以下特点:1)功能丰富的C/C+编辑器和编译环境;2)项目管理;3)应用程序的建立配置和自动的MAKE文件生成;4)错误浏览;5)为无缝调试和概要分析目标提供了好的集成环境;6)软件代码版本控制。北京中教仪装备技术有限公司北京中教仪装备技术有限公司Xilinx片上系统开发平台结构片上系统开发平台结构-Base System Builder(BSB)Wizard BSB向导帮助设计人员快速建立一个嵌入式系统工程。对于更复杂的工程,BSB向导提供

42、基本的系统,通过这个系统设计人员可以定制完成嵌入式设计。为了高效率的建立工程,Xilinx推荐使用BSB向导。北京中教仪装备技术有限公司北京中教仪装备技术有限公司Xilinx片上系统开发平台结构片上系统开发平台结构-Base System Builder(BSB)Wizard 基于设计人员选择的板子,设计人员通过BSB选择并配置基本元素,比如:处理器类型、调试接口、缓存配置、存储器类型和大小、外设等。对于BSB不支持的目标系统,设计人员可以选择定制板选项。使用这个选项时,必须指定未来板子的硬件,并且要给出用户约束文件UCF。如果选择的是支持的目标板,BSB向导自动加入UCF文件。当退出BSB时

43、,BSB所建立的MHS和MSS文件自动加入到XPS工程中,设计员能在XPS中进行更进一步设计。北京中教仪装备技术有限公司北京中教仪装备技术有限公司北京中教仪装备技术有限公司北京中教仪装备技术有限公司Xilinx片上系统开发平台结构片上系统开发平台结构-Platform Generator(PlatGen)平台产生器Platgen将对嵌入式系统的高级描述编译成能在目标FPGA芯片上实现的HDL网表。嵌入式系统硬件平台典型的由一个或多个处理器和不同的外设和存储器模块组成,这些模块通过处理器总线连接。每个外设的IP核有很多的参数,通过调整这些参数来定制行为。这些参数也用来为这些存储器和外设进行地址映

44、射。由于EDK提供可选择的特性,FPGA只需要实现应用程序所要求的功能子集。硬件平台保存了MHS文件。MHS文件是表示所设计的嵌入式系统的硬件元件的最主要文件。MHS文件以ASCII码形式存在。北京中教仪装备技术有限公司北京中教仪装备技术有限公司Xilinx片上系统开发平台结构片上系统开发平台结构-Platform Generator(PlatGen)Platgen读取MHS文件作为设计输入。Platform也从EDK库和用户IP库中读取处理器核硬件描述文件MPD,PAO。Platgen为嵌入式系统产生顶层HDL设计文件,该文件包含所有参数化了的IP核。在这个过程中,将MHS中所有高层总线连接

45、变成连接处理器、外设和片上存储器的真实信号。它也调用XST编译器综合每个例化的IP核(Platgen产生的系统级网表也用来作为FPGA实现过程的一部分)。除此之外,Platgen也产生BMM(BRAM Memory Map)文件,该文件包含所用到的片上BRAM的地址。北京中教仪装备技术有限公司北京中教仪装备技术有限公司Xilinx片上系统开发平台结构片上系统开发平台结构-建立和导入建立和导入IP向导向导 该向导帮助设计人员建立定制的外设并且将其导入相应的XPS工程中。在创建模式下,创建和输入外设向导建立很多文件,这些文件的一些是模板文件帮助设计人员实现外设,而不需要详细的知道总线协议,命名规则

46、和特殊接口文件的格式。通过参考模板中的例子和使用不同的辅助设计支持文件,设计人员可以很快的进行逻辑定制。在导入模式下,该工具帮助设计人员建立接口文件和目录结构。对于这种模式,必须遵守EDK命名规则。一旦导入完成,用户的定制外设在EDK外设库中可以使用。北京中教仪装备技术有限公司北京中教仪装备技术有限公司Xilinx片上系统开发平台结构片上系统开发平台结构-建立和导入建立和导入IP向导向导 当创建或输入一个外设时,自动生成MPD(Microprocessor Peripheral Defination)文件和PAO(Peripheral Analyze Order)文件:MPD文件定义了外设的接

47、口;PAO文件通知其它工具(Platgen,Simgen),对外设需要编译哪个HDL文件和以什么样的顺序编译。北京中教仪装备技术有限公司北京中教仪装备技术有限公司Xilinx片上系统开发平台结构片上系统开发平台结构-配置协处理器向导 如果设计中包含MicroBlaze和PowerPC处理器时,可以使用该向导。该向导添加和连接协处理器到CPU。协处理器是一个硬件模块用来实现用户在FPGA内定义的功能和通过FSL接口与处理器连接。FSL通道是一个专用的32位,点对点的通信接口。北京中教仪装备技术有限公司北京中教仪装备技术有限公司Xilinx片上系统开发平台结构片上系统开发平台结构-库产生器(Lib

48、gen)Libgen为嵌入式处理器系统配置库,设备驱动,文件系统和中断句柄,称这些为软件平台。嵌入式软件平台为每个处理器定义了系统内外设的驱动(板级支持包),可选择的库,标准的输入/输出设备,中断句柄例程和其它相关的软件特征。基于这个软件平台,设计人员更进一步的定义了软件的应用程序。北京中教仪装备技术有限公司北京中教仪装备技术有限公司Xilinx片上系统开发平台结构片上系统开发平台结构-库产生器(Libgen)XPS中的MSS文件包含了对软件平台的定义。MSS文件(可编辑的文本文件)和应用程序代表了嵌入式系统中软件元素。来自于EDK安装的库和驱动,以及设计人员提供的定制库和驱动,EDK将用户程

49、序编译成处理器硬件平台上可执行的ELF文件。Libgen工具读MSS和MHS文件作为Libgen的基本输入。Libgen也读取选择的EDK库和不同的处理器核软件描述文件(MDD和驱动代码)北京中教仪装备技术有限公司北京中教仪装备技术有限公司Xilinx片上系统开发平台结构片上系统开发平台结构-GNU编译工具 XPS调用GNU编译工具用于编译和链接应用程序。对于MicroBlaze处理器的应用,XPS运行mb-gcc编译器;对于PowerPC处理器的应用,XPS运行powerpc-eabi-gcc编译器。编译器能读取C代码,头文件和汇编代码。链接器将编译的程序和选择的库连接在一起产生ELF可执行

50、文件。连接器也读取连接脚本(默认产生或用户产生)。北京中教仪装备技术有限公司北京中教仪装备技术有限公司Xilinx片上系统开发平台结构片上系统开发平台结构-Xilinx Microprocessor Debugger(XMD)设计人员可以使用指令集仿真器或者虚拟平台调试软件程序。XMD读ELF文件。对于调试物理的FPGA,XMD和FPGA通讯使用和FPGA下载相同的电缆。北京中教仪装备技术有限公司北京中教仪装备技术有限公司Xilinx片上系统开发平台结构片上系统开发平台结构-GNU调试器(GDB)GNU调试器是个强大和灵活的工具,它为在不同的开发周期验证MicroBlaze和PowerPC系统

51、提供了统一的调试和验证手段。GDB使用了XMD作为最基本的引擎和处理器目标通讯。北京中教仪装备技术有限公司北京中教仪装备技术有限公司Xilinx片上系统开发平台结构片上系统开发平台结构-仿真模型产生器Simgen 仿真模型产生器Simgen为硬件产生和配置不同模型。为产生行为模型,Simgen使用MHS文件作为基本的输入。为产生结构或时序模型,Simgen使用综合后或布局布线后的设计数据库作为基本的输入。Simgen为每个处理器也读取嵌入式应用ELF文件去初始化片上存储器;这样处理器在仿真阶段就可以执行这些软件代码。北京中教仪装备技术有限公司北京中教仪装备技术有限公司Xilinx片上系统开发平

52、台结构片上系统开发平台结构-仿真库编译器(CompEDKLib)CompEDKLib使用不同仿真工具厂商提供的仿真器编译EDK基于HDL的仿真库。这个工具可以运行在GUI和批处理模式下。在GUI模式下,允许设计人员使用CompXLib编译Xilinx的库和EDK中可以使用的库。北京中教仪装备技术有限公司北京中教仪装备技术有限公司Xilinx片上系统开发平台结构片上系统开发平台结构-虚拟平台生成器(VPgen)虚拟平台是硬件系统的周期级的仿真模型。可以在主机上用虚拟平台来调试和评估软件应用代码,而不需要得到运行在原型板上的硬件。北京中教仪装备技术有限公司北京中教仪装备技术有限公司Xilinx片上

53、系统开发平台结构片上系统开发平台结构-比特流初始化工具(Bitinit)比特流初始化工具使用软件信息来初始化与处理器连接的片上BRAM存储器。该工具读取ISE产生的比特流文件(system.bit),产生一个新输出比特流文件(download.bit),这个比特流文件包含ELF文件。这个工具使用BMM文件,该文件由Platgen产生,通过使用每个BRAM块的物理的布局信息由ISE工具更新。在内部,比特流初始化工具Bitinit使用在ISE中提供的Data2MEM工具来更新比特流文件。北京中教仪装备技术有限公司北京中教仪装备技术有限公司Xilinx片上系统开发平台结构片上系统开发平台结构-系统A

54、CE生成器(Gen ACE)从FPGA比特流中产生 Xilinx System ACE配置文件和ELF/数据文件。产生的ACE文件用于配置FPGA,初始化BRAM,使用有效的程序或数据初始化外部存储器和启动处理器。EDK提供了工具命令语言(Tool Command Language,Tcl)脚本,genace.tcl。该脚本使用XMD命令产生ACE文件。使用MDM系统可以为PowerPC或MicroBlaze产生ACE文件。北京中教仪装备技术有限公司北京中教仪装备技术有限公司Xilinx片上系统开发平台结构片上系统开发平台结构-Flash编程 编程解决方案被设计成通用的,面向不同的Flash硬

55、件和布局。北京中教仪装备技术有限公司北京中教仪装备技术有限公司Xilinx片上系统开发平台结构片上系统开发平台结构-格式版本工具(revup)格式版本工具revup更新已经存的EDK工程到当前的版本。revup工具只执行格式的变化,对设计不进行更新。在应用revup前,备份MHS,MSS,XMP等文件。当使用新版本的EDK工具打开老版本的工程时,就会显示版本管理向导。当执行revup后,调用版本管理向导。向导提供有关设计中使用的Xilinx处理器IP核的变化信息。如果新版本的IP核可以使用,向导将升级到新的版本。北京中教仪装备技术有限公司北京中教仪装备技术有限公司Xilinx片上系统开发平台结

56、构片上系统开发平台结构-LibXil文件系统生成器(LibXil MFS)以文件句柄的形式提供管理程序存储器的能力。设计人员可以建立目录,并在目录中存放不同文件。文件系统能通过使用高级C语言进行函数调用来访问。北京中教仪装备技术有限公司北京中教仪装备技术有限公司Xilinx片上系统开发平台结构片上系统开发平台结构-平台规范工具 能够自动产生建立IP核的MPD文件。通过建立和导入外设向导的帮助,能够使用这个工具提供的功能。北京中教仪装备技术有限公司北京中教仪装备技术有限公司操作系统及板级支持包操作系统及板级支持包-Xilinx片上处理器支持的OSXMKLinuxVxworks其它uc/osII等

57、支持嵌入式的软核和硬核处理器支持嵌入式的软核和硬核处理器只支持嵌入式硬核处理器只支持嵌入式硬核处理器北京中教仪装备技术有限公司北京中教仪装备技术有限公司操作系统及板级支持包操作系统及板级支持包-Xilinx的XMK Xilinx的微核(Xilinx Microkernel,XMK)包含三个不同的软件实体,通过它用户应用程序可以与标准C和Math库,LibXil库,Xilkernel或独立运行的操作系统相接。北京中教仪装备技术有限公司北京中教仪装备技术有限公司操作系统及板级支持包操作系统及板级支持包-Xilinx片上处理器支持的OS 标准C库由libc组成,该库包含了标准C的函数,比如,stdi

58、o,stdlib,string例程。数学库是一个扩展libm库,提供了标准的数学函数。LibXil库由下面构成:LibXil Driver-Xilinx的设备驱动程序;LibXil MFS-Xilinx的存储文件系统(Memory File System,MFS);LibXil Flash-并行Flash编程库;LibXil lsf-串行Flash编程库。北京中教仪装备技术有限公司北京中教仪装备技术有限公司操作系统及板级支持包操作系统及板级支持包-Xilinx片上处理器支持的OS Xilinx的独立板级支持包(Board Support Package,BSP)和Xilkernel是XMK内提

59、供的两个操作系统选择,能被包含在所设计的应用软件平台中。北京中教仪装备技术有限公司北京中教仪装备技术有限公司操作系统及板级支持包操作系统及板级支持包-板级支持包BSP BSP是单线程库。BSP提供对硬件的小的接口。向应用程序提供所要求的最少的功能。BSP提供的一些典型的函数包括:设置中断 系统异常 配置缓存 其它硬件指定的功能。北京中教仪装备技术有限公司北京中教仪装备技术有限公司片上可编程系统设计实验片上可编程系统设计实验-实验内容 介绍EDK10.1SP3软件的使用方法和设计流程。在介绍这部分内容时,使用HEP的竞赛平台EXCD-1。该内容主要包括:1.工程的建立;2.添加IP到硬件设计;3

60、.添加定制IP到系统;4.编写应用程序;5.使用SDK工具;6.设计的软件和硬件调试等部分。北京中教仪装备技术有限公司北京中教仪装备技术有限公司片上可编程系统设计实验片上可编程系统设计实验-实验内容特别注意:在开始使用XILINX的EDK软件开始片上可编程系统开发前,需要将光盘中的名为HEP_excd2-500的板支持包文件夹复制到 D:Xilinx10.1EDKboardXilinxboards下北京中教仪装备技术有限公司北京中教仪装备技术有限公司实验一:工程的建立实验一:工程的建立-BSB向导概念 BSB向导帮助设计人员快速建立一个嵌入式系统工程。对于更复杂的工程,BSB向导提供基本的系统

61、,通过这个系统设计人员可以定制完成嵌入式设计。为了高效率的建立工程,Xilinx推荐使用BSB向导。北京中教仪装备技术有限公司北京中教仪装备技术有限公司实验一:工程的建立实验一:工程的建立-BSB向导概念 基于设计人员选择的板子,设计人员通过BSB选择并配置基本的元素,比如:处理器类型、调试接口、缓存配置、存储器类型和大小、外设等。对于BSB不支持的目标系统,设计人员可以选择定制板选项。使用这个选项时,必须指定未来板子的硬件,并且要给出用户约束文件UCF。如果选择的是支持的目标板,BSB向导自动的加入UCF文件。当退出BSB时,BSB所建立的MHS和MSS文件自动加入到XPS工程中,设计人员能

62、在XPS中进行更进一步的设计。北京中教仪装备技术有限公司北京中教仪装备技术有限公司实验一:工程的建立实验一:工程的建立-BSB向导概念 BSB可以根据设计人员的要求产生一个或多个软件工程。每个工程包含能运行在硬件目标开发板上的简单的应用程序和链接脚本。北京中教仪装备技术有限公司北京中教仪装备技术有限公司实验一:工程的建立实验一:工程的建立-设计结构原理 右图给出所设计系统的完整结构。所有实验流程都是基于这个设计结构完成的。LMB BRAMCNTLR LMB BRAM CNTLRBRAMPLBMDMUARTINTCMicroBlazeTimerGPIOIBALEDsSwitchMYIPEMC C

63、NTLRSRAMICONFlash北京中教仪装备技术有限公司北京中教仪装备技术有限公司实验一:工程的建立实验一:工程的建立-使用BSB向导 工程信息保存在XMP工程文件中。XMP文件包含:这个文件也包含FPGA的家族结构和类型。这部分主要介绍EDK处理嵌入式设计的控制细节。MHS文件;MSS文件;C代码;头文件;北京中教仪装备技术有限公司北京中教仪装备技术有限公司实验一:工程的建立实验一:工程的建立-使用BSB向导 在Windows操作系统下,选择所有程序-Xilinx ISE Design Suite10.1-EDK-Xilinx Platform Studio(XPS)。打开EDK软件。1

64、)打开XPS,在XPS主界面选择File-New Project,出现下图界面。选择Base System Builder Wizard(recommend),然后单击ok按钮。北京中教仪装备技术有限公司北京中教仪装备技术有限公司实验一:工程的建立实验一:工程的建立-使用BSB向导北京中教仪装备技术有限公司北京中教仪装备技术有限公司实验一:工程的建立实验一:工程的建立-使用BSB向导北京中教仪装备技术有限公司北京中教仪装备技术有限公司实验一:工程的建立实验一:工程的建立-使用BSB向导 2)事先在某个目录下新建一个工程,用来存放例子的工程文件(比如本设计在E盘新建一个工程文件夹E:/labs/

65、lab)。点击前页图所示的Browse按钮,定位到该工程文件夹下,默认的工程名为system.xmp。当完成后,单击ok。3)出现如下图所示的Base System Builder-Welcome界面,选择Creat a new project。点击Next按钮。北京中教仪装备技术有限公司北京中教仪装备技术有限公司实验一:工程的建立实验一:工程的建立-使用BSB向导北京中教仪装备技术有限公司北京中教仪装备技术有限公司实验一:工程的建立实验一:工程的建立-使用BSB向导 4)如下图所示,出现Base System Builder-Select Board界面,在Board Vendor下拉框中选

66、择Hep,在Board Name下拉框中选择Hep EXCD 2-500 Board。在Board Revision下选择C(唯一选项),点击Next。北京中教仪装备技术有限公司北京中教仪装备技术有限公司实验一:工程的建立实验一:工程的建立-使用BSB向导 选择需要实验板子选择需要实验板子北京中教仪装备技术有限公司北京中教仪装备技术有限公司实验一:工程的建立实验一:工程的建立-使用BSB向导 5)出现Base System Builder-Select Processor界面,在Processor下选择MicroBlaze,单击Next。6)出现下图所示的Base System Builder-Configure MicroBlaze Processor界面。北京中教仪装备技术有限公司北京中教仪装备技术有限公司实验一:工程的建立实验一:工程的建立-使用BSB向导 配置配置MicroBlaze界面界面Reference clock frequency:50.00MHzProcessor-bus Clock Frequency:50MHzProcessor configuration De

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!