• 学前教育
  • 小学学习
  • 初中学习
  • 高中学习
  • 语文学习
  • 数学学习
  • 英语学习
  • 作文范文
  • 文科资料
  • 理科资料
  • 文档大全
  • 当前位置: 雅意学习网 > 学前教育 > 正文

    关于对系统芯片FPGA验证系统进行软件调试环境的几点认识 芯片调试员

    时间:2019-04-25 03:38:02 来源:雅意学习网 本文已影响 雅意学习网手机站

      摘要:软件调试所处的环境作为硬件和软件之间的桥梁,为将SoC推向市场的时间缩短,所以必须尽快的将软件开发调试环境建立起来,在项目当中系统验证的时候使用FPGA阶段的同时进行软件开发环境的建立,使得同步在硬件和软件两者之间进行设计,这就实现软件调试在FPGA上,使得SoC的成本得以降低和上市时间得到缩短,从而再目标芯片上进行FPGA伤感软件开发。本文根据多年从事软件环境调试经验,对其设计进行探索,而这实现则完全是使用软件,不需要硬件的支持,使得硬件设计得到更加的简化,并且做得到多SoC的开发周期与成本得到有效的缩短。
      关键词:FPGA;验证系统;软件调试环境
      中图分类号:TP311.52 文献标识码:A 文章编号:1674-7712 (2012) 06-0083-01
      
      在进行SoC系统的开发当中,其中所包含的内容为硬件和软件开发。而在进行传统的开发当中,从流程上来看,首先是要设计硬件,在进行设计软件。通常来说,根据这一的流程则是串行进行设计软硬件,这使得SoC推向市场的时间缩短。而在进行同步进行设计软硬件,这也成为SoC设计领域的热门话题之一。笔者根据实践经验,对协同设计软硬件的方法进行有效探索,使得在实际中做到同步进行设计软硬件。
      一、设计嵌入式SoC软件调试环境的相关概况
      由于在进行设计SoC的过程中所综合的是嵌入式软件和IP模块,而IC这一传统的设计方法所遵循的基础是功能设计,这已经对新设计需求无法做到有效适应,所以必须要变革这一传统的设计方法,基础由功能设计转变为功能组装。在进行设计SoC的过程中所遵循的关键要求是进行深入的系统级分析和设计,做到协同验证和设计软硬件。
      软件调试环境在FPGA验证阶段就开始建立所具备的意义非凡,这主要是由于芯片行为能够在FPGA的作用下基本上能够做到全面和正确的仿真,而在诸如指令模拟器等其他仿真环境当中则不能够做到对其芯片行为进行全面性仿真,特别是当出现中断以及外围模块则不能够做到根据指令进行模拟仿真。这就显示出有着十分重要的必要性在进行软件的开发过程中要对指令模拟器和FPGA上面,通常来说,立足于FPGA之上的软件开发基本可以再目标芯片上进行,这就做到开发软件在进行硬件设计的FPGA验证阶段,使得进行项目开发的时间大大缩短,并且开发厂家所关心的成本得到迅速的降低。根据笔者对相关文献的考证,目前软件开发环境当中使用比较多的基本上为以下两种类型:
      一是软断点法。并不需要使用比较特点的硬件支持在嵌入式的微处理器内部,所需要的软件主要为:HOST软件在PC端所进行使用;能够给用户进行程序调试提供的界面、接口函数能够和仿真板进行连接使得通信得以实现等;在仿真板上面的监控程序,在仿真板上的特定位置能够进行存放作业的只读存储器当中。这种方法所具备的特点是使用起来廉价方便,发挥作用并不需要特别的硬件进行支持;而这种方法的弊端是效率显得过低,而且只能够调试RAM程序。
      二是JTAG+ICE法。这种方法主要是通过在芯片当中进行ICE模块的设计于在线仿真器当中。也就是说,通过嵌入式的ICE模块在芯片内部设计,ICE模块则是嵌入式微处理器和开发系统两者之间所形成的桥梁进行连接,目标系统当中所存在的真实处理器这也就是在线仿真器当中的嵌入式微处理器。与前一种方法相比,这种方法所具备的效率显得更高,并且能够调试ROM程序,可是这必须依赖于特殊的硬件进行支持。
      二、软件调试环境的设计原理
      软件调试环境当使用FPGA进行验证过程开发的时候,所具备的基本功能主要为:通过对加载程序的应用,做到将系统所编译生成的二进制文件在HOST机转移到目标系统所属的RAM区当中的某一特定区域;绩效断点的设置和取消,使得设置断点在RAM区的程序当中;对目标系统的状态进行查看,其中主要包括ROM所具有的数据值,RAM的目标系统以及CPU寄存器所显示的数值等;STEP功能,能够单步运行程序;GO功能,能够做到开始让程序运行。
      而所具备的基本思想是当通过系统的CPU启动后,CPU去0X00000000(在ROM区域)去取指令,同时片选逻辑产生ROM(系统设计中此段地址是用来存放MONITOR程序)的片选信号,这样CPU运行ROM的监控程序,系统由ROM中的MONITOR程序接管。MONITOR程序作了一些基本配置(片选、串口、中断控制器等的配置)完后,等待HOST端发来命令。需要被调试的用户程序被加载到RAM(通过MONITOR),用户所设断点的地方被换成一条陷入MONITOR程序的指令(可用软陷指令或扩展指令等),陷入MONITOR程序后,MONITOR程序把CPU的寄存器值保存到指定RAM中,然后再把这些值通过串口发给HOST端,HOST端再把寄存器的值显示出来。另外一个重要问题就是MONITOR和HOST间通信协议的定义,要保证通信的可靠信和高效性。
      三、总结
      这种插桩调试方法最大的特点就是灵活简单、不需要特殊硬件支持。可在SoC开发过程中的系统验证阶段(FPGA验证)引入,缩短SoC系统的开始周期。在FPGA验证过程中,同时建立软件开发环境,这可以缩短整个项目的开发时间,实现了软硬件开发并行进行。现在我们在FPGA验证系统上建立了一套软件开发环境(汇编级调试),这样我们就能在FPGA系统板上开发操作系统和其他应用软件。在SoC流水的过程中同样能进行程序开发,在我们的项目中,在FPGA上开发的OS和应用程序都能平移到ASICSoC上,这就节约了不少时间,实现软硬件设计同步进行。
      参考文献:
      [1]王强,龚龙庆,时晨.一种面向嵌入式SoC设计的混合级硬/软件协同验证技术[J].现代电子技术,2007,9
      [2]罗春.基于仿真的系统芯片功能验证技术研究[D].东南大学,2006
      [3]程刚.基于System Verilog的功能验证方法研究[D].华南理工大学,2010
      [4]丰玉田,付宇卓,赵峰.大规模SoC设计中的高效FPGA验证技术的研究与实现[J].电子技术应用,2006,2

    推荐访问:系统 几点 调试 芯片

    • 文档大全
    • 故事大全
    • 优美句子
    • 范文
    • 美文
    • 散文
    • 小说文章