一种SOC调试验证系统及其软硬件协同方法技术方案

技术编号:12626000 阅读:158 留言:0更新日期:2015-12-31 19:38
本发明专利技术公开了一种SOC(System On Chip)调试验证系统,其包括SOC芯片和验证平台, SOC芯片包括处理器、存储器、存放在存储器内的软件测试用例,验证平台包括硬件测试用例,本发明专利技术在现有技术的基础上,在待验证SOC芯片中加入调试模块,将调试模块的软件访问地址分配到系统中没有使用到的地址段,通过软件测试用例读写调试模块中的寄存器阵列和硬件测试用例写读调试模块中的寄存器阵列实现软件测试用例和硬件测试用例间的交互通信,来完成对SOC芯片的验证。本发明专利技术还提出了SOC调试验证系统的软硬件协同方法。通过本发明专利技术,可以使SOC芯片在调试验证过程中,软件测试用例和硬件测试用例相互通讯,减少仿真次数,提高效率。

【技术实现步骤摘要】

本专利技术涉及集成电路验证测试领域,特别涉及一种SOC系统验证中软硬件激励交互的方法以及实现该方法的SOC调试验证系统。
技术介绍
随着集成电路产业的飞速发展,越来越多的芯片设计成SOC (System On Chip)芯片,伴随着SOC芯片的规模越来越大,SOC芯片的验证也越来越困难。SOC调试验证系统一般是使用电子设计自动化(Electronic Design Automat1n,EDA)工具对SOC芯片进行仿真验证过程,以确保SOC芯片设计的正确性。SOC系统验证的激励(测试用例)一般分为两部分:软件激励(软件测试用例)和硬件激励(硬件测试用例)。软件激励由C、C++等软件语言编码后经编译器编译生成可执行文件,存放在SOC芯片的存储器中,再由SOC芯片的中央处理单元(Central Processor Unit,CPU)从存储器中读取指令并执行以完成SOC芯片所设计的功能。硬件激励由Verilog、VHDL、SystemVerilog等硬件描述语言或硬件验证语言编码,位于系统验证平台内,用于构建SOC芯片的应用环境或直接修改SOC芯片设计内部硬件信号使SOC芯片达到期望的工作条件。软件激励和硬件激励协同工作实现了对SOC芯片在某种应用环境下完成某种功能操作的系统验证。但是现有的软件激励和硬件激励在协同过程中,存在以下的问题: 1、增加仿真调试次数:由于软件激励和硬件激励都不知道对方的状态,需要经过多次调试才能确定两者都满足的场景。2、增加仿真运行时间:为了保证软件激励或硬件激励准备充分,会在激励中加入超过实际所需的延时等待。3、单次仿真覆盖功能点少:由软件激励和硬件激励都不知道对方是否运行完毕,一次仿真只能覆盖某种应用环境下的部分功能,要覆盖更多功能需要重新仿真验证。
技术实现思路
本专利技术为了解决上述现有技术的问题,提出一种SOC调试验证系统,该系统主要是应用在利用EDA工具对SOC芯片进行仿真验证的过程中。其包括SOC芯片和验证平台,所述SOC芯片包括处理器、存储器、存放在存储器内的软件测试用例,所述验证平台包括硬件测试用例,所述SOC芯片内还设置了一个调试模块,所述软件测试用例和硬件测试用例在运行过程中通过调试模块进行交互通讯来完成对SOC芯片的验证。本专利技术同时还提出了一种上述SOC调试验证系统的软硬件协同方法,包括如下步骤: 步骤1:软件测试用例驱动SOC芯片的处理器通过SOC芯片的系统总线向调试模块中的寄存器中写入A,该步骤执行成功后,调试模块中的寄存器的值等于A ; 步骤2:硬件测试用例监控寄存器的值,判断所述寄存器的值是否等于A,若不等于A,则继续监控,若等于A,则继续步骤3 ; 步骤3:硬件测试用例确定软件测试用例当前准备完毕,硬件测试用例开始构建SOC芯片下一步操作的硬件应用环境或工作条件; 步骤4:硬件测试用例当前的硬件应用环境或工作条件构建完成后,把寄存器的值修改为B ; 步骤5:软件测试用例驱动处理器通过系统总线监控调试模块中的寄存器的值,判断寄存器值是否等于B,若不等于B,则继续监控,若等于B,则继续步骤6 ; 步骤6:软件测试用例确定硬件测试用例已经准备好当前的硬件应用环境或工作条件,软件测试用例开始下一步的操作; 步骤7:循环步骤I至6,直至软件测试用例和硬件测试用例相互协同完成所有的调试验证工作。上述步骤1-6中的值A、B为任意值,当前的A、B值与之前循环过程中的A、B值可相同或不同,当前的A、B值存放的寄存器与之前循环过程中的A、B值所存在的寄存器可相同或不同。本申请在SOC芯片中增加了一个可供软件激励和硬件激励同时访问的调试模块,使得软件激励和硬件激励可以在协同过程中可以相互通讯,从而减少了 SOC系统验证仿真调试的次数,缩短了仿真运行时间,增加了单次仿真覆盖的功能点,有助于提高SOC系统验证效率,而且没有增加SOC芯片设计的规模,丝毫不影响SOC芯片的设计功能。【附图说明】图1是本专利技术的结构示意图; 图2是本专利技术调试模块的结构示意图; 图3是本专利技术软硬件协同的流程图。【具体实施方式】以下结合附图和实施例,详细说明本专利技术的工作过程。如图1所示,本专利技术一实施例提出的SOC调试验证系统,包括SOC芯片101和验证平台106,SOC芯片包括处理器103、存储器104,存储器104内存放着软件测试用例,也叫软件激励105,软件激励105由C、C++等软件语言编码,经编译器编译生成的可执行文件。处理器103可以从存储器104中读取指令并执行来驱动SOC芯片101实现所设计的功能。验证平台106由硬件激励107 (也叫硬件测试用例)和监视器108组成,验证平台106由硬件描述语言Verilog或VHDL或者硬件验证语言SystemVerilog搭建,在验证平台106中SOC芯片101内部的所有信号或寄存器对硬件激励107和监视器108都是完全可见的具体信号或单元,因此硬件激励107可以直接监控或修改SOC芯片101内部的信号或寄存器值,监视器108可以直接监控SOC芯片101内部的信号或寄存器值。硬件激励107通过修改SOC芯片101内部的信号或寄存器的值构建SOC芯片101的应用环境或工作条件。监视器108通过检查SOC芯片101内部的信号或寄存器值是否符合预期来判断SOC芯片101是否正确工作。SOC芯片101是待验证对象,为了实现本专利技术所提出的软硬件测试用例相互协同、相互通讯交互,在系统验证阶段,在SOC芯片101中加入调试模块102,并且将调试模块102的软件访问地址分配到SOC芯片101系统中没有使用到的地址区域。调试模块102只用于系统验证阶段,实际芯片产品中是没有的。软件测试用例和硬件测试用例在运行过程中通过调试模块进行交互通讯来完成对SOC芯片的验证。如图2所示,调试模块201作为SOC芯片101中的一个子模块,集成在SOC芯片101的系统总线上。调试模块201由总线接口 202、总线访问解析单元203和寄存器阵列204组成。总线接口当前第1页1 2 本文档来自技高网
...

【技术保护点】
一种SOC调试验证系统,包括SOC芯片和验证平台,所述SOC芯片包括处理器、存储器、存放在存储器内的软件测试用例,所述验证平台包括硬件测试用例,其特征在于,所述SOC芯片内还设置了一个调试模块,所述软件测试用例和硬件测试用例在运行过程中通过调试模块进行交互通讯来完成对SOC芯片的验证。

【技术特征摘要】

【专利技术属性】
技术研发人员:李亚明陶玉茂张同友
申请(专利权)人:深圳国微技术有限公司
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1