CN102479130A - 一种跨平台跨语言单芯片系统的验证方法 - Google Patents
一种跨平台跨语言单芯片系统的验证方法 Download PDFInfo
- Publication number
- CN102479130A CN102479130A CN2010105595208A CN201010559520A CN102479130A CN 102479130 A CN102479130 A CN 102479130A CN 2010105595208 A CN2010105595208 A CN 2010105595208A CN 201010559520 A CN201010559520 A CN 201010559520A CN 102479130 A CN102479130 A CN 102479130A
- Authority
- CN
- China
- Prior art keywords
- language
- json
- cross
- client
- link
- 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.)
- Granted
Links
Images
Landscapes
- Debugging And Monitoring (AREA)
Abstract
一种跨平台跨语言单芯片系统的验证方法,先使用system c构建一个验证模块,其中实现一个服务器线程以侦听指定端口,建立tcp/ip链接服务,通过循环体解析该端口的数据流,使用标准的json解析函数得到客户端发送过来的数据结构,通过分支判断做出相应的反应,构建返回的json数据包,重复上述步骤,直到链接中断退出仿真;在客户端可自由选择编程语言编写测例,即把要对验证模块的操作通过相应语言的json库打包,通过tcp/ip链接发送过去以控制被测的验证模块的流程。本发明不仅编程的效率较高,而且有利于测例的管理和回滚测试、有利于出错跟踪。
Description
技术领域
本发明涉及一种单芯片系统的验证方法,尤其涉及一种跨平台跨语言单芯片系统的验证方法,具体适用于采用json格式进行数据交流。
背景技术
当前单芯片系统的功能模块的验证方法主要有以下几种模式:RTL模块代码+行为级描述代码;RTL模块代码+专用验证语言行为级描述代码;RTL模块代码+PLI调用C函数。
但是以上的几个模式一般只在专用集成电路(ASIC)领域的验证方法上大量使用,而在单芯片系统(SOC)领域则有以下几个缺点:
首先,单芯片系统的功能模块一般通过软件驱动,驱动程序的复杂程度随着被测功能模块的复杂度大幅度提升,现有的行为级描述代码、专用验证语言行为级描述代码和PLI调用在这个方面编程的效率都不高。
其次,在以上的几个模式中,测例和验证环境高度耦合,测例必须运行在仿真环境下,必须使用单一语言编程,不利于测例的管理和回滚测试。
再次,验证环境和测例程序接口没有标准化,不利于出错跟踪。
发明内容
本发明的目的是克服现有技术中存在的编程效率不高、不利于测例的管理和回滚测试、不利于出错跟踪的缺陷与问题,提供一种编程效率较高、有利于测例的管理和回滚测试、有利于出错跟踪的跨平台跨语言单芯片系统的验证方法。
为实现以上目的,本发明的技术解决方案是:一种跨平台跨语言单芯片系统的验证方法,该验证方法依次包括以下步骤:
第一步:先针对被测对象构建一个验证模块,构建用的建模语言为systemc语言,然后在验证模块中实现一个侦听指定端口的服务器线程,该指定端口与客户端之间通过tcp/ip链接传递数据流,并在指定端口内设置一个用于解析数据流的循环体,该循环体采用json解析函数解析数据流;
第二步:先由客户端通过编程语言编写测例,然后把对验证模块的操作通过相应编程语言的json库打包,再通过tcp/ip链接发送至验证模块内的指定端口,然后由循环体采用json解析函数解析,再通过分支判断做出相应的反应,然后构建返回的json模式的数据包返回,重复上述步骤,直到链接中断退出仿真为止。
所述第二步中客户端驱动的编程语言为c、c++、python、perl或java语言。
与现有技术相比,本发明的有益效果为:
1、由于本发明一种跨平台跨语言单芯片系统的验证方法中在验证模块与客户端之间通过tcp/ip链接传递数据流,且该数据流的形式为json格式,同时在验证模块与客户端内均设置了打包的json库以及json解析函数,完全将json格式应用于数据交流中,通过创造性的使用json格式作为测例和验证环境的数据交换,解放了测例编写对于编程语言,平台的限制,提升了测例编写的效率,并可以通过现有的json库对数据结构序列化和反序列化,很容易的跟踪测试数据包的发送和反馈。因此本发明不仅编程的效率较高,而且有利于测例的管理和回滚测试、有利于出错跟踪。
附图说明
图1是本发明的结构示意图。
图2是本发明中采用的json格式的一种实施例的说明示意图。
图3是本发明中采用的json格式的另一种实施例的说明示意图。
图中:被测对象1,验证模块2,指定端口3,服务器线程4,客户端5,tcp/ip链接6,循环体7。
具体实施方式
以下结合附图说明和具体实施方式对本发明作进一步详细的说明
参见图1至图3,一种跨平台跨语言单芯片系统的验证方法,该验证方法依次包括以下步骤:
第一步:先针对被测对象1构建一个验证模块2,构建用的建模语言为system c语言,然后在验证模块2中实现一个侦听指定端口3的服务器线程4,该指定端口3与客户端5之间通过tcp/ip链接6传递数据流,并在指定端口3内设置一个用于解析数据流的循环体7,该循环体7采用json解析函数解析数据流;
第二步:先由客户端5通过编程语言编写测例,然后把对验证模块2的操作通过相应编程语言的json库打包,再通过tcp/ip链接6发送至验证模块2内的指定端口3,然后由循环体7采用json解析函数解析,再通过分支判断做出相应的反应,然后构建返回的json模式的数据包返回,重复上述步骤,直到链接中断退出仿真为止。
所述第二步中客户端5驱动的编程语言为c、c++、python、perl或java语言。
本发明的原理说明如下:
本发明的目的在于提供一种单芯片系统验证方法,它不但能跨平台,跨编程语言开发测例,而且能大大节约测例开发时间。
本发明的目的是这样实现的:使用system c构建一个验证模块2,该模块中实现一个服务器线程4,服务器线程4侦听一个指定端口3,建立一个tcp/ip链接6服务,通过一个循环体7解析该指定端口3的数据流,使用标准的json解析函数得到客户端5发送过来的数据结构,通过分支判断做出相应的反应,构建返回的json数据包返回,重复上述步骤,直到链接中断退出仿真为止。
在客户端5可以自由选择编程语言,编写测例,把要对验证模块2的操作通过相应语言的json库打包,通过tcp/ip链接6发送过去,起到控制被测的验证模块2的流程的功能,客户端5驱动的常见的编程语言可以是c、c++、python、perl或java。
参见图1,本发明的验证环境使用systemc模块来构建tcp/ip服务器,服务器把收来的数据流发送到json解析器,由解析器恢复得到发送方发送的数据结构。
参见图2和图3,详细说明json数据格式。
json即JavaScript Object Natation,它是一种轻量级的数据交换格式,通常的用法是服务器与JavaScript、ActionScript语言交互,具备跨平台特性,在本发明中用于验证环境和测例语言的交互,下列将详细介绍json格式及其分别在客户端和服务器进行json格式数据的处理。
和XML一样,json也是基于纯文本的数据格式。由于它天生是为JavaScript等一写脚本语言准备的,因此其数据的格式非常简单,你可以用JSON传输一个简单的字符串、数字、布尔值、数组,或者一个复杂的Object对象。String,Number和Boolean用JSON表示非常简单。例如,用json表示一个简单的String“abc”,其格式为:“abc”。json还可以表示一个数组对象,使用[]包含所有元素,每个元素用逗号分隔,元素可以是任意类型,如,以下数据包含了一个String,Number,Boolean和一个Object:
[″abc″,123,false,null]
Object对象在json中是用{}包含一系列无序的Key-Value键值对表示的,实际上此处的Object相当于Java中的Map<String,Object>,而不是Java的Class。注意Key只能用String表示。
json格式的实施例1:
参见图2,一个Address对象包含如下的key-Value:
city:ShangHai street:YiJiang Road postcode:202014
用json表示如下:
{″city″:″ShangHai″,″street″:″YiJiang Road″,″postcode″:202014}
其中Value也可以是另一个Object或数组,因此复杂的Object可以嵌套表示,
json格式的实施例2:
参见图3,一个Person对象包含name和address,可以表示如下:
{″name″:″Samson″,″address″:
{″city″:″ShangHai″,″street″:″YiJiang Road″,″postcode″:202014}}
通过创造性的使用json格式作为测例和验证环境的数据交换,解放了测例编写对于编程语言,平台的限制,提升了测例编写的效率,并可以通过现有的json库对数据结构序列化和反序列化,很容易的跟踪测试数据包的发送和反馈。
由上可见,本发明不仅编程的效率较高,而且有利于测例的管理和回滚测试、有利于出错跟踪。
以上所述仅为本发明的较佳实施方式,本发明的保护范围并不以上述实施方式为限,但凡本领域普通技术人员根据本发明所揭示内容所作的等效修饰或变化,皆应纳入权利要求书中记载的保护范围内。
Claims (2)
1.一种跨平台跨语言单芯片系统的验证方法,其特征在于:该验证方法依次包括以下步骤:
第一步:先针对被测对象(1)构建一个验证模块(2),构建用的建模语言为system c语言,然后在验证模块(2)中实现一个侦听指定端口(3)的服务器线程(4),该指定端口(3)与客户端(5)之间通过tcp/ip链接(6)传递数据流,并在指定端口(3)内设置一个用于解析数据流的循环体(7),该循环体(7)采用json解析函数解析数据流;
第二步:先由客户端(5)通过编程语言编写测例,然后把对验证模块(2)的操作通过相应编程语言的json库打包,再通过tcp/ip链接(6)发送至验证模块(2)内的指定端口(3),然后由循环体(7)采用json解析函数解析,再通过分支判断做出相应的反应,然后构建返回的json模式的数据包返回,重复上述步骤,直到链接中断退出仿真为止。
2.根据权利要求1所述的一种跨平台跨语言单芯片系统的验证方法,其特征在于:所述第二步中客户端(5)驱动的编程语言为c、c++、python、perl或java语言。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201010559520.8A CN102479130B (zh) | 2010-11-25 | 2010-11-25 | 一种跨平台跨语言单芯片系统的验证方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201010559520.8A CN102479130B (zh) | 2010-11-25 | 2010-11-25 | 一种跨平台跨语言单芯片系统的验证方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102479130A true CN102479130A (zh) | 2012-05-30 |
CN102479130B CN102479130B (zh) | 2015-09-09 |
Family
ID=46091782
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201010559520.8A Expired - Fee Related CN102479130B (zh) | 2010-11-25 | 2010-11-25 | 一种跨平台跨语言单芯片系统的验证方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102479130B (zh) |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102883353A (zh) * | 2012-09-12 | 2013-01-16 | 南通智翔信息科技有限公司 | 一种tdscdma信号测试实训平台装置 |
CN104268078A (zh) * | 2014-09-23 | 2015-01-07 | 北京控制工程研究所 | 一种基于参数化ip 测试用例集合的芯片自动化验证方法 |
CN104951275A (zh) * | 2015-06-18 | 2015-09-30 | 湖北盛天网络技术股份有限公司 | 计算机指令数据的处理方法和系统 |
CN105573903A (zh) * | 2014-10-11 | 2016-05-11 | 中兴通讯股份有限公司 | 一种自动化测试方法、装置、系统及访问代理 |
CN105993010A (zh) * | 2014-02-11 | 2016-10-05 | 德州仪器公司 | 用以提供扩展对象符号数据的方法及设备 |
CN106371962A (zh) * | 2016-08-30 | 2017-02-01 | 广州广电运通金融电子股份有限公司 | 一种跨平台的驱动测试方法、装置及系统 |
CN107347048A (zh) * | 2016-05-04 | 2017-11-14 | 北京京东尚科信息技术有限公司 | 数据校验的方法、装置及系统 |
US9921945B2 (en) | 2015-04-06 | 2018-03-20 | Adp, Llc | Automatic verification of JSON data |
CN107959595A (zh) * | 2016-10-14 | 2018-04-24 | 腾讯科技(深圳)有限公司 | 一种异常检测的方法、装置及系统 |
CN110519212A (zh) * | 2019-06-16 | 2019-11-29 | 北京中科海讯数字科技股份有限公司 | 一种基于匿名推断的通信转发系统 |
CN112329273A (zh) * | 2020-12-17 | 2021-02-05 | 深圳市芯天下技术有限公司 | 一种提升芯片验证效率的方法、装置、存储介质和终端 |
CN114244563A (zh) * | 2021-11-15 | 2022-03-25 | 珠海许继芝电网自动化有限公司 | 基于aes加密的前后端跨语言通讯方法及系统 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101261579A (zh) * | 2007-03-08 | 2008-09-10 | 青牛(北京)技术有限公司 | 一种实现VBScript语言跨平台应用的方法 |
CN101499108A (zh) * | 2009-02-20 | 2009-08-05 | 腾讯科技(深圳)有限公司 | 桌面多人游戏制作装置及方法 |
-
2010
- 2010-11-25 CN CN201010559520.8A patent/CN102479130B/zh not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101261579A (zh) * | 2007-03-08 | 2008-09-10 | 青牛(北京)技术有限公司 | 一种实现VBScript语言跨平台应用的方法 |
CN101499108A (zh) * | 2009-02-20 | 2009-08-05 | 腾讯科技(深圳)有限公司 | 桌面多人游戏制作装置及方法 |
Non-Patent Citations (1)
Title |
---|
杨树林,胡洁萍: "JSON 数据交换格式及其在数据验证中的应用", 《北京印刷学院学报》 * |
Cited By (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102883353B (zh) * | 2012-09-12 | 2016-05-11 | 南通智翔信息科技有限公司 | 一种tdscdma信号测试实训平台装置 |
CN102883353A (zh) * | 2012-09-12 | 2013-01-16 | 南通智翔信息科技有限公司 | 一种tdscdma信号测试实训平台装置 |
US10609009B2 (en) | 2014-02-11 | 2020-03-31 | Texas Instruments Incorporated | Extended javascript object notation file generator circuitry and process |
CN105993010A (zh) * | 2014-02-11 | 2016-10-05 | 德州仪器公司 | 用以提供扩展对象符号数据的方法及设备 |
CN105993010B (zh) * | 2014-02-11 | 2019-05-07 | 德州仪器公司 | 用以提供扩展对象符号数据的方法及设备 |
CN104268078A (zh) * | 2014-09-23 | 2015-01-07 | 北京控制工程研究所 | 一种基于参数化ip 测试用例集合的芯片自动化验证方法 |
CN104268078B (zh) * | 2014-09-23 | 2017-03-15 | 北京控制工程研究所 | 一种基于参数化ip测试用例集合的芯片自动化验证方法 |
CN105573903A (zh) * | 2014-10-11 | 2016-05-11 | 中兴通讯股份有限公司 | 一种自动化测试方法、装置、系统及访问代理 |
US9921945B2 (en) | 2015-04-06 | 2018-03-20 | Adp, Llc | Automatic verification of JSON data |
CN104951275B (zh) * | 2015-06-18 | 2017-06-30 | 湖北盛天网络技术股份有限公司 | 计算机指令数据的处理方法和系统 |
CN104951275A (zh) * | 2015-06-18 | 2015-09-30 | 湖北盛天网络技术股份有限公司 | 计算机指令数据的处理方法和系统 |
CN107347048B (zh) * | 2016-05-04 | 2021-04-30 | 北京京东尚科信息技术有限公司 | 数据校验的方法、装置及系统 |
CN107347048A (zh) * | 2016-05-04 | 2017-11-14 | 北京京东尚科信息技术有限公司 | 数据校验的方法、装置及系统 |
CN106371962B (zh) * | 2016-08-30 | 2019-01-01 | 广州广电运通金融电子股份有限公司 | 一种跨平台的驱动测试方法、装置及系统 |
CN106371962A (zh) * | 2016-08-30 | 2017-02-01 | 广州广电运通金融电子股份有限公司 | 一种跨平台的驱动测试方法、装置及系统 |
CN107959595A (zh) * | 2016-10-14 | 2018-04-24 | 腾讯科技(深圳)有限公司 | 一种异常检测的方法、装置及系统 |
CN107959595B (zh) * | 2016-10-14 | 2020-10-27 | 腾讯科技(深圳)有限公司 | 一种异常检测的方法、装置及系统 |
CN110519212A (zh) * | 2019-06-16 | 2019-11-29 | 北京中科海讯数字科技股份有限公司 | 一种基于匿名推断的通信转发系统 |
CN110519212B (zh) * | 2019-06-16 | 2021-06-22 | 北京中科海讯数字科技股份有限公司 | 一种基于匿名推断的通信转发系统 |
CN112329273A (zh) * | 2020-12-17 | 2021-02-05 | 深圳市芯天下技术有限公司 | 一种提升芯片验证效率的方法、装置、存储介质和终端 |
CN112329273B (zh) * | 2020-12-17 | 2023-10-24 | 芯天下技术股份有限公司 | 一种提升芯片验证效率的方法、装置、存储介质和终端 |
CN114244563A (zh) * | 2021-11-15 | 2022-03-25 | 珠海许继芝电网自动化有限公司 | 基于aes加密的前后端跨语言通讯方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN102479130B (zh) | 2015-09-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102479130A (zh) | 一种跨平台跨语言单芯片系统的验证方法 | |
Robidoux et al. | Automated modeling of dynamic reliability block diagrams using colored Petri nets | |
CN106919509A (zh) | 一种客户端生成方法、装置及电子设备 | |
CN103957132B (zh) | 一种反射内存网络节点卡共享存储区数据映射误码率测试方法 | |
CN105871487A (zh) | 一种面向卫星移动通信的系统级仿真演示验证系统 | |
CN104679949A (zh) | 基于XML路网数据的Paramics路网构建方法 | |
CN104317995A (zh) | 基于PSpice AD电路仿真的单故障自动注入方法 | |
CN108874663A (zh) | 黑盒故障注入方法和系统及介质设备 | |
CN105279086A (zh) | 一种基于流程图的自动检测电子商务网站逻辑漏洞的方法 | |
Rao et al. | Modeling and simulation of net centric system of systems using systems modeling language and colored Petri‐nets: A demonstration using the global earth observation system of systems | |
Viana et al. | One step forward: Linking wireless self-organizing network validation techniques with formal testing approaches | |
CN107038110A (zh) | 白盒测试的方法和系统 | |
Luo et al. | A graphical simulation system for modeling and analysis of sensor networks | |
KR102643598B1 (ko) | 패턴 기반 SoS 내 실패 유발 상호작용 분석 방법 및 장치 | |
CN107391372A (zh) | 一种数据加工功能测试方法及系统 | |
CN115048312A (zh) | 一种基于协议集的仿真平台和芯片通用验证方法 | |
CN103106137A (zh) | 计算机模块化软件系统中实现自动化单元测试的方法 | |
Zha et al. | Transforming XPDL to Petri nets | |
CN107391812A (zh) | 一种智能变电站scd回路校验方法及装置 | |
Neto et al. | Supporting simulation of systems-of-systems software architectures by a model-driven derivation of a stimulus generator | |
Aranega et al. | Using trace to situate errors in model transformations | |
Hanna et al. | Slede: Framework for automatic verification of sensor network security protocol implementations | |
Kristan et al. | Cursor-on-Target Message Router User’s Guide | |
Jang et al. | Performance comparative analysis of open source software for the new generation of V-world architecture configuration | |
CN114781294B (zh) | 一种risc-v cpu验证中的签名比较方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20150909 Termination date: 20181125 |