CN113157269B - 验证系统及其验证方法 - Google Patents
验证系统及其验证方法 Download PDFInfo
- Publication number
- CN113157269B CN113157269B CN202110645105.2A CN202110645105A CN113157269B CN 113157269 B CN113157269 B CN 113157269B CN 202110645105 A CN202110645105 A CN 202110645105A CN 113157269 B CN113157269 B CN 113157269B
- Authority
- CN
- China
- Prior art keywords
- module
- test
- verification
- data
- directional
- 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.)
- Active
Links
- 238000012795 verification Methods 0.000 title claims abstract description 560
- 238000000034 method Methods 0.000 title claims abstract description 100
- 238000012360 testing method Methods 0.000 claims abstract description 684
- 230000005284 excitation Effects 0.000 claims abstract description 320
- 230000008569 process Effects 0.000 claims abstract description 63
- 238000004891 communication Methods 0.000 claims abstract description 21
- 238000006243 chemical reaction Methods 0.000 claims description 73
- 238000004088 simulation Methods 0.000 claims description 28
- 238000012545 processing Methods 0.000 claims description 18
- 230000005540 biological transmission Effects 0.000 claims description 13
- 230000003993 interaction Effects 0.000 claims description 13
- 238000004806 packaging method and process Methods 0.000 claims description 11
- 238000005259 measurement Methods 0.000 claims description 9
- 238000012546 transfer Methods 0.000 claims description 8
- 238000010200 validation analysis Methods 0.000 claims 4
- 238000011161 development Methods 0.000 abstract description 25
- 230000009286 beneficial effect Effects 0.000 description 21
- 238000010586 diagram Methods 0.000 description 10
- 230000007547 defect Effects 0.000 description 5
- 238000001514 detection method Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 5
- 238000004422 calculation algorithm Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 238000013461 design Methods 0.000 description 3
- 230000006978 adaptation Effects 0.000 description 2
- 238000010276 construction Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012856 packing Methods 0.000 description 2
- 238000013522 software testing Methods 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 230000003542 behavioural effect Effects 0.000 description 1
- 210000004556 brain Anatomy 0.000 description 1
- 238000005266 casting Methods 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 238000012938 design process Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/36—Software reuse
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/32—Circuit design at the digital level
- G06F30/33—Design verification, e.g. functional simulation or model checking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/31—Programming languages or programming paradigms
- G06F8/315—Object-oriented languages
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/31—Programming languages or programming paradigms
- G06F8/316—Aspect-oriented programming techniques
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Computer Hardware Design (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- Test And Diagnosis Of Digital Computers (AREA)
- Maintenance And Management Of Digital Transmission (AREA)
Abstract
本发明提供了一种验证系统,包括UVM验证平台、以及与其分别通信连接的C程序模块和被测设备;所述UVM验证平台产生随机测试激励信息,所述C程序模块产生定向测试激励信息;所述C程序模块将所述随机测试激励信息和所述定向测试激励信息中的任意一个处理为目标数据并反馈给所述UVM验证平台;所述被测设备对所述随机测试激励信息和所述定向测试激励信息中的任意一个进行处理以得到实测数据并反馈给所述UVM验证平台;所述UVM验证平台判断所述实测数据和所述目标数据是否一致,解决了现有技术中提供的验证系统只适应于特定的项目,可移植性差,开发的成本高的问题。本发明还提供了所述验证系统的验证方法。
Description
技术领域
本发明涉及芯片验证技术领域,尤其涉及一种验证系统及其验证方法。
背景技术
近年来,随着芯片集成度的不断提高,芯片的功能复杂度也大大增加,芯片的设计过程更加容易引入错误,验证工作变得更加艰巨。在集成电路设计中,验证工作占到了整个设计周期的一半以上。而验证的不充分导致的功能错误,是芯片首次投片成功率不高的主要原因。传统的验证技术已经不能再满足日益增长的验证需求,验证成为集成电路设计中的瓶颈。
通用验证方法学引入了一种新的验证语言——SystemVerilog(SV)。目前基于SystemVerilog的通用验证方法学主要有三种:验证方法学(Verification MethodologyManual,VMM)、开放验证方法学(OpenVerificiation Methodology,OVM)和通用验证方法学(Universal Verification Methodology, UVM)。其中UVM 是一个以SystemVerilog类库为主体的验证平台开发框架,验证工程师可以利用其可重用组件构建具有标准化层次结构和接口的功能验证环境。UVM继承了OVM的大多数优点,同时又采纳了新思科技(Synopsys)在VMM中的寄存器解决方案RAL。UVM克服了OVM和VMM的缺点,代表了当前通用验证方法学的发展方向,目前已成为工业界主流的通用验证方法学。
公开号为CN110618929A的中国专利申请公开了一种基于UVM的对称加密算法的验证平台,包括顶层、测试用例和验证环境。所述验证环境由uvm_env派生出来的,把需要的组件整合连接进行工作,包括寄存器模型、序列发生器、序列、事务数据、驱动、覆盖率统计器、输入监视器、输出监视器、计分板、参考模型、输入接口和输出接口,所述序列派生自uvm_sequence,只需在测试用例中将不同的序列设置为序列发生器的default sequence,产生不同的验证激励,所述序列包括随机序列、特殊序列和定向序列;所述参考模型(referencemodel)是模拟DUT模块的行为模型,所述模型采用高级编程语言进行搭建DUT的功能模型,所述参考模型采用C语言进行搭建,并在验证前完成测试算法。其中,通过所述序列生成事务数据并通过驱动将随机激励向参考模型和DUT模块进行传输,随后将参考模型和DUT模块的运算结果传输至计分板,计分板进行数据对比判断功能验证情况,同时通过覆盖率模型进行覆盖率检查,确保功能验证仿真正常。该发明不限定对称加密算法,可实现多种加密对称算法功能验证,验证平台具有良好的可重用性和复用性。但该发明的测试序列是基于UVM验证平台的定向序列和随机序列,存在定向测试和随机测试转化需要不断修改代码的缺陷,降低验证效率,而且其参考模型集成于UVM验证平台,需要提供DPI接口,仅支持C语言的模型,适应范围小,使用难度大。
因此,有必要提供一种新型的验证系统及其验证方法以解决现有技术中存在的上述问题。
发明内容
本发明的目的在于提供一种验证系统及其验证方法,以解决了现有技术中提供的验证系统只适应于特定的项目,可移植性差,开发的成本高的问题。
为实现上述目的,本发明的所述验证系统,包括C程序模块、UVM验证平台和被测设备,所述C程序模块与所述UVM验证平台通信连接,所述UVM验证平台与所述被测设备通信连接;
所述UVM验证平台和所述C程序模块中的任意一个作为激励产生单元,所述UVM验证平台产生随机测试激励信息并分别反馈给所述被测设备和所述C程序模块,所述C程序模块产生定向测试激励信息并通过所述UVM验证平台反馈给所述被测设备;
所述C程序模块将所述随机测试激励信息和所述定向测试激励信息中的任意一个处理为目标数据并反馈给所述UVM验证平台;
所述被测设备对所述随机测试激励信息和所述定向测试激励信息中的任意一个进行处理以得到实测数据并反馈给所述UVM验证平台;
所述UVM验证平台判断所述实测数据和所述目标数据是否一致。
本发明的验证系统的有益效果在于:通过所述UVM验证平台与所述被测设备通信连接,所述UVM验证平台产生随机测试激励信息并反馈给所述被测设备,所述被测设备对所述随机测试激励信息进行处理以得到实测数据并反馈给所述UVM验证平台,使得对所述被测设备能进行随机测试验证,实现了全方位的验证,测试范围广,验证更全面,能节省验证时间;通过所述C程序模块产生定向测试激励信息并通过所述UVM验证平台反馈给所述被测设备,所述被测设备对所述定向测试激励信息进行处理以得到实测数据并反馈给所述UVM验证平台,使得对所述被测设备进行定向测试验证,使得更能快速实现预期的检测,而且使得所述验证系统可以进行定向测试验证和随机测试验证中的任意一种,且所述C程序模块产生定向测试激励信息,所述UVM验证平台产生所述随机测试激励信息,即产生随机测试激励信息和定向测试激励信息的属于不同模块,不需要修改代码,有益于代码的稳定性,提高了验证的效率,解决了现有技术中测试所用的定向序列和随机序列均是基于UVM验证平台产生,存在定向测试和随机测试转化需要不断修改代码的缺陷,验证效率低的问题;通过所述C程序模块将所述随机测试激励信息和所述定向测试激励信息中的任意一个处理为目标数据并反馈给所述UVM验证平台,所述UVM验证平台判断所述实测数据和所述目标数据是否一致,所述目标数据给所述实测数据提供了对比依据,使得在完成随机激励测试的同时可以进行结果比较,大大提高验证的效率,保证了验证结果的准确性;通过所述C程序模块与所述UVM验证平台通信连接,所述UVM验证平台产生随机测试激励信息并反馈给所述C程序模块,从而实现了将UVM验证平台产生随机测试激励信息复用于C程序模块的测试中,又所述C程序模块产生定向测试激励信息,使得所述定向测试激励信息以C程序形式存在,使得所述C 程序模块可以复用所述随机测试激励信息和所述定向测试激励信息中的任意一种,减少所述被测设备验证的工作量,使得C程序模块可以采用所述随机测试激励信息和所述定向测试激励信息中的任意一种用于进行软件测试和开发,提高了所述UVM验证平台产生随机测试激励信息的复用性,减轻软件测试的负担;本发明提供的验证系统具有通用的验证组件,具有可移植性,有益于在不同的所述被测设备验证项目中复用,减少验证系统开发工作量,解决了现有技术中提供的验证系统只适应于特定的项目,可移植性差,开发的成本高的问题。
优选的,所述C程序模块包括测试模块和格式转换模块,所述UVM验证平台包括序列模块,所述格式转换模块分别与所述测试模块和所述序列模块通信连接;所述序列模块包括随机测试激励产生单元,所述随机测试激励产生单元产生所述随机测试激励信息并发送给所述格式转换模块;所述格式转换模块将所述序列模块的数据类型转换为所述测试模块可接收的数据类型。其有益效果在于:所述格式转换模块将所述UVM验证平台中产生的随机测试激励信息的序列转换为C 程序模块能接收的数据格式,使得实现了将UVM验证平台中产生的随机测试激励信息的序列复用于C程序模块的测试中,方便所述C 程序模块采用所述随机测试激励信息进行软件测试和开发,为软件测试和开发节省了程序开发时间,而且提高了UVM验证平台的测试序列的复用性,提高了验证的效率。
优选的,所述C程序模块还包括参考模型模块,所述参考模型模块与所述测试模块通信连接;所述测试模块包括随机测试激励中转单元,所述随机测试激励中转单元将所述随机测试激励信息发送给所述参考模型模块;所述参考模型模块将所述随机测试激励信息处理为目标数据并反馈给所述UVM验证平台。其有益效果在于:设置的所述参考模型模块不仅可以提高验证的准确性,而且所述参考模型模块设置在C程序模块,即设置在所述UVM验证平台之外,使得所述参考模型可以加载多种不同的语言模型,应用范围大,通用性强,有益于减轻参考模型开发难度,减少验证平台搭建的难度,解决了现有技术的参考模型模块集成于UVM验证平台,需要提供DPI接口,且仅支持C语言的模型,适应范围小,使用难度大的问题。
优选的,所述测试模块还包括定向测试激励产生单元,所述定向测试激励产生单元分别与所述格式转换模块和所述参考模型模块通信连接;所述定向测试激励产生单元根据所述被测设备的待测试功能参数产生定向测试激励信息,并分别发送给所述格式转换模块和所述参考模型模块;所述格式转换模块将所述测试模块的数据类型转换为所述序列模块可接收的数据类型;所述参考模型模块将所述定向测试激励信息处理为目标数据并反馈给所述UVM验证平台。其有益效果在于:对所述被测设备进行定向测试,使得更能快速实现预期的检测,而且使得所述验证系统可以进行定向测试和随机测试中的任意一种,且产生定向测试激励信息的所述定向测试激励产生单元属于所述C程序模块,所述定向测试激励信息以C程序形式存在,产生所述随机测试激励信息的所述随机测试激励产生单元属于所述UVM验证平台,即产生随机测试激励信息和定向测试激励信息的属于不同模块,不需要修改代码,有益于代码的稳定性,提高了验证的效率,而且可以实现C 程序模块复用所述随机测试激励信息和所述定向测试激励信息,减少所述被测设备验证的工作量,解决了现有技术中测试所用的定向序列和随机序列均是基于UVM验证平台产生,存在定向测试和随机测试转化需要不断修改代码的缺陷,验证效率低的问题。
优选的,所述参考模型模块包括模拟所述被测设备的行为模型,并储存有SystemC模型、C模型和C++模型中的任意一种。其有益效果在于:所述参考模型模块适用于多种参考模型,适应于范围大,有益于降低参考模型开发的难度,而且所述参考模型模块作为模拟所述被测设备的行为模型的模块,可以提高验证的准确性。
优选的,所述格式转换模块储存有转换脚本,所述格式转换模块根据格式转换需求调用所述转换脚本以对所述测试模块的数据类型和所述序列模块的数据类型之间进行转换处理。其有益效果在于:转换脚本方便,快捷,开发速度快,语法简单强大。
优选的,所述测试模块还包括测试激励储存单元,所述测试激励储存单元储存所述随机测试激励信息和所述定向测试激励信息。其有益效果在于:提高了所述随机测试激励信息和所述定向测试激励信息的复用性,提高了验证效率,减少验证工作量,同时也方便所述C 程序模块采用所述随机测试激励信息和所述定向测试激励信息进行软件测试和开发,为软件测试和开发节省了程序开发时间。
优选的,所述UVM验证平台还包括数据发送模块,所述数据发送模块分别与所述序列模块和所述被测设备通信连接;所述数据发送模块将所述随机测试激励信息或所述定向测试激励信息发送给所述被测设备。
优选的,所述序列模块还包括定向测试激励打包单元,所述定向测试激励打包单元将所述定向测试激励信息打包为数据包并通过所述数据发送模块发送给所述被测设备。其有益效果在于:所述定向测试激励信息由所述C程序模块产生,所述定向测试激励打包单元将所述定向测试激励信息打包为符合所述数据发送模块能发送的数据包,以保证信息发送的快速性和准确性。
优选的,所述UVM验证平台还包括记分板模块和数据接收模块,所述数据接收模块与所述被测设备通信连接,所述记分板模块分别与所述参考模型模块和所述数据接收模块通信连接;所述数据接收模块收集所述被测设备处理得到的实测数据并发送给所述记分板模块;所述记分板模块接收所述实测数据和所述参考模型模块发送的所述目标数据,并判断所述目标数据和所述实测数据是否一致。其有益效果在于:所述记分板模块以所述目标数据为参考依据验证所述实测数据,可以提高验证的准确性。
优选的,所述被测设备包括图像信号处理模块、存储模块和数据交互模块,所述图像信号处理模块、所述存储模块和所述数据交互模块相互连接,所述数据交互模块分别与所述数据发送模块和所述数据接收模块通信连接。其有益效果在于:验证系统包含通用的验证组件,具有可移植性,有益于在不同的ISP芯片验证项目中复用,减少验证系统开发工作量,解决了现有技术提供的验证系统只适应于特定的项目,可移植性差,开发的成本高的问题。
优选的,所述验证系统还包括测试类型判断模块和指令输入模块,所述测试类型判断模块分别与所述指令输入模块、所述随机测试激励产生单元和所述定向测试激励产生单元通信连接,所述测试类型判断模块根据指令输入模块输入的测试验证指令控制所述随机测试激励产生单元和所述定向测试激励产生单元分别产生随机测试激励信息和定向测试激励信息,以对所述被测设备进行随机测试验证和定向测试验证中的至少一种。其有益效果在于:使得可以根据测试验证指令选择进行随机测试验证和定向测试验证中的至少一种,满足多种测试需求。
优选的,所述测试验证指令为随机测试验证指令、定向测试验证指令、先进行随机测试验证后再进行定向测试验证指令和先进行定向测试验证后再进行随机测试验证指令中的任意一种。其有益效果在于:使得可以根据测试验证指令选择进行测试验证,满足多种测试需求。
优选的,本发明还提供所述的验证系统的验证方法,包括随机测试验证步骤和定向测试验证步骤中的至少一种;
所述随机测试验证步骤包括:
S110:当所述UVM验证平台作为激励产生单元,通过所述UVM验证平台产生随机测试激励信息并分别反馈给所述被测设备和所述C程序模块;
S120:所述C程序模块接收所述随机测试激励信息并将所述随机测试激励信息处理以生成目标数据后反馈给所述UVM验证平台;所述被测设备接收所述随机测试激励信息并对所述随机测试激励信息进行处理得到实测数据后反馈给所述UVM验证平台;
S130:所述UVM验证平台接收所述实测数据和所述目标数据并进行一致性判断;
所述定向测试验证步骤包括:
S210:当所述C程序模块作为激励产生单元,通过所述C程序模块产生定向测试激励信息并通过所述UVM验证平台反馈给所述被测设备;
S220:所述C程序模块将所述定向测试激励信息处理以生成目标数据后反馈给所述UVM验证平台;所述被测设备接收所述定向测试激励信息并对所述定向测试激励信息进行处理得到实测数据后反馈给所述UVM验证平台;
S230:所述UVM验证平台接收所述实测数据和所述目标数据并进行一致性判断。
本发明的验证系统的验证方法的有益效果在于:通过所述随机测试验证步骤中的步骤S110:当所述UVM验证平台作为激励产生单元,通过所述UVM验证平台产生随机测试激励信息并分别反馈给所述被测设备和所述C程序模块,S120:所述被测设备接收所述随机测试激励信息并对所述随机测试激励信息进行处理得到实测数据后反馈给所述UVM验证平台,使得对所述被测设备实现了全方位的验证,测试范围广,验证更全面,能节省验证时间;通过步骤S120:所述C程序模块接收所述随机测试激励信息并将所述随机测试激励信息处理以生成目标数据后反馈给所述UVM验证平台,S130:所述UVM验证平台接收所述实测数据和所述目标数据并进行一致性判断,使得在完成随机激励测试的同时可以进行结果比较,大大提高验证的效率,保证了验证结果的准确性;同时通过步骤S110:通过所述UVM验证平台产生随机测试激励信息并分别反馈给所述C程序模块,从而实现了将UVM验证平台产生随机测试激励信息复用于C程序模块的测试中,使得C程序模块可以采用所述随机测试激励信息用于进行软件测试和开发,提高了所述UVM验证平台产生随机测试激励信息的复用性,减轻软件测试的负担;
通过所述定向测试验证步骤中的步骤S210:当所述C程序模块作为激励产生单元,通过所述C程序模块产生定向测试激励信息并通过所述UVM验证平台反馈给所述被测设备,S220:所述被测设备接收所述定向测试激励信息并对所述定向测试激励信息进行处理得到实测数据后反馈给所述UVM验证平台,使得对所述被测设备进行定向测试验证,使得更能快速实现预期的检测,通过步骤S220:所述C程序模块将所述定向测试激励信息处理以生成目标数据后反馈给所述UVM验证平台,S230:所述UVM验证平台接收所述实测数据和所述目标数据并进行一致性判断,使得在完成定向激励测试的同时可以进行结果比较,大大提高验证的效率,保证了验证结果的准确性;又所述C程序模块产生定向测试激励信息,使得所述定向测试激励信息以C程序形式存在,使得所述C 程序模块可以复用所述定向测试激励信息,减少所述被测设备验证的工作量;而且使得所述验证系统可以进行定向测试验证和随机测试验证中的任意一种,且所述C程序模块产生定向测试激励信息,所述UVM验证平台产生所述随机测试激励信息,即产生随机测试激励信息和定向测试激励信息的属于不同模块,不需要修改代码,有益于代码的稳定性,提高了验证的效率,解决了现有技术中测试所用的定向序列和随机序列均是基于UVM验证平台产生,存在定向测试和随机测试转化需要不断修改代码的缺陷,验证效率低的问题;本发明提供的验证系统具有通用的验证组件,具有可移植性,有益于在不同的所述被测设备验证项目中复用,减少验证系统开发工作量,解决了现有技术中提供的验证系统只适应于特定的项目,可移植性差,开发的成本高的问题。
优选的,所述随机测试验证步骤或所述定向测试验证步骤之前还包括步骤:
S0:通过指令输入模块输入测试验证指令并发送给测试类型判断模块,所述测试类型判断模块判断接收到的所述测试验证指令并控制所述验证系统进行所述随机测试验证步骤和所述定向测试验证步骤中的至少一种。
优选的,所述测试验证指令为随机测试验证指令,所述验证系统按所述随机测试验证步骤进行验证,且在所述UVM验证平台判断所述实测数据和所述目标数据不一致后,所述UVM验证平台终止仿真并定位到所述实测数据和所述目标数据不一致的位置,在所述UVM验证平台判断所述实测数据和所述目标数据一致后,所述UVM验证平台终止仿真。
优选的,所述测试验证指令为定向测试验证指令,所述验证系统按所述定向测试验证步骤进行验证,且在所述UVM验证平台判断所述实测数据和所述目标数据不一致后,所述UVM验证平台终止仿真并定位到所述实测数据和所述目标数据不一致的位置,在所述UVM验证平台判断所述实测数据和所述目标数据一致后,所述UVM验证平台终止仿真。
优选的,所述测试验证指令为先进行随机测试验证后再进行定向测试验证指令,所述验证系统按所述随机测试验证步骤进行验证,且在所述UVM验证平台判断所述实测数据和所述目标数据不一致后,所述UVM验证平台终止仿真并定位到所述实测数据和所述目标数据不一致的位置,在所述UVM验证平台判断所述实测数据和所述目标数据一致后,所述验证系统继续按所述定向测试验证步骤进行验证。
优选的,所述测试验证指令为进行定向测试验证后再进行随机测试验证指令,所述验证系统按所述定向测试验证步骤进行验证,且在所述UVM验证平台判断所述实测数据和所述目标数据不一致后,所述UVM验证平台终止仿真并定位到所述实测数据和所述目标数据不一致的位置,在所述UVM验证平台判断所述实测数据和所述目标数据一致后,所述验证系统继续按所述随机测试验证步骤进行验证。
优选的,所述随机测试验证步骤具体包括:
S101:通过随机测试激励产生单元对各个参数和约束条件进行随机化以产生所述随机测试激励信息并分别发送给格式转换模块和数据发送模块;
S102:所述数据发送模块接收所述随机测试激励信息并将所述随机测试激励信息发送给所述被测设备;所述格式转换模块接收所述随机测试激励信息,并将序列模块的数据类型转换为测试模块可接收的数据类型后发送给随机测试激励中转单元;
S103:所述随机测试激励中转单元接收所述随机测试激励信息并将所述随机测试激励信息发送给参考模型模块;所述被测设备接收所述随机测试激励信息并处理得到实测数据后反馈给数据接收模块;
S104:所述参考模型模块将所述随机测试激励信息进行处理以产生目标数据后反馈给记分板模块;所述数据接收模块收集所述被测设备验证后的所述实测数据并反馈给所述记分板模块;
S105:所述记分板模块接收所述目标数据和所述实测数据,并将所述目标数据和所述实测数据进行一致性判断。
优选的,所述定向测试验证步骤具体包括:
S201:通过定向测试激励产生单元根据所述被测设备的待测试功能参数产生定向测试激励信息并分别发送给格式转换模块和参考模型模块;
S202:所述格式转换模块将测试模块的数据类型转换为适用于序列模块接收的数据类型,并将所述定向测试激励信息发送给所述序列模块;
S203:所述序列模块中的定向测试激励打包单元将所述定向测试激励信息打包为数据包,并经由数据发送模块将所述数据包发送给所述被测设备;
S204:所述参考模型模块将所述定向测试激励信息进行处理以产生目标数据后反馈给记分板模块;所述被测设备接收所述数据包形式的所述定向测试激励数据包信息并处理得到实测数据后反馈给数据接收模块;
S205:所述数据接收模块收集所述实测数据并反馈给所述记分板模块;所述记分板模块接收所述目标数据和所述实测数据,并将所述目标数据和所述实测数据进行一致性判断。其有益效果在于:对所述被测设备进行定向测试验证,使得更能快速实现预期的检测,因为产生定向测试激励信息的所述定向测试激励产生单元属于所述C程序模块,产生所述随机测试激励信息的所述随机测试激励产生单元属于所述UVM验证平台,即产生随机测试激励信息和定向测试激励信息的属于不同模块,不需要修改代码,有益于代码的稳定性,提高验证的效率,而且可以实现C 程序模块定向测试激励信息的复用,减少所述被测设备验证的工作量,解决了现有技术中测试所用的定向序列和随机序列均是基于UVM验证平台产生,存在定向测试和随机测试转化需要不断修改代码的缺陷,验证效率低的问题。
附图说明
图1为本发明第一种实施例中验证系统的结构框图;
图2为本发明第二种实施例中验证系统的结构框图;
图3为本发明第三种实施例中验证系统的结构框图;
图4为本发明第四种实施例中验证系统的结构框图;
图5为本发明的一些实施例中被测设备的结构框图;
图6为本发明的一些实施例中验证系统的随机测试验证步骤的流程图;
图7为本发明的一些实施例中验证系统的定向测试验证步骤的流程图;
图8为本发明的另一些实施例中验证系统的定向测试验证步骤的流程图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。除非另外定义,此处使用的技术术语或者科学术语应当为本发明所属领域内具有一般技能的人士所理解的通常意义。本文中使用的“包括”等类似的词语意指出现该词前面的元件或者物件涵盖出现在该词后面列举的元件或者物件及其等同,而不排除其他元件或者物件。
针对现有技术存在的问题,本发明的实施例提供了一种验证系统,图1为本发明第一种实施例中验证系统的结构框图,参照图1,所述验证系统包括C程序模块100、UVM验证平台200和被测设备300,所述C程序模块100与所述UVM验证平台200通信连接,所述UVM验证平台200与所述被测设备300通信连接;
所述UVM验证平台200和所述C程序模块100中的任意一个作为激励产生单元,所述UVM验证平台200产生随机测试激励信息并分别反馈给所述被测设备300和所述C程序模块100,所述C程序模块100产生定向测试激励信息并通过所述UVM验证平台200反馈给所述被测设备300;
所述C程序模块100将所述随机测试激励信息和所述定向测试激励信息中的任意一个处理为目标数据并反馈给所述UVM验证平台200;
所述被测设备300对所述随机测试激励信息和所述定向测试激励信息中的任意一个进行处理以得到实测数据并反馈给所述UVM验证平台200;
所述UVM验证平台200判断所述实测数据和所述目标数据是否一致。
本发明的另一些实施例中,提供一种验证系统,包括C程序模块、UVM验证平台和被测设备,所述C程序模块与所述UVM验证平台通信连接,所述UVM验证平台与所述被测设备通信连接;
所述UVM验证平台产生随机测试激励信息并分别反馈给所述被测设备和所述C程序模块;
所述C程序模块将所述随机测试激励信息处理为目标数据并反馈给所述UVM验证平台;
所述被测设备对所述随机测试激励信息进行处理以得到实测数据并反馈给所述UVM验证平台;
所述UVM验证平台判断所述实测数据和所述目标数据是否一致。
本发明的又一些实施例中,提供一种验证系统,包括C程序模块、UVM验证平台和被测设备,所述C程序模块与所述UVM验证平台通信连接,所述UVM验证平台与所述被测设备通信连接;
所述C程序模块产生定向测试激励信息并通过所述UVM验证平台反馈给所述被测设备;
所述C程序模块将所述定向测试激励信息处理为目标数据并反馈给所述UVM验证平台;
所述被测设备对所述定向测试激励信息进行处理以得到实测数据并反馈给所述UVM验证平台;
所述UVM验证平台判断所述实测数据和所述目标数据是否一致。
图2为本发明第二种实施例中验证系统的结构框图,参照图2,本发明的一些实施例中,所述C程序模块100包括测试模块110、格式转换模块120和参考模型模块130,所述测试模块110分别与所述格式转换模块120和所述参考模型模块130通信连接;所述UVM验证平台200包括序列模块210、数据发送模块220、记分板模块230和数据接收模块240,所述序列模块210分别与所述数据发送模块220和所述格式转换模块120通信连接,所述记分板模块230分别与所述参考模型模块130和所述数据接收模块240通信连接,所述数据发送模块220和所述数据接收模块240分别与所述被测设备300通信连接。
具体的,所述测试模块110根据所述被测设备300的待测试功能参数产生定向测试激励信息,并分别发送给所述格式转换模块120和所述参考模型模块130,所述定向测试激励信息以C程序形式存在;或者所述测试模块110接收所述序列模块210经由所述格式转换模块120转换后的所述随机测试激励信息并将所述随机测试激励信息发送给所述参考模型模块130;
所述格式转换模块120内部主要存储有两个函数,其中一个函数将所述序列模块210的数据类型转换为所述测试模块110可接收的数据类型,另一个函数将所述测试模块110的数据类型转换为所述序列模块210可接收的数据类型;即可以将所述测试模块110产生的所述定向测试激励信息转换为所述序列模块210可接收的测试序列以供所述被测设备300进行验证,同时可以将所述UVM验证平台200中所述序列模块210产生的所述随机测试激励信息转换给所述C程序模块100可接收的数据类型以用于进行软件测试和开发,使得同时提高了C程序模块100的测试序列和UVM验证平台200的测试序列的复用性,提高验证的效率,解决了现有的技术中无法将C程序模块100的测试序列复用于UVM验证平台200的测试中,也无法将UVM验证平台200的测试序列复用于C程序模块100的测试中,验证效率低的问题;
所述序列模块210接收所述格式转换模块120转换后的所述定向测试激励信息,并将所述定向测试激励信息打包为数据包后再发送给所述数据发送模块220;或者所述序列模块210产生所述随机测试激励信息并分别发送给所述格式转换模块120和所述数据发送模块220;
所述参考模型模块130将所述定向测试激励信息或所述随机测试激励信息处理为目标数据并反馈给所述记分板模块230;
所述数据发送模块220将所述随机测试激励信息或所述定向测试激励信息以数据包的形式发送给所述被测设备300;
所述被测设备300对所述随机测试激励信息或所述定向测试激励信息进行处理以得到实测数据并反馈给所述数据接收模块240;
所述数据接收模块240收集所述被测设备300验证得到的所述实测数据并发送给所述记分板模块230;
所述记分板模块230接收所述实测数据和所述目标数据,并判断所述目标数据和所述实测数据是否一致,并将对比结果打印出来。
本发明的一些具体实施例中,所述被测设备300的待测试功能参数已事先在所述C程序模块中编程好,多个待测试功能参数构成一个待测试的具体功能特性值。
本发明的一些具体实施例中,将所述定向测试激励信息打包为数据包是将所述定向测试激励信息打包为Transaction数据包,所述随机测试激励信息由所述序列模块210产生,直接就为Transaction数据包,无需转换,直接通过所述数据发送模块发送给所述被测设备即可。
图3为本发明第三种实施例中验证系统的结构框图;本发明的一些实施例中,所述验证系统为随机测试验证系统,所述序列模块210包括随机测试激励产生单元,所述测试模块110包括随机测试激励中转单元。参照图3,图3与图2的区别在于:随机测试激励产生单元211分别与所述格式转换模块120和所述数据发送模块220通信连接,随机测试激励中转单元111分别与所述格式转换模块120和所述参考模型模块130通信连接。
具体的,参考图3,所述随机测试激励产生单元211产生所述随机测试激励信息并分别发送给所述格式转换模块120和所述数据发送模块220;所述格式转换模块120将所述序列模块(图中未示出)的数据类型转换为所述测试模块(图中未示出)可接收的数据类型,即所述格式转换模块120将所述随机测试激励产生单元211的数据类型转换为所述随机测试激励中转单元111可接收的数据类型;所述随机测试激励中转单元111将所述随机测试激励信息发送给所述参考模型模块130;所述参考模型模块130将所述随机测试激励信息处理为目标数据并反馈给所述UVM验证平台200中的所述记分板模块230,所述数据发送模块220将所述随机测试激励信息发送给所述被测设备300,所述被测设备300对所述随机测试激励信息进行处理以得到实测数据;所述数据接收模块240收集所述被测设备300的实测数据并发送给所述记分板模块230;所述记分板模块230接收所述实测数据和所述目标数据,并判断所述目标数据和所述实测数据是否一致。
图4为本发明第四种实施例中验证系统的结构框图;本发明的一些实施例中,所述验证系统为定向测试验证系统,所述测试模块110包括定向测试激励产生单元,所述序列模块210包括定向测试激励打包单元,参照图4,图4与图2的区别在于:定向测试激励产生单元112分别与所述格式转换模块120和所述参考模型模块130通信连接,定向测试激励打包单元212分别与所述格式转换模块120和所述数据发送模块220通信连接。
具体的,参考图4,所述定向测试激励产生单元112根据所述被测设备300的待测试功能参数产生定向测试激励信息,并分别发送给所述格式转换模块120和所述参考模型模块130;所述参考模型模块130将所述定向测试激励信息处理为目标数据并反馈给所述UVM验证平台200中的所述记分板模块230;所述格式转换模块120将所述测试模块(图中未示出)的数据类型转换为所述序列模块(图中未示出)可接收的数据类型,即所述格式转换模块120将所述定向测试激励产生单元112的数据类型转换为所述定向测试激励打包单元212可接收的数据类型;所述定向测试激励打包单元212将所述定向测试激励信息打包为数据包并发送给所述数据发送模块220,所述数据发送模块220将所述数据包反馈给所述被测设备300;所述被测设备300对数据包形式的所述定向测试激励信息进行处理以得到实测数据;所述数据接收模块240收集所述被测设备300的实测数据并发送给所述记分板模块230;所述记分板模块230接收所述实测数据和所述目标数据,并判断所述目标数据和所述实测数据是否一致。
本发明的一些实施例中,所述参考模型模块包括模拟所述被测设备的行为模型,并储存有System C模型、C模型和C++模型中的任意一种,所述System C模型采用System C语言进行搭建,所述C模型采用C语言进行搭建,所述C++模型采用C++语言进行搭建。所述参考模型模块适用于多种参考模型,适应于范围大,有益于降低参考模型开发的难度,而且所述参考模型模块作为模拟所述被测设备的行为模型的模块,可以提高验证的准确性。
本发明的一些实施例中,所述格式转换模块储存有转换脚本,所述格式转换模块根据格式转换需求调用所述转换脚本以对所述测试模块的数据类型和所述序列模块的数据类型之间进行转换处理,转换脚本方便,快捷,开发速度快,语法简单强大。本发明的一些具体实施例中,所述转换脚本为Python脚本、Perl脚本和Bash脚本中的任意一种,所述Python脚本是一种跨平台的计算机程序设计语言,是一个高层次的结合了解释性、编译性、互动性和面向对象的脚本语言。
本发明的一些实施例中,所述测试模块还包括测试激励储存单元,所述测试激励储存单元储存所述随机测试激励信息和所述定向测试激励信息,提高了所述随机测试激励信息和所述定向测试激励信息的复用性,提高了验证效率,减少验证工作量,同时也方便所述C程序模块采用所述随机测试激励信息和所述定向测试激励信息进行软件测试和开发,为软件测试和开发节省了程序开发时间。
图5为本发明的一些实施例中被测设备的结构框图。本发明的一些实施例中,参照图5,所述被测设备300包括图像信号处理模块310、存储模块320和数据交互模块330,所述图像信号处理模块310、所述存储模块320和所述数据交互模块330相互连接,所述数据交互模块330分别与所述数据发送模块(图中未示出)和所述数据接收模块(图中未示出)通信连接。所述存储模块320预先加载待处理的图像信息,所述预先加载待处理的图像信息采用所述图像信号处理模块310所需的数据格式存放在所述存储模块320中,所述图像信号处理模块310和所述存储模块320挂载于所述数据交互模块330,所述数据发送模块(图中未示出)将所述随机测试激励信息或所述定向测试激励信息以数据包形式发送给所述数据交互模块330,所述数据接收模块(图中未示出)监控所述数据交互模块330上的数据,将所述存储模块320转发到所述数据交互模块330的数据包收集并发给所述记分板模块(图中未示出)。本发明的一些具体实施例中,所述图像信号处理模块310为图像信号处理器(ISP),所述ISP是用来对前端图像传感器输出信号进行处理的单元。ISP作用是让人眼看到数字图像时的效果尽可能接近人眼看到的实景时的效果。ISP芯片是拍照过程中的运算处理单元,相当于相机的“大脑”。随着数码相机和摄像头的广泛应用,在图像技术逐渐逼近甚至挑战人类视觉能力极限的过程中,ISP芯片发挥着至关重要的作用,在ISP芯片发展过程中,由于ISP芯片复杂程度提升给其验证难度带来了极大的挑战,现有ISP芯片验证技术中缺乏通用的验证系统及方法,增大了验证工作的难度,而且现有ISP验证技术效率低,测试激励可重用性差。本发明上述实施例中的所述验证系统包含通用的验证组件,具有可移植性,有益于在不同的ISP芯片验证项目中复用,减轻了ISP验证工作难度,减少验证系统开发工作量,提高测试激励可重用性,提升了ISP验证效率,解决了现有技术提供的验证系统只适应于特定的项目,可移植性差,开发的成本高的问题。
本发明的一些实施例中,所述验证系统还包括测试类型判断模块和指令输入模块,所述测试类型判断模块分别与所述指令输入模块、所述随机测试激励产生单元和所述定向测试激励产生单元通信连接,所述测试类型判断模块根据指令输入模块输入的测试验证指令控制所述随机测试激励产生单元和所述定向测试激励产生单元分别产生随机测试激励信息和定向测试激励信息,以对所述被测设备进行随机测试验证和定向测试验证中的至少一种,使得可以根据测试验证指令选择进行随机测试验证和定向测试验证中的至少一种,满足多种测试需求。
本发明的一些实施例中,在测试验证开始之前先进行以下步骤:
通过所述指令输入模块输入测试验证指令并发送给所述测试类型判断模块,所述测试类型判断模块判断接收到的测试验证指令为定向测试验证指令后控制所述定向测试激励产生单元产生定向测试激励信息,或所述测试类型判断模块判断接收到的测试验证指令为随机测试验证指令后控制所述随机测试激励产生单元产生随机测试激励信息。
本发明的一些实施例中,所述测试验证指令为随机测试验证指令、定向测试验证指令、先进行随机测试验证后再进行定向测试验证指令和先进行定向测试验证后再进行随机测试验证指令中的任意一种。
图6为本发明的一些实施例中验证系统的随机测试验证步骤的流程图;图7为本发明的一些实施例中验证系统的定向测试验证步骤的流程图。
本发明的一些实施例中,所述的验证系统的验证方法,包括随机测试验证步骤和定向测试验证步骤中的至少一种;
参考图6,所述随机测试验证步骤包括:
S110:当所述UVM验证平台作为激励产生单元,通过所述UVM验证平台产生随机测试激励信息并分别反馈给所述被测设备和所述C程序模块;
S120:所述C程序模块接收所述随机测试激励信息并将所述随机测试激励信息处理以生成目标数据后反馈给所述UVM验证平台;所述被测设备接收所述随机测试激励信息并对所述随机测试激励信息进行处理得到实测数据后反馈给所述UVM验证平台;
S130:所述UVM验证平台接收所述实测数据和所述目标数据并进行一致性判断;
参考图7,所述定向测试验证步骤包括:
S210:当所述C程序模块作为激励产生单元,通过所述C程序模块产生定向测试激励信息并通过所述UVM验证平台反馈给所述被测设备;
S220:所述C程序模块将所述定向测试激励信息处理以生成目标数据后反馈给所述UVM验证平台;所述被测设备接收所述定向测试激励信息并对所述定向测试激励信息进行处理得到实测数据后反馈给所述UVM验证平台;
S230:所述UVM验证平台接收所述实测数据和所述目标数据并进行一致性判断。
本发明的一些实施例中,通过指令输入模块输入测试验证指令并发送给测试类型判断模块,所述测试类型判断模块判断接收到的所述测试验证指令并控制所述验证系统进行所述随机测试验证步骤和所述定向测试验证步骤中的至少一种。
本发明的一些实施例中,所述测试验证指令为随机测试验证指令,所述验证系统按所述随机测试验证步骤进行验证,且在所述UVM验证平台判断所述实测数据和所述目标数据不一致后,所述UVM验证平台终止仿真并定位到所述实测数据和所述目标数据不一致的位置,在所述UVM验证平台判断所述实测数据和所述目标数据一致后,所述UVM验证平台终止仿真。
本发明的另一些实施例中,所述测试验证指令为定向测试验证指令,所述验证系统按所述定向测试验证步骤进行验证,且在所述UVM验证平台判断所述实测数据和所述目标数据不一致后,所述UVM验证平台终止仿真并定位到所述实测数据和所述目标数据不一致的位置,在所述UVM验证平台判断所述实测数据和所述目标数据一致后,所述UVM验证平台终止仿真。
本发明的又一些实施例中,所述测试验证指令为先进行随机测试验证后再进行定向测试验证指令,所述验证系统按所述随机测试验证步骤进行验证,且在所述UVM验证平台判断所述实测数据和所述目标数据不一致后,所述UVM验证平台终止仿真并定位到所述实测数据和所述目标数据不一致的位置,在所述UVM验证平台判断所述实测数据和所述目标数据一致后,所述验证系统继续按所述定向测试验证步骤进行验证。
本发明的再一些实施例中,所述测试验证指令为进行定向测试验证后再进行随机测试验证指令,所述验证系统按所述定向测试验证步骤进行验证,且在所述UVM验证平台判断所述实测数据和所述目标数据不一致后,所述UVM验证平台终止仿真并定位到所述实测数据和所述目标数据不一致的位置,在所述UVM验证平台判断所述实测数据和所述目标数据一致后,所述验证系统继续按所述随机测试验证步骤进行验证。
本发明的一些实施例中,所述随机测试验证步骤具体包括:
S101:通过随机测试激励产生单元对各个参数和约束条件进行随机化以产生所述随机测试激励信息并分别发送给格式转换模块和数据发送模块;
S102:所述数据发送模块接收所述随机测试激励信息并将所述随机测试激励信息发送给所述被测设备;所述格式转换模块接收所述随机测试激励信息,并将序列模块的数据类型转换为测试模块可接收的数据类型后发送给随机测试激励中转单元;
S103:所述随机测试激励中转单元接收所述随机测试激励信息并将所述随机测试激励信息发送给参考模型模块;所述被测设备接收所述随机测试激励信息并处理得到实测数据后反馈给数据接收模块;
S104:所述参考模型模块将所述随机测试激励信息进行处理以产生目标数据后反馈给记分板模块;所述数据接收模块收集所述被测设备验证后的所述实测数据并反馈给所述记分板模块;
S105:所述记分板模块接收所述目标数据和所述实测数据,并将所述目标数据和所述实测数据进行一致性判断。
本发明的一些实施例中,所述定向测试验证步骤具体包括:
S201:通过定向测试激励产生单元根据所述被测设备的待测试功能参数产生定向测试激励信息并分别发送给格式转换模块和参考模型模块;
S202:所述格式转换模块将测试模块的数据类型转换为适用于序列模块接收的数据类型,并将所述定向测试激励信息发送给所述序列模块;
S203:所述序列模块中的定向测试激励打包单元将所述定向测试激励信息打包为数据包,并经由数据发送模块将所述数据包发送给所述被测设备;
S204:所述参考模型模块将所述定向测试激励信息进行处理以产生目标数据后反馈给记分板模块;所述被测设备接收所述数据包形式的所述定向测试激励数据包信息并处理得到实测数据后反馈给数据接收模块;
S205:所述数据接收模块收集所述实测数据并反馈给所述记分板模块;所述记分板模块接收所述目标数据和所述实测数据,并将所述目标数据和所述实测数据进行一致性判断。
本发明的另一些实施例中,所述的验证系统的验证方法,包括以下步骤:
S1:通过所述UVM验证平台产生随机测试激励信息并分别反馈给所述被测设备和所述C程序模块;
S2:所述C程序模块接收所述随机测试激励信息并将所述随机测试激励信息处理以生成目标数据后反馈给所述UVM验证平台;所述被测设备接收所述随机测试激励信息并对所述随机测试激励信息进行处理得到实测数据后反馈给所述UVM验证平台;
S3:所述UVM验证平台接收所述实测数据和所述目标数据并进行一致性判断。
本发明的一些实施例中,所述步骤S1之前还包括步骤:
S0:通过所述指令输入模块输入随机测试验证指令并发送给所述测试类型判断模块,所述测试类型判断模块判断接收到的指令为随机测试验证指令后控制所述随机测试激励产生单元产生随机测试激励信息。
本发明的一些实施例中,所述步骤S1中,通过所述UVM验证平台产生随机测试激励信息并分别反馈给所述被测设备和所述C程序模块包括步骤:
S11:通过所述随机测试激励产生单元对各个参数和约束条件进行随机化以产生所述随机测试激励信息并分别发送给所述格式转换模块和所述数据发送模块;
S12:所述数据发送模块接收所述随机测试激励信息,并将所述随机测试激励信息发送给所述被测设备。
本发明的一些实施例中,所述步骤S2中,所述C程序模块接收所述随机测试激励信息并将所述随机测试激励信息处理以生成目标数据后反馈给所述UVM验证平台包括步骤:
S21:所述格式转换模块接收所述随机测试激励信息,并将所述序列模块的数据类型转换为所述测试模块可接收的数据类型后发送给所述随机测试激励中转单元;
S22:所述随机测试激励中转单元接收所述随机测试激励信息,并将所述随机测试激励信息发送给所述参考模型模块;
S23:所述参考模型模块将所述随机测试激励信息进行处理以产生目标数据后反馈给所述记分板模块。
本发明的一些实施例中,所述步骤S3中,所述UVM验证平台接收所述实测数据和所述目标数据并进行一致性对比包括步骤:
S31:所述数据接收模块收集所述被测设备验证后的所述实测数据并反馈给所述记分板模块;
S32:所述记分板模块接收所述目标数据和所述实测数据,并将所述目标数据和所述实测数据进行一致性判断。
本发明的一些实施例中,所述步骤S32之后还包括步骤:所述记分板模块判断所述实测数据和所述目标数据不一致后,所述记分板模块打印错误信息并终止仿真。
本发明的一些实施例中,所述步骤S32之后还包括步骤:所述记分板模块判断所述实测数据和所述目标数据一致后,所述记分板模块打印正确信息并终止仿真。
本发明的又一些实施例中,所述的验证系统的验证方法,包括以下步骤:
S01:通过所述C程序模块产生定向测试激励信息并通过所述UVM验证平台反馈给所述被测设备;
S02:所述C程序模块将所述定向测试激励信息处理以生成目标数据后反馈给所述UVM验证平台;所述被测设备接收所述定向测试激励信息并对所述定向测试激励信息进行处理得到实测数据后反馈给所述UVM验证平台;
S03:所述UVM验证平台接收所述实测数据和所述目标数据并进行一致性判断。
本发明的一些实施例中,所述步骤S01之前还包括步骤:
S0:通过所述指令输入模块输入定向测试验证指令并发送给所述测试类型判断模块,所述测试类型判断模块判断接收到的指令为定向测试验证指令后控制所述定向测试激励产生单元产生定向测试激励信息。
图8为本发明的另一些实施例中验证系统的定向测试验证步骤的流程图。本发明的另一些实施例中,所述测试验证指令为定向测试验证指令,即对所述被测设备单独进行定向测试验证;参照图8,对所述被测设备单独进行定向测试验证的验证方法,包括以下步骤:
S41:通过所述定向测试激励产生单元根据所述被测设备的待测试功能参数产生定向测试激励信息并分别发送给所述格式转换模块和所述参考模型模块;
S42:所述格式转换模块将所述测试模块的数据类型转换为所述序列模块可接收的数据类型后将所述定向测试激励信息发送给所述序列模块;
S43:所述序列模块中的所述定向测试激励打包单元将所述定向测试激励信息打包为数据包,并经由所述数据发送模块将所述数据包发送给所述被测设备;
S44:所述参考模型模块将所述定向测试激励信息进行处理以产生目标数据后反馈给所述记分板模块;所述被测设备接收所述数据包形式的所述定向测试激励信息并处理得到实测数据后反馈给所述数据接收模块;
S45:所述数据接收模块收集所述实测数据并反馈给所述记分板模块;所述记分板模块接收所述目标数据和所述实测数据,并将所述目标数据和所述实测数据进行一致性判断。
本发明的一些实施例中,所述步骤S41之前还包括步骤:
S40:通过所述指令输入模块输入定向测试验证指令并发送给所述测试类型判断模块,所述测试类型判断模块判断接收到的指令为定向测试验证指令后控制所述定向测试激励产生单元分别产生定向测试激励信息。
本发明的一些实施例中,所述步骤S45之后还包括步骤:所述记分板模块判断所述实测数据和所述目标数据不一致后,所述记分板模块打印错误信息并终止仿真。
本发明的一些实施例中,所述步骤S45之后还包括步骤:所述记分板模块判断所述实测数据和所述目标数据一致后,所述记分板模块打印正确信息并终止仿真或进行下一个定向测试激励信息仿真。
本发明的又一些实施例中,所述测试验证指令为先进行随机测试验证后再进行定向测试验证指令,即对所述被测设备先进行随机测试验证,在随机测试验证结束后再对所述被测设备进行定向测试验证。即在所述步骤S3之后还包括步骤:S4:所述记分板模块判断所述实测数据和所述目标数据一致后,所述验证系统进行定向测试激励信息仿真,即定向测试验证。所述定向测试激励信息仿真的验证方法,按所述步骤S01-03进行定向测试验证,具体按所述步骤S41-45进行。即对所述被测设备进行全面验证后,再对随机测试未覆盖的部分进行固定设置的功能参数性的针对验证,随机测试验证和定向测试验证相辅相成,提高了验证效率。
本发明的再一些实施例中,所述测试验证指令为先进行定向测试验证后再进行随机测试验证指令,即对所述被测设备先进行定向测试验证,在定向测试验证结束后再对所述被测设备进行随机测试验证。即在所述步骤S45之后还包括步骤:S5:所述记分板模块判断所述实测数据和所述目标数据一致后,所述验证系统进行随机测试激励信息仿真。所述随机测试激励信息仿真的验证方法,按所述步骤S1-3进行。先进行定向测试验证,使得能快速完成预定目标的检测,而且在定向测试验证结束后再对所述被测设备进行随机测试验证,也保证了对被测设备进行全面覆盖验证,大大降低了验证的不充分导致的功能错误,保证了芯片首次投片的成功率。
本发明实施例中,所述定向测试验证步骤包括至少一个定向测试验证,若包括若干个定向测试验证,则顺次进行。本发明的一些实施例中,在所有的所述若干个定向测试验证都完成后再进行随机测试验证。本发明的另一些实施例中,在完成若干个定向测试验证后进行随机测试验证,然后再进行若干个定向测试验证。
本发明的一些实施例中,所述验证系统的验证方法应用于ISP芯片的验证,所述步骤S1或所述步骤S41之前,还包括步骤:所述图像信号处理模块启动并读取预先加载在所述存储模块中的所述待处理的图像信息,所述步骤S3或所述步骤S45之后还包括步骤:所述图像信号处理模块验证完成之后会将验证的数据存储于所述存储模块。
虽然在上文中详细说明了本发明的实施方式,但是对于本领域的技术人员来说显而易见的是,能够对这些实施方式进行各种修改和变化。但是,应理解,这种修改和变化都属于权利要求书中所述的本发明的范围和精神之内。而且,在此说明的本发明可有其它的实施方式,并且可通过多种方式实施或实现。
Claims (21)
1.一种验证系统,其特征在于,包括C程序模块、UVM验证平台和被测设备,所述C程序模块与所述UVM验证平台通信连接,所述UVM验证平台与所述被测设备通信连接;所述C程序模块包括参考模型模块、测试模块和格式转换模块,所述UVM验证平台包括序列模块,所述格式转换模块分别与所述测试模块和所述序列模块通信连接,所述参考模型模块与所述测试模块通信连接;
所述UVM验证平台和所述C程序模块中的任意一个作为激励产生单元,所述UVM验证平台产生随机测试激励信息并分别反馈给所述被测设备和所述C程序模块,所述C程序模块产生定向测试激励信息并通过所述UVM验证平台反馈给所述被测设备;
所述C程序模块将所述随机测试激励信息和所述定向测试激励信息中的任意一个处理为目标数据并反馈给所述UVM验证平台;
所述被测设备对所述随机测试激励信息和所述定向测试激励信息中的任意一个进行处理以得到实测数据并反馈给所述UVM验证平台;
所述UVM验证平台判断所述实测数据和所述目标数据是否一致。
2.根据权利要求1所述的验证系统,其特征在于,所述序列模块包括随机测试激励产生单元,所述随机测试激励产生单元产生所述随机测试激励信息并发送给所述格式转换模块;
所述格式转换模块将所述序列模块的数据类型转换为所述测试模块可接收的数据类型。
3.根据权利要求2所述的验证系统,其特征在于,所述测试模块包括随机测试激励中转单元,所述随机测试激励中转单元将所述随机测试激励信息发送给所述参考模型模块;
所述参考模型模块将所述随机测试激励信息处理为目标数据并反馈给所述UVM验证平台。
4.根据权利要求3所述的验证系统,其特征在于,所述测试模块还包括定向测试激励产生单元,所述定向测试激励产生单元分别与所述格式转换模块和所述参考模型模块通信连接;
所述定向测试激励产生单元根据所述被测设备的待测试功能参数产生定向测试激励信息,并分别发送给所述格式转换模块和所述参考模型模块;
所述格式转换模块将所述测试模块的数据类型转换为所述序列模块可接收的数据类型;
所述参考模型模块将所述定向测试激励信息处理为目标数据并反馈给所述UVM验证平台。
5.根据权利要求4所述的验证系统,其特征在于,所述参考模型模块包括模拟所述被测设备的行为模型,并储存有System C模型、C模型和C++模型中的任意一种。
6.根据权利要求4所述的验证系统,其特征在于,所述格式转换模块储存有转换脚本,所述格式转换模块根据格式转换需求调用所述转换脚本以对所述测试模块的数据类型和所述序列模块的数据类型之间进行转换处理。
7.根据权利要求4所述的验证系统,其特征在于,所述测试模块还包括测试激励储存单元,所述测试激励储存单元储存所述随机测试激励信息和所述定向测试激励信息。
8.根据权利要求4所述的验证系统,其特征在于,所述UVM验证平台还包括数据发送模块,所述数据发送模块分别与所述序列模块和所述被测设备通信连接;
所述数据发送模块将所述随机测试激励信息或所述定向测试激励信息发送给所述被测设备。
9.根据权利要求8所述的验证系统,其特征在于,所述序列模块还包括定向测试激励打包单元,所述定向测试激励打包单元将所述定向测试激励信息打包为数据包并通过所述数据发送模块发送给所述被测设备。
10.根据权利要求8所述的验证系统,其特征在于,所述UVM验证平台还包括记分板模块和数据接收模块,所述数据接收模块与所述被测设备通信连接,所述记分板模块分别与所述参考模型模块和所述数据接收模块通信连接;
所述数据接收模块收集所述被测设备处理得到的所述实测数据并发送给所述记分板模块;
所述记分板模块接收所述实测数据和所述参考模型模块发送的所述目标数据,并判断所述目标数据和所述实测数据是否一致。
11.根据权利要求10所述的验证系统,其特征在于,所述被测设备包括图像信号处理模块、存储模块和数据交互模块,所述图像信号处理模块、所述存储模块和所述数据交互模块相互连接,所述数据交互模块分别与所述数据发送模块和所述数据接收模块通信连接。
12.根据权利要求11所述的验证系统,其特征在于,所述验证系统还包括测试类型判断模块和指令输入模块,所述测试类型判断模块分别与所述指令输入模块、所述随机测试激励产生单元和所述定向测试激励产生单元通信连接,所述测试类型判断模块根据所述指令输入模块输入的测试验证指令控制所述随机测试激励产生单元和所述定向测试激励产生单元分别产生随机测试激励信息和定向测试激励信息,以对所述被测设备进行随机测试验证和定向测试验证中的至少一种。
13.根据权利要求12所述的验证系统,其特征在于,所述测试验证指令为随机测试验证指令、定向测试验证指令、先进行随机测试验证后再进行定向测试验证指令和先进行定向测试验证后再进行随机测试验证指令中的任意一种。
14.根据权利要求1-13任意一项所述的验证系统的验证方法,其特征在于,包括随机测试验证步骤和定向测试验证步骤中的至少一种;
所述随机测试验证步骤包括:
S110:当所述UVM验证平台作为激励产生单元,通过所述UVM验证平台产生随机测试激励信息并分别反馈给所述被测设备和所述C程序模块;
S120:所述C程序模块接收所述随机测试激励信息并将所述随机测试激励信息处理以生成目标数据后反馈给所述UVM验证平台;所述被测设备接收所述随机测试激励信息并对所述随机测试激励信息进行处理得到实测数据后反馈给所述UVM验证平台;
S130:所述UVM验证平台接收所述实测数据和所述目标数据并进行一致性判断;
所述定向测试验证步骤包括:
S210:当所述C程序模块作为激励产生单元,通过所述C程序模块产生定向测试激励信息并通过所述UVM验证平台反馈给所述被测设备;
S220:所述C程序模块将所述定向测试激励信息处理以生成目标数据后反馈给所述UVM验证平台;所述被测设备接收所述定向测试激励信息并对所述定向测试激励信息进行处理得到实测数据后反馈给所述UVM验证平台;
S230:所述UVM验证平台接收所述实测数据和所述目标数据并进行一致性判断。
15.根据权利要求14所述的验证方法,其特征在于,所述随机测试验证步骤或所述定向测试验证步骤之前还包括步骤:
S0:通过指令输入模块输入测试验证指令并发送给测试类型判断模块,所述测试类型判断模块判断接收到的所述测试验证指令并控制所述验证系统进行所述随机测试验证步骤和所述定向测试验证步骤中的至少一种。
16.根据权利要求15所述的验证方法,其特征在于,所述测试验证指令为随机测试验证指令,所述验证系统按所述随机测试验证步骤进行验证,且在所述UVM验证平台判断所述实测数据和所述目标数据不一致后,所述UVM验证平台终止仿真并定位到所述实测数据和所述目标数据不一致的位置,在所述UVM验证平台判断所述实测数据和所述目标数据一致后,所述UVM验证平台终止仿真。
17.根据权利要求15所述的验证方法,其特征在于,所述测试验证指令为定向测试验证指令,所述验证系统按所述定向测试验证步骤进行验证,且在所述UVM验证平台判断所述实测数据和所述目标数据不一致后,所述UVM验证平台终止仿真并定位到所述实测数据和所述目标数据不一致的位置,在所述UVM验证平台判断所述实测数据和所述目标数据一致后,所述UVM验证平台终止仿真。
18.根据权利要求15所述的验证方法,其特征在于,所述测试验证指令为先进行随机测试验证后再进行定向测试验证指令,所述验证系统按所述随机测试验证步骤进行验证,且在所述UVM验证平台判断所述实测数据和所述目标数据不一致后,所述UVM验证平台终止仿真并定位到所述实测数据和所述目标数据不一致的位置,在所述UVM验证平台判断所述实测数据和所述目标数据一致后,所述验证系统继续按所述定向测试验证步骤进行验证。
19.根据权利要求15所述的验证方法,其特征在于,所述测试验证指令为进行定向测试验证后再进行随机测试验证指令,所述验证系统按所述定向测试验证步骤进行验证,且在所述UVM验证平台判断所述实测数据和所述目标数据不一致后,所述UVM验证平台终止仿真并定位到所述实测数据和所述目标数据不一致的位置,在所述UVM验证平台判断所述实测数据和所述目标数据一致后,所述验证系统继续按所述随机测试验证步骤进行验证。
20.根据权利要求14所述的验证方法,其特征在于,所述随机测试验证步骤具体包括:
S101:通过随机测试激励产生单元对各个参数和约束条件进行随机化以产生所述随机测试激励信息并分别发送给格式转换模块和数据发送模块;
S102:所述数据发送模块接收所述随机测试激励信息并将所述随机测试激励信息发送给所述被测设备;所述格式转换模块接收所述随机测试激励信息,并将序列模块的数据类型转换为测试模块可接收的数据类型后发送给随机测试激励中转单元;
S103:所述随机测试激励中转单元接收所述随机测试激励信息并将所述随机测试激励信息发送给参考模型模块;所述被测设备接收所述随机测试激励信息并处理得到实测数据后反馈给数据接收模块;
S104:所述参考模型模块将所述随机测试激励信息进行处理以产生目标数据后反馈给记分板模块;所述数据接收模块收集所述被测设备验证后的所述实测数据并反馈给所述记分板模块;
S105:所述记分板模块接收所述目标数据和所述实测数据,并将所述目标数据和所述实测数据进行一致性判断。
21.根据权利要求14所述的验证方法,其特征在于,所述定向测试验证步骤具体包括:
S201:通过定向测试激励产生单元根据所述被测设备的待测试功能参数产生定向测试激励信息并分别发送给格式转换模块和参考模型模块;
S202:所述格式转换模块将测试模块的数据类型转换为序列模块可接收的数据类型,并将所述定向测试激励信息发送给所述序列模块;
S203:所述序列模块中的定向测试激励打包单元将所述定向测试激励信息打包为数据包,并经由数据发送模块将所述数据包发送给所述被测设备;
S204:所述参考模型模块将所述定向测试激励信息进行处理以产生目标数据后反馈给记分板模块;所述被测设备接收所述数据包形式的所述定向测试激励信息并处理得到实测数据后反馈给数据接收模块;
S205:所述数据接收模块收集所述实测数据并反馈给所述记分板模块;所述记分板模块接收所述目标数据和所述实测数据,并将所述目标数据和所述实测数据进行一致性判断。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110645105.2A CN113157269B (zh) | 2021-06-10 | 2021-06-10 | 验证系统及其验证方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110645105.2A CN113157269B (zh) | 2021-06-10 | 2021-06-10 | 验证系统及其验证方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113157269A CN113157269A (zh) | 2021-07-23 |
CN113157269B true CN113157269B (zh) | 2023-11-17 |
Family
ID=76875899
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110645105.2A Active CN113157269B (zh) | 2021-06-10 | 2021-06-10 | 验证系统及其验证方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113157269B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113591422B (zh) * | 2021-08-03 | 2024-01-30 | 眸芯科技(上海)有限公司 | 芯片验证中测试案例流程信息的生成系统及应用 |
CN113671349B (zh) * | 2021-08-22 | 2024-07-09 | 山东云海国创云计算装备产业创新中心有限公司 | 一种fpga芯片测试平台和fpga芯片测试方法 |
CN116795728B (zh) * | 2023-08-25 | 2023-10-27 | 中电科申泰信息科技有限公司 | 一种基于uvm的多核缓存一致性验证模组及方法 |
CN118036525A (zh) * | 2024-04-10 | 2024-05-14 | 北京智芯微电子科技有限公司 | 基于uvm和c模型的验证系统与方法、存储介质、验证平台 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2015131697A1 (zh) * | 2014-07-29 | 2015-09-11 | 中兴通讯股份有限公司 | 多路帧随机数据验证处理方法及装置 |
WO2016197768A1 (zh) * | 2016-01-04 | 2016-12-15 | 中兴通讯股份有限公司 | 芯片验证方法、装置及系统 |
CN107463473A (zh) * | 2017-09-01 | 2017-12-12 | 珠海泰芯半导体有限公司 | 基于uvm和fpga的芯片软硬件仿真环境 |
CN109684672A (zh) * | 2018-11-30 | 2019-04-26 | 上海芯钛信息科技有限公司 | 一种soc芯片系统级验证系统及方法 |
CN110618929A (zh) * | 2019-08-01 | 2019-12-27 | 广东工业大学 | 一种基于uvm的对称加密算法的验证平台和验证方法 |
CN110688821A (zh) * | 2019-09-27 | 2020-01-14 | 北京中电华大电子设计有限责任公司 | 一种复杂算法的测试激励生成器及其控制方法 |
CN111523350A (zh) * | 2019-02-02 | 2020-08-11 | 上海齐感电子信息科技有限公司 | 图像识别方法及装置、存储介质、终端、图像识别系统 |
CN112559273A (zh) * | 2020-12-28 | 2021-03-26 | 杭州德旺信息技术有限公司 | 一种基于uvm的qspi验证系统及方法 |
-
2021
- 2021-06-10 CN CN202110645105.2A patent/CN113157269B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2015131697A1 (zh) * | 2014-07-29 | 2015-09-11 | 中兴通讯股份有限公司 | 多路帧随机数据验证处理方法及装置 |
WO2016197768A1 (zh) * | 2016-01-04 | 2016-12-15 | 中兴通讯股份有限公司 | 芯片验证方法、装置及系统 |
CN107463473A (zh) * | 2017-09-01 | 2017-12-12 | 珠海泰芯半导体有限公司 | 基于uvm和fpga的芯片软硬件仿真环境 |
CN109684672A (zh) * | 2018-11-30 | 2019-04-26 | 上海芯钛信息科技有限公司 | 一种soc芯片系统级验证系统及方法 |
CN111523350A (zh) * | 2019-02-02 | 2020-08-11 | 上海齐感电子信息科技有限公司 | 图像识别方法及装置、存储介质、终端、图像识别系统 |
CN110618929A (zh) * | 2019-08-01 | 2019-12-27 | 广东工业大学 | 一种基于uvm的对称加密算法的验证平台和验证方法 |
CN110688821A (zh) * | 2019-09-27 | 2020-01-14 | 北京中电华大电子设计有限责任公司 | 一种复杂算法的测试激励生成器及其控制方法 |
CN112559273A (zh) * | 2020-12-28 | 2021-03-26 | 杭州德旺信息技术有限公司 | 一种基于uvm的qspi验证系统及方法 |
Non-Patent Citations (5)
Title |
---|
Functional Coverage - Driven UVM Based JTAG Verification;Elakkiya, C.et al;《2017 IEEE International Conference on Computational Intelligence and Computing Research (ICCIC)》;全文 * |
一种基于GPU的主机接口设计与验证;王世中等;《航空计算技术》;第50卷(第06期);全文 * |
基于SystemC和SystemVerilog的联合仿真平台设计;卢艳君;《科学技术创新》(第27期);全文 * |
基于UVM的DBF系统模块级可重用验证平台的实现;邓庆勇等;《微电子学与计算机》(第01期);全文 * |
应用直接编程接口技术提高片上系统的UVM验证重用性;任传宝等;《微电子学与计算机》;第38卷(第36期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN113157269A (zh) | 2021-07-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113157269B (zh) | 验证系统及其验证方法 | |
CN107463473B (zh) | 基于uvm和fpga的芯片软硬件仿真环境 | |
CN109472061B (zh) | 一种可重用的仿真验证平台及仿真验证方法 | |
US20080306722A1 (en) | Logic verification system | |
CN106445800A (zh) | 一种芯片验证的方法和装置 | |
US10209306B2 (en) | Methods and systems for generating functional test patterns for manufacture test | |
CN106708687A (zh) | 一种基于可执行文件的芯片验证方法和装置 | |
CN111400116A (zh) | 芯片测试验证方法、计算机装置及计算机可读存储介质 | |
US8504344B2 (en) | Interface between a verification environment and a hardware acceleration engine | |
CN109672470B (zh) | 一种小卫星星上软件上注和重构地面测试验证方法及系统 | |
CN116089281A (zh) | 一种芯片测试方法、测试平台和设备 | |
CN104486169A (zh) | 可重用自动检测及随机验证系统和方法 | |
CN114417768B (zh) | 一种以太网芯片的数模混合仿真方法及系统 | |
CN114036883A (zh) | 一种基于uvm和vip的uart模块级验证平台 | |
CN109283913A (zh) | 基于移动终端的车辆诊断训练方法、装置、诊断仪及介质 | |
CN112084802A (zh) | 一种rfid标签芯片验证系统 | |
CN115190030A (zh) | 一种实现can fd的硬件装置和uvm验证平台 | |
CN105320593B (zh) | 多路帧随机数据验证处理方法及装置 | |
CN112632885B (zh) | 软硬件联合验证系统及方法 | |
CN114564392A (zh) | Rtl仿真方法、装置、电子设备及计算机可读存储介质 | |
CN106777665A (zh) | 提高协同仿真平台验证效率的方法及系统 | |
CN109906609A (zh) | 用于监测图像传感器的方法和设备 | |
CN116842890A (zh) | 一种数模芯片多场景复用的芯片验证平台及方法 | |
CN115993937A (zh) | 一种多进程固态硬盘仿真环境实现方法和装置 | |
CN111190786A (zh) | 基于uvm的测试构架、测试平台及测试方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
CB03 | Change of inventor or designer information | ||
CB03 | Change of inventor or designer information |
Inventor after: Gong Xiangyang Inventor after: Tian Rui Inventor before: Gong Xiangyang |
|
GR01 | Patent grant | ||
GR01 | Patent grant |