CN103136078A - 基于c模型的多接口仿真测试系统 - Google Patents

基于c模型的多接口仿真测试系统 Download PDF

Info

Publication number
CN103136078A
CN103136078A CN2011103942237A CN201110394223A CN103136078A CN 103136078 A CN103136078 A CN 103136078A CN 2011103942237 A CN2011103942237 A CN 2011103942237A CN 201110394223 A CN201110394223 A CN 201110394223A CN 103136078 A CN103136078 A CN 103136078A
Authority
CN
China
Prior art keywords
test
communication interface
interface
code
chip
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN2011103942237A
Other languages
English (en)
Inventor
秦璐怡
丁颖
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shanghai Huahong Integrated Circuit Co Ltd
Original Assignee
Shanghai Huahong Integrated Circuit Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shanghai Huahong Integrated Circuit Co Ltd filed Critical Shanghai Huahong Integrated Circuit Co Ltd
Priority to CN2011103942237A priority Critical patent/CN103136078A/zh
Publication of CN103136078A publication Critical patent/CN103136078A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Stored Programmes (AREA)

Abstract

本发明公开了一种基于C模型的多接口仿真测试系统,由测试代码端、通讯接口端和测试平台端组成,所述测试代码端、通讯接口端和测试平台端由C语言搭建,通过搭建一定的软件架构使测试代码端、通讯接口端和测试平台端相互联系,相互作用,组合起来构成整个C模型的多接口仿真测试系统;所述测试代码端包含测试代码和测试结果处理程序;所述通讯接口端模拟和芯片进行通讯的外部通讯设备,对芯片外部的通讯设备做功能级等效;所述测试平台端模拟芯片,对芯片做功能级等效。本发明可在硬件RTL芯片前期调试软件,方便程序的定位,且成本低。

Description

