CN115658411B - 一种激励发生器以及激励发生方法 - Google Patents
一种激励发生器以及激励发生方法 Download PDFInfo
- Publication number
- CN115658411B CN115658411B CN202211702420.5A CN202211702420A CN115658411B CN 115658411 B CN115658411 B CN 115658411B CN 202211702420 A CN202211702420 A CN 202211702420A CN 115658411 B CN115658411 B CN 115658411B
- Authority
- CN
- China
- Prior art keywords
- field
- constraint type
- excitation
- stimulus
- file
- 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
- 230000005284 excitation Effects 0.000 title claims abstract description 240
- 238000000034 method Methods 0.000 title claims abstract description 85
- 239000013598 vector Substances 0.000 claims abstract description 154
- 238000012360 testing method Methods 0.000 claims abstract description 75
- 238000004088 simulation Methods 0.000 claims abstract description 32
- 230000015654 memory Effects 0.000 claims description 22
- 238000012545 processing Methods 0.000 claims description 20
- 230000000977 initiatory effect Effects 0.000 claims description 13
- 238000004590 computer program Methods 0.000 claims description 7
- 238000010998 test method Methods 0.000 abstract description 2
- 230000004044 response Effects 0.000 description 12
- 230000005540 biological transmission Effects 0.000 description 11
- 238000004891 communication Methods 0.000 description 11
- 238000010586 diagram Methods 0.000 description 10
- 230000008569 process Effects 0.000 description 9
- 238000012546 transfer Methods 0.000 description 9
- 238000005516 engineering process Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 229920006048 Arlen™ Polymers 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000009131 signaling function Effects 0.000 description 3
- 230000009471 action Effects 0.000 description 2
- 230000006399 behavior Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000012790 confirmation Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Landscapes
- Test And Diagnosis Of Digital Computers (AREA)
Abstract
本申请提供了一种激励发生器和激励发生方法,该激励发生器包括:引擎,用于获取配置文件,并解析配置文件生成激励文件。接口,用于发送激励文件。其中,激励文件包括激励向量,激励向量用于指示对待测系统进行的操作。通过利用引擎根据配置文件包括激励向量的激励文件,激励向量用于指示对待测系统进行的操作,从而实现生成激励文件以对待测系统进行操作来进行仿真测试。
Description
技术领域
本申请涉及集成电路技术领域,并且更为具体地,涉及一种激励发生器和激励发生方法。
背景技术
随着大规模集成电路(integrated circuit,IC)技术的发展,芯片的逻辑规模和电路的复杂程度越来越高,为了保证芯片质量,需要将芯片作为待测系统(Design undertest,DUT)进行准确快速的仿真测试。在仿真测试中,如何生成激励文件,以对待测系统进行操作从而进行仿真测试是亟需解决的技术问题。
发明内容
本申请提供一种激励发生器以及激励发生方法,该激励发生器以及激励发生方法通过利用引擎根据配置文件生成激励文件,其中生成的激励包括激励向量,激励向量用于指示对待测系统进行的操作,从而实现生成激励文件以对待测系统进行操作来进行仿真测试。
第一方面,提供了一种激励发生器,包括:引擎,用于获取配置文件,并解析所述配置文件生成激励文件;接口,用于发送所述激励文件;其中,所述激励文件包括激励向量,所述激励向量用于指示对待测系统进行的操作。
通过利用引擎根据配置文件生成激励文件,其中生成的激励包括激励向量,激励向量用于指示对待测系统进行的操作,并发送该激励文件,从而实现生成激励文件以对待测系统进行操作来进行仿真测试。
结合第一方面,在第一方面的某些实现方式中,所述引擎包括字段解析器,所述字段解析器用于解析所述配置文件获得字段信息,并根据所述字段信息生成所述激励向量。通过字段信息生成激励向量,从而使得激励向量可以用于指示对待测系统进行的操作。
结合第一方面,在第一方面的某些实现方式中,所述引擎包括时间解析器,所述时间解析器用于解析所述配置文件以获得所述激励向量的时间信息,所述时间信息用于指示所述激励向量的发起时间。通过利用时间信息指示激励向量的发起时间,从而使得激励向量的发起时间可以控制,从而增加对待测系统进行的操作的可控性。
结合第一方面,在第一方面的某些实现方式中,所述引擎包括数量解析器,所述数量解析器用于解析所述配置文件以获得所述激励向量的数量信息,所述数量信息用于指示所述激励向量的数量。通过利用数量信息用于指示所述激励向量的数量,从而使得激励向量的数量可以控制,从而增加对待测系统进行的操作的可控性。
结合第一方面,在第一方面的某些实现方式中,所述字段解析器包括:生成组件,用于根据所述字段信息生成字段;拼接组件,用于拼接所述字段以获得所述激励向量。通过根据字段信息生成字段并拼接字段以获得激励向量,可以实现激励向量的生成。
结合第一方面,在第一方面的某些实现方式中,所述配置文件包括约束类型,所述约束类型用于所述生成组件确定所述字段的生成方式,所述约束类型为随机约束类型、权重约束类型或者固定约束类型的任意一种,其中:在所述约束类型为随机约束类型时,所述生成组件根据所述字段信息包括的数值取值范围随机生成字段的数值。在配置文件的约束类型为随机约束类型情况下,通过数值取值范围随机生成字段的数值从而实现字段的生成,从而可以实现激励向量的生成。
结合第一方面,在第一方面的某些实现方式中,所述配置文件包括约束类型,所述约束类型用于所述生成组件确定所述字段的生成方式,所述约束类型为随机约束类型、权重约束类型或者固定约束类型的任意一种,其中:在所述约束类型为权重约束类型时,所述生成组件根据所述字段信息包括的数值取值范围以及权重生成字段的数值,所述权重用于所述生成组件确定数值取值范围包括的数值生成为所述字段的数值的几率。在配置文件的约束类型为权重约束类型情况下,通过数值取值范围和权重从而实现字段的生成,从而可以实现激励向量的生成。
在所述约束类型为权重约束类型且所述生成组件生成的所述字段为地址字段时,所述生成组件将所述地址字段分为M个子地址字段,并从所述数值取值范围选取数值在2M和2M+1之间的数值作为第M个子地址字段的字段数值,其中所述M为正整数。在配置文件的约束类型为权重约束类型情况下,通过约束地址字段的数值范围从而正确实现地址字段的生成,从而可以实现可被正确识别的激励向量的生成。
结合第一方面,在第一方面的某些实现方式中,所述配置文件包括约束类型,所述约束类型用于所述生成组件确定所述字段的生成方式,所述约束类型为随机约束类型、权重约束类型或者固定约束类型的任意一种,其中:在所述约束类型为固定约束类型时,在所述生成组件生成的所述字段为地址字段时,所述生成组件根据所述字段信息包括的数值取值范围生成地址字段包括的第一子地址字段的数值,并根据宽度字段的数值和长度字段的数值生成地址字段包括的第二子地址字段的数值。
在配置文件的约束类型为固定约束类型情况下,通过根据宽度字段的数值生成地址字段包括的第二子地址字段的数值,使得第一子地址字段和第二子地址连续,从而使得输出的激励向量生成的用于待测系统的写地址或者读地址可以连续覆盖某段地址,以实现通过激励文件对待测系统的连续地址进行测试。
结合第一方面,在第一方面的某些实现方式中,字段解析器还包括:自检组件,所述自检组件用于确定所述字段的数值取值不超过字段能够表达的最大值,所述字段能够表达的最大值根据所述字段信息包括的字段位宽确定。通过确定所述字段的数值取值不超过字段能够表达的最大值,能够生成正确的可用字段,从而正确生成激励文件。
所述自检组件还用于在生成器生成所述的字段为地址字段时,确定所述字段信息包括的数值取值范围中能够取值的字符数量大于4,并确定所述能够取值的字符的数值为偶数。通过确定地址字段的取值范围位正确形式,能够生成正确的可用的地址字段,从而正确生成激励文件。
结合第一方面,在第一方面的某些实现方式中,字段解析器还包括:第一地址处理组件,所述第一地址处理组件用于根据所述字段包括的宽度字段的数值K将地址字段的低K比特位设置为0,其中K为大于或者等于0的整数。通过将地址字段的低K比特位设置为0,可以实现地址字段的预先对齐,能够生成正确的可用的地址字段,从而正确生成激励文件。
结合第一方面,在第一方面的某些实现方式中,字段解析器还包括:乱序处理组件,用于对所述激励向量包括的L个子激励向量的顺序进行重新排列,其中L为正整数。通过对多个子激励向量的顺序进行重新排列,可以打乱子激励向量的顺序,使得激励文件更加模拟真实情况。
结合第一方面,在第一方面的某些实现方式中,激励文件用于指示对所述待测系统进行写操作。
结合第一方面,在第一方面的某些实现方式中,激励文件用于指示对所述待测系统进行读操作。
结合第一方面,在第一方面的某些实现方式中,待测系统具有AXI协议的接口。
结合第一方面,在第一方面的某些实现方式中,激励文件为二进制形式,所述激励文件用于通用总线模型进行解析。
结合第一方面,在第一方面的某些实现方式中,激励文件为十六进制形式,所述激励文件用于进行调试。
结合第一方面,在第一方面的某些实现方式中,激励发生器应用于软件平台中。
第二方面,提供了一种激励发生方法,包括:获取配置文件;解析所述配置文件生成激励文件,其中,所述激励文件包括激励向量,所述激励向量用于指示对待测系统进行的操作;发送所述激励文件。
通过根据配置文件生成激励文件,其中生成的激励包括激励向量,激励向量用于指示对待测系统进行的操作,并发送该激励文件,从而实现生成激励文件以对待测系统进行操作来进行仿真测试。
结合第二方面,在第二方面的某些实现方式中,在解析所述配置文件生成激励文件包括:还解析所述配置文件获得字段信息,并根据所述字段信息生成所述激励向量。通过字段信息生成激励向量,从而使得激励向量可以用于指示对待测系统进行的操作。
结合第二方面,在第二方面的某些实现方式中,在解析所述配置文件生成激励文件时,还解析所述配置文件以获得所述激励向量的时间信息,所述时间信息用于指示所述激励向量的发起时间。通过利用时间信息指示激励向量的发起时间,从而使得激励向量的发起时间可以控制,从而增加对待测系统进行的操作的可控性。
结合第二方面,在第二方面的某些实现方式中,在解析所述配置文件生成激励文件时,还解析所述配置文件以获得所述激励向量的数量信息,所述数量信息用于指示所述激励向量的数量。通过利用数量信息用于指示所述激励向量的数量,从而使得激励向量的数量可以控制,从而增加对待测系统进行的操作的可控性。
结合第二方面,在第二方面的某些实现方式中,解析所述配置文件获得字段信息,并根据所述字段信息生成所述激励向量还包括:根据所述字段信息生成字段;拼接所述字段以获得所述激励向量。通过根据字段信息生成字段并拼接字段以获得激励向量,可以实现激励向量的生成。
结合第二方面,在第二方面的某些实现方式中,所述配置文件包括约束类型,所述约束类型用于确定所述字段的生成方式,所述约束类型为随机约束类型、权重约束类型或者固定约束类型的任意一种,在所述约束类型为随机约束类型时,根据所述字段信息生成字段还包括:根据所述字段信息包括的数值取值范围随机生成字段的数值。在配置文件的约束类型为随机约束类型情况下,通过数值取值范围随机生成字段的数值从而实现字段的生成,从而可以实现激励向量的生成。
结合第二方面,在第二方面的某些实现方式中,所述配置文件包括约束类型,所述约束类型用于确定所述字段的生成方式,所述约束类型为随机约束类型、权重约束类型或者固定约束类型的任意一种,在所述约束为权重约束类型时,根据所述字段信息生成字段还包括:根据所述字段信息包括的数值取值范围以及权重生成字段的数值,其中所述权重用于确定数值取值范围包括的数值生成为所述字段的数值的几率。在配置文件的约束类型为权重约束类型情况下,通过数值取值范围和权重从而实现字段的生成,从而可以实现激励向量的生成。
在所述约束类型为权重约束类型且生成的所述字段为地址字段时,将所述地址字段分为M个子地址字段,并从所述数值取值范围选取数值在2M和2M+1之间的数值作为第M个子地址字段的字段数值,其中所述M为正整数。在配置文件的约束类型为权重约束类型情况下,通过约束地址字段的数值范围从而正确实现地址字段的生成,从而可以实现可被正确识别的激励向量的生成。
结合第二方面,在第二方面的某些实现方式中,所述配置文件包括约束类型,所述约束类型用于确定所述字段的生成方式,所述约束类型为随机约束类型、权重约束类型或者固定约束类型的任意一种,在所述约束类型为固定约束类型时,根据所述字段信息生成字段还包括:在生成的所述字段为地址字段时,根据所述字段信息包括的数值取值范围生成地址字段包括的第一子地址字段的数值,并根据宽度字段的数值和长度字段的数值生成地址字段包括的第二子地址字段的数值。
在配置文件的约束类型为固定约束类型情况下,通过根据宽度字段的数值生成地址字段包括的第二子地址字段的数值,使得第一子地址字段和第二子地址连续,从而使得输出的激励向量生成的用于待测系统的写地址或者读地址可以连续覆盖某段地址,以实现通过激励文件对待测系统的连续地址进行测试。
结合第二方面,在第二方面的某些实现方式中,在根据所述字段信息生成字段之前还包括:确定所述字段的数值取值不超过字段能够表达的最大值,所述字段能够表达的最大值根据所述字段信息包括的字段位宽确定。通过确定所述字段的数值取值不超过字段能够表达的最大值,能够使得生成组件生成正确的可用字段,从而正确生成激励文件。
结合第二方面,在第二方面的某些实现方式中,在根据所述字段信息生成字段之后还包括:根据所述字段包括的宽度字段的数值K将地址字段的低K比特位设置为0,其中K为大于或者等于0的整数。通过将地址字段的低K比特位设置为0,可以实现地址字段的预先对齐,能够生成正确的可用的地址字段,从而正确生成激励文件。
结合第二方面,在第二方面的某些实现方式中,在拼接所述字段以获得所述激励向量后,还包括:对所述激励向量包括的L个子激励向量的顺序进行重新排列,其中L为正整数。通过对多个子激励向量的顺序进行重新排列,可以打乱子激励向量的顺序,使得激励文件更加模拟真实情况。
结合第二方面,在第二方面的某些实现方式中,激励文件用于对指示所述待测系统进行写操作。
结合第二方面,在第二方面的某些实现方式中,激励文件用于指示对所述待测系统进行读操作。
结合第二方面,在第二方面的某些实现方式中,激励文件为二进制形式,所述激励文件用于通用总线模型进行解析。
结合第二方面,在第二方面的某些实现方式中,激励文件为十六进制形式,所述激励文件用于进行调试。
结合第二方面,在第二方面的某些实现方式中,激励发生方法在软件平台中实现。
第三方面,提供一种测试芯片的设备,其包括处理器,所述处理器与存储器耦合,所述存储器用于存储计算机程序,所述处理器用于执行所述存储器中存储的计算机程序,使得上述第一方面及其任一种可能的实现、第二方面及其任一种可能的实现中所述的方法的部分或全部步骤被执行。
第四方面,提供一种计算机可读存储介质,其存储介质中存储有计算机程序或指令,当所述计算机程序或指令被处理器执行时,使得上述第一方面及其任一种可能的实现、第二方面及其任一种可能的实现中所述的方法的部分或全部步骤被执行。
附图说明
图1是包括通用总线模型的仿真测试系统示意图。
图2是一种激励发生器的示意性结构图。
图3是引擎的示意性结构图。
图4是一种字段解析器的示意性结构图。
图5是另一种字段解析器的示意性结构图。
图6是一种激励发生方法。
图7是另一种激励发生方法。
图8是另一种激励发生方法。
图9是另一种激励发生方法。
图10是另一种激励发生方法。
图11是一种对待测系统进行测试的系统示意性结构框图。
具体实施方式
首先简单介绍本申请中涉及的相关术语。
高速总线标准协议(Advanced eXtensible Interface,AXI):总线作为芯片内部各子系统和模块之间的连接接口,是芯片设计中不可缺少的部分。高级微控制器总线架构(Advanced Microcontroller Bus Architecture,AMBA)总线是由ARM公司提出的一种开放性的片上总线标准,它独立于处理器和工艺技术,作为子系统模块之间共享的通信链路。AXI属于AMBA总线中的一种高速总线标准协议,用于高性能、高带宽、低延迟的片内总线场景。芯片内的主设备(Master设备),如CPU、GPU等多采用AXI总线接口。
AXI协议是基于突发事件传输(Burst Transaction),每个突发传输(Burst)中传输一至多个一拍数据(Beat)。
AXI协议定义了以下5个独立的传输通道:读地址通道、读数据通道、写地址通道、写数据通道、写响应通道。写入数据的流程为主设备(Master设备)通过写地址通道发出写入请求,从设备(Slave设备)通过写数据通道发送写入的数据,从设备在完成动作后,通过写响应通道发送确认信息。读取数据的流程为主设备通过读地址通道发出读取请求,从设备通过读数据通道将读取的数据发送给主设备。
读/写地址通道:读、写传输每个都有自己的地址通道,对应的地址通道承载着对应传输的地址控制信息。
读数据通道:读数据通道承载着读数据和读响应信号包括数据总线(8/16/32/64/128/256/512/1024 bit)和指示读传输完成的读响应信号。
写数据通道:写数据通道的数据信息被认为是缓冲(buffered)了的,主设备无需等待从设备对上次写传输的确认即可发起一次新的写传输。写通道包括数据总线(8/16...1024 bit)和字节线(用于指示8 bit 数据信号的有效性)。
写响应通道:从设备使用写响应通道对写传输进行响应。所有的写传输需要写响应通道的完成信号。
其中,写地址通道主要包括信号如表1所示:
表1
信号 | 功能 |
写突发传输类型(awburst) | Burst type,共有三种类型,如FIXED等 |
写宽度类型(awsize) | Burst size,给出每次突发传输数据位宽 |
写长度类型(awlen) | Burst length,给出每次突发传输的beat数量 |
写地址(awaddr) | 给出一次写突发传输的写地址 |
读地址通道主要包括信号如表2所示:
表2
信号 | 功能 |
读突发传输类型(arburst) | Burst type,共有三种类型,如FIXED等 |
读宽度类型(arsize) | Burst size,给出每次突发传输数据位宽 |
读长度类型(arlen) | Burst length,给出每次突发传输的beat数量 |
读地址(araddr) | 给出一次读突发传输的读地址 |
读数据通道和写数据主要包括信号如表3所示:
表3
信号 | 功能 |
写数据(wdata) | 用于进行数据传输 |
读数据(rdata) | 用于进行数据传输 |
随着大规模集成电路(Integrated Circuit,IC)技术的发展,芯片的逻辑规模和电路的复杂程度越来越高,为了保证芯片质量,需要将芯片作为待测系统(Design UnderTest,DUT)进行准确快速的仿真测试。在仿真测试中,如何生成激励文件,以对待测系统进行操作来进行仿真测试是亟需解决的技术问题。
鉴于此,本申请提供了一种激励发生器和激励发生方法,该激励发生器和激励发生方法通过利用引擎根据配置文件生成激励文件,其中生成的激励包括激励向量,激励向量用于指示对待测系统进行的操作,并发送该激励文件,从而实现生成激励文件以对待测系统进行操作来进行仿真测试。
下面,对本申请的激励发生器和激励发生方法的应用场景进行说明。
作为一种实现方式,本申请所述的激励发生器和激励发生方法可以应用于一种通用总线模型(General Bus Model,GBM)中。图1是包括通用总线模型的仿真测试系统示意图。仿真测试系统10中包括激励发生器11、调度器12以及通用总线模型13。其中,激励发生器11用于生成激励文件,调度器12用于将激励文件加载到通用总线模型13。通用总线模型13用于根据激励文件产生激励信号输入到待测系统20(DesignUnder Test,DUT),并接收DUT输出的响应信号,从而进行仿真行为,以对DUT的功能进行测试。其中DUT是在硬件仿真平台上实现的待测系统,例如片上系统(SystemOn Chip,SOC)、芯片的子系统或功能模块等。GBM与DUT基于总线协议(例如高级可扩展接口(Advanced eXtensibleInterface,AXI))进行信号交互。
上述过程中,激励文件的生成以及调度都可以在DUT的仿真行为开始前完成,调度器12从通用总线模型13获取测试结果信息可以在接收到GBM发送的测试结束信号之后。因此,仿真行为中DUT和仿真测试系统10的信号交互可以只发生在硬件环境中的GBM和DUT之间,仿真测试的运行过程不依赖系统内软件部分和硬件部分的信息交互。
在仿真系统10中,激励发生器11和调度器12可以运行在软件测环境中(例如服务器或个人计算机的操作系统),通用总线模型13运行在硬件环境中(例如硬件仿真器(Emulator)或现场可编程逻辑门阵列(Field Programmable Gate Array,FPGA)等。除此之外,激励发生器11和调度器12根据系统需要也可以在硬件环境中实现,例如,可以将激励发生器以功能模块的形式集成在GBM中,从而由硬件实现激励发生器和调度器的相应功能。
本申请的激励发生器和激励发生方法可以应用在上述的通用总线模型13上。在一些实现方式中,通用总线模型13可以应用在硬件上。在一些实现方式中,通用总线模型13可以应用在在硬件上的仿真(Emulation)、模拟(Simulation)或者现场可编程逻辑门阵列(Field Programmable Gate Array,FPGA)仿真平台。
在一些实现方式中,通用总线模型也可以应用在具有基于高级可扩展接口AXI协议总线接口的硬件设备上。通用总线模型13可以基于AXI总线协议,写操作使用三个通道:写地址通道、写数据通道、写响应通道,GBM通过写地址通道向DUT发送指示写入数据的地址的信号,通过写数据通道向DUT发送指示写入的数据的信号,通过写响应通道接收DUT发送的写操作的响应信号。读操作使用两个通道:读地址通道、读响应通道,GBM通过读地址通道向DUT发送指示读取数据的地址的信号,通过写响应通道接收DUT发送的读操作的响应信号以及读取的数据的信号。可选地,GBM根据使用需求可以只包括写操作所用的通道,或只包括读操作所用的通道,也可以同时包括写操作和读操作所用的通道。
除了上述的通用总线模型13以外,本申请的激励发生器和激励发生方法也可以根据实际情况应用在其它软件、硬件或是固件中,或是应用在其它仿真器、服务器中等,编写代码可以为Verilog、Python等,本申请不对此作出限制。
图2是本申请实施例提供的一种激励发生器200的示意性结构图。下面结合图2对激励发生器200的结构进行说明。
激励发生器200包括引擎300和接口400。其中,引擎300用于获取配置文件,并解析配置文件生成激励文件。其中,激励文件包括激励向量,激励向量用于指示对待测系统进行的操作。接口400用于发送激励文件。在本申请中,通过利用引擎根据配置文件生成激励文件,其中生成的激励包括激励向量,激励向量用于指示对待测系统进行的操作,并发送该激励文件,从而实现生成激励文件以对待测系统进行操作来进行仿真测试。
图3是的引擎300的示意性结构图。作为一种实现方式,引擎300包括字段解析器310,字段解析器310用于解析配置文件获得字段信息,并根据字段信息生成激励向量。通过字段信息生成激励向量,从而使得激励向量可以用于指示对待测系统进行的操作。
可选地,引擎300还可以包括时间解析器320,时间解析器320用于解析配置文件以获得激励向量的时间信息,时间信息用于指示激励向量的发起时间。通过利用时间信息指示激励向量的发起时间,从而使得激励向量的发起时间可以控制,从而增加对待测系统进行的操作的可控性。
可选地,引擎300还可以包括数量解析器330,时间解析器330用于解析配置文件以获得激励向量的数量信息,数量信息用于指示激励向量的数量。通过利用数量信息用于指示所述激励向量的数量,从而使得激励向量的数量可以控制,从而增加对待测系统进行的操作的可控性。
下面,结合图4-图5对字段解析器310作具体说明。图4是本申请实施例提供的一种字段解析器的示意性结构图。字段解析器310可以包括生成组件311以及拼接组件312。其中生成组件311用于根据字段信息生成字段,拼接组件312用于拼接字段以获得激励向量。
其中,生成组件311根据字段信息生成的字段可以包括多个字段,以地址字段、宽度字段以及长度字段为例。其中,地址字段可以具体用于指示利用激励向量生成的用于待测系统的写地址或者读地址。宽度字段可以用于指示利用激励向量生成的用于待测系统的写数据或者读数据的数据位宽。长度字段用于指示利用激励向量生成的用于待测系统的写数据或者读数据的数量。
字段解析器310根据配置文件包括的约束类型的不同,字段解析器310包括的组件及各组件功能可以不同,且具体解析配置文件获得字段信息,并根据字段信息生成激励向量的方式可以不同。其中配置文件包括的约束类型可以为随机约束类型、固定约束类型或者权重约束类型。配置文件可以包括字段信息,具体地,字段信息可以包括字段类型(type)、字段位宽(width)、数值取值范围、权值(weight),其中数值取值范围可以存储于约束列表(cons)中。
方式A
在配置类型为随机约束类型时,字段解析器310除生成组件311以及拼接组件312外,可选的,还可以包括自检组块313、第一地址处理组件314以及第二地址处理组件315,参考图5中(a):
自检组块313,在生成组件311生成字段的数值之前,根据配置文件中字段信息包括的字段位宽(width),确定字段的数值取值不超过字段能够表达的最大值。通过配置文件中的字段位宽确定字段的数值取值不超过字段能够表达的最大值,能够生成正确的可用字段,从而正确生成激励文件。
生成组件311,用于根据字段信息包括的数值取值范围随机生成字段的数值。
其中,数值取值范围表达形式可以为多种形式。例如数值取值范围的表达形式为包括N个字符,其中N为正整数,如[1,2,5,7],生成组件311可以从[1,2,5,7]中取值作为字段的数值。除此之外,数值取值范围的表达形式还可以为数值的最小值~数值的最大值,如[0~15],生成组件311可以从[0~15]中取值作为字段的数值。其中上述数值取值范围可以存储于配置文件的约束列表(cons)中。在生成组件311生成的字段为地址字段时,可以从数值取值范围的取值作为地址字段的数值。
在配置文件的约束类型为随机约束类型情况下,通过数值取值范围随机生成字段的数值从而实现字段的生成,从而可以实现激励向量的生成。
第一地址处理组件314,用于根据生成组件生成的宽度字段的数值K将生成的地址字段的低K比特位(bit)设置为0,其中K为大于或者等于0的整数。在一些实现方式中,第一地址处理组件314可以包括开关。在开关设置为开启(on)时,对生成的地址字段作如上处理;在开关设置为关闭(off)时,不对生成的地址字段作如上处理。作为一种需要对生成的地址字段进行处理的情况,在数据总线位宽128bits时,地址字段的末尾数只能为0x0、0x10、0x20、0x30 … 0xF0数值,需要对地址字段进行处理。
通过将所述地址字段的低K比特位设置为0,可以实现地址字段的预先对齐,能够生成正确的可用的地址字段,从而正确生成激励文件。
第二地址处理组件315,用于根据字段包括的地址字段确定不超过地址边界的最大值,在字段包括的长度字段的数值大于地址边界的最大值时,拆分长度字段为第一长度字段以及第二长度字段,第一长度字段的数值为地址边界的最大值(len max),第二长度字段的数值为所述字段包括的长度字段的数值减去地址边界的最大值(len-len max)。在一些情况下,该地址边界为4K地址边界,4K地址边界由AXI协议规定,4K地址边界可以指低12bit为0的地址。
通过在长度字段的数值大于不超过地址边界的最大值时,拆分长度字段,能够使得输出的激励向量生成的用于待测系统的写数据或者读数据从一个长数据拆分为两个短数据,从而使得激励向量可被正确识别和使用。
拼接组件312,用于拼接字段以获得激励向量。
方式B
在配置类型为权重约束类型时,字段解析器310除生成组件311以及拼接组件312外,可选的,还可以包括自检组块313、第一地址处理组件314、第二地址处理组件315、乱序处理组件316,参考图5中(b):
自检组块313,与方式A中类似,在此不再赘述。
生成组件311,根据字段信息包括的数值取值范围以及权重(weight)生成字段的数值,权重用于生成组件确定数值取值范围包括的数值生成为所述字段的数值的几率。
例如,以生成的字段为宽度字段为例,宽度字段的第一取值范围为[0~2],第一取值范围[0~2]的权重为2,宽度字段的第二取值范围为[3~5],第二取值范围[3~5]的权重为8,则生成20%的数值在0~2的宽度字段,以及生成80%的数值在3~5的宽度字段。
在配置文件的约束类型为权重约束类型情况下,通过数值取值范围和权重从而实现字段的生成,从而可以实现激励向量的生成。
在生成的字段为地址字段时,生成组件311将地址字段分为M个子地址字段,并从数值取值范围选取数值在2M和2M+1之间的数值作为第M个子地址字段的字段数值,其中所述M为正整数。
在配置文件的约束类型为权重约束类型情况下,通过约束地址字段的数值范围从而正确实现地址字段的生成,从而可以实现可被正确识别的激励向量的生成。
第一地址处理组件314,与方式A中类似,在此不再赘述。
第二地址处理组件315,与方式A中类似,在此不再赘述
拼接组件312,用于拼接字段以获得激励向量。
乱序处理组件316,用于对激励向量包括的L个子激励向量的顺序进行重新排列,其中L为正整数。其中,M可以与L对应。通过对多个子激励向量的顺序进行重新排列,可以打乱子激励向量的顺序,使得激励文件更加模拟真实情况。
方式C
在配置类型为固定约束类型时,字段解析器310除生成组件311以及拼接组件312外,可选的,还可以包括自检组块313、第一地址处理组件314,参考图5中(c):
自检组块313,与方式A中类似,在此不再赘述。
生成组件311生成的所述字段为地址字段时,生成组件311首先根据字段信息包括的数值取值范围生成地址字段包括的第一子地址字段的数值,并根据长度字段的数值和宽度字段的数值生成地址字段包括的第二子地址字段的数值。
在配置文件的约束类型为固定约束类型情况下,通过根据宽度字段的数值和长度字段的数值生成地址字段包括的第二子地址字段的数值,使得第一子地址字段和第二子地址连续,从而使得输出的激励向量生成的用于待测系统的写地址或者读地址可以连续覆盖某段地址,以实现可被正确识别和使用的激励向量的生成。
第一地址处理组件314,与方式A中类似,在此不再赘述。
拼接组件312,用于拼接字段以获得激励向量。
在图4和图5所示的字段解析器310中,还可以包括计数器,计数器用于确定生成的激励向量所包括的子激励向量个数达到设定值,否则继续生成子激励向量。在配置类型为权重约束类型,子激励向量可以分为多组,计数器可以同时对多组子激励向量同时计数。
在图2至图5所示的激励发生器中,在一些实现方式中,生成的激励文件用于指示对所述待测系统进行写操作。在另一些实现方式中,生成的激励文件用于指示对所述待测系统进行读操作。
在图2至图5所示的激励发生器中,在一些实现方式中,生成的激励文件为二进制形式,所述激励文件用于通用总线模型进行解析,此时,激励文件的格式可以为bin。在另一些实现方式中,激励文件为十六进制形式,激励文件的格式可以为hex,所述激励文件用于进行调试。
在图2至图5所示的激励发生器应用于待测系统具有AXI协议接口的情况下,在激励文件用于对待测系统进行写操作时,地址字段可以具体指示awaddr的生成,宽度字段可以具体指示awsize的生成,长度字段可以具体指示awlen的生成。与写操作类似,在激励文件用于对待测系统进行读操作时,地址字段可以具体指示araddr的生成,宽度字段可以具体指示arsize的生成,长度字段可以具体指示arlen的生成。除此之外,字段解析器310生成的字段还可以包括awid、awburst、awlock等,以及arid、arburst、arlock等。
作为一种解析器310拼接字段的方式,以写操作为例,激励向量可以为{awaddr,awlen,awsize,awburst,awlock,awqos,awcache,awprot,awuser,awdomain,awsnoop,awbar,awunique,axextend}。
上文结合图2至图5,详细描述了本申请实施例的装置实施例,下面描述本申请实施例的方法实施例,方法实施例与装置实施例相互对应,因此未详细描述的部分可参见前面各装置实施例,方法可以实现上述方法中任意可能实现的方式。
图6是本申请实施例提供的一种激励发生方法。如图6所示,该方法可以包括步骤S410、S420和步骤S430。
S410,获取配置文件。
S420,解析配置文件生成激励文件。其中,激励文件包括激励向量,激励向量用于指示对待测系统进行的操作。
作为一种实现方式,在解析配置文件生成激励文件时,可以解析配置文件获得字段信息,并根据字段信息生成激励向量。通过字段信息生成激励向量,从而使得激励向量可以用于指示对待测系统进行的操作。
可选地,在解析配置文件生成激励文件时,还可以解析配置文件获得激励向量的时间信息,时间信息用于指示激励向量的发起时间。通过利用时间信息指示激励向量的发起时间,从而使得激励向量的发起时间可以控制,从而增加对待测系统进行的操作的可控性。
可选地,在解析配置文件生成激励文件时,还可以解析配置文件获得激励向量的数量信息,数量信息用于指示激励向量的数量。通过利用数量信息用于指示所述激励向量的数量,从而使得激励向量的数量可以控制,从而增加对待测系统进行的操作的可控性。
S430, 发送激励文件。
在图6中,通过根据配置文件生成激励文件,其中生成的激励包括激励向量,激励向量用于指示对待测系统进行的操作,并发送该激励文件,从而实现生成激励文件以对待测系统进行操作来进行仿真测试。
图7是本申请实施例提供的另一种激励发生方法。在解析配置文件获得字段信息,并根据字段信息生成激励向量的实现方式中,还包括:
S510,根据字段信息生成字段。其中生成的字段可以包括多个字段,以地址字段、宽度字段以及长度字段为例。其中,地址字段可以具体用于指示利用激励向量生成的用于待测系统的写地址或者读地址。宽度字段可以用于指示利用激励向量生成的用于待测系统的写数据或者读数据的数据位宽。长度字段用于指示利用激励向量生成的用于待测系统的写数据或者读数据的数量。
S520,拼接字段以获得激励向量。
在图7中,通过根据字段信息生成字段并拼接字段以获得激励向量,可以实现激励向量的生成。
其中,根据字段信息生成字段的方法根据配置文件包括的约束类型的不同,方法包括的各步骤可以不同,且S510具体解析配置文件获得字段信息,并根据字段信息生成激励向量的方式可以不同。其中配置文件包括的约束类型可以为随机约束类型、固定约束类型或者权重约束类型。配置文件可以包括字段信息,具体地,字段信息可以包括字段类型(type)、字段位宽(width)、数值取值范围、权值(weight),其中数值取值范围可以存储于约束列表(cons)中。
方式A
在配置类型为随机约束类型时,除步骤S510和步骤S520以外,可选地,还可以包括步骤S530、S540、S550,参考图8:
S530,在生成字段的数值之前,根据配置文件中字段信息包括的字段位宽(width),确定字段的数值取值不超过字段能够表达的最大值。通过配置文件中的字段位宽确定字段的数值取值不超过字段能够表达的最大值,能够生成正确的可用字段,从而正确生成激励文件。
S510,根据字段信息包括的数值取值范围随机生成字段的数值。
其中,数值取值范围表达形式可以为多种形式。例如数值取值范围的表达形式为包括N个字符,其中N为正整数,如[1,2,5,7],可以从[1,2,5,7]中取值作为字段的数值。除此之外,数值取值范围的表达形式还可以为数值的最小值~数值的最大值,如[0~15],可以从[0~15]中取值作为字段的数值。其中上述数值取值范围可以存储于配置文件的约束列表(cons)中。在生成的字段为地址字段时,可以从数值取值范围的取值作为地址字段的数值。
在配置文件的约束类型为随机约束类型情况下,通过数值取值范围随机生成字段的数值从而实现字段的生成,从而可以实现激励向量的生成。
S540,根据生成的宽度字段的数值K将生成的地址字段的低K比特位(bit)设置为0,其中K为大于或者等于0的整数。在一些实现方式中,可以通过开关判断是否对生成的地址进行处理。在开关设置为开启(on)时,对生成的地址字段作如上处理;在开关设置为关闭(off)时,不对生成的地址字段作如上处理。作为一种需要对生成的地址字段进行处理的情况,数据总线位宽128bit时,地址字段的末尾数只能为0x0、0x10、0x20、0x30 … 0xF0数值,需要对地址字段进行处理。
通过将所述地址字段的低K比特位设置为0,可以实现地址字段的预先对齐,能够生成正确的可用的地址字段,从而正确生成激励文件。
S550,根据字段包括的地址字段确定不超过地址边界的最大值,在字段包括的长度字段的数值大于地址边界的最大值时,拆分长度字段为第一长度字段以及第二长度字段,第一长度字段的数值为地址边界的最大值(len max),第二长度字段的数值为所述字段包括的长度字段的数值减去所述地址边界的最大值(len-len max)。在一些情况下,该地址边界为4K地址边界,4K地址边界由AXI协议规定,4K地址边界可以指低12bit为0的地址。
通过在长度字段的数值大于不超过地址边界的最大值时,拆分长度字段,能够使得输出的激励向量生成的用于待测系统的写数据或者读数据从一个长数据拆分为两个短数据,从而使得激励向量可被正确识别和使用。
S520,拼接字段以获得激励向量。
方式B
在配置类型为权重约束类型时,除步骤S510和步骤S520以外,可选地,还可以包括步骤S530、S540、S550、S560,参考图9:
S530,与方式A中类似,在此不再赘述。
S510, 根据字段信息包括的数值取值范围以及权重(weight)生成字段的数值,权重用于生成组件确定数值取值范围包括的数值生成为所述字段的数值的几率。
例如,以生成的字段为宽度字段为例,宽度字段的第一取值范围为[0~2],第一取值范围[0~2]的权重为2,宽度字段的第二取值范围为[3~5],第二取值范围[3~5]的权重为8,则生成20%的数值在0~2的宽度字段,以及生成80%的数值在3~5的宽度字段。
在配置文件的约束类型为权重约束类型情况下,通过数值取值范围和权重从而实现字段的生成,从而可以实现激励向量的生成。
在生成的字段为地址字段时,将地址字段分为M个子地址字段,并从数值取值范围选取数值在2M和2M+1之间的数值作为第M个子地址字段的字段数值,其中所述M为正整数。
在配置文件的约束类型为权重约束类型情况下,通过约束地址字段的数值范围从而正确实现地址字段的生成,从而可以实现可被正确识别的激励向量的生成。
S540,与方式A中类似,在此不再赘述。
S550,与方式A中类似,在此不再赘述。
S520,拼接字段以获得激励向量。
S560,对激励向量包括的L个子激励向量的顺序进行重新排列,其中L为正整数。其中,M可以与L对应。通过对多个子激励向量的顺序进行重新排列,可以打乱子激励向量的顺序,使得激励文件更加模拟真实情况。
方式C
在配置类型为固定约束类型时,除步骤S510和步骤S520以外,可选地,还可以包括步骤S530、S540,参考图10:
S530,与方式A中类似,在此不再赘述。
S510,在生成的所述字段为地址字段时,首先根据字段信息包括的数值取值范围生成地址字段包括的第一子地址字段的数值,并根据宽度字段的数值和长度字段的数值生成地址字段包括的第二子地址字段的数值。
在配置文件的约束类型为固定约束类型情况下,通过根据宽度字段的数值生成地址字段包括的第二子地址字段的数值,使得第一子地址字段和第二子地址连续,从而使得输出的激励向量生成的用于待测系统的写地址或者读地址可以连续覆盖某段地址,以实现可被正确识别和使用的激励向量的生成。
S540,与方式A中类似,在此不再赘述。
S520,拼接字段以获得激励向量。
在图6至图10所示的激励发生方法中,在一些实现方式中,生成的激励文件用于指示对所述待测系统进行写操作。在另一些实现方式中,生成的激励文件用于对所述待测系统进行读操作。
在图6至图10所示的激励发生方法中,在一些实现方式中,生成的激励文件为二进制形式,所述激励文件用于通用总线模型进行解析,此时,激励文件的格式可以为bin。在另一些实现方式中,激励文件为十六进制形式,激励文件的格式可以为hex,所述激励文件用于进行调试。
在图6至图10所示的激励发生方法应用于待测系统具有AXI协议接口的情况下,在激励文件用于指示对待测系统进行写操作时,地址字段可以具体指示awaddr的生成,宽度字段可以具体指示awsize的生成,长度字段可以具体指示awlen的生成。与写操作类似,在激励文件用于对待测系统进行读操作时,地址字段可以具体指示araddr的生成,宽度字段可以具体指示arsize的生成,长度字段可以具体指示arlen的生成。除此之外,字段生成的字段还可以包括awid、awburst、awlock等,以及arid、arburst、arlock等。
作为一种拼接字段的方式,以写操作为例,激励向量可以为{awaddr,awlen,awsize,awburst,awlock,awqos,awcache,awprot,awuser,awdomain,awsnoop,awbar,awunique,axextend}。
本申请如图2-图10的装置和方法实施例可以应用于一种对待测系统进行测试的系统600中。如图11所示,系统600包括:总线602、处理器604、存储器606和通信接口608。处理器604、存储器606和通信接口608之间通过总线602通信。应理解,本申请不限定系统500中的处理器、存储器的个数。
总线602可以是外设部件互连标准(peripheral component interconnect,PCI)总线或扩展工业标准结构(extended industry standard architecture,EISA)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,图6中仅用一条线表示,但并不表示仅有一根总线或一种类型的总线。总线602可包括在系统600各个部件(例如,存储器606、处理器604、通信接口608)之间传送信息的通路。
处理器604可以包括中央处理器(central processing unit,CPU)、图形处理器(graphics processing unit,GPU)、微处理器(micro processor,MP)或者数字信号处理器(digital signal processor,DSP)等处理器中的任意一种或多种。
存储器606可以包括易失性存储器(volatile memory),例如随机存取存储器(random access memory,RAM)。处理器604还可以包括非易失性存储器(non-volatilememory),例如只读存储器(read-only memory,ROM),快闪存储器,机械硬盘(hard diskdrive,HDD)或固态硬盘(solid state drive,SSD)。
存储器606中存储有可执行的程序代码,处理器604执行该可执行的程序代码以分别实现前述系统中激励发生器、调度器、通用总线模型或各模块的功能,从而实现上述仿真测试的方法。也即,存储器606上存有用于执行上述仿真测试的方法的指令。
通信接口608使用例如但不限于网络接口卡、收发器一类的收发模块,来实现系统600与其他设备或通信网络之间的通信。
此外,本申请实施例还提供一种测试芯片的设备,该测试芯片的设备获取指令并执行该指令来实现上述方法实施例中的方法。
可选地,作为一种实现方式,该测试芯片的设备包括处理器与通信接口,该处理器通过该通信接口读取存储器上存储的指令,执行上述方法。
可选地,作为一种实现方式,该测试芯片的设备还可以包括存储器,该存储器中存储有指令,该处理器用于执行该存储器上存储的指令,当该指令被执行时,该处理器用于执行上述方法。
本申请实施例还提供一种计算机可读存储介质,该计算机可读存储介质存储有指令,该指令用于上述方法实施例中的方法。
本申请实施例还提供一种包含指令的计算机程序产品,该指令用于实现上述方法实施例中的方法。
在本说明书中使用的术语“部件”、“模块”、“系统”等用于表示计算机相关的实体、硬件、固件、硬件和软件的组合、软件、或执行中的软件。例如,部件可以是但不限于,在处理器上运行的进程、处理器、对象、可执行文件、执行线程、程序和/或计算机。通过图示,在计算设备上运行的应用和计算设备都可以是部件。一个或多个部件可驻留在进程和/或执行线程中,部件可位于一个计算机上和/或分布在2个或更多个计算机之间。此外,这些部件可从在上面存储有各种数据结构的各种计算机可读介质执行。部件可例如根据具有一个或多个数据分组(例如来自与本地系统、分布式系统和/或网络间的另一部件交互的二个部件的数据,例如通过信号与其它系统交互的互联网)的信号通过本地和/或远程进程来通信。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。
Claims (33)
1.一种激励发生器,应用于通用总线模型GBM中,所述通用总线模型GBM用于对待测系统进行仿真测试,其特征在于,包括:
引擎,用于获取配置文件,并解析所述配置文件生成激励文件;其中,所述激励文件包括激励向量,所述激励向量用于指示对所述待测系统进行的操作;其中,所述引擎包括字段解析器,所述字段解析器用于解析所述配置文件获得字段信息,并根据所述字段信息生成所述激励向量;所述字段解析器包括生成组件,用于根据所述字段信息生成字段,且所述字段解析器包括拼接组件,用于拼接所述字段以获得所述激励向量;其中,所述生成组件根据所述字段信息包括的数值取值范围生成字段的数值;
接口,用于发送所述激励文件;
其中,所述配置文件包括约束类型,所述约束类型用于所述生成组件确定所述字段的生成方式,所述约束类型为随机约束类型、权重约束类型或者固定约束类型的任意一种。
2.根据权利要求1所述的激励发生器,其特征在于,所述引擎包括时间解析器,所述时间解析器用于解析所述配置文件以获得所述激励向量的时间信息,所述时间信息用于指示所述激励向量的发起时间。
3.根据权利要求1所述的激励发生器,其特征在于,所述引擎包括数量解析器,所述数量解析器用于解析所述配置文件以获得所述激励向量的数量信息,所述数量信息用于指示所述激励向量的数量。
4.根据权利要求1所述的激励发生器,其特征在于,所述配置文件包括约束类型,所述约束类型用于所述生成组件确定所述字段的生成方式,所述约束类型为随机约束类型、权重约束类型或者固定约束类型的任意一种,其中:
在所述约束类型为随机约束类型时,所述生成组件根据所述字段信息包括的数值取值范围随机生成字段的数值。
5.根据权利要求1所述的激励发生器,其特征在于,所述配置文件包括约束类型,所述约束类型用于所述生成组件确定所述字段的生成方式,所述约束类型为随机约束类型、权重约束类型或者固定约束类型的任意一种,其中:
在所述约束类型为权重约束类型时,所述生成组件根据所述字段信息包括的数值取值范围以及权重生成字段的数值,所述权重用于所述生成组件确定数值取值范围包括的数值生成为所述字段的数值的几率。
6.根据权利要求5所述的激励发生器,其特征在于,在所述约束类型为权重约束类型且所述生成组件生成的所述字段为地址字段时,所述生成组件将所述地址字段分为M个子地址字段,并从所述数值取值范围选取数值在2M和2M+1之间的数值作为第M个子地址字段的字段数值,其中所述M为正整数。
7.根据权利要求1所述的激励发生器,其特征在于,所述配置文件包括约束类型,所述约束类型用于所述生成组件确定所述字段的生成方式,所述约束类型为随机约束类型、权重约束类型或者固定约束类型的任意一种,其中:
在所述约束类型为固定约束类型时,在所述生成组件生成的所述字段为地址字段时,所述生成组件根据所述字段信息包括的数值取值范围生成地址字段包括的第一子地址字段的数值,并根据宽度字段的数值和长度字段的数值生成地址字段包括的第二子地址字段的数值。
8.根据权利要求4-7中任一项所述的激励发生器,其特征在于,所述字段解析器还包括:
自检组件,所述自检组件用于确定所述字段的数值取值不超过字段能够表达的最大值,所述字段能够表达的最大值根据所述字段信息包括的字段位宽确定。
9.根据权利要求4-7中任一项所述的激励发生器,其特征在于,所述字段解析器还包括:
第一地址处理组件,所述第一地址处理组件用于根据所述字段包括的宽度字段的数值K将地址字段的低K比特位设置为0,其中K为大于或者等于0的整数。
10.根据权利要求5或6所述的激励发生器,其特征在于,所述字段解析器还包括:
乱序处理组件,用于对所述激励向量包括的L个子激励向量的顺序进行重新排列,其中L为正整数。
11.根据权利要求1-7中任一项所述的激励发生器,其特征在于,所述激励文件用于指示对所述待测系统进行写操作。
12.根据权利要求1-7中任一项所述的激励发生器,其特征在于,所述激励文件用于指示对所述待测系统进行读操作。
13.根据权利要求1-7中任一项所述的激励发生器,其特征在于,所述待测系统具有AXI协议的接口。
14.根据权利要求1-7中任一项所述的激励发生器,其特征在于,所述激励文件为二进制形式,所述激励文件用于通用总线模型进行解析。
15.根据权利要求1-7中任一项所述的激励发生器,其特征在于,所述激励文件为十六进制形式,所述激励文件用于进行调试。
16.根据权利要求1-7中任一项所述的激励发生器,其特征在于,所述激励发生器应用于软件平台中。
17.一种激励发生方法,应用于通用总线模型GBM中,所述通用总线模型GBM用于对待测系统进行仿真测试,其特征在于,包括:
获取配置文件;
解析所述配置文件生成激励文件,其中,所述激励文件包括激励向量,所述激励向量用于指示对所述待测系统进行的操作;其中,解析所述配置文件生成激励文件包括解析所述配置文件获得字段信息,并根据所述字段信息生成所述激励向量;并且,解析所述配置文件获得字段信息,并根据所述字段信息生成所述激励向量还包括根据所述字段信息生成字段,拼接所述字段以获得所述激励向量;其中,根据所述字段信息生成字段包括根据所述字段信息包括的数值取值范围生成字段的数值;
发送所述激励文件;
其中,所述配置文件包括约束类型,所述约束类型用于所述生成组件确定所述字段的生成方式,所述约束类型为随机约束类型、权重约束类型或者固定约束类型的任意一种。
18.根据权利要求17所述的激励发生方法,其特征在于,在解析所述配置文件生成激励文件时,还解析所述配置文件以获得所述激励向量的时间信息,所述时间信息用于指示所述激励向量的发起时间。
19.根据权利要求17所述的激励发生方法,其特征在于,在解析所述配置文件生成激励文件时,还解析所述配置文件以获得所述激励向量的数量信息,所述数量信息用于指示所述激励向量的数量。
20.根据权利要求17所述的激励发生方法,其特征在于,所述配置文件包括约束类型,所述约束类型用于确定所述字段的生成方式,所述约束类型为随机约束类型、权重约束类型或者固定约束类型的任意一种,在所述约束类型为随机约束类型时,根据所述字段信息生成字段还包括:
根据所述字段信息包括的数值取值范围随机生成字段的数值。
21.根据权利要求17所述的激励发生方法,其特征在于,所述配置文件包括约束类型,所述约束类型用于确定所述字段的生成方式,所述约束类型为随机约束类型、权重约束类型或者固定约束类型的任意一种,在所述约束类型为权重约束类型时,根据所述字段信息生成字段还包括:
根据所述字段信息包括的数值取值范围以及权重生成字段的数值,其中所述权重用于确定数值取值范围包括的数值生成为所述字段的数值的几率。
22.根据权利要求21所述的激励发生方法,其特征在于,根据所述字段信息生成字段还包括:
在所述约束类型为权重约束类型且生成的所述字段为地址字段时,将所述地址字段分为M个子地址字段,并从所述数值取值范围选取数值在2M和2M+1之间的数值作为第M个子地址字段的字段数值,其中所述M为正整数。
23.根据权利要求17所述的激励发生方法,其特征在于,所述配置文件包括约束类型,所述约束类型用于确定所述字段的生成方式,所述约束类型为随机约束类型、权重约束类型或者固定约束类型的任意一种,在所述约束类型为固定约束类型时,根据所述字段信息生成字段还包括:
在生成的所述字段为地址字段时,根据所述字段信息包括的数值取值范围生成地址字段包括的第一子地址字段的数值,并根据宽度字段的数值和长度字段的数值生成地址字段包括的第二子地址字段的数值。
24.根据权利要求20-23中任一项所述的激励发生方法,其特征在于,在根据所述字段信息生成字段之前还包括:
确定所述字段的数值取值不超过字段能够表达的最大值,所述字段能够表达的最大值根据所述字段信息包括的字段位宽确定。
25.根据权利要求20-23中任一项所述的激励发生方法,其特征在于,在根据所述字段信息生成字段之后还包括:
根据所述字段包括的宽度字段的数值K将地址字段的低K比特位设置为0,其中K为大于或者等于0的整数。
26.根据权利要求21或22所述的激励发生方法,其特征在于,在拼接所述字段以获得所述激励向量后,还包括:
对所述激励向量包括的L个子激励向量的顺序进行重新排列,其中L为正整数。
27.根据权利要求17-23中任一项所述的激励发生方法,其特征在于,所述激励文件用于指示对所述待测系统进行写操作。
28.根据权利要求17-23中任一项所述的激励发生方法,其特征在于,所述激励文件用于指示对所述待测系统进行读操作。
29.根据权利要求17-23中任一项所述的激励发生方法,其特征在于,所述激励文件为二进制形式,所述激励文件用于通用总线模型进行解析。
30.根据权利要求17-23中任一项所述的激励发生方法,其特征在于,所述激励文件为十六进制形式,所述激励文件用于进行调试。
31.根据权利要求17-23中任一项所述的激励发生方法,其特征在于,所述激励发生方法在软件平台中实现。
32.一种用于测试芯片的设备,其特征在于,包括处理器,所述处理器与存储器耦合,所述存储器用于存储计算机程序,所述处理器用于执行所述存储器中存储的计算机程序,以使得所述测试芯片的设备执行如权利要求17-23中任一项所述的方法。
33.一种计算机可读存储介质,其特征在于,所述存储介质中存储有计算机程序或指令,当所述计算机程序或指令被处理器执行时,如权利要求17-23中任一项所述的方法被实现。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211702420.5A CN115658411B (zh) | 2022-12-29 | 2022-12-29 | 一种激励发生器以及激励发生方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211702420.5A CN115658411B (zh) | 2022-12-29 | 2022-12-29 | 一种激励发生器以及激励发生方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115658411A CN115658411A (zh) | 2023-01-31 |
CN115658411B true CN115658411B (zh) | 2023-03-28 |
Family
ID=85022947
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211702420.5A Active CN115658411B (zh) | 2022-12-29 | 2022-12-29 | 一种激励发生器以及激励发生方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115658411B (zh) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9514035B1 (en) * | 2014-12-24 | 2016-12-06 | Cadence Design Systems, Inc. | Coverage driven generation of constrained random stimuli |
CN115202947A (zh) * | 2022-08-02 | 2022-10-18 | 无锡众星微系统技术有限公司 | 基于调试接口的芯片测试向量生成方法 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109992804B (zh) * | 2017-12-29 | 2020-01-14 | 中科寒武纪科技股份有限公司 | 激励生成装置、芯片验证装置及系统 |
CN109101424A (zh) * | 2018-08-07 | 2018-12-28 | 西北工业大学 | 一种实现数据激励的方法及装置 |
CN113032195B (zh) * | 2021-03-24 | 2023-05-23 | 上海西井信息科技有限公司 | 芯片仿真验证方法、系统、设备及存储介质 |
-
2022
- 2022-12-29 CN CN202211702420.5A patent/CN115658411B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9514035B1 (en) * | 2014-12-24 | 2016-12-06 | Cadence Design Systems, Inc. | Coverage driven generation of constrained random stimuli |
CN115202947A (zh) * | 2022-08-02 | 2022-10-18 | 无锡众星微系统技术有限公司 | 基于调试接口的芯片测试向量生成方法 |
Also Published As
Publication number | Publication date |
---|---|
CN115658411A (zh) | 2023-01-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114880977A (zh) | 软硬件联合仿真系统、方法、装置、设备和存储介质 | |
CN113076227A (zh) | Mcu验证方法、系统和终端设备 | |
CN115685785B (zh) | 通用总线模型和仿真测试的方法 | |
CN115691651A (zh) | 一种用于测试芯片的方法和装置 | |
US20130290594A1 (en) | Core-driven translation and loopback test | |
CN113742221A (zh) | 生成测试用例的方法、电子设备及存储介质 | |
CN114168200B (zh) | 多核处理器访存一致性的验证系统及方法 | |
US20110225559A1 (en) | Logic verifying apparatus, logic verifying method, and medium | |
CN115658411B (zh) | 一种激励发生器以及激励发生方法 | |
US7228513B2 (en) | Circuit operation verification device and method | |
CN115659885B (zh) | 仿真测试的系统和方法 | |
CN115658413B (zh) | 一种激励发生器和激励发生方法 | |
CN114513436B (zh) | Sdio设备传输速率的检测方法、系统及存储介质 | |
CN113835946B (zh) | 数据交换的压力测试方法 | |
CN113535499B (zh) | 一种支持多核心共享访问的多类型并存访存流验证方法 | |
CN112885403B (zh) | 一种Flash控制器的功能测试方法、装置及设备 | |
JP4736135B2 (ja) | カード間通信を行う内部バス解析システム、その方法及びそのプログラム | |
CN115684897A (zh) | 芯片测试的方法和装置 | |
CN117436405B (zh) | 一种仿真验证方法、装置及电子设备 | |
CN117131821B (zh) | 芯片验证方法、装置、电子设备及存储介质 | |
US8452553B2 (en) | Device and method for testing a circuit | |
CN115297169B (zh) | 数据处理方法、装置、电子设备及介质 | |
CN114444423B (zh) | 基于验证平台的数据处理方法、系统及电子设备 | |
CN102402482A (zh) | 测试系统及测试方法 | |
CN116166562A (zh) | 芯片的调试方法及调试通用异步收发器、可读存储介质 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |