系统芯片FPGA验证系统的软件调试环境设计.docVIP

系统芯片FPGA验证系统的软件调试环境设计.doc

  1. 1、本文档共4页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
系统芯片FPGA验证系统的软件调试环境设计.doc

  系统芯片FPGA验证系统的软件调试环境设计|第1 内容显示中 摘 要:软件调试环境是软件与硬件间的桥梁。为了缩短SoC推向市场的时间,必须尽早建立一个好的软件开发调试环境。在SoC系统验证(项目中用FPGA做系统验证)阶段,同时建立软件开发环境,这样软硬件设计就能同步进行,就可以在PFGA上调试软件,缩短SoC的上市时间、降低成本,在FPGA上开发的软件基本可以平移到目标芯片上。本文探索的软件调试环境设计,不需要任何的硬件支持,完全用软件来实现,这又进一步简化了硬件设计,缩短SoC的开发周期和成本。   关键词:SoC;软件调试环境;监控程序   在SoC系统开发过程中,既有硬件的开发,又包括软件开发[1]。传统的SoC的开发过程中,一般流程是先做硬件(CPUcore和外围IP模块)设计,再作软件(包括软件调试环境、OS和应用程序)设计。这样的流程是软硬件设计串行进行,大大延长SoC推向市场的时间。怎样才能使软硬件设计同步进行?软硬件协同设计成为SoC设计领域的热门话题[3]。笔者结合实际项目(国家863项目“空间信息应用移动用户终端原型机的研究开发和产业化”,课题编号2001AA136032),探索了软硬件协同设计的方法,使软硬件设计同步进行。实现了在FPGA验证阶段同时建立软件调试环境,同时进行OS和其他应用程序的开发。本文首先简单介绍当前SoC设计的基本情况,软件调试的实现方法。重点介绍了在SoC设计的FPGA验证过程中进行软件调试环境的设计的基本原理和思路。   文中笔者结合了实际参加的项目,整个项目的基本情况是:项目所开发的是基于32 bit Harvard结构的RISC处理器的嵌入式SoC,包括几个外围IP模块。如图1所示。   由于CPUCORE是自主开发的,必须尽早提供一个好的软件调试环境,所以我们在SoC的FPGA验证过程中就开始建立软件开发环境。CPUCORE的字长为32 bit,采用Little Endian的存储格式。在项目中使用的工具链(编译器、汇编器、连接器和其他转换工具),都是独立开发的。而且所用的CPUCORE可以和其他外设IP一起进行FPGA综合,所以简化了SoC的FPGA验证。 500)this.style.ouseg(this) 1 嵌入式SoC设计、软件调试环境概述     SoC设计中集成了复杂的IP模块和嵌入式软件,传统的以功能设计为基础的IC设计方法已经无法适应新的设计需求,IC设计方法需要变革,从以功能设计为基础的传统流程转变到以功能组装为基础的全新流程。SoC设计的关键要素包括:深入的系统级设计与分析;软硬件的协同设计与验证[1]。   在FPGA验证阶段开始建立软件调试环境意义匪浅,因为FPGA基本能正确全面仿真芯片行为,而其他仿真环境,如指令模拟器不能全面仿真芯片行为,尤其是中断和外围模块没法通过指令模拟起来仿真。所以在FPGA上进行软件开发和在指令模拟器上进行软件开发都是必要的,在FPGA上开发的软件基本可以平移到目标芯片上。这样在硬件设计的FPGA验证阶段就开始开发软件,能缩短项目开发时间,降低成本。本文接下来就详细介绍这种方法。   当前用得较多的软件开发环境,基本上有两类[2]:   ① 插桩方法(软断点)。嵌入式微处理器内部不需要特别的硬件支持。软件包括PC端的HOST软件:提供用户调试程序的界面、与仿真板进行通信的接口函数等;仿真板上的监控程序(monitor),存放在仿真板上的一个具有固定地址的只读存储器中。其特点是:方便廉价的方式,不需要特别的硬件支持;缺点是效率不高,只能对RAM程序调试。   ② ICE+JTAG方法。在芯片上设计ICE模块的在线仿真器。这种方法是在芯片内设计一个嵌入式ICE模块,ICE模块作为嵌入式微处理器和开发系统之间的桥梁,在线仿真器中的嵌入式微处理器即是目标系统中真实的处理器。和插桩方法相比这种方法的效率比较高,可对ROM程序调试;但需要特殊的硬件支持。   由于插桩法软件开发环境的建立不需要特殊的硬件支持(在芯片上不需要ICE模块的支持)、相对容易和廉价,可以在硬件设计的FPGA验证阶段同时开始这种软件开发环境的建立。同时为了使软硬件设计能并行进行,缩短SoC的开发周期。所以选用这种插桩方法不失为一种可行的好方法,它可缩短SoC项目的开发周期,同时也降低了开发成本。后面将具体介绍这种在SoC的系统验证阶段(FGPA验证)开始建立软件开发环境。主要分两个部分介绍,一部分介绍运行于验证电路板上的监控程序(MONITOR),另一部分介绍运行于PC的HOST程序。 2 在SoC设计FPGA验证过程,软件调试环境的设计 2.1 基本原理   在FPGA验证过程开发的软件调试环境,基本功能包括:加载(Doouse

文档评论(0)

ggkkppp + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档