基于C模型的多接口仿真测试系统
技术领域
本发明涉及一种基于C模型的多接口仿真测试平台系统。
背景技术
随着集成电路(Integrated Circuit,IC)在众多领域的广泛应用,集成电路产业得到了飞速的发展,集成电路规模也变得越来越大。而随之集成电路中的软件代码量越来越多,软件的测试工作也变得异常复杂,寻找高效,稳定和合理的软件测试方法也变得迫切。
目前IC芯片设计公司普遍采用以下三种软件测试方案:
第一种、在服务器端搭建芯片的系统级验证平台,通过基于服务器的ASIC(Application Specific Integrated Circuit,专用集成电路)仿真平台测试软件正确性。该方案由于仿真时间长,测试效率低。
第二种、搭建板级平台,通过FPGA(Field Programmable Gate Array,现场可编程门阵列)的PCB电路板测试软件正确性。该方案由于对应的FPGA网表要在硬件RTL(寄存器传输级)稳定时才能生成,这样就不能充分利用项目前期的工作时间,导致项目软件调试和硬件调试不能合理的并行执行。
第三种、搭建硬件板级平台,通过ASIC芯片的PCB电路板测试软件正确性。该方案只能在项目后期进行,部分软件可能已经固化在ROM中,由于是真实的芯片,项目前期的调试接口一般会去除,软件调试多采用黑盒调试,错误定位工作变得异常困难。
现今使用最广泛的是搭建硬件板级平台,该平台为一块测试控制板,平台通过模拟芯片外部行为,实现对芯片接口的输入输出。前面所述的第二种方案和第三种方案的测试系统包含PC端和硬件平台端。硬件平台本身的稳定性也会影响最终的测试结果,而且硬件平台往往需要加入硬件调试器。目前多接口芯片蓬勃发展,多接口的测试需求越来越多,硬件平台由于它的不灵活性,也越来越不能满足接口数目不断增加和变化的需求,通常只能采取重新制定设计硬件平台的方式解决,重新制板无疑增加了项目的开销。
发明内容
本发明要解决的技术问题是提供一种基于C模型的多接口仿真测试系统,可在硬件RTL芯片前期调试软件,方便程序的定位,且成本低。
为解决上述技术问题,本发明的基于C模型的多接口仿真测试平台系统,包括:由测试代码端、通讯接口端和测试平台端组成,所述测试代码端、通讯接口端和测试平台端由C语言搭建,通过搭建一定的软件架构使测试代码端、通讯接口端和测试平台端相互联系,相互作用,组合起来构成整个C模型的多接口仿真测试系统;
所述测试代码端包含测试代码和测试结果处理程序;所述通讯接口端模拟和芯片进行通讯的外部通讯设备,对芯片外部的通讯设备做功能级等效;所述测试平台端模拟芯片,对芯片做功能级等效。
本发明是一种以软件方式实现嵌入式软件测试平台的改进方案,通讯接口端和测试平台端用C语言做功能级等效;面向所有测试集成电路中软件代码的用户。它所具有的有益效果是:
第一,由于脱离了硬件平台和芯片硬件RTL稳定性的束缚,测试系统可在硬件RTL芯片前期调试软件;芯片软件调试工作和硬件调试工作可同步独立进行,缩短了芯片的研发时间。
第二,由于不用搭建硬件板级平台,去除了硬件平台和硬件调试器,节约了成本;并且减少了因硬件平台和硬件调试器的不稳定性而造成的测试结果的波动,消除了因使用和后期保养硬件平台和硬件调试器带来的平台设施波动。
第三,由于将软件调试工作与硬件调试工作分离开来,更方便了程序错误的定位,减少了软件研发的工作量,降低了软件研发成本。
第四,测试系统采用目前使用最广泛的C语言。C语言的突出优点就是适合于多种操作系统,也适用于多种机型;与当前使用不同的软件测试语言的测试方式相比,与每个项目需要使用特定专属测试平台的方式相比,本发明具有很好的可移植性和通用性,促进了软件平台的一致性。
第五,能够实现多接口芯片软件的测试,摒弃了原有方案(接口数量和类型固定)中因使用特定通讯接口,致使平台缺乏灵活性和可复用性的弊端。并且可以不使用通讯接口直接调试测试平台端除接口模块部分的程序,能在通讯接口端不稳定的时候直接调试测试平台端程序。
第六,本发明在PC端测试,测试效率比基于服务器的ASIC仿真平台测试效率得到了很大的提高。
第七,测试系统适合于多接口芯片软件的测试,通讯接口端搭建了各种接口的C模型,一次编写成功,即可复用;C模型搭建好后,对于同类型的项目,只需对软件进行较小的改动和后期的升级工作,对于不同类型的项目,也可以从C模型中根据项目需要调用相关通讯接口;与每个项目需要使用特定专属测试平台的方式相比,本发明更具有很好的可移植性和通用性。
附图说明
下面结合附图与具体实施方式对本发明作进一步详细的说明:
附图是基于C模型的多接口仿真测试系统结构示意图。
具体实施方式
当前普遍采用的软件测试方案存在的问题是,测试效率低,不能充分利用项目前期的工作时间,导致项目软件调试和硬件调试不能合理的并行执行。需要搭建硬件平台,测试成本高,平台的复用性也较差,往往需要硬件调试器的加入,硬件平台的使用和后期保养工作也会影响到平台的稳定性。为了使芯片拥有更强大的应用功能,芯片接口数不断增多,多接口的测试需求越来越多。硬件平台由于它的不灵活性,测试方法也变得异常复杂,平台的可复用性也不高,当不同项目采用不同接口时,往往需要重新设计更换平台,增大了项目的开销。当前IC芯片设计公司普遍使用各自的软件测试语言和软件测试环境,同一家公司的不同的项目之间也存在较大差异,因此芯片的软件测试系统的可移植性和通用性较差。所述基于C模型的多接口仿真测试系统完全可以解决上述问题。
如图所示,所述基于C模型的多接口仿真测试系统由三部分组成:测试代码端、通讯接口端和测试平台端。该测试系统完全由C语言组成,测试系统的三部分通过搭建一定的软件架构(如建立操作系统对各部分进行线程管理)相互联系,相互作用,组合起来就实现了整个C模型的多接口仿真测试系统。
所述测试代码端包括测试代码和测试结果处理程序。测试代码端用C语言搭建一个智能的测试程序处理模块。该测试程序处理模块给测试用户留有相关接口,用户可在相关接口内填写测试代码。同时该测试程序处理模块也为用户提供观测测试结果的平台和提供相关的错误程序处理机制。
所述通讯接口端,具有多个通讯接口,模拟和芯片进行通讯的外部通讯设备,对芯片外部的通讯设备做功能级等效。通讯接口端相当于与芯片进行通讯的外部通讯设备,它以通讯接口为单位,把各个常用的通讯接口如SCI(Serial Communication Interface,串行通信接口)7816接口、RF(Radio Frequency,射频)接口、SD(Secure Digital,安全数据)接口、USB(Universal Serial Bus,通用串行总线)接口等按照各自的协议要求做功能级等效,这些通讯接口可以以库文件的形式供测试系统调用。根据不同的项目需求从存放通讯接口的C模型库中选取通讯接口。
所述测试平台端,模拟芯片,对芯片做功能级等效。所述测试代码端通过通信接口端与测试平台端间接相互作用,测试代码端也可以与测试平台中非接口模块直接相互作用,这样就可以在通信接口端不稳定的时候直接调试测试平台端程序。测试平台端就是真实芯片的功能级等效,全部由软件实现。测试平台端以模块为单位,可以存放不同项目的各个模块(包括接口模块),根据当前项目选取模块。同类型的项目,只需较小软件改动和后期的升级工作,不同类型的项目,也可以从测试平台的C模型中抽出需要的模块调用。
所述基于C模型的多接口仿真测试系统具有两个控制流程:测试命令发送流程,反馈数据接收流程。
测试命令发送流程:测试代码端的测试代码运行命令通过通讯接口端的通讯接口传送到测试平台端的接口模块,再由接口模块传送到非接口模块。为了可以在通讯接口端不稳定的时候也能调试测试平台端程序,所述测试系统还提供了一条测试代码端与测试平台端的非接口模块的直接通路,测试代码可以不通过通讯接口端直接传送到测试平台端的非接口模块。
反馈数据接收流程:测试平台端的测试结果通过测试平台端的接口模块发送到通讯接口端,通过通讯接口端的通讯接口反馈到测试代码端。测试平台端的测试结果也可以通过非接口模块直接反馈到测试代码端。
所述基于C模型的多接口仿真测试系统的具体测试方法如下:
步骤1、编写芯片驱动代码,将驱动代码加载在测试平台端;
步骤2、在测试代码端编写测试代码;
步骤3、运行测试代码;
步骤4、查看测试结果并进行可能的调试工作。
当前集成电路设计多采用基于平台的设计方法,用已经设计好的IP核(Intellectual Property Core,知识产权核)来集成。IP核把数字电路中常用但比较复杂的一些功能块设计成可修改参数的模块。随着集成电路的规模越来越大,设计的复杂度也不断增大,IP核的重用无疑使设计人员避免了重复劳动,缩短了产品研发的时间,减少了研发的成本,因此使用IP核是一个发展趋势,硬件模块目前已逐渐IP化,即接口寄存器命名、流程、功能、模块内偏移地址无明显变化。硬件模块的IP化,促使了软件的模块化,即硬件模块的C模型和驱动代码以模块为单位,一次性编写,即可多次使用,这样就提高了软件代码的可复用性。
所述测试系统的通讯接口端按标准协议设计外部通讯设备的C模型,只要一次设计完成,其他项目中如果需要该外部通讯设备,可直接调用,不用再次设计,所以这是一个一次性的工作,后面只是做代码的维护和升级。
所述测试系统的测试平台端以芯片的各个模块为单位,先对各模块做功能级等效,再通过一定的软件架构连接。由于很多模块已经IP化,所以这些模块只要设计一次即可多次使用;所以可以把不同项目的各个模块各自做成C模型,根据当前项目需要调用所需模块。
以上是对本发明的详细的方案描述、论证及优越性分析,但这些并未构成对本发明的限制。在不脱离本发明原理的情况下,本领域的技术人员还可做出许多变形和改进,如采用比C语言通用性和可移植性更好的其他语言等,这些改变也应视为本发明的保护范围。

