关于对系统芯片FPGA验证系统进行软件调试环境的几点认识
时间:2022-03-24 09:15:20 浏览次数:次
摘要:软件调试所处的环境作为硬件和软件之间的桥梁,为将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
推荐访问: 系统 几点 调试 芯片 验证[关于对系统芯片FPGA验证系统进行软件调试环境的几点认识]相关文章
- 在全市卫生健康系统安全稳定工作视频会议上的讲话
- 电力系统分析课程综合改革探索
- 工作过程系统化课程开发研究与实践
- 试论系统工程理论\方法在企业战略分析中的应用
- STOCK给煤机常见故障处理及系统维护
- TEDS系统故障的原因分析、处理措施及改进建议
- 拼墙系统的颜色校正和多层图像处理系统设计
- 银行排队问题分析及系统优化策略研究
- 基于工作过程系统化的应用型民办院校会计学专业人才培养模式设计
- 采购部降低采购成本的几点经验总结
- 编写高质量信息简报的几点体会
- 对小学《道德与法治》课堂教学活动的几点感悟
- 师范类院校本科生神经生物学教学的几点心得
- 对《市场调查与预测》课程教学的几点体会
- 关于独立学院概率统计教学的几点体会
- 关于教师理论力学教学效果的几点措施
- 大学生创新实验项目对促进自身能力培养的几点认识
- 在档案行政执法工作中的几点体会
- 关于装饰工程中几点技术控制要素的探讨
- 调试与认证的有效方法
- 电气仪表工程安装和调试要点探讨
- 便携式发控装置电气调试系统设计
- 空调机械设备的安装及调试
- PCI9656接口芯片的应用设计
- SiS 771芯片组主板
- 超高频电子标签芯片QR2233
- 基于串空间理论的安全协议自动验证