网站大量收购独家精品文档,联系QQ:2885784924

一种FPGA内嵌PowerPC处理器改进型程序固化方法.doc

一种FPGA内嵌PowerPC处理器改进型程序固化方法.doc

  1. 1、本文档共6页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
一种FPGA内嵌PowerPC处理器改进型程序固化方法

一种FPGA内嵌PowerPC处理器改进型程序固化方法   摘 要:本文主要针对目前应用比较广泛的FPGA芯片的嵌入式CPU硬核,结合使用需求,并通过对厂商提供的程序固化方式的研究,从硬件平台,软件加载流程等方面综合分析,提出一种改进型的程序固化方法,以较小的代价,实现了不同应用环境下的一致程序固化方法,方便了用户调试和固化程序,提高了工作效率。 关键词:FPGA;嵌入式;CPU硬核;固化;加载 中图分类号:TP368 随着现场可编程门阵列技术的发展,目前主流的FPGA都具备大规模、高速度的特性,并且为特定的应用集成了诸如DSP,高速串行IO口等资源。但是面向通用处理或者高集成控制的嵌入式应用领域,如果单纯使用大规模的FPGA芯片,依靠逻辑设计完成相关功能,则在技术、时间以及可维护性上具有一定的难度。随着这种要求的逐步增多,在FPGA中首先出现的具备通用处理功能的CPU均是以软核形式提供的,比如Xilinx的MicroBlaze系列软核,满足了一部分用户的使用要求。 当用户需要更为复杂的功能时,比如高速、复杂的智能板卡和面向硬实时应用的领域,既需要解决板卡集成问题,同时还需要一个高性能处理器,此时基于FPGA的CPU软核所提供的功能则无法满足。因此,Xilinx在Virtex系列之后就推出了集成PowerPC405处理器硬核的Virtex2Pro以及Virtex4系列,并在必威体育精装版的Virtex5系列中集成了性能更为强大的PowerPC440处理器硬核。 在使用含有CPU核的FPGA进行逻辑设计并开发软件时,CPU核的工作模式对硬件逻辑资源分配,尤其是存储器资源分配有相应限制,并且需要根据CPU的启动模式和加载流程对资源分配进行规划。同时,在使用Xilinx官方所提供的方法时又具有一定的局限性,因此,结合实际使用,本文提出了一种更为全面的基于FPGA嵌入式处理器硬核的程序调试、固化以及加载方法,能够适应更为广泛的情况。 1 FPGA PowerPC处理器硬核程序固化及运行方式分析 1.1 启动流程描述 作为FPGA硬核PowerPC在启动流程上和其他处理器的启动有所差别:主要的区别就是在该CPU核只能在FPGA逻辑加载完成之后才能取指令工作,然后CPU默认从32位的地址空间的最高的4字节0xFFFFFFFC取指令执行,并进行跳转,并完成CPU相关寄存器和程序运行环境初始化,最后跳转到用户的main函数入口开始执行[1]。 1.2 程序固化方式及优缺点分析 根据PowerPC的启动流程,在进行程序固化可以使用两种方式实现,如下: (1)第一种就是将FPGA内部BRAM分配到地址空间最高端,并将软件作为逻辑的一部分固化到PROM中,实现软件和逻辑同时加载。其优点是实现简单,缺点就是当在设备中使用时,难以支持主机复位操作,且在即插即用的应用场合会出现问题。 (2)第二种方法是将非易失存储器指向地址空间的高端,让CPU在逻辑加载完成后直接从该存储器取指令执行。该方法的优点是可以用于多个场合,可以作为主机,也可以作为设备来使用。缺点是在使用该方式时,而需要针对调试和固化运行环境使用两种不同的逻辑版本,且固化方式复杂,增加较多工作量。 1.3 应用模式分析 针对上面提到两种程序固化方式所出现的问题进行分析,结合实际使用,针对以下三种使用模式提出一种适合于不同情况下的逻辑资源分配以及程序调试固化要求的方法,以较小的代价解决上面的问题。三种使用模式如下: (1)PowerPC作为主机使用,运行大规模的软件,但是内部BRAM资源又不能满足程序的运行要求时,需要使用搬家程序进行二次加载,启动速度慢。 (2)PowerPC作为外围设备的控制器时(例如高速PCI接口卡上的协处理器),需要响应主机的软复位请求,并以最快的方式完成复位,而且必须保证硬件功能正确。 (3)在PowerPC需要运行代码量大的设计中,程序的调试和固化运行需要使用不同的硬件逻辑版本。 2 新方法对硬件平台及资源分配的要求及其流程说明 针对这些分析,在硬件资源分配及逻辑设计上做如下更改,根据硬件要求对软件固化流程进行改动,即可解决。更改说明如下: (1)逻辑中增加一个专门的BRAM块,大小为16KB即可满足要求,并且该RAM必须占用存储器的高端空间。 (2)需要在复位逻辑的Core复位请求输入上逻辑“或”上一个主机复位请求输入[1]。 (3)使用外部RAM时,外部RAM不能接复位信号,或者确保复位无效即可。 (4)不能使用OCM总线接口的BRAM资源,否则无法保证复位之后OCM BRAM内部程序内容的正确性[1]。 在对硬件按照要求分配相应的资

您可能关注的文档

文档评论(0)

docman126 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:7042123103000003

1亿VIP精品文档

相关文档