Claims (7)

1.一种基于C模型的多接口仿真测试系统,其特征在于:由测试代码端、通讯接口端和测试平台端组成,所述测试代码端、通讯接口端和测试平台端由C语言搭建,通过搭建一定的软件架构使测试代码端、通讯接口端和测试平台端相互联系,相互作用,组合起来构成整个C模型多接口仿真测试系统;
所述测试代码端包含测试代码和测试结果处理程序;所述通讯接口端模拟和芯片进行通讯的外部通讯设备,对芯片外部的通讯设备做功能级等效;所述测试平台端模拟芯片,对芯片做功能级等效。
2.如权利要求1所述的测试系统,其特征在于:所述测试代码端通过通讯接口端与测试平台端间接相互作用,测试代码端也可以与测试平台端的非接口模块直接相互作用,在通讯接口端不稳定的时候直接调试测试平台端程序。
3.如权利要求1所述的测试系统,其特征在于:所述测试代码端用C语言搭建一个智能的测试程序处理模块;该测试程序处理模块给测试用户留有相关接口,用户可在相关接口内填写测试代码;同时该测试程序处理模块也为用户提供观测测试结果的平台和提供相关的程序错误处理机制。
4.如权利要求1所述的测试系统,其特征在于:所述通讯接口端相当于与芯片进行通讯的外部通讯设备,它以通讯接口为单位,把各个通讯接口按照各自的协议要求做功能级等效,这些通讯接口以库文件的形式供测试系统调用,根据不同的项目需求从库中选取通讯接口。
5.如权利要求1所述的测试系统,其特征在于:所述测试平台端就是真实芯片的功能级等效;该测试平台端以模块为单位,存放不同项目的各个模块,根据当前项目选取模块。
6.如权利要求1所述的测试系统,其特征在于,包栝两个控制流程:测试命令发送流程,反馈数据接收流程;
测试命令发送流程:测试代码端的测试代码运行命令通过通讯接口端的通讯接口传送到测试平台端的接口模块,再由接口模块传送到非接口模块;所述测试代码运行命令还可以直接传送到测试平台端的非接口模块;
反馈数据接收流程:测试平台端的测试结果通过测试平台端的接口模块发送到通讯接口端,通过通讯接口端的通讯接口反馈到测试代码端;测试平台端的测试结果也可以直接反馈到测试代码端。
7.如权利要求1所述的测试系统,其特征在于:该测试系统的具体测试过程是:编写芯片驱动代码,将编写好的驱动代码加载在测试平台端;在测试代码端编写测试代码;运行测试代码;查看测试结果并进行可能的调试工作。
CN2011103942237A 2011-12-01 2011-12-01 基于c模型的多接口仿真测试系统 Pending CN103136078A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2011103942237A CN103136078A (zh) 2011-12-01 2011-12-01 基于c模型的多接口仿真测试系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2011103942237A CN103136078A (zh) 2011-12-01 2011-12-01 基于c模型的多接口仿真测试系统

Publications (1)

Publication Number Publication Date
CN103136078A true CN103136078A (zh) 2013-06-05

Family

ID=48495930

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2011103942237A Pending CN103136078A (zh) 2011-12-01 2011-12-01 基于c模型的多接口仿真测试系统

Country Status (1)

Country Link
CN (1) CN103136078A (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105740053A (zh) * 2016-01-29 2016-07-06 烽火通信科技股份有限公司 一种芯片验证c模型的驱动系统及方法
CN109446677A (zh) * 2018-11-02 2019-03-08 南京贝伦思网络科技股份有限公司 基于网络芯片的通用平台及其搭建方法
CN112666846A (zh) * 2020-12-30 2021-04-16 西安现代控制技术研究所 一种用于仿真系统调试的多功能数据通讯接口调测方法
CN112699031A (zh) * 2020-12-29 2021-04-23 中国航空工业集团公司西安飞机设计研究所 一种分区软件架构的测试方法
CN114113711A (zh) * 2021-11-30 2022-03-01 武汉天喻信息产业股份有限公司 一种多接口并行测试的方法和系统

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020083112A1 (en) * 2000-12-21 2002-06-27 Wheeler William R. Apparatus and method of developing software for a multi-processor chip
CN1553335A (zh) * 2003-05-29 2004-12-08 皇家飞利浦电子股份有限公司 Tv osd软件开发的测试工具
CN101778016A (zh) * 2010-01-01 2010-07-14 江苏华丽网络工程有限公司 网络设备虚拟测试系统的设计方法
CN101968761A (zh) * 2009-07-27 2011-02-09 上海华虹集成电路有限责任公司 非接触式智能卡仿真器
CN102176213A (zh) * 2011-02-25 2011-09-07 山东大学 基于fpga的avs解码芯片验证平台装置及方法
CN102200913A (zh) * 2011-06-20 2011-09-28 奇瑞汽车股份有限公司 一种基于模型的自动变速箱软件开发平台的分层设计方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020083112A1 (en) * 2000-12-21 2002-06-27 Wheeler William R. Apparatus and method of developing software for a multi-processor chip
CN1553335A (zh) * 2003-05-29 2004-12-08 皇家飞利浦电子股份有限公司 Tv osd软件开发的测试工具
CN101968761A (zh) * 2009-07-27 2011-02-09 上海华虹集成电路有限责任公司 非接触式智能卡仿真器
CN101778016A (zh) * 2010-01-01 2010-07-14 江苏华丽网络工程有限公司 网络设备虚拟测试系统的设计方法
CN102176213A (zh) * 2011-02-25 2011-09-07 山东大学 基于fpga的avs解码芯片验证平台装置及方法
CN102200913A (zh) * 2011-06-20 2011-09-28 奇瑞汽车股份有限公司 一种基于模型的自动变速箱软件开发平台的分层设计方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
田浩: "基于C语言的GPS基带处理芯片参考模型设计", 《大众科技》 *

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105740053A (zh) * 2016-01-29 2016-07-06 烽火通信科技股份有限公司 一种芯片验证c模型的驱动系统及方法
CN105740053B (zh) * 2016-01-29 2018-12-28 烽火通信科技股份有限公司 一种芯片验证c模型的驱动系统及方法
CN109446677A (zh) * 2018-11-02 2019-03-08 南京贝伦思网络科技股份有限公司 基于网络芯片的通用平台及其搭建方法
CN112699031A (zh) * 2020-12-29 2021-04-23 中国航空工业集团公司西安飞机设计研究所 一种分区软件架构的测试方法
CN112699031B (zh) * 2020-12-29 2023-07-21 中国航空工业集团公司西安飞机设计研究所 一种分区软件架构的测试方法
CN112666846A (zh) * 2020-12-30 2021-04-16 西安现代控制技术研究所 一种用于仿真系统调试的多功能数据通讯接口调测方法
CN114113711A (zh) * 2021-11-30 2022-03-01 武汉天喻信息产业股份有限公司 一种多接口并行测试的方法和系统

Similar Documents

Publication Publication Date Title
CN113312879B (zh) 芯片电路功能验证系统、方法、设备及存储介质
CN102508753B (zh) Ip核验证系统
CN105718339B (zh) 一种fpga/cpld 远程调试系统及方法
CN108038294B (zh) Uvm环境搭建方法和系统
CN103136078A (zh) 基于c模型的多接口仿真测试系统
US20140108865A1 (en) Fault support in an emulation environment
CN105373407A (zh) 嵌入式系统dsp和fpga在线升级方法
US20090248390A1 (en) Trace debugging in a hardware emulation environment
CN205788161U (zh) 通信接口的测试系统
CN104050068A (zh) 在mcu芯片中调试fpga的方法和装置
CN109885905B (zh) 一种提高数字电路功能验证效率的验证系统
CN104077204A (zh) 可重构的8位rsic单片机仿真器
CN103399771A (zh) 基于串行高速接口总线的多dsp自举加载系统及其方法
CN103902315A (zh) 一种多板卡在线更新的方法及其系统
CN115563019A (zh) 一种uvm与c联合验证方法和系统
CN111008508B (zh) 一种接口类ip系统应用验证平台和验证方法
CN115587558A (zh) 基于接口的验证环境生成方法及装置、设备和存储介质
CN204946009U (zh) 电力电子仿真系统
Koczor et al. Verification approach based on emulation technology
CN111212103A (zh) Sca软件无线电台界面模拟系统和方法
CN114611445A (zh) 基于FPGA原型的SoC软硬件协同验证系统及方法
CN103440133A (zh) 一种芯片测试软件的开发方法和系统
CN105447215A (zh) 数字电路设计方法及相关的系统
CN114090423A (zh) 一种芯片验证自动化控制方法
CN106773785B (zh) 一种基于fpga技术的核安全级智能仿真验证平台的实现方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20